:root{--paper:#faf5ea;--card:#fffdf7;--ink:#12302f;--muted:#566a68;--teal:#12494b;--teal-ink:#faf5ea;--coral:#ff7a59;--on-coral:#0b2e30;--coral-text:#b23a1b;--line:#d9d0bb;--danger:#a3261a;--ok:#1d6b43;--focus:#b23a1b;--chrome:#12494b;--chrome-ink:#faf5ea;--desk:#ece3cd;--font-ui:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-title:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--fs-1:2.5rem;--fs-2:2rem;--fs-3:1.5rem;--fs-4:1.25rem;--fs-5:1rem;--fs-6:.875rem;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--r-panel:16px;--r-control:10px;--r-chip:999px;--r-canvas:4px}@media (prefers-color-scheme:dark){:root:not([data-theme]){--paper:#0f2a2c;--card:#163a3d;--ink:#f4eedf;--muted:#a9bdbb;--teal:#2b6b6d;--teal-ink:#fff;--coral:#ff8b6d;--coral-text:#ff8b6d;--line:#2c5558;--danger:#ff9a8a;--ok:#7fd6a4;--focus:#ff8b6d;--chrome:#0a1e20;--chrome-ink:#f4eedf;--desk:#0b2022}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark],:root[data-theme=harbor]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#0f2a2c;--card:#163a3d;--ink:#f4eedf;--muted:#a9bdbb;--teal:#2b6b6d;--teal-ink:#fff;--coral:#ff8b6d;--coral-text:#ff8b6d;--line:#2c5558;--danger:#ff9a8a;--ok:#7fd6a4;--focus:#ff8b6d;--chrome:#0a1e20;--chrome-ink:#f4eedf;--desk:#0b2022}:root[data-theme=harbor]{--paper:#0b2530;--card:#123645;--line:#265063;--teal:#2a7f8e;--chrome:#071a22;--desk:#08202a;--coral:#e8a87c;--coral-text:#e8a87c;--focus:#e8a87c;--on-coral:#0b2530}:root[data-theme=linen]{--paper:#f1ebe0;--card:#fbf8f1;--ink:#2d2a24;--muted:#5f5a4e;--teal:#3d5a4c;--chrome:#3d5a4c;--desk:#e2d9c6;--line:#cfc5ae}*,:before,:after{box-sizing:border-box}html,body{margin:0}body{background:var(--paper);color:var(--ink);font:var(--fs-5)/1.5 var(--font-ui);-webkit-text-size-adjust:100%}h1,h2,h3{margin:0 0 var(--s-3);line-height:1.2}h1{font-family:var(--font-title);font-size:var(--fs-2);font-weight:700}h2{font-size:var(--fs-4);font-weight:600}h3{font-size:var(--fs-5);font-weight:600}p{margin:0 0 var(--s-3)}a{color:var(--coral-text);text-underline-offset:3px}code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.9em}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.topbar :focus-visible,.nav :focus-visible{outline-color:var(--coral)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{background:var(--card);color:var(--ink);padding:var(--s-2) var(--s-3);z-index:20;position:absolute;top:0;left:-999px}.skip:focus{left:var(--s-2);top:var(--s-2)}.app{flex-direction:column;min-height:100vh;display:flex}.topbar{align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-4);background:var(--chrome);color:var(--chrome-ink);display:flex}.brand{align-items:center;gap:var(--s-2);color:var(--chrome-ink);font-family:var(--font-title);font-size:var(--fs-4);font-weight:700;text-decoration:none;display:flex}.brand img{border-radius:8px}.project-title{text-align:right;min-width:0;font-size:var(--fs-6);opacity:.85;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.nav{gap:var(--s-2);padding:var(--s-2) var(--s-4);background:var(--chrome);scrollbar-width:thin;border-top:1px solid #ffffff1f;display:flex;overflow-x:auto}.nav-link{color:var(--chrome-ink);padding:var(--s-2) var(--s-3);border-radius:var(--r-chip);font-size:var(--fs-6);flex:none;align-items:center;min-height:36px;font-weight:600;text-decoration:none;display:inline-flex}.nav-link:hover{background:#ffffff1f}.nav-link.active{background:var(--coral);color:var(--on-coral)}.main{width:100%;max-width:1280px;padding:var(--s-4);flex:1;margin:0 auto}.main:focus{outline:none}.page{gap:var(--s-4);flex-direction:column;display:flex}.lede{max-width:72ch;color:var(--muted);margin:0}.prose{max-width:800px}.muted{color:var(--muted)}.small-text{font-size:var(--fs-6)}.loading{color:var(--muted)}.toast{left:50%;bottom:var(--s-4);background:var(--chrome);max-width:calc(100vw - 32px);color:var(--chrome-ink);padding:var(--s-3) var(--s-4);border-radius:var(--r-control);font-size:var(--fs-6);z-index:30;position:fixed;transform:translate(-50%)}.toast:empty{display:none}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r-panel);padding:var(--s-4)}.panel-head{justify-content:space-between;align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.panel-head h2{margin:0}.two-col{gap:var(--s-4);grid-template-columns:1fr;display:grid}@media (width>=900px){.two-col{grid-template-columns:1fr 1fr}}.row-gap{gap:var(--s-2) var(--s-3);flex-wrap:wrap;align-items:center;display:flex}.spacer{flex:1}.grow{flex:1;min-width:200px}.btn{font:inherit;font-size:var(--fs-6);min-height:44px;padding:var(--s-2) var(--s-4);border-radius:var(--r-control);border:1.5px solid var(--teal);color:var(--ink);cursor:pointer;justify-content:center;align-items:center;gap:var(--s-2);background:0 0;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:color-mix(in srgb, var(--teal) 12%, transparent)}.btn.primary{background:var(--teal);color:var(--teal-ink)}.btn.primary:hover:not(:disabled){background:color-mix(in srgb, var(--teal) 85%, black)}.btn.accent{background:var(--coral);border-color:var(--coral);color:var(--on-coral)}.btn.accent:hover{filter:brightness(.95)}.btn.danger{border-color:var(--danger);color:var(--danger)}.btn.ghost{color:var(--muted);border-color:#0000}.btn.small{min-height:36px;padding:var(--s-1) var(--s-3)}.btn.on-dark{color:var(--chrome-ink);border-color:#ffffff80}.btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn{font:inherit;font-size:var(--fs-6);border:1px solid var(--line);min-width:44px;min-height:36px;color:var(--ink);border-radius:var(--r-control);cursor:pointer;background:0 0}.chip{font:inherit;font-size:var(--fs-6);min-height:36px;padding:var(--s-1) var(--s-3);border-radius:var(--r-chip);border:1.5px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;font-weight:600}.chip[aria-pressed=true]{background:var(--teal);border-color:var(--teal);color:var(--teal-ink)}.pro-badge{border-radius:var(--r-chip);background:var(--coral);color:var(--on-coral);vertical-align:middle;padding:1px 8px;font-size:.7rem;font-weight:700;display:inline-block}.label,legend{font-size:var(--fs-6);margin-bottom:var(--s-1);font-weight:600;display:block}.fieldset{border:1px solid var(--line);border-radius:var(--r-control);margin:0 0 var(--s-3);padding:var(--s-3)}.radio,.check{align-items:center;gap:var(--s-2);min-height:32px;font-size:var(--fs-6);display:flex}input[type=text],input[type=search],input[type=number],select,textarea{font:inherit;font-size:var(--fs-6);color:var(--ink);background:var(--paper);border:1.5px solid var(--line);border-radius:var(--r-control);padding:var(--s-2) var(--s-3);max-width:100%;min-height:40px}input[type=text],input[type=search],textarea{width:100%}textarea.code,.code-block{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.8125rem;line-height:1.5}textarea{resize:vertical}.field-inline{gap:var(--s-1);font-size:var(--fs-6);flex-direction:column;font-weight:600;display:flex}.field-inline.block{margin-bottom:var(--s-3)}.field-inline input[type=range]{width:140px}input[type=range]{accent-color:var(--teal);min-height:24px}input[type=color]{border:1.5px solid var(--line);border-radius:var(--r-control);background:var(--paper);width:48px;height:36px;padding:2px}.code-block{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-control);padding:var(--s-3);white-space:pre-wrap;overflow-wrap:anywhere;max-height:340px;margin:0;overflow:auto}.studio-top{gap:var(--s-3);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;display:flex}.toolbar{gap:var(--s-2);flex-direction:column;flex:1;min-width:0;display:flex}.tool-row{gap:var(--s-2);flex-wrap:wrap;align-items:flex-end;display:flex}.tool-controls{padding:var(--s-2) var(--s-3);background:var(--card);border:1px solid var(--line);border-radius:var(--r-panel)}.popover-anchor{position:relative}.swatch-btn{font:inherit;font-size:var(--fs-6);align-items:center;gap:var(--s-2);min-height:44px;padding:0 var(--s-3);border:1.5px solid var(--line);border-radius:var(--r-control);background:var(--paper);color:var(--ink);cursor:pointer;font-weight:600;display:inline-flex}.swatch{border:2px solid var(--ink);border-radius:50%;width:22px;height:22px;display:inline-block}.popover{z-index:15;background:var(--card);border:1.5px solid var(--teal);border-radius:var(--r-panel);width:min(320px,86vw);padding:var(--s-3);gap:var(--s-3);flex-direction:column;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #0000002e}.palette-name{font-size:var(--fs-6);margin-bottom:var(--s-1);font-weight:600}.swatches{gap:var(--s-2);margin-bottom:var(--s-2);flex-wrap:wrap;display:flex}.swatch-chip{border:2px solid var(--line);cursor:pointer;border-radius:50%;width:32px;height:32px;padding:0}.swatch-chip.static{cursor:default;width:24px;height:24px}.swatch-chip[aria-pressed=true]{border-color:var(--ink);box-shadow:0 0 0 2px var(--card), 0 0 0 4px var(--coral)}.color-entry{gap:var(--s-3);font-size:var(--fs-6);flex-wrap:wrap;font-weight:600;display:flex}.color-entry label{gap:var(--s-1);flex-direction:column;display:flex}.color-entry input[type=text]{width:96px}.studio-grid{gap:var(--s-4);grid-template-columns:1fr;align-items:start;display:grid}@media (width>=960px){.studio-grid{grid-template-columns:minmax(0,1fr) 300px}}.desk{gap:var(--s-3);flex-direction:column;min-width:0;display:flex}.paper-desk{background:var(--desk);border-radius:var(--r-panel);padding:var(--s-4);border:1px solid var(--line);justify-content:center;display:flex}.paper-desk[data-texture=grid]{background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);background-size:24px 24px}.paper-desk[data-texture=dots]{background-image:radial-gradient(var(--muted) 1px, transparent 1.5px);background-size:20px 20px}.paper-desk[data-texture=linen]{background-image:repeating-linear-gradient(0deg,#0000 0 3px,#0000000d 3px 4px),repeating-linear-gradient(90deg,#0000 0 3px,#0000000d 3px 4px)}.canvas-wrap{border-radius:var(--r-canvas);width:100%;max-width:960px;box-shadow:0 2px 0 var(--line), 0 10px 24px #0000001f;touch-action:none;background:#fffdf7;position:relative}.canvas-wrap canvas{border-radius:var(--r-canvas);width:100%;height:100%;display:block;position:absolute;inset:0}.canvas-over{cursor:crosshair;touch-action:none}.canvas-wrap.pixel canvas{image-rendering:pixelated}.canvas-badge{left:var(--s-2);right:var(--s-2);bottom:var(--s-2);background:var(--chrome);color:var(--chrome-ink);font-size:var(--fs-6);padding:var(--s-1) var(--s-3);border-radius:var(--r-control);pointer-events:none;position:absolute}.empty-hint{color:var(--muted);font-size:var(--fs-6);margin:0}.panel.empty{gap:var(--s-3);flex-direction:column;align-items:flex-start;display:flex}.welcome{background:var(--card);border:2px solid var(--coral);border-radius:var(--r-panel);padding:var(--s-4) var(--s-5);max-width:760px}.replay{align-items:center;gap:var(--s-3);background:var(--card);border:1px solid var(--line);border-radius:var(--r-panel);padding:var(--s-3) var(--s-4);flex-wrap:wrap;display:flex}.replay-count{font-size:var(--fs-6);font-variant-numeric:tabular-nums;min-width:96px;font-weight:600}.thread{flex:1;align-items:center;min-width:160px;height:32px;display:flex;position:relative}.thread input[type=range]{appearance:none;cursor:pointer;background:0 0;width:100%;height:32px;margin:0}.thread input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--coral) 0 var(--p), transparent var(--p) 100%), repeating-linear-gradient(90deg, var(--line) 0 8px, transparent 8px 14px);background-position:0 1px,0 2px;background-repeat:no-repeat;background-size:100% 4px,100% 2px;border-radius:3px;height:6px}.thread input[type=range]::-moz-range-track{background:repeating-linear-gradient(90deg, var(--line) 0 8px, transparent 8px 14px);background-position:0 2px;background-repeat:no-repeat;background-size:100% 2px;height:6px}.thread input[type=range]::-moz-range-progress{background:var(--coral);height:4px}.thread input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--coral);border:2px solid var(--ink);border-radius:6px 6px 2px 2px;width:12px;height:26px;margin-top:-10px}.thread input[type=range]::-moz-range-thumb{background:var(--coral);border:2px solid var(--ink);border-radius:6px 6px 2px 2px;width:10px;height:24px}.speed{flex-direction:row;align-items:center}.layer-list,.plain-list,.runs,.queue{margin:0;padding:0;list-style:none}.plain-list li{padding:var(--s-1) 0}.layer{border:1px solid var(--line);border-radius:var(--r-control);padding:var(--s-2);margin-bottom:var(--s-2)}.layer.active{border-color:var(--teal);background:color-mix(in srgb, var(--coral) 10%, var(--card))}.layer-row{gap:var(--s-2);align-items:center;display:flex}.layer-name{flex:1;min-width:0}.layer-detail{gap:var(--s-2);margin-top:var(--s-2);flex-direction:column;display:flex}.dropzone{margin-top:var(--s-3);border:2px dashed var(--teal);border-radius:var(--r-control);padding:var(--s-4);text-align:center}.dropzone.over{background:color-mix(in srgb, var(--coral) 18%, transparent);border-color:var(--coral)}.dropzone p{margin-bottom:var(--s-2);color:var(--muted)}.issues{margin:var(--s-3) 0;gap:var(--s-2);flex-direction:column;max-height:280px;padding:0;list-style:none;display:flex;overflow:auto}.issues li{padding:var(--s-2) var(--s-3);border-radius:var(--r-control);font-size:var(--fs-6);background:var(--paper);border-left:4px solid}.issues li.error{border-color:var(--danger)}.issues li.warning{border-color:var(--muted)}.ok-msg{color:var(--ok);font-weight:600;font-size:var(--fs-6)}.error-msg{color:var(--danger);font-size:var(--fs-6)}.stats-line{font-size:var(--fs-6);font-weight:600}.queue li,.runs li{gap:var(--s-2);padding:var(--s-1) 0;font-size:var(--fs-6);flex-wrap:wrap;align-items:center;display:flex}.gallery{gap:var(--s-4);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin:0;padding:0;list-style:none;display:grid}.example{border:1px solid var(--line);border-radius:var(--r-control);padding:var(--s-3);gap:var(--s-1);flex-direction:column;display:flex}.example p{margin:0}.script-preview{border:1px solid var(--line);border-radius:var(--r-canvas);width:100%;height:auto;image-rendering:pixelated}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:var(--fs-6)}.table th,.table td{text-align:left;padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--line);vertical-align:top}.bullets{padding-left:var(--s-5)}.stats{gap:var(--s-3);margin:0 0 var(--s-3);grid-template-columns:repeat(auto-fit,minmax(110px,1fr));display:grid}.stats dt{font-size:var(--fs-6);color:var(--muted)}.stats dd{font-family:var(--font-title);font-size:var(--fs-3);margin:0;font-weight:700}.steps{margin:0;padding:0;list-style:none}.step{border-bottom:1px solid var(--line);padding:var(--s-1) 0}.step.current{background:color-mix(in srgb, var(--coral) 14%, transparent)}.step.future{opacity:.55}.step-row{gap:var(--s-2);flex-wrap:wrap;align-items:center;display:flex}.step-main{gap:var(--s-3);text-align:left;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;flex:220px;align-items:center;min-height:44px;display:flex}.step-num{font-variant-numeric:tabular-nums;min-width:32px;font-weight:700}.step-label{font-weight:600}.step-actions{gap:var(--s-1);flex-wrap:wrap;display:flex}.tag{border-radius:var(--r-chip);border:1.5px solid;padding:2px 10px;font-size:.75rem;font-weight:700}.tag.hand{border-color:var(--teal);color:var(--ink)}.tag.script{border-color:var(--coral-text);color:var(--coral-text)}.step-editor{gap:var(--s-3);padding:var(--s-3);background:var(--paper);border-radius:var(--r-control);margin:var(--s-1) 0 var(--s-2);flex-wrap:wrap;align-items:flex-end;display:flex}.step-editor details{flex-basis:100%}.strip{gap:var(--s-4);padding:0;padding-bottom:var(--s-2);margin:0;list-style:none;display:flex;overflow-x:auto}.frame{background:var(--card);border:1px solid var(--line);border-radius:var(--r-panel);width:260px;padding:var(--s-3);gap:var(--s-2);flex-direction:column;flex:none;display:flex}.frame.current{border-color:var(--coral);border-width:2px}.frame img,.flip-stage img{border-radius:var(--r-canvas);border:1px solid var(--line);background:#fffdf7;width:100%;height:auto;display:block}img.pix,.pix-preview{image-rendering:pixelated}.flip-stage{max-width:480px;margin-bottom:var(--s-3)}.previews{gap:var(--s-5);flex-wrap:wrap;align-items:flex-end;display:flex;overflow-x:auto}.previews figure{margin:0}.previews figcaption{font-size:var(--fs-6);color:var(--muted)}.pix-preview{border:1px solid var(--line);background:#fffdf7;max-width:none;display:block}.grid-cards{gap:var(--s-4);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin:0;padding:0;list-style:none;display:grid}.project-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-panel);padding:var(--s-3);gap:var(--s-2);flex-direction:column;display:flex}.project-card.current{border:2px solid var(--coral)}.thumb{aspect-ratio:3/2;border:1px solid var(--line);border-radius:var(--r-canvas);cursor:pointer;background:#fffdf7;justify-content:center;align-items:center;padding:0;display:flex;overflow:hidden}.thumb img{max-width:100%;max-height:100%}.checker.show{background:repeating-conic-gradient(var(--line) 0 25%, var(--card) 0 50%) 0 0 / 16px 16px}.checker{border:1px solid var(--line);border-radius:var(--r-canvas);max-width:100%;line-height:0;display:inline-block}.checker img{max-width:100%;height:auto}.plans{gap:var(--s-4);margin:var(--s-4) 0;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.plan{border:1px solid var(--line);border-radius:var(--r-control);padding:var(--s-4);gap:var(--s-2);flex-direction:column;display:flex}.plan p{margin:0}.price{font-family:var(--font-title);font-size:var(--fs-3);font-weight:700}.paywall{background:var(--card);border:1px solid var(--line);border-radius:var(--r-panel);padding:var(--s-4)}@media (width<=520px){.main{padding:var(--s-3)}h1{font-size:var(--fs-3)}.project-title{display:none}.topbar{justify-content:space-between}.replay{gap:var(--s-2)}.speed{display:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (width<=700px){.tool-row{padding-bottom:var(--s-1);scrollbar-width:thin;flex-wrap:nowrap;overflow-x:auto}.tool-row>*{flex:none}.tool-controls .field-inline input[type=range]{width:110px}.studio-top{align-items:stretch;gap:var(--s-2);flex-direction:column-reverse}.studio-top .btn.accent{align-self:stretch}.paper-desk{padding:var(--s-2)}.popover{left:var(--s-3);right:var(--s-3);top:auto;bottom:var(--s-3);width:auto;max-height:70vh;position:fixed;overflow:auto}}.page>*,.studio-top,.toolbar,.tool-row,.app,.main{min-width:0;max-width:100%}.app{width:100%;overflow-x:clip}@media (width<=700px){.toolbar{flex:none}}
