:root{--bg: #e4e8ee;--ink: #0b1220;--muted: #6b7489;--panel-w: 300px;--nav-h: 0px}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--ink);font:12px/1.4 IBM Plex Mono,ui-monospace,monospace;overflow:hidden}.stage{position:fixed;inset:var(--nav-h) var(--panel-w) 0 0;display:grid;place-items:center;padding:64px 28px 28px}.frame{position:relative;aspect-ratio:2 / 3;height:min(100%,calc((100vw - var(--panel-w) - 56px) * 1.5))}.poster{position:absolute;inset:0;box-shadow:0 1px #0b12200f,0 18px 50px -20px #0b122059;background:#f6f8fb}.poster canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.guides{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.guides circle{fill:#ff40a00f;stroke:#ff3d9a;stroke-width:1.2;stroke-dasharray:6 5;vector-effect:non-scaling-stroke}.guides path{stroke:#ff3d9a;stroke-width:1.2;vector-effect:non-scaling-stroke}.guides text{fill:#ff3d9a;font:500 20px IBM Plex Mono,ui-monospace,monospace;paint-order:stroke;stroke:#ffffffd9;stroke-width:3px}.guides .off path{stroke-dasharray:2 2}.draft path{fill:none;stroke:#0b1220;stroke-linecap:round;opacity:.75;vector-effect:non-scaling-stroke}.draft path.copy{opacity:.4;stroke-dasharray:none}.handles .frame{fill:none;stroke:#2f6bff;stroke-width:1.2;vector-effect:non-scaling-stroke}.handles .thin{stroke-width:1;stroke-dasharray:3 3;opacity:.7}.handles .knob{fill:#fff;stroke:#2f6bff;stroke-width:1.2;stroke-dasharray:none;vector-effect:non-scaling-stroke}.handles .snap{stroke:#ff3d9a;stroke-width:1;vector-effect:non-scaling-stroke}.poster.drawing{cursor:crosshair;touch-action:none}.hud{position:absolute;left:20px;bottom:14px;color:var(--muted);font-size:11px;letter-spacing:.02em}.panel{position:fixed;top:var(--nav-h);right:0;bottom:0;width:var(--panel-w);overflow-y:auto;padding:10px;background:#dfe3ea;border-left:1px solid rgba(11,18,32,.08)}.panel .tp-dfwv{width:100%!important}.panel .tp-lblv_l{position:relative;padding-right:20px}.lock{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:17px;height:17px;padding:3px 3.5px;border:0;border-radius:3px;background:none;color:inherit;opacity:0;cursor:pointer}.lock svg{display:block;width:100%;height:100%}.tp-lblv:hover .lock,.lock:focus-visible{opacity:.4}.lock:hover{opacity:.85;background:#ffffff14}.locked>.tp-lblv_l,.locked .lock{color:#8fc0ff}.locked .lock{opacity:1}@media(hover:none){.lock{opacity:.3}}.share-hint{padding:5px 4px 1px;color:#bbbcc49e;font-size:10px;line-height:1.35}.site{--nav-h: 56px}.sitenav{position:fixed;top:0;left:0;right:0;height:var(--nav-h);z-index:2;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,48px);background:#f4f1e9;border-bottom:1px solid #e2ddd1;font-family:Figtree,system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}.sitenav .brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:#111413;font-weight:600;font-size:15px;letter-spacing:.12em;text-transform:uppercase}.sitenav .brand img{width:26px;height:26px;display:block}.sitenav .links{display:flex;gap:clamp(14px,3vw,28px)}.sitenav .links a{text-decoration:none;color:#4b4f52;font-size:14.5px;font-weight:500}.sitenav .links a:hover,.sitenav .links a[aria-current=page]{color:#111413}.sitenav .links a[aria-current=page]{border-bottom:2px solid #e8593c;padding-bottom:2px}@media(max-width:560px){.sitenav .links a.optional{display:none}}@media(max-width:760px){:root{--panel-w: 0px}html,body{overflow:auto}.sitenav{position:relative;height:auto;min-height:var(--nav-h);flex-wrap:wrap;gap:6px 16px;padding:12px 16px}.sitenav .brand{white-space:nowrap}.stage{position:relative;inset:auto;height:auto;padding:12px 16px 16px;display:block}.frame{width:100%;height:auto;aspect-ratio:auto;display:flex;flex-direction:column;align-items:center;gap:10px}.poster{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:2 / 3}.hud{position:static;padding:8px 2px 0}.panel{position:relative;width:100%;border-left:0}}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/lab/cyber-core/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/lab/cyber-core/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");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-display:swap;font-weight:400;src:url(/lab/cyber-core/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/lab/cyber-core/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");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-display:swap;font-weight:400;src:url(/lab/cyber-core/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/lab/cyber-core/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");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-display:swap;font-weight:400;src:url(/lab/cyber-core/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/lab/cyber-core/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");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-display:swap;font-weight:400;src:url(/lab/cyber-core/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/lab/cyber-core/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,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-display:swap;font-weight:500;src:url(/lab/cyber-core/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/lab/cyber-core/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");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-display:swap;font-weight:500;src:url(/lab/cyber-core/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/lab/cyber-core/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");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-display:swap;font-weight:500;src:url(/lab/cyber-core/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/lab/cyber-core/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");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-display:swap;font-weight:500;src:url(/lab/cyber-core/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/lab/cyber-core/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");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-display:swap;font-weight:500;src:url(/lab/cyber-core/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/lab/cyber-core/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/lab/cyber-core/assets/space-grotesk-vietnamese-500-normal-BmEvtly_.woff2) format("woff2"),url(/lab/cyber-core/assets/space-grotesk-vietnamese-500-normal-BTqKIpxg.woff) format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/lab/cyber-core/assets/space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2) format("woff2"),url(/lab/cyber-core/assets/space-grotesk-latin-ext-500-normal-3dgZTiw9.woff) format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/lab/cyber-core/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2) format("woff2"),url(/lab/cyber-core/assets/space-grotesk-latin-500-normal-CNSSEhBt.woff) format("woff");unicode-range:U+0000-00FF,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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/lab/cyber-core/assets/space-grotesk-vietnamese-700-normal-DMty7AZE.woff2) format("woff2"),url(/lab/cyber-core/assets/space-grotesk-vietnamese-700-normal-Duxec5Rn.woff) format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/lab/cyber-core/assets/space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2) format("woff2"),url(/lab/cyber-core/assets/space-grotesk-latin-ext-700-normal-HVCqSBdx.woff) format("woff");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:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/lab/cyber-core/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2) format("woff2"),url(/lab/cyber-core/assets/space-grotesk-latin-700-normal-CwsQ-cCU.woff) format("woff");unicode-range:U+0000-00FF,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}:root{--ui-bg: #28292e;--ui-bg-deep: rgba(0, 0, 0, .24);--ui-fg: #bbbcc4;--ui-fg-hi: #eceef2;--ui-mute: rgba(187, 188, 196, .55);--ui-line: rgba(255, 255, 255, .07);--ui-hover: rgba(187, 188, 196, .11);--ui-thumb: #dcdee4;--ui-accent: #8fc0ff;--ui-shadow: 0 1px 0 rgba(255, 255, 255, .04) inset, 0 14px 34px -14px rgba(11, 18, 32, .6), 0 2px 6px -2px rgba(11, 18, 32, .35)}.toolbar{position:absolute;left:50%;bottom:calc(100% + 10px);translate:-50% 0;z-index:3;width:max-content;max-width:calc(100vw - 16px);font:11px/1 IBM Plex Mono,ui-monospace,monospace}.tb{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px;padding:4px;background:var(--ui-bg);color:var(--ui-fg);border:1px solid var(--ui-line);border-radius:4px;box-shadow:var(--ui-shadow)}.tb-btn{position:relative;display:grid;place-items:center;width:32px;height:30px;padding:0;border:0;border-radius:2px;background:none;color:inherit;font:inherit;cursor:pointer}.tb-btn svg{display:block}.tb-btn:hover:not(:disabled){background:var(--ui-hover);color:var(--ui-fg-hi)}.tb-btn:disabled{opacity:.3;cursor:default}.tb-btn:focus-visible,.pop button:focus-visible,.toast-undo:focus-visible{outline:1px solid var(--ui-accent);outline-offset:-1px}.tb-btn.on{background:#bbbcc429;color:var(--ui-fg-hi)}.tb-sep{width:1px;height:18px;margin:0 4px;background:#bbbcc429}.tb-narrow{width:16px;margin-left:-2px}.tb-seg{position:relative;display:flex;background:var(--ui-bg-deep);border-radius:3px}.tb-thumb{position:absolute;left:0;top:0;width:32px;height:30px;border-radius:2px;background:var(--ui-thumb);box-shadow:0 1px 2px #00000073}.tb-seg .tb-btn{z-index:1}.tb-seg .tb-btn[aria-checked=true],.tb-seg .tb-btn[aria-checked=true]:hover{background:none;color:#18191d}.tb-brush{display:flex;gap:2px;width:auto;padding:0 5px 0 4px;margin-left:2px}.tb-sw svg{display:block;width:30px;height:13px}.toolbar.is-scene .canvas-only,.toolbar:not(.is-scene) .scene-only{display:none}.tb-tip{position:fixed;z-index:30;display:flex;align-items:center;gap:8px;padding:5px 7px 5px 8px;background:#111215;color:var(--ui-fg-hi);border-radius:3px;font:11px/1 IBM Plex Mono,ui-monospace,monospace;white-space:nowrap;pointer-events:none;box-shadow:0 6px 16px -6px #00000080}.tb-tip kbd{padding:2px 4px;border:1px solid rgba(255,255,255,.16);border-radius:2px;color:#eceef29e;font:10px/1 IBM Plex Mono,ui-monospace,monospace}.pop{position:absolute;top:calc(100% + 8px);left:0;z-index:4;width:236px;max-width:calc(100vw - 16px);max-height:min(72vh,600px);overflow:auto;padding:4px;background:var(--ui-bg);color:var(--ui-fg);border:1px solid var(--ui-line);border-radius:4px;box-shadow:var(--ui-shadow);overscroll-behavior:contain;scrollbar-width:thin}.pop[hidden],.menu[hidden],.toast[hidden],.tb-tip[hidden]{display:none}.pop-add{width:344px}.pop-h{padding:9px 6px 5px;color:var(--ui-mute);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.pop-h:first-child{padding-top:5px}.pop button{border:0;background:none;color:inherit;font:inherit;cursor:pointer}.pop-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;height:28px;padding:0 8px 0 6px;border-radius:2px;text-align:left}.pop-row:hover:not(:disabled),.pop-cell:hover,.pop-row:focus-visible,.pop-cell:focus-visible{background:var(--ui-hover);color:var(--ui-fg-hi)}.pop-row:disabled{opacity:.35;cursor:default}.pop-row[aria-checked=true]{color:var(--ui-fg-hi)}.pop-tick{display:grid;width:10px;color:var(--ui-accent);opacity:0}[aria-checked=true]>.pop-tick{opacity:1}.pop-sw{display:grid;place-items:center;width:38px;height:20px;border-radius:2px;background:#3a3c43;box-shadow:inset 0 0 0 1px #ffffff0d}.pop-sw svg{display:block}.pop-tall{grid-template-columns:1fr;gap:4px;height:auto;padding:7px 8px}.pop-tall>span:first-child{color:var(--ui-fg-hi)}.pop-meta{color:var(--ui-mute);font-size:10px}.pop-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px}.pop-cell{height:28px;padding:0 8px;border-radius:2px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pop-seg{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin:0 4px;padding:2px;background:var(--ui-bg-deep);border-radius:3px}.pop-seg button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:40px;border-radius:2px;font-size:10px;color:var(--ui-mute)}.pop-seg button:hover{color:var(--ui-fg-hi);background:var(--ui-hover)}.pop-seg button[aria-checked=true]{background:var(--ui-thumb);color:#18191d}.pop-range{display:grid;grid-template-columns:auto 1fr 32px;align-items:center;gap:10px;padding:10px 6px 4px}.pop-range .pop-h{padding:0}.pop-range input{width:100%;margin:0;accent-color:var(--ui-thumb)}.pop-range output{color:var(--ui-fg-hi);text-align:right;font-variant-numeric:tabular-nums}.pop-note{margin:6px 6px 4px;color:var(--ui-mute);font-size:10px;line-height:1.45}.pop-dots{display:flex;gap:3px}.pop-dots i{width:9px;height:9px;border-radius:50%;box-shadow:inset 0 0 0 1px #ffffff24}.menu{position:fixed;z-index:20;min-width:200px;padding:4px;background:var(--ui-bg);color:var(--ui-fg);border:1px solid var(--ui-line);border-radius:4px;box-shadow:var(--ui-shadow);font:11px/1 IBM Plex Mono,ui-monospace,monospace}.menu-item{display:grid;grid-template-columns:16px 1fr auto;align-items:center;gap:8px;width:100%;height:27px;padding:0 8px 0 6px;border:0;border-radius:2px;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.menu-item:focus,.menu-item[aria-expanded=true]{background:#8fc0ff29;color:#fff;outline:none}.menu-item:disabled{opacity:.35;cursor:default}.menu-icon{display:grid;place-items:center}.menu-icon svg{display:block;width:14px;height:14px}.menu-item[role^=menuitem][aria-checked] .menu-icon svg{width:10px;height:10px;color:var(--ui-accent)}.menu-kbd{color:var(--ui-mute);font-size:10px}.menu-sep{height:1px;margin:4px 2px;background:#bbbcc41f}.toast{position:absolute;left:50%;bottom:18px;translate:-50% 0;z-index:3;display:flex;align-items:center;gap:12px;height:34px;max-width:calc(100% - 24px);padding:0 5px 0 14px;background:var(--ui-bg);color:var(--ui-fg-hi);border:1px solid var(--ui-line);border-radius:17px;box-shadow:var(--ui-shadow);font:11px/1 IBM Plex Mono,ui-monospace,monospace;white-space:nowrap}.toast:has(.toast-undo[hidden]){padding-right:14px}.toast-text{overflow:hidden;text-overflow:ellipsis}.toast-undo{flex:none;height:24px;padding:0 11px;border:0;border-radius:12px;background:#8fc0ff29;color:var(--ui-accent);font:500 11px/1 IBM Plex Mono,ui-monospace,monospace;cursor:pointer}.toast-undo:hover{background:#8fc0ff42;color:#cfe3ff}.panel .is-selected>.tp-fldv_b{position:relative;background:#8fc0ff21;color:#e3eeff}.panel .is-selected:not(.is-many)>.tp-fldv_b:after{content:"selected";position:absolute;right:30px;top:50%;translate:0 -50%;color:var(--ui-accent);font-size:9px;letter-spacing:.08em;text-transform:uppercase;opacity:.85}@media(max-width:760px){.toolbar{position:sticky;top:8px;left:auto;bottom:auto;translate:none;max-width:100%}.tb-btn,.tb-thumb{width:30px}.tb-narrow{width:16px}.tb-sep{margin:0 2px}.tb-brush{padding:0 3px}.tb-sw svg{width:24px}}@media(hover:none){.tb-tip{display:none}}.leaving{pointer-events:none}
