@font-face{font-family:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/98848575513c9742-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Outfit;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7b0b24f36b1a6d0b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Outfit Fallback;src:local("Arial");ascent-override:100.18%;descent-override:26.05%;line-gap-override:0.00%;size-adjust:99.82%}.__className_ed3508{font-family:Outfit,Outfit Fallback;font-style:normal}.__variable_ed3508{--font-body:"Outfit","Outfit Fallback"}@font-face{font-family:Syne;font-style:normal;font-weight:400 800;font-display:swap;src:url(/_next/static/media/0da54fcd0470ea43-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Syne;font-style:normal;font-weight:400 800;font-display:swap;src:url(/_next/static/media/680a7121f7a85e3f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Syne;font-style:normal;font-weight:400 800;font-display:swap;src:url(/_next/static/media/8a1d8947e5852e30-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Syne Fallback;src:local("Arial");ascent-override:93.93%;descent-override:27.93%;line-gap-override:0.00%;size-adjust:98.47%}.__className_744198{font-family:Syne,Syne Fallback;font-style:normal}.__variable_744198{--font-display:"Syne","Syne Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,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-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,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-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,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 Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_46fe82{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_46fe82{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--floor:#f1f2f6;--cyc:#ffffff;--ink:#12141a;--mute:#646a78;--line:#e4e6ed;--spot:#3d5afe;--ok:#0f7b5a;--danger:#d92d20;--shadow:0 18px 40px rgba(18,20,26,0.06);--display:"Syne",sans-serif;--body:"Outfit",sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;color:var(--ink);background:var(--floor);font-family:var(--body);font-size:16px;line-height:1.55;overflow-x:hidden}a{color:inherit}button,input,textarea{font:inherit}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--spot);outline-offset:3px}.skip{position:absolute;left:-999px;top:0}.skip:focus{left:16px;top:16px;z-index:30;background:var(--cyc);padding:8px 12px;border-radius:10px}.site-header,.site-header.is-light{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:max(12px,env(safe-area-inset-top)) max(28px,env(safe-area-inset-right)) 12px max(28px,env(safe-area-inset-left));background:color-mix(in srgb,var(--cyc) 82%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);color:var(--ink)}.wordmark{display:flex;align-items:center;gap:10px;text-decoration:none}.checker{display:grid;grid-template-columns:repeat(6,6px);grid-gap:2px;gap:2px;height:16px}.checker i{display:block;width:6px;height:16px}.checker i:first-child{background:#17181d}.checker i:nth-child(2){background:#c8ccd6}.checker i:nth-child(3){background:#fff;box-shadow:inset 0 0 0 1px #d9dce4}.checker i:nth-child(4){background:#e24b4b}.checker i:nth-child(5){background:#3d5afe}.checker i:nth-child(6){background:#d4a017}.wordmark strong{font-family:var(--display);font-weight:700;font-size:20px;letter-spacing:-.04em;color:var(--ink)}.header-meta{display:flex;gap:20px;align-items:center;font-size:14px;font-weight:500;color:var(--mute)}.header-meta a{text-decoration:none}.auth-link,.auth-out,.header-meta a{color:var(--ink);touch-action:manipulation}.auth-link,.auth-out{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;padding:0;cursor:pointer;font:inherit}.auth-menu{position:relative;display:flex;align-items:center}.auth-avatar{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:32px;height:32px;padding:0;border:1px solid var(--line);border-radius:50%;overflow:hidden;background:var(--cyc);cursor:pointer;touch-action:manipulation}.auth-avatar.is-open{box-shadow:0 0 0 2px var(--spot)}.auth-avatar img,.auth-fallback{width:32px;height:32px;object-fit:cover}.auth-fallback{display:grid;place-items:center;background:var(--ink);color:var(--cyc);font-size:11px;font-weight:700;letter-spacing:.04em}.auth-pop{position:absolute;top:calc(100% + 10px);right:0;z-index:20;min-width:220px;padding:8px;background:var(--cyc);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.auth-pop-id{margin:0;padding:8px 10px 10px;border-bottom:1px solid var(--line)}.auth-pop-id strong{font-size:14px;font-weight:650;letter-spacing:-.02em}.auth-pop-id span,.auth-pop-id strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-pop-id span{margin-top:2px;font-size:12px;color:var(--mute)}.auth-out{width:100%;margin-top:6px;padding:10px;border-radius:10px;text-align:left;font-weight:600;font-size:14px}.btn,.doc-primary,.tape{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:var(--ink);color:var(--cyc);font-family:var(--body);font-weight:600;font-size:15px;letter-spacing:-.01em;padding:12px 18px;border-radius:12px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:-moz-fit-content;width:fit-content;transition:transform .16s ease,background .16s ease;touch-action:manipulation}.btn:disabled,.doc-primary:disabled,.tape:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn.is-busy:disabled{opacity:1;cursor:wait}.btn-ghost,.doc-ghost,.ghost{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--cyc);color:var(--ink);font-family:var(--body);font-weight:550;font-size:14px;padding:11px 16px;border-radius:12px;cursor:pointer;text-decoration:none;display:inline-flex;width:-moz-fit-content;width:fit-content;touch-action:manipulation}.btn-ghost:disabled,.ghost:disabled{opacity:.4;cursor:not-allowed}.btn-danger,.btn-danger-ghost{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-family:var(--body);font-weight:600;font-size:14px;padding:11px 16px;border-radius:12px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;width:-moz-fit-content;width:fit-content;touch-action:manipulation}.btn-danger{border:0;background:var(--danger);color:#fff;gap:8px}.btn-danger.is-busy:disabled{opacity:1;cursor:wait}.btn-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%}.btn-spinner,.wait-spinner{animation:spin .7s linear infinite}.wait-spinner{width:28px;height:28px;border:2.5px solid var(--line);border-top-color:var(--spot);border-radius:50%}.doc-wait{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}@keyframes spin{to{transform:rotate(1turn)}}.btn-danger-ghost{border:1px solid #f0c9c4;background:var(--cyc);color:var(--danger)}.btn-danger-ghost:disabled,.btn-danger:disabled{opacity:.4;cursor:not-allowed}.dialog-scrim{position:fixed;inset:0;z-index:80;background:rgba(18,20,26,.42);display:grid;place-items:center;padding:max(20px,env(safe-area-inset-top)) 16px max(20px,env(safe-area-inset-bottom))}.dialog{width:min(100%,420px);background:var(--cyc);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:22px 22px 18px}.dialog h2{margin:0 0 10px;font-family:var(--display);font-size:22px;letter-spacing:-.03em}.dialog p{margin:0 0 18px;color:var(--mute);font-size:15px}.dialog-error{color:var(--danger)!important}.dialog-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.dialog.gate{position:relative;display:flex;flex-direction:column;gap:14px;padding-top:28px}.dialog.gate h2{margin:0}.gate-lede{margin:0!important}.gate-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;top:12px;right:12px;width:32px;height:32px;border:0;border-radius:10px;background:none;color:var(--mute);font-size:22px;line-height:1;cursor:pointer}.btn.gate-google{width:100%;background:var(--cyc);color:var(--ink);border:1px solid var(--line)}.btn.gate-google .btn-spinner{border-color:color-mix(in srgb,var(--ink) 20%,transparent);border-top-color:var(--ink)}.gate-rule{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:10px;gap:10px;margin:2px 0 0!important;color:var(--mute);font-size:11px;font-weight:650;letter-spacing:.1em;text-transform:uppercase}.gate-rule:after,.gate-rule:before{content:"";height:1px;background:var(--line)}.gate form{display:flex;flex-direction:column;gap:12px}.gate .btn{width:100%}.gate .field input{width:100%;border:1px solid var(--line);background:var(--cyc);color:var(--ink);padding:12px 14px;border-radius:14px;outline:none;font-size:16px}.gate .field input:focus{border-color:var(--spot)}.gate .field input::placeholder{color:#9aa1b0}.gate-switch{padding:4px 0 2px;font:inherit;font-size:13px;color:var(--spot);text-align:center}.btn-remove,.gate-switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;cursor:pointer}.btn-remove{width:36px;height:36px;padding:0;border-radius:8px;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;touch-action:manipulation;filter:drop-shadow(0 1px 2px rgba(255,255,255,.9))}.btn-remove svg{display:block}.doc-index-item{position:relative}.doc-index-delete{position:absolute;top:10px;right:10px;z-index:2}.doc-kicker,.kicker{margin:0;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}.doc-kicker.is-exposing{color:var(--spot)}.doc-kicker.is-error{color:var(--danger)}.doc-kicker.is-done{color:var(--ok)}.status-pill.is-exposing{color:var(--spot)}.status-pill.is-error{color:var(--danger)}.status-pill.is-done{color:var(--ok)}.studio{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);grid-gap:40px;gap:40px;align-items:start;max-width:1280px;margin:0 auto;padding:40px max(28px,env(safe-area-inset-right)) 72px max(28px,env(safe-area-inset-left));min-width:0}.console{display:flex;flex-direction:column;gap:18px}.console h1,.doc-head h1{margin:0;font-family:var(--display);font-weight:700;font-size:clamp(36px,4.6vw,58px);line-height:.98;letter-spacing:-.05em;color:var(--ink)}.doc-lede,.lede{margin:0;color:var(--mute);max-width:44ch;font-size:17px;line-height:1.55}.doc-lede{margin-bottom:22px}.dropzone{position:relative;border:1px dashed #c9ceda;background:var(--cyc);border-radius:var(--radius);min-height:168px;padding:20px;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease}.dropzone.is-hot{border-color:var(--spot);box-shadow:0 0 0 4px color-mix(in srgb,var(--spot) 16%,transparent)}.dropzone input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.drop-copy{pointer-events:none;display:flex;flex-direction:column;gap:6px;color:var(--mute);font-size:14px}.drop-copy strong{color:var(--ink);font-weight:650;font-size:16px}.thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.thumb{position:relative;width:58px;height:58px;background:var(--floor);overflow:hidden;border-radius:10px}.thumb img{width:100%;height:100%;object-fit:cover}.thumb button{position:absolute;top:4px;right:4px;width:18px;height:18px;border:0;border-radius:50%;background:var(--ink);color:var(--cyc);cursor:pointer;font-size:12px;line-height:18px}.field{display:flex;flex-direction:column;gap:8px}.field label{font-size:12px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}.field textarea{width:100%;min-height:104px;resize:vertical;border:1px solid var(--line);background:var(--cyc);color:var(--ink);padding:14px;border-radius:14px;outline:none}.field textarea:focus{border-color:var(--spot)}.field textarea::placeholder{color:#9aa1b0}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.status{min-height:1.4em;margin:0;font-size:13px;color:var(--mute)}.status.is-error{color:var(--danger)}.project-link{font-size:14px;font-weight:600;color:var(--spot);text-decoration:none;width:-moz-fit-content;width:fit-content}.doc-prompt-edit,.field textarea{font-size:16px}.lcd{justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--mute);padding-top:4px}.lcd,.stage{display:flex}.stage{background:var(--cyc);border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow);flex-direction:column;gap:16px}.stage-bar{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.stage-bar h2{margin:0;font-family:var(--display);font-size:20px;letter-spacing:-.04em}.stage-example{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}.pdp{display:grid;grid-gap:12px;gap:12px;min-width:0;width:100%}.main-frame{position:relative;background:var(--cyc);aspect-ratio:1/1;max-height:min(56vh,640px);width:min(100%,640px);margin:0 auto;border-radius:18px;overflow:hidden;box-shadow:inset 0 0 0 1px var(--line)}.crop{position:absolute;width:16px;height:16px;border:1.5px solid var(--spot);pointer-events:none;z-index:2}.crop.tl{left:12px;border-right:0}.crop.tl,.crop.tr{top:12px;border-bottom:0}.crop.tr{right:12px;border-left:0}.crop.bl{left:12px;border-right:0}.crop.bl,.crop.br{bottom:12px;border-top:0}.crop.br{right:12px;border-left:0}.frame-download{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;right:22px;bottom:22px;z-index:4;display:grid;place-items:center;width:36px;height:36px;padding:0;border:0;border-radius:10px;background:color-mix(in srgb,var(--ink) 82%,transparent);color:var(--cyc);cursor:pointer;touch-action:manipulation}.frame-download svg{display:block}.alts{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:8px;gap:8px;width:min(100%,640px);margin:0 auto}.alts-7{grid-template-columns:repeat(7,minmax(0,1fr))}.slot{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;display:block;width:100%;padding:0;border:0;background:var(--floor);aspect-ratio:1/1;overflow:hidden;border-radius:12px;cursor:pointer;font:inherit;color:inherit;text-align:center;touch-action:manipulation}.slot.is-on{box-shadow:0 0 0 2px var(--spot)}.main-frame img,.slot img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--cyc)}.main-empty,.slot-empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:10px;color:var(--mute);background:repeating-linear-gradient(-45deg,#f7f8fb,#f7f8fb 8px,#eef0f5 0,#eef0f5 16px)}.main-empty small,.slot-empty small{font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:650}.slot.is-locked .slot-empty{padding-bottom:28px}.slot-lock{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:absolute;left:0;right:0;bottom:0;z-index:3;display:grid;place-items:center;padding:5px 4px 7px;border:0;background:color-mix(in srgb,var(--cyc) 92%,var(--ink));color:var(--ink);font:inherit;font-size:9px;font-weight:700;letter-spacing:.1em;line-height:1;text-transform:uppercase;text-align:center;cursor:pointer}.guest-hint{margin:10px 0 0;font-size:13px;color:var(--mute)}.text-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;background:none;font:inherit;color:var(--spot);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.badge{position:absolute;left:8px;top:8px;z-index:2;background:color-mix(in srgb,var(--ink) 78%,transparent);color:var(--cyc);font-family:var(--mono);font-size:10px;letter-spacing:.08em;padding:4px 7px;border-radius:999px}.badge.main{background:var(--spot)}.badge.example{left:auto;right:8px;background:color-mix(in srgb,var(--ink) 52%,transparent)}.doc-index-thumb.is-busy:after,.main-frame.is-busy:after,.slot.is-busy:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(61,90,254,.12));animation:shutter 1.1s ease-in-out infinite}@keyframes shutter{0%,to{transform:scaleY(.02);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}}.prompt-chip{position:absolute;left:10px;right:10px;bottom:10px;z-index:2;background:color-mix(in srgb,var(--ink) 78%,transparent);color:#eef0f6;font-size:11px;line-height:1.35;padding:8px 10px;border-radius:10px;max-height:42%;overflow:hidden}.summary{width:min(100%,640px);margin:0 auto;font-size:14px;color:var(--mute)}.guide{display:grid;grid-template-columns:200px minmax(0,1fr);grid-gap:56px;gap:56px;padding:24px max(28px,env(safe-area-inset-right)) 96px max(28px,env(safe-area-inset-left));max-width:1120px;margin:0 auto;min-width:0}.toc{position:-webkit-sticky;position:sticky;top:84px;align-self:start;display:flex;flex-direction:column;gap:8px;font-size:14px}.toc a{color:var(--mute);text-decoration:none;padding:6px 0}.toc a:focus,.toc a:hover{color:var(--ink)}.article h2{font-size:clamp(28px,3vw,42px);letter-spacing:-.045em;line-height:1.08;margin:0 0 16px}.article h2,.article h3{font-family:var(--display)}.article h3{font-size:22px;letter-spacing:-.03em;margin:28px 0 10px}.article p{margin:0 0 14px;color:#3d4250}.article ol,.article ul{margin:0 0 16px;padding-left:18px;color:#3d4250}.spec-table{width:100%;border-collapse:collapse;font-size:15px;margin:0 0 20px}.spec-table td,.spec-table th{border-bottom:1px solid var(--line);text-align:left;padding:12px 8px;vertical-align:top}.spec-table th{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);font-weight:650}.callout{border-left:3px solid var(--spot);background:var(--cyc);padding:16px 18px;margin:0 0 18px;border-radius:0 14px 14px 0}.faq details{border-top:1px solid var(--line);padding:14px 0}.faq summary{cursor:pointer;font-weight:650}.faq details p{margin:8px 0 0}.site-footer{background:transparent;color:var(--mute);padding:24px max(28px,env(safe-area-inset-right)) max(40px,env(safe-area-inset-bottom)) max(28px,env(safe-area-inset-left));display:flex;justify-content:space-between;gap:16px;font-size:13px;max-width:1280px;margin:0 auto}.doc{background:var(--floor);min-height:calc(100vh - 57px)}.doc-page{width:min(100%,1080px);margin:0 auto;padding:40px max(28px,env(safe-area-inset-right)) 96px max(28px,env(safe-area-inset-left));color:var(--ink);min-width:0}.doc-head{margin-bottom:36px}.doc-head h1{overflow-wrap:anywhere;margin-bottom:14px}.doc-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.doc-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;color:var(--mute);padding:0;cursor:pointer;font:inherit;font-size:13px;font-weight:600;text-decoration:none}.doc-link:hover{color:var(--spot)}.doc-delete-link{margin-left:auto;color:var(--danger)}.doc-delete-link:hover{color:#b42318}.doc-workspace{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);grid-gap:20px;gap:20px;align-items:start}.doc-workspace:not(:has(.doc-block)){grid-template-columns:1fr}.doc-block{margin:0;background:var(--cyc);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow);min-width:0}.doc-block h2,.doc-shot h2{margin:0;font-family:var(--display);font-size:22px;font-weight:700;letter-spacing:-.03em;display:flex;align-items:center;gap:10px}.chip{display:inline-flex;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;background:var(--ink);color:var(--cyc);padding:4px 8px;border-radius:999px;font-weight:500}.doc-refs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:14px}.doc-refs figure{margin:0}.doc-refs-wait{min-height:160px;margin-top:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--mute);background:var(--floor);border-radius:12px}.doc-refs-wait p{margin:0;font-size:14px}.doc-refs img{width:100%;aspect-ratio:1;object-fit:contain;background:var(--floor);border-radius:12px;border:1px solid var(--line)}.doc-empty,.doc-notes,.doc-prompt{margin:0;color:var(--mute);font-size:15px;line-height:1.7;overflow-wrap:anywhere;word-break:break-word}.doc-notes{margin-top:14px}.doc-prompt-label{display:block;margin:20px 0 8px;font-size:12px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}.doc-prompt-edit{width:100%;min-height:120px;resize:vertical;border:1px solid var(--line);background:var(--floor);color:var(--ink);padding:12px 14px;border-radius:14px;outline:none;line-height:1.55;overflow-wrap:anywhere}.doc-prompt-edit:focus{border-color:var(--spot);background:var(--cyc)}.doc-prompt-edit:disabled{opacity:.7}.doc-shot-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px}.doc-regen-error{margin:0;color:var(--danger);font-size:13px}.doc-shot{margin:0;background:var(--cyc);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow);min-width:0}.doc-shot-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.doc-shot-bar h2{min-width:0;flex:1 1;flex-wrap:wrap}.doc-shot-bar .doc-link{flex:none;min-height:44px;display:inline-flex;align-items:center}.plan-from{margin:0 0 18px;color:var(--mute);font-size:15px;overflow-wrap:anywhere}.plan-log{list-style:none;margin:0;padding:0}.plan-log li{display:flex;align-items:baseline;gap:12px;margin:0;padding:12px 0;border-top:1px solid var(--line);font-size:15px}.plan-log li:last-child{border-bottom:1px solid var(--line)}.plan-idx{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--mute);flex:none}.plan-log .is-done,.plan-log .is-done .plan-idx{color:var(--ok)}.plan-log .is-now{color:var(--ink)}.plan-log .is-now .plan-idx{color:var(--spot)}.plan-log .is-wait{color:#b4b8c2}.plan-log .is-now span:last-child:after{content:"";display:inline-block;width:7px;height:12px;margin-left:8px;background:var(--spot);vertical-align:-1px;animation:caret 1s steps(1) infinite}@keyframes caret{50%{opacity:0}}.doc-frame-wrap{position:relative;width:min(100%,420px);margin:0 0 16px}.doc-frame{width:100%;aspect-ratio:1;object-fit:contain;background:var(--floor);margin:0;border-radius:16px}.doc-frame-wrap.is-busy:after{content:"";position:absolute;inset:0;border-radius:16px;background:linear-gradient(180deg,transparent,rgba(61,90,254,.12));animation:shutter 1.1s ease-in-out infinite}.doc-frame-empty{width:min(100%,420px);aspect-ratio:1;display:grid;place-items:center;background:var(--floor);color:var(--mute);font-size:14px;margin:0 0 16px;border-radius:16px}.doc-index,.set-grid{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:16px;gap:16px}.doc-index-row,.set-card{display:flex;flex-direction:column;text-decoration:none;background:var(--cyc);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);transition:transform .16s ease,border-color .16s ease}.doc-index-thumb,.set-cover{position:relative;aspect-ratio:1;background:var(--floor);display:grid;place-items:center;color:#9aa1b0;overflow:hidden}.doc-index-thumb img,.set-cover img{width:100%;height:100%;object-fit:contain}.doc-index-meta,.set-meta{padding:12px 14px 14px;display:flex;flex-direction:column;gap:4px;min-width:0}.doc-index-meta strong,.set-meta strong{font-family:var(--display);letter-spacing:-.03em;overflow-wrap:anywhere}.doc-index-meta span,.set-meta span{font-size:13px;color:var(--mute)}@media (hover:hover){.auth-link:hover,.header-meta a:hover{color:var(--spot)}.auth-out:hover{background:var(--floor)}.frame-download:hover{background:var(--ink)}.btn:hover:not(:disabled),.doc-primary:hover:not(:disabled),.tape:hover:not(:disabled){background:#2a2d36;transform:translateY(-1px)}.btn.gate-google:hover:not(:disabled){transform:none}.btn.gate-google:hover:not(:disabled),.gate-close:hover:not(:disabled){background:var(--floor);color:var(--ink)}.btn-ghost:hover:not(:disabled),.doc-ghost:hover:not(:disabled),.ghost:hover:not(:disabled){border-color:var(--ink)}.btn-danger:hover:not(:disabled){background:#b42318}.btn-danger-ghost:hover:not(:disabled){border-color:var(--danger);background:#fff5f4}.btn-remove:hover{color:var(--danger);background:none}.doc-index-row:hover,.set-card:hover{transform:translateY(-2px);border-color:#cfd3dc}}@media (max-width:960px){.guide,.studio{gap:28px}.doc-workspace,.guide,.studio{grid-template-columns:1fr}.alts{grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.toc{position:static;flex-direction:row;flex-wrap:wrap;gap:4px 16px}.toc a{min-height:44px;display:inline-flex;align-items:center}.site-footer{flex-direction:column}.console h1,.doc-head h1{font-size:clamp(28px,8vw,40px)}.doc-lede,.lede{font-size:16px;max-width:none}.stage{padding:16px;border-radius:18px}.main-frame{width:100%;max-height:none}.article,.console,.stage{min-width:0}.spec-table{display:block;overflow-x:auto}}@media (max-width:720px){.site-header,.site-header.is-light{gap:10px;padding:max(10px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left))}.wordmark strong{font-size:18px}.header-meta{gap:12px;font-size:13px}.auth-link,.header-meta a{min-height:44px;display:inline-flex;align-items:center}.auth-avatar,.auth-avatar img,.auth-fallback{width:36px;height:36px}.auth-out{min-height:44px}.checker,.nav-secondary{display:none}.guide,.studio{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.studio{padding-top:20px;padding-bottom:40px}.guide{padding-top:8px;padding-bottom:64px;gap:20px}.doc-page{padding:20px max(16px,env(safe-area-inset-right)) max(72px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.site-footer{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.doc-workspace{grid-template-columns:1fr;gap:16px}.doc-block,.doc-shot{padding:14px;border-radius:16px}.doc-block h2,.doc-shot h2{font-size:18px}.doc-shot-bar{align-items:flex-start}.alts,.alts-7{display:flex;width:100%;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:8px;padding:2px 2px 8px}.alts .slot,.alts-7 .slot{flex:0 0 64px;width:64px;scroll-snap-align:start}.slot .badge{font-size:9px;padding:3px 5px;left:4px;top:4px}.actions,.doc-actions,.doc-shot-actions{width:100%}.actions .btn,.actions .tape,.doc-actions .btn,.doc-shot-actions .btn{width:100%;min-height:48px;justify-content:center}.actions .btn-ghost,.actions .ghost,.dialog-actions .btn-danger,.dialog-actions .btn-ghost,.doc-actions .btn-ghost{width:100%;min-height:44px;justify-content:center}.doc-index,.set-grid{grid-template-columns:1fr}.dropzone{min-height:140px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.doc-index-row,.doc-primary,.set-card,.tape{transition:none}.btn-spinner,.doc-frame-wrap.is-busy:after,.doc-index-thumb.is-busy:after,.main-frame.is-busy:after,.plan-log .is-now span:last-child:after,.slot.is-busy:after,.wait-spinner{animation:none}}