@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2)format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2)format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2)format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.inktone-studio-root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#131210;--bg-stage:#0d0c0b;--surface:#1c1b18;--line:#2e2c27;--line-soft:#24221f;--line-bright:#47443c;--paper:#efe8d8;--on-paper:#26241f;--muted:#8f8a7e;--faint:#5c5850;--accent:#e0651f;--accent-hover:#ea7130;--accent-ink:#1a0f06;box-sizing:border-box;color:var(--paper);background:var(--bg);font-synthesis:none;text-rendering:geometricprecision;-webkit-font-smoothing:antialiased;scrollbar-width:thin;scrollbar-color:var(--line) transparent;min-width:320px;min-height:100vh;font-family:IBM Plex Sans,Arial,sans-serif}.inktone-studio-root *,.inktone-studio-root :before,.inktone-studio-root :after{box-sizing:border-box}.inktone-studio-root ::selection{color:var(--accent-ink);background:var(--accent)}.inktone-studio-root ::-webkit-scrollbar{width:8px;height:8px}.inktone-studio-root ::-webkit-scrollbar-thumb{background:var(--line);border-radius:0}.inktone-studio-root ::-webkit-scrollbar-thumb:hover{background:var(--line-bright)}.inktone-studio-root ::-webkit-scrollbar-track{background:0 0}.inktone-studio-root button,.inktone-studio-root input,.inktone-studio-root select{font:inherit}.inktone-studio-loading{color:#efe8d8;letter-spacing:.12em;text-transform:uppercase;background:#131210;place-items:center;min-height:100vh;font-family:IBM Plex Mono,monospace;display:grid}.inktone-studio-root .credits-chip{border:1px solid var(--line-bright);background:var(--surface);color:var(--paper);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;align-items:baseline;gap:.35em;margin-left:auto;padding:.35em .65em;font-family:IBM Plex Mono,monospace;font-size:.72rem;display:inline-flex}.inktone-studio-root .credits-chip span{color:var(--muted)}.inktone-studio-root .export-gate-banner{border-bottom:1px solid var(--line);color:var(--accent);letter-spacing:.04em;background:#1f1710;padding:.55rem 1rem;font-family:IBM Plex Mono,monospace;font-size:.72rem}button,label{-webkit-tap-highlight-color:transparent}button:focus-visible,.export-button:focus-visible,.auth-button:focus-visible,.mobile-export:focus-visible,select:focus-visible,.print-slider-track:focus-visible{outline:1px solid var(--accent);outline-offset:3px}label:has(input:focus-visible){outline:1px solid var(--accent);outline-offset:3px}button:disabled{cursor:wait;opacity:.62}.app-shell{background:var(--bg);width:min(100%,1600px);min-height:100vh;margin-inline:auto;padding:0 30px}.app-header{border-bottom:1px solid var(--line);grid-template-columns:auto auto 1fr auto auto auto;align-items:center;gap:22px;min-height:64px;display:grid}.app-header h1{letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:11px;margin:0;font-family:IBM Plex Mono,monospace;font-size:15px;font-weight:500;line-height:1;display:flex}.logo-mark{background:var(--accent);flex:none;width:12px;height:12px;position:relative}.logo-mark:before,.logo-mark:after{content:"";background:var(--accent-ink);position:absolute}.logo-mark:before{height:1px;margin-top:-.5px;top:50%;left:0;right:0}.logo-mark:after{width:1px;margin-left:-.5px;top:0;bottom:0;left:50%}.new-image-button,.export-button,.auth-button,.reset-button,.mobile-export{border:1px solid var(--line);color:var(--paper);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:0 0;border-radius:2px;justify-content:center;align-items:center;gap:9px;min-height:38px;padding:0 15px;font-family:IBM Plex Mono,monospace;font-size:11px;transition:background-color .16s,border-color .16s,color .16s,transform .16s;display:inline-flex;position:relative}.new-image-button:hover,.auth-button:hover,.reset-button:hover{border-color:var(--line-bright);background:#efe8d80d}.new-image-button:active,.export-button:active,.auth-button:active,.reset-button:active,.mobile-export:active{transform:translateY(1px)}.new-image-button input,.drop-hint input{clip:rect(0, 0, 0, 0);white-space:nowrap;opacity:0;pointer-events:none;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mobile-label{display:none}.language-toggle{border:1px solid var(--line);background:0 0;border-radius:2px;grid-column:4;align-items:center;gap:2px;padding:2px;display:flex}.language-toggle button{min-width:40px;min-height:30px;color:var(--muted);letter-spacing:.06em;cursor:pointer;background:0 0;border:0;border-radius:1px;padding:0 8px;font-family:IBM Plex Mono,monospace;font-size:11px;transition:background-color .14s,color .14s}.language-toggle button:hover{color:var(--paper)}.language-toggle button[data-selected=true],.language-toggle button[data-selected=true]:hover{color:var(--bg);background:var(--paper)}.export-button,.mobile-export{border-color:var(--accent);background:var(--accent);color:var(--accent-ink);text-decoration:none}.export-button[aria-disabled=true],.mobile-export[aria-disabled=true]{pointer-events:none;opacity:.55}.export-button:hover,.mobile-export:hover{border-color:var(--accent-hover);background:var(--accent-hover)}.editor-layout{grid-template-columns:280px minmax(0,1fr) 360px;min-height:calc(100vh - 64px);display:grid}.product-proof{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:minmax(280px,.85fr) minmax(0,1.6fr);gap:0;scroll-margin-top:24px;display:grid}.product-proof-intro{border-right:1px solid var(--line);padding:64px 52px 68px 8px}.product-proof-kicker,.studio-site-footer,.feature-number{text-transform:uppercase;font-family:IBM Plex Mono,monospace}.product-proof-kicker{color:var(--accent);letter-spacing:.22em;margin:0 0 22px;font-size:10px;font-weight:500}.product-proof h2{max-width:600px;color:var(--paper);letter-spacing:-.035em;text-wrap:balance;margin:0;font-family:IBM Plex Sans,Arial,sans-serif;font-size:clamp(30px,3.1vw,52px);font-weight:400;line-height:1.02}.product-proof-intro>p:not(.product-proof-kicker){max-width:620px;color:var(--muted);margin:24px 0 0;font-size:15px;line-height:1.7}.product-proof-cta{border-bottom:1px solid var(--accent);width:fit-content;color:var(--paper);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:10px;margin-top:30px;padding-bottom:6px;font-family:IBM Plex Mono,monospace;font-size:11px;text-decoration:none;transition:border-color .15s,color .15s;display:inline-flex}.product-proof-cta:hover{color:var(--accent);border-color:var(--paper)}.product-proof-cta:focus-visible,.studio-site-footer a:focus-visible{outline:1px solid var(--accent);outline-offset:4px}.feature-ledger{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.feature-ledger li{border-bottom:1px solid var(--line);grid-template-columns:42px minmax(0,1fr);align-content:start;gap:20px;min-height:210px;padding:38px 34px;display:grid}.feature-ledger li:nth-child(odd){border-right:1px solid var(--line)}.feature-ledger li:nth-last-child(-n+2){border-bottom:0}.feature-number{color:var(--accent);letter-spacing:.16em;font-size:10px;font-weight:500}.feature-ledger h3{color:var(--paper);letter-spacing:.05em;text-transform:uppercase;margin:0;font-family:IBM Plex Mono,monospace;font-size:13px;font-weight:500;line-height:1.35}.feature-ledger p{color:var(--muted);margin:14px 0 0;font-size:13px;line-height:1.65}.studio-site-footer{min-height:112px;color:var(--muted);letter-spacing:.08em;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:44px;padding:28px 8px;font-size:10px;display:grid}.studio-footer-brand{color:var(--paper);letter-spacing:.14em;align-items:center;gap:10px;font-size:12px;font-weight:500;display:inline-flex}.studio-site-footer nav{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 24px;display:flex}.studio-site-footer a{color:var(--muted);text-decoration:none;transition:color .15s}.studio-site-footer a:hover{color:var(--paper)}.studio-site-footer p{white-space:nowrap;margin:0}.left-rail{border-right:1px solid var(--line);background:var(--bg);min-width:0;max-height:calc(100vh - 64px);padding:20px 14px 28px;overflow-y:auto}.rail-section+.rail-section{border-top:1px solid var(--line-soft);margin-top:20px;padding-top:20px}.rail-heading{letter-spacing:.22em;text-transform:uppercase;color:var(--faint);margin:0 0 12px;padding:0 8px;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:500}.preset-rail{flex-direction:column;gap:4px;display:flex}.preset-option{min-width:0;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:2px;align-items:center;gap:12px;padding:7px 8px;font-family:IBM Plex Mono,monospace;font-size:11px;transition:background-color .14s,box-shadow .14s,color .14s;display:flex}.preset-option:hover{color:var(--paper);background:#efe8d80a}.preset-thumbnail{border:1px solid var(--line);background:var(--bg-stage);border-radius:2px;flex:none;width:64px;height:64px;transition:border-color .14s;display:block;overflow:hidden}.preset-option:hover .preset-thumbnail{border-color:var(--line-bright)}.preset-thumbnail canvas{object-fit:cover;width:100%;height:100%;display:block}.preset-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.preset-option[data-selected=true],.preset-option[data-selected=true]:hover{color:var(--paper);background:var(--surface);box-shadow:inset 2px 0 0 var(--accent)}.preset-option[data-selected=true] .preset-thumbnail{border-color:var(--line-bright)}.ink-set-rail{flex-direction:column;gap:4px;display:flex}.ink-set-row{min-width:0;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:2px;align-items:center;gap:12px;padding:9px 8px;font-family:IBM Plex Mono,monospace;font-size:11px;transition:background-color .14s,box-shadow .14s,color .14s;display:flex}.ink-set-row:hover{color:var(--paper);background:#efe8d80a}.ink-set-row[data-selected=true],.ink-set-row[data-selected=true]:hover{color:var(--paper);background:var(--surface);box-shadow:inset 2px 0 0 var(--accent)}.ink-swatches{flex:none;gap:4px;display:flex}.ink-swatch{border:1px solid #efe8d829;border-radius:1px;width:14px;height:14px}.ink-swatch-auto{border-style:dashed;border-color:var(--line-bright);color:var(--muted);place-items:center;font-family:IBM Plex Mono,monospace;font-size:9px;line-height:1;display:grid}.ink-set-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.preview-stage{background:var(--bg-stage);flex-direction:column;justify-content:center;align-items:center;gap:22px;min-width:0;padding:clamp(28px,3.5vw,48px);display:flex}.stage-footer{justify-content:center;display:flex}.view-toggle{border:1px solid var(--line);border-radius:2px;grid-template-columns:repeat(3,minmax(88px,1fr));display:grid;overflow:hidden}.view-toggle button{min-height:36px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;font-family:IBM Plex Mono,monospace;font-size:11px;transition:background-color .14s,color .14s}.view-toggle button:hover{color:var(--paper)}.view-toggle button+button{border-left:1px solid var(--line)}.view-toggle button[data-selected=true],.view-toggle button[data-selected=true]:hover{color:var(--bg);background:var(--paper)}.preview-sheet{--preview-width:calc(100vh - 236px);width:min(100%, var(--preview-width), 920px);aspect-ratio:var(--preview-aspect);background:var(--paper);cursor:grab;-webkit-user-select:none;user-select:none;border:1px solid #efe8d814;transition:width .22s;position:relative;overflow:hidden;box-shadow:0 24px 64px #0000008c,0 2px 8px #0006}.preview-sheet[data-positioning=true]{cursor:grabbing}.preview-sheet[data-ratio="3:4"]{--preview-width:calc(75vh - 177px)}.preview-sheet[data-ratio="4:5"]{--preview-width:calc(80vh - 189px)}.preview-sheet[data-ratio="3:5"]{--preview-width:calc(60vh - 142px)}.preview-sheet[data-ratio="9:16"]{--preview-width:calc(56.25vh - 133px)}.preview-sheet[data-ratio="16:9"]{--preview-width:calc(177.78vh - 420px)}.preview-sheet canvas,.source-matte{pointer-events:none;width:100%;height:100%;display:block}.source-matte{padding:var(--source-padding);background:var(--paper)}.source-position-layer{pointer-events:none}.source-frame-positioned{will-change:left, top}.source-frame{border-radius:10.5%;width:100%;height:100%;display:block;overflow:hidden}.source-frame img{object-fit:cover;width:100%;height:100%;transform:translate(var(--source-x), var(--source-y)) scale(var(--source-scale));transition:transform .16s;display:block}.processing-indicator{width:34px;height:34px;color:var(--on-paper);background:var(--paper);border:1px solid #26241f4d;border-radius:50%;place-items:center;display:grid;position:absolute;top:16px;right:16px}.processing-indicator svg{animation:.9s linear infinite spin}.drop-hint{color:#0000;letter-spacing:.06em;text-transform:uppercase;pointer-events:none;opacity:0;background:0 0;border:1px dashed #0000;justify-content:center;align-items:center;gap:9px;font-family:IBM Plex Mono,monospace;font-size:12px;transition:opacity .16s,border-color .16s,color .16s,background-color .16s;display:flex;position:absolute;inset:12px}.preview-stage[data-dragging=true] .drop-hint{opacity:1;color:var(--on-paper);border-color:var(--accent);background:#efe8d8f0}.control-panel{border-left:1px solid var(--line);background:var(--surface);flex-direction:column;min-width:0;max-height:calc(100vh - 64px);padding:8px 22px 20px;display:flex;overflow-y:auto}.console-section{padding:18px 0 20px}.console-section+.console-section{border-top:1px solid var(--line)}.console-heading{letter-spacing:.18em;text-transform:uppercase;color:var(--paper);align-items:baseline;gap:10px;margin:0 0 8px;font-family:IBM Plex Mono,monospace;font-size:11px;font-weight:500;line-height:1.4;display:flex}.console-index{color:var(--accent);letter-spacing:.1em;font-size:10px}.section-clear{border:1px solid var(--line);color:var(--faint);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:2px;margin-left:auto;padding:2px 8px;font-family:IBM Plex Mono,monospace;font-size:9px;transition:border-color .14s,color .14s}.section-clear:hover{color:var(--paper);border-color:var(--line-bright)}.print-slider{padding:12px 0 14px}.print-slider+.print-slider{border-top:1px solid var(--line-soft)}.print-slider-head{letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:baseline;gap:12px;font-family:IBM Plex Mono,monospace;font-size:11px;display:flex}.print-slider-label{color:var(--paper);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.print-slider-value{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;transition:color .12s}.print-slider[data-dragging=true] .print-slider-value{color:var(--accent)}.print-slider-track{cursor:ew-resize;touch-action:none;height:24px;margin-top:2px;position:relative}.print-slider-track:before{content:"";background:var(--line);height:1px;position:absolute;top:50%;left:0;right:0}.print-slider-fill{width:var(--slider-pct);background:var(--paper);pointer-events:none;height:1px;position:absolute;top:50%;left:0}.print-slider-thumb{left:var(--slider-pct);background:var(--paper);pointer-events:none;width:10px;height:10px;margin:-5px 0 0 -5px;transition:background-color .12s;position:absolute;top:50%}.print-slider-track:hover .print-slider-thumb,.print-slider[data-dragging=true] .print-slider-thumb{background:var(--accent)}.print-slider-caption{color:var(--faint);letter-spacing:.02em;margin:3px 0 0;font-family:IBM Plex Mono,monospace;font-size:10px;line-height:1.6}.format-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:14px;display:grid}.format-picker button{border:1px solid var(--line);min-width:0;min-height:56px;color:var(--paper);cursor:pointer;background:0 0;border-radius:2px;align-content:center;gap:4px;padding:8px 6px;font-family:IBM Plex Mono,monospace;transition:background-color .14s,border-color .14s,color .14s;display:grid}.format-picker button:hover{border-color:var(--line-bright)}.format-picker button strong{letter-spacing:.04em;font-size:13px;font-weight:500}.format-picker button span{color:var(--muted);letter-spacing:.04em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:10px;overflow:hidden}.format-picker button[data-selected=true],.format-picker button[data-selected=true]:hover{border-color:var(--paper);color:var(--bg);background:var(--paper)}.format-picker button[data-selected=true] span{color:var(--bg)}.range-label{color:var(--paper);letter-spacing:.08em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-family:IBM Plex Mono,monospace;font-size:11px;overflow:hidden}.text-add-row{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;margin-bottom:14px;padding:13px 0;font-family:IBM Plex Mono,monospace;font-size:11px;display:grid}.text-add-row input{border:1px solid var(--line);min-width:0;color:var(--paper);caret-color:var(--accent);background:0 0;border-radius:2px;padding:8px 10px;font-family:IBM Plex Mono,monospace;font-size:12px;transition:border-color .14s}.text-add-row input:hover{border-color:var(--line-bright)}.text-add-row input:focus{border-color:var(--accent);outline:none}.text-add-row input::placeholder{color:var(--faint)}.text-add-confirm{width:28px;height:28px;color:var(--accent-ink);background:var(--accent);cursor:pointer;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;font-family:IBM Plex Mono,monospace;font-size:14px;line-height:1;transition:background-color .14s;display:flex}.text-add-confirm:hover{background:var(--accent-hover)}.text-add-confirm:disabled{cursor:default;opacity:.35}.text-add-confirm:disabled:hover{background:var(--accent)}.text-block-list{flex-direction:column;gap:6px;margin:0 0 16px;padding:0;list-style:none;display:flex}.text-block-list li{align-items:center;gap:6px;display:flex}.text-block-row{border:1px solid var(--line);min-width:0;color:var(--paper);text-align:left;cursor:pointer;background:0 0;border-radius:2px;flex:1;padding:7px 10px;font-family:IBM Plex Mono,monospace;font-size:12px;transition:border-color .14s,box-shadow .14s}.text-block-row:hover{border-color:var(--line-bright)}.text-block-row span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.text-block-list li[data-selected=true] .text-block-row{border-color:var(--line-bright);box-shadow:inset 2px 0 0 var(--accent);background:#efe8d80b}.text-block-remove{border:1px solid var(--line);width:22px;height:22px;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:10px;line-height:1;transition:border-color .14s,color .14s;display:flex}.text-block-remove:hover{color:var(--paper);border-color:var(--line-bright)}.text-empty-hint{color:var(--faint);letter-spacing:.06em;text-transform:uppercase;margin:0 0 16px;font-family:IBM Plex Mono,monospace;font-size:10px;line-height:1.7}.chip-group{padding:2px 0 12px}.chip-group-label{color:var(--faint);letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px;font-family:IBM Plex Mono,monospace;font-size:9px;display:block}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.chip-row button{border:1px solid var(--line);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:2px;padding:7px 12px;font-family:IBM Plex Mono,monospace;font-size:11px;transition:background-color .14s,border-color .14s,color .14s}.chip-row button:hover{border-color:var(--line-bright);color:var(--paper)}.chip-row button[data-selected=true],.chip-row button[data-selected=true]:hover{color:var(--bg);background:var(--paper);border-color:var(--paper)}.text-position-hint{color:var(--faint);letter-spacing:.06em;text-transform:uppercase;margin:-4px 0 14px;font-family:IBM Plex Mono,monospace;font-size:10px;line-height:1.7}.text-enable-row{padding-bottom:4px;display:flex}.text-toggle{border:1px solid var(--line);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:2px;padding:8px 15px;font-family:IBM Plex Mono,monospace;font-size:11px;transition:background-color .14s,border-color .14s,color .14s}.text-toggle:hover{border-color:var(--line-bright);color:var(--paper)}.text-toggle[data-selected=true],.text-toggle[data-selected=true]:hover{color:var(--bg);background:var(--paper);border-color:var(--paper)}.panel-footer{border-top:1px solid var(--line);grid-template-columns:1fr 1.28fr;gap:14px;padding-top:18px;display:grid}.reset-button{color:var(--muted);padding-inline:12px}.reset-button:hover{color:var(--paper)}.format-summary{border:1px solid var(--line);min-height:38px;color:var(--paper);letter-spacing:.06em;background:0 0;border-radius:2px;justify-content:space-between;align-items:center;gap:12px;padding:0 13px;font-family:IBM Plex Mono,monospace;font-size:11px;display:flex}.format-summary strong{font-weight:500}.format-summary span{color:var(--muted);font-variant-numeric:tabular-nums}.mobile-export{display:none}.text-overlay{pointer-events:auto;z-index:5;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;overflow:visible}.text-overlay[data-dragging=true]{cursor:grabbing}.text-overlay span{outline-offset:2px;border-radius:2px;outline:1px dashed #0000;padding:0 .12em;transition:outline-color .15s;display:block}.text-overlay:hover span,.text-overlay[data-dragging=true] span{outline-color:#26241f73}.error-message,.export-success{z-index:10;border:1px solid var(--line-bright);max-width:calc(100vw - 32px);color:var(--paper);background:var(--surface);letter-spacing:.04em;border-radius:2px;padding:12px 16px;font-family:IBM Plex Mono,monospace;font-size:12px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 12px 32px #00000080}.export-success{color:var(--accent-ink);border-color:var(--accent);background:var(--accent)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1050px){.app-shell{padding-inline:22px}.app-header{grid-template-columns:auto auto 1fr auto auto auto;padding-block:12px}.language-toggle{grid-column:auto}.export-button,.auth-button{justify-self:end}.editor-layout{grid-template-columns:1fr}.preview-stage{border-bottom:1px solid var(--line);order:1;padding:30px 0 32px}.preview-sheet{max-width:780px}.left-rail{border-right:0;border-bottom:1px solid var(--line);order:2;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 28px;max-height:none;padding:20px 0;display:grid}.rail-section+.rail-section{border-top:0;margin-top:0;padding-top:0}.control-panel{background:0 0;border-left:0;order:3;max-height:none;padding-inline:0}.console-heading{font-size:12px}.product-proof{grid-template-columns:1fr}.product-proof-intro{border-right:0;border-bottom:1px solid var(--line);padding:54px 0}.studio-site-footer{grid-template-columns:auto 1fr;padding-inline:0}.studio-site-footer nav{justify-content:flex-end}.studio-site-footer p{grid-column:1/-1}}@media (width<=600px){.app-shell{padding:0 15px 24px}.app-header{grid-template-columns:1fr auto auto auto;gap:12px;min-height:60px;padding-block:10px}.app-header h1{font-size:13px}.new-image-button{order:3;min-height:36px;padding-inline:12px}.language-toggle{order:2}.auth-button{order:4;min-height:36px;padding-inline:12px}.credits-chip,.desktop-label,.export-button{display:none}.mobile-label{display:inline}.view-toggle{width:min(100%,310px)}.view-toggle button{min-height:34px}.editor-layout{min-height:0}.preview-stage{gap:18px;margin-inline:-2px;padding:14px 0 24px}.preview-sheet{width:min(100%, var(--mobile-preview-width,var(--preview-width)));box-shadow:0 12px 36px #00000080,0 2px 6px #0006}.preview-sheet[data-ratio="3:5"]{--mobile-preview-width:38svh}.preview-sheet[data-ratio="9:16"]{--mobile-preview-width:32svh}.drop-hint{display:none}.left-rail{grid-template-columns:1fr;gap:0;padding:18px 0}.preset-option,.ink-set-row{min-height:48px}.chip-row button{min-height:34px}.print-slider-track{height:28px}.rail-section+.rail-section{border-top:1px solid var(--line-soft);margin-top:18px;padding-top:18px}.preset-thumbnail{width:56px;height:56px}.control-panel{padding-top:4px;padding-bottom:0}.panel-footer{grid-template-columns:1fr;gap:12px;padding-top:18px}.format-summary{order:-1;min-height:46px}.reset-button,.mobile-export{width:100%;min-height:46px}.mobile-export{margin-top:12px;display:inline-flex}.product-proof-intro{padding:42px 0 44px}.product-proof h2{font-size:34px}.product-proof-intro>p:not(.product-proof-kicker){font-size:14px}.feature-ledger{grid-template-columns:1fr}.feature-ledger li{border-bottom:1px solid var(--line);grid-template-columns:36px minmax(0,1fr);gap:14px;min-height:0;padding:30px 0}.feature-ledger li:nth-child(odd){border-right:0}.feature-ledger li:nth-last-child(2){border-bottom:1px solid var(--line)}.studio-site-footer{grid-template-columns:1fr;align-items:start;gap:24px;padding:34px 0}.studio-site-footer nav{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:15px}.studio-site-footer p{grid-column:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
