@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-cyrillic-ext-wght-normal.460bdf14.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-cyrillic-wght-normal.491cbc05.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-greek-ext-wght-normal.23aae568.woff2) format("woff2-variations");unicode-range:u+1f??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-greek-wght-normal.4449bf7a.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-vietnamese-wght-normal.113a630f.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-latin-ext-wght-normal.3835a68e.woff2) format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_next/static/media/inter-latin-wght-normal.6c596dfc.woff2) format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/bricolage-grotesque-vietnamese-wght-normal.96a5d80f.woff2) format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/bricolage-grotesque-latin-ext-wght-normal.232ded7b.woff2) format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/_next/static/media/bricolage-grotesque-latin-wght-normal.3e340e57.woff2) format("woff2-variations");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/jetbrains-mono-cyrillic-ext-400-normal.17d05b18.woff2) format("woff2"),url(/_next/static/media/jetbrains-mono-cyrillic-ext-400-normal.7daf4077.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/jetbrains-mono-cyrillic-400-normal.17524150.woff2) format("woff2"),url(/_next/static/media/jetbrains-mono-cyrillic-400-normal.29859c59.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/jetbrains-mono-greek-400-normal.77d339c7.woff2) format("woff2"),url(/_next/static/media/jetbrains-mono-greek-400-normal.4a5b0cb1.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/jetbrains-mono-vietnamese-400-normal.553f85d1.woff2) format("woff2"),url(/_next/static/media/jetbrains-mono-vietnamese-400-normal.fd17702b.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/jetbrains-mono-latin-ext-400-normal.4d63b447.woff2) format("woff2"),url(/_next/static/media/jetbrains-mono-latin-ext-400-normal.ef62d646.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_next/static/media/jetbrains-mono-latin-400-normal.db9d659a.woff2) format("woff2"),url(/_next/static/media/jetbrains-mono-latin-400-normal.b0c7be19.woff) format("woff");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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/jetbrains-mono-cyrillic-ext-600-normal.3a831a4d.woff2) format("woff2"),url(/_next/static/media/jetbrains-mono-cyrillic-ext-600-normal.ec1a271e.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/jetbrains-mono-cyrillic-600-normal.40b4fdec.woff2) format("woff2"),url(/_next/static/media/jetbrains-mono-cyrillic-600-normal.6ee2be4b.woff) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/jetbrains-mono-greek-600-normal.642314e1.woff2) format("woff2"),url(/_next/static/media/jetbrains-mono-greek-600-normal.41929c71.woff) format("woff");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/jetbrains-mono-vietnamese-600-normal.ec0f0d2d.woff2) format("woff2"),url(/_next/static/media/jetbrains-mono-vietnamese-600-normal.31cb43a1.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/jetbrains-mono-latin-ext-600-normal.c6da524e.woff2) format("woff2"),url(/_next/static/media/jetbrains-mono-latin-ext-600-normal.d62c3bc3.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:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_next/static/media/jetbrains-mono-latin-600-normal.ebeb24f1.woff2) format("woff2"),url(/_next/static/media/jetbrains-mono-latin-600-normal.1a59e979.woff) format("woff");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}:root{--font-ui:"Inter Variable","Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--font-display:"Bricolage Grotesque Variable","Inter Variable",system-ui,sans-serif;--font-mono:"JetBrains Mono",ui-monospace,"Cascadia Mono",Consolas,monospace;--pink:#e0226b;--purple:#7a3ff0;--blue:#1f7fd6;--green:#12995a;--yellow:#ffc61a;--orange:#f26b1d;--ui-bg:#2c2c2c;--ui-canvas:#1e1e1e;--ui-line:#444444;--ui-text:#f5f5f5;--ui-muted:#b3b3b3;--ui-hover:#3a3a3a;--ui-active:#1d3a57;--sel:#0d99ff;--sel-strong:#0b6fc2;--focus:#4cb3ff;--frame-label:#a6a6a6;--f-bg:#ffffff;--f-text:#19181d;--f-muted:#56545e;--f-line:#e6e4ec;--f-soft:#f6f4fa;--f-accent:var(--pink);--f-link:#6b2fe0;--st-heading:#7a3ff0;--st-focus:#d0105e;--st-region:#0a7a47;--st-alt:#b24a00;--fs:1rem;color-scheme:dark}:root[data-mode=light]{--ui-bg:#ffffff;--ui-canvas:#f0f0f0;--ui-line:#e3e3e3;--ui-text:#1e1e1e;--ui-muted:#5c5c5c;--ui-hover:#f0f0f0;--ui-active:#dcefff;--sel:#0d99ff;--sel-strong:#0a6cc0;--focus:#0a6cc0;--frame-label:#6b6b6b;color-scheme:light}:root[data-mode=dark]{--f-bg:#17161b;--f-text:#f3f2f7;--f-muted:#b9b6c4;--f-line:#2e2c36;--f-soft:#211f28;--f-accent:#ff5c9a;--f-link:#b996ff;--pink:#ff5c9a;--purple:#a883ff;--blue:#5cb2ff;--green:#3fd08a}:root[data-mode=contrast]{--ui-bg:#000000;--ui-canvas:#000000;--ui-line:#ffffff;--ui-text:#ffffff;--ui-muted:#ffffff;--ui-hover:#1a1a1a;--ui-active:#333300;--sel:#ffe600;--sel-strong:#ffe600;--focus:#ffe600;--frame-label:#ffffff;--f-bg:#000000;--f-text:#ffffff;--f-muted:#ffffff;--f-line:#ffffff;--f-soft:#000000;--f-accent:#ffe600;--f-link:#ffe600;--pink:#ffe600;--purple:#ffe600;--blue:#7fdbff;--green:#7dff9e;--st-heading:#ffe600;--st-focus:#ffffff;--st-region:#7dff9e;--st-alt:#7fdbff;color-scheme:dark}:root[data-text=large]{--fs:1.2rem}*,:after,:before{box-sizing:border-box}body,html{margin:0;height:100%}body{background:var(--ui-canvas);color:var(--ui-text);font-family:var(--font-ui);font-size:13px;line-height:1.4;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sr-only{width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.skip,.sr-only{position:absolute}.skip{left:8px;top:-40px;z-index:100;background:var(--sel-strong);color:#fff;padding:8px 12px;border-radius:6px;text-decoration:none}.skip:focus{top:8px}:root[data-mode=contrast] .skip{color:#000}@media (prefers-reduced-motion:reduce){*,:after,:before{transition-duration:.01ms!important;animation-duration:.01ms!important}}:root[data-motion=reduce] *,:root[data-motion=reduce] :after,:root[data-motion=reduce] :before{transition-duration:.01ms!important;animation-duration:.01ms!important}.app.is-editor{display:grid;grid-template-columns:240px minmax(0,1fr) 272px;grid-template-rows:48px minmax(0,1fr);grid-template-areas:"top top top" "left canvas right";height:100dvh;overflow:hidden}.topbar{grid-area:top;gap:12px;padding:0 10px 0 8px;background:var(--ui-bg);border-bottom:1px solid var(--ui-line)}.tb-left,.topbar{display:flex;align-items:center;min-width:0}.tb-left{gap:10px;flex:0 1 auto}.kp-mark{display:grid;place-items:center;width:32px;border-radius:8px;font-family:var(--font-display);font-weight:700;font-size:13px;letter-spacing:.02em;color:#fff;background:conic-gradient(from 200deg,#e0226b,#7a3ff0,#1f7fd6,#12995a,#ffc61a,#f26b1d,#e0226b);text-shadow:0 1px 2px rgb(0 0 0/.45)}.back-files,.kp-mark{height:32px;flex:none}.back-files{display:inline-flex;align-items:center;gap:6px;padding:0 12px 0 10px;border-radius:6px;border:1px solid var(--ui-line);background:transparent;color:inherit;font:inherit;font-size:13px;font-weight:500;white-space:nowrap;cursor:pointer}.back-files:hover{background:var(--ui-hover)}.back-files+.file-name{padding-left:12px;border-left:1px solid var(--ui-line)}.file-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.muted{color:var(--ui-muted)}.tb-right{margin-left:auto;display:flex;align-items:center;gap:6px}.avatar img{width:26px;height:26px;border-radius:50%;border:2px solid var(--pink);object-fit:cover}.tb-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:6px;border:1px solid transparent;background:transparent;white-space:nowrap}.tb-btn:hover{background:var(--ui-hover)}.tb-btn.on{background:var(--ui-active);border-color:var(--sel)}.badge{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--pink);color:#fff;font-size:11px;font-weight:600;display:inline-grid;place-items:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}:root[data-mode=contrast] .badge{color:#000}.btn-share{height:32px;padding:0 14px;border-radius:6px;border:0;background:var(--sel-strong);color:#fff;font-weight:600}.btn-share:hover{filter:brightness(1.1)}:root[data-mode=contrast] .btn-share{color:#000}.zoom{display:inline-flex;align-items:center;border-radius:6px}.zoom-val{min-width:48px;height:32px;border:0;background:transparent;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;border-radius:6px}.icon-btn:hover,.zoom-val:hover{background:var(--ui-hover)}.icon-btn{display:inline-grid;place-items:center;width:28px;height:28px;border:0;border-radius:6px;background:transparent}.left{grid-area:left;background:var(--ui-bg);border-right:1px solid var(--ui-line);overflow:auto;display:flex;flex-direction:column}.panel-sec{padding:12px 12px 14px;border-bottom:1px solid var(--ui-line)}.panel-h{margin:0 0 8px;font-size:11px;font-weight:600;letter-spacing:.02em;display:flex;align-items:center;gap:6px}.layer-tree,.layer-tree ul,.page-list,.page-list ul{list-style:none;margin:0;padding:0}.page-sub{padding-left:14px!important}.page-link{display:flex;align-items:center;gap:8px;height:30px;padding:0 8px;border-radius:6px;color:var(--ui-text);text-decoration:none}.page-link svg:last-child:not(:first-child){margin-left:auto;color:var(--pink)}.page-link:hover{background:var(--ui-hover)}.page-link.on{background:var(--ui-active);font-weight:600}.layers{flex:1 1;border-bottom:0}.layer-row{display:flex;align-items:center;gap:2px;border-radius:6px;min-height:28px}.layer-row:hover{background:var(--ui-hover)}.layer-row.on{background:var(--ui-active)}.twisty,.twisty-sp{width:24px;height:24px;flex:none}.twisty{border:0;background:transparent;padding:0;display:grid;place-items:center;color:var(--ui-muted);border-radius:4px}.twisty svg{transition:transform .15s}.twisty.open svg{transform:rotate(90deg)}.layer-btn{flex:1 1;min-width:0;display:flex;align-items:center;gap:7px;border:0;background:transparent;text-align:left;padding:4px 6px 4px 2px;border-radius:4px}.layer-btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-btn svg{flex:none;color:var(--ui-muted)}.layer-row.on .layer-btn svg{color:var(--sel)}.canvas-area{grid-area:canvas;display:grid;grid-template-rows:minmax(0,1fr);min-width:0}.canvas,.canvas-area{position:relative;min-height:0}.canvas{overflow:auto;background:var(--ui-canvas);padding:20px 24px 88px}.tool-hand .canvas{cursor:-webkit-grab;cursor:grab}.tool-hand .canvas:active{cursor:-webkit-grabbing;cursor:grabbing}.frame-wrap{width:min(960px,100%);margin:0 auto}.frame-label{margin:0 0 6px;font-size:11px;color:var(--frame-label)}.frame-host{position:relative;outline:none}.is-editor [data-layer][data-hover]:not([data-frame]){outline:1px solid var(--sel);outline-offset:0}.is-editor [data-layer][data-selected]{outline:2px solid var(--sel)!important;outline-offset:0}.dock{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;align-items:center;pointer-events:none;z-index:5}.dock>*{pointer-events:auto}.toolbar{display:flex;align-items:center;gap:2px;padding:4px;background:var(--ui-bg);border:1px solid var(--ui-line);border-radius:12px;box-shadow:0 4px 14px rgb(0 0 0/.28),0 0 0 .5px rgb(0 0 0/.2)}.tool{width:32px;height:32px;border:0;border-radius:6px;background:transparent;display:grid;place-items:center}.tool:hover{background:var(--ui-hover)}.tool.on{background:var(--sel-strong);color:#fff}:root[data-mode=contrast] .tool.on{color:#000}.tool-sep{width:1px;height:24px;background:var(--ui-line);margin:0 4px}.tool-info{position:relative;display:inline-grid}.tool-tip{position:absolute;right:-4px;bottom:calc(100% + 12px);width:280px;padding:10px 12px;border-radius:8px;background:var(--ui-text);color:var(--ui-bg);font-size:12px;line-height:1.45;box-shadow:0 6px 18px rgb(0 0 0/.3);visibility:hidden;opacity:0;transition:opacity .12s}.tool-tip:after{content:"";position:absolute;right:14px;top:100%;border:6px solid transparent;border-top:6px solid var(--ui-text)}.tool-tip strong{display:block;margin-bottom:2px}.tool-info:focus-within .tool-tip,.tool-info:hover .tool-tip{visibility:visible;opacity:1}.tool-info.tip-off .tool-tip{visibility:hidden;opacity:0}:root[data-motion=reduce] .tool-tip{transition:none}.help-wrap{position:absolute;right:20px;bottom:0}.help-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--ui-line);background:var(--ui-bg);display:grid;place-items:center}.help-btn.on,.help-btn:hover{background:var(--ui-hover)}.help-pop{position:absolute;right:0;bottom:calc(100% + 10px);min-width:250px;padding:6px;display:grid;grid-gap:2px;gap:2px;background:var(--ui-bg);border:1px solid var(--ui-line);border-radius:10px;box-shadow:0 12px 32px rgb(0 0 0/.35);z-index:40}.help-pop[hidden]{display:none}.menu-item{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:34px;padding:6px 10px;border:0;border-radius:6px;background:transparent;text-align:left}.menu-item:hover{background:var(--ui-hover)}.kbd-table{margin:0;display:grid}.kbd-table div{display:grid;grid-template-columns:120px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:center;padding:8px 0;border-top:1px solid var(--f-line)}.kbd-table dt{display:flex;gap:4px}.kbd-table dd{margin:0}.dlg kbd{border-color:var(--f-line);color:var(--f-text);background:var(--f-soft)}.right{grid-area:right;border-left:1px solid var(--ui-line);overflow:auto}.right,.tabs{background:var(--ui-bg)}.tabs{display:flex;gap:4px;padding:8px 10px;border-bottom:1px solid var(--ui-line);position:-webkit-sticky;position:sticky;top:0;z-index:1}.tabs button{border:0;background:transparent;padding:6px 8px;border-radius:6px;color:var(--ui-muted);font-weight:600}.tabs button[aria-selected=true]{color:var(--ui-text);background:var(--ui-hover)}.panel-note{margin:0 0 10px;color:var(--ui-muted)}.props,.xywh{margin:0;display:grid;grid-gap:6px;gap:6px}.props div{display:grid;grid-template-columns:70px 1fr;grid-gap:8px;gap:8px}.props dt,.xywh dt{color:var(--ui-muted)}.props dd,.xywh dd{margin:0}.xywh{grid-template-columns:1fr 1fr}.xywh div{display:flex;gap:8px;align-items:center;background:var(--ui-hover);border-radius:5px;padding:5px 8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.vars{display:grid;grid-gap:12px;gap:12px}.seg{border:0;margin:0;padding:0}.seg legend{padding:0;margin-bottom:6px;color:var(--ui-muted)}.seg-row{display:flex;flex-wrap:wrap;gap:4px;background:var(--ui-hover);padding:3px;border-radius:7px}.seg-row label{flex:1 1 auto;text-align:center;padding:5px 8px;border-radius:5px;cursor:pointer;position:relative;white-space:nowrap}.seg-row label.on{background:var(--ui-bg);box-shadow:0 0 0 1px var(--ui-line);font-weight:600}.seg-row input{position:absolute;opacity:0;inset:0;cursor:pointer}.seg-row label:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:1px}.check{display:flex;align-items:center;gap:8px;cursor:pointer}.check input{width:16px;height:16px;accent-color:var(--sel-strong)}.legend{list-style:none;margin:0 0 10px;padding:0;display:grid;grid-gap:6px;gap:6px}.legend li{display:flex;align-items:center;gap:8px}.ann-list summary{cursor:pointer;color:var(--ui-text)}.ann-list ol{padding-left:18px;margin:8px 0 0;display:grid;grid-gap:4px;gap:4px;color:var(--ui-muted)}.ann-list strong{color:var(--ui-text)}.kbd-list{list-style:none;padding:0;margin:0;display:grid;grid-gap:6px;gap:6px;color:var(--ui-muted)}kbd{font-family:var(--font-mono);font-size:11px;padding:1px 5px;border:1px solid var(--ui-line);border-radius:4px;color:var(--ui-text)}.hist-list{list-style:none;margin:0;padding:0;position:relative}.hist-item{display:flex;gap:10px;width:100%;text-align:left;border:0;background:transparent;padding:8px 6px;border-radius:6px}.hist-item:hover{background:var(--ui-hover)}.hist-item.on{background:var(--ui-active)}.hist-dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--ui-muted);margin-top:3px;flex:none}.hist-item.on .hist-dot{background:var(--pink);border-color:var(--pink)}.hist-text{display:grid;grid-gap:2px;gap:2px}.hist-text span{color:var(--ui-muted)}.hist-text{flex:1 1}.hist-dot[data-phase]{border-color:var(--ph)}.hist-item.on .hist-dot[data-phase]{background:var(--ph);border-color:var(--ph)}.hist-phase{flex:none;align-self:start;font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--ph);margin-top:2px}.hist-note{margin:0 0 8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:0 18px;border-radius:999px;font-weight:600;text-decoration:none;border:1.5px solid transparent}.btn-sm{min-height:32px;padding:0 12px;font-size:13px}.btn-primary{background:var(--f-text);color:var(--f-bg)}.btn-primary:hover{background:var(--f-accent);color:#fff}:root[data-mode=contrast] .btn-primary:hover{color:#000}.btn-ghost{background:transparent;color:var(--f-text);border-color:var(--f-line)}.btn-ghost:hover{border-color:var(--f-text)}.btn:disabled{opacity:.45;cursor:not-allowed}.link-btn{border:0;background:none;text-decoration:underline;color:var(--f-muted);padding:4px 0}.frame{background:var(--f-bg);color:var(--f-text);font-size:calc(var(--fs) * 17px / 16);line-height:1.6;border-radius:2px;padding:clamp(24px,5%,48px) clamp(20px,5.5%,56px) clamp(32px,6%,56px);container-type:inline-size;display:grid;grid-gap:36px;gap:36px;box-shadow:0 0 0 1px rgb(0 0 0/.08),0 20px 50px rgb(0 0 0/.25)}.frame p{margin:0;max-width:65ch}.frame a{color:var(--f-link)}.eyebrow{font-family:var(--font-mono);font-size:.78em;letter-spacing:.06em;text-transform:uppercase;color:var(--f-muted)}.display{font-family:var(--font-display);font-weight:700;font-size:3.6em;line-height:1.02;letter-spacing:-.03em;margin:0;text-wrap:balance;font-variation-settings:"wdth" 90}.display-sm{font-size:2.8em}.lede{font-size:1.15em;color:var(--f-muted);line-height:1.55}.h2{font-size:1.6em;line-height:1.15;letter-spacing:-.015em;margin:0 0 14px}.h2,.h3{font-family:var(--font-display);text-wrap:balance}.h3{font-size:1.2em;line-height:1.25;margin:0}.squiggle-word{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='10' viewBox='0 0 40 10'%3E%3Cpath d='M0 5 Q 5 0 10 5 T 20 5 T 30 5 T 40 5' fill='none' stroke='%23e0226b' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:repeat-x;background-position:0 100%;background-size:20px 7px;padding-bottom:.12em}:root[data-mode=contrast] .squiggle-word{background-image:none;-webkit-text-decoration:underline 3px;text-decoration:underline 3px}.hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-gap:48px;gap:48px;align-items:center}.hero-text{display:grid;grid-gap:20px;gap:20px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.portrait{padding:6px;background:var(--f-bg);border:1.5px solid var(--f-line);border-radius:34px;transform:rotate(2deg)}.portrait img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:28px}.is-editor .portrait[data-hover],.is-editor .portrait[data-selected]{outline-offset:2px!important}.about-head{display:grid;grid-template-columns:minmax(0,1fr) 220px;grid-gap:40px;gap:40px;align-items:center}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--f-line);border-bottom:1px solid var(--f-line)}.stat{display:grid;grid-gap:4px;gap:4px;padding:22px 20px 22px 0}.stat+.stat{padding-left:20px;border-left:1px solid var(--f-line)}.stat strong{font-family:var(--font-display);font-size:2.2em;line-height:1;letter-spacing:-.02em}.stat:first-child strong{color:var(--pink)}.stat:nth-child(2) strong{color:var(--purple)}.stat:nth-child(3) strong{color:var(--blue)}.stat span{color:var(--f-muted);font-size:.92em}.block{display:grid;grid-gap:12px;gap:12px}.work-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:20px;gap:20px}.work-card{position:relative;border:1px solid var(--f-line);border-radius:14px;overflow:hidden;height:100%;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.is-present .work-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgb(0 0 0/.12)}.work-card-body{padding:16px 18px 18px;display:grid;grid-gap:8px;gap:8px;align-content:start}.work-tags{font-family:var(--font-mono);font-size:.8em;letter-spacing:.04em;text-transform:uppercase;color:var(--f-muted)}.stretched{color:inherit!important;text-decoration:none}.stretched:after{content:"";position:absolute;inset:0}.work-card:has(.stretched:focus-visible){outline:3px solid var(--focus);outline-offset:2px}.stretched:focus-visible{outline:none}.chip{display:inline-flex;width:max-content;align-items:center;padding:3px 10px;border-radius:999px;border:1px solid var(--f-line);font-size:.82em}.chip-history{border-color:var(--pink);color:var(--pink);font-weight:600}.chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}.thumb{aspect-ratio:16/9;position:relative;overflow:hidden;background:var(--f-soft)}.thumb-kit{background:#f1eafe}.thumb-stem{background:#e6f2fc}.thumb-draw{background:#fde8f0}.thumb-dash{background:#fff4d1}:root[data-mode=dark] .thumb-kit{background:#251c3a}:root[data-mode=dark] .thumb-stem{background:#152535}:root[data-mode=dark] .thumb-draw{background:#35162a}:root[data-mode=dark] .thumb-dash{background:#332a12}:root[data-mode=contrast] .thumb{background:#000;border-bottom:1px solid #fff}.t-box{position:absolute;background:var(--f-bg);border-radius:8px;box-shadow:0 2px 8px rgb(0 0 0/.08)}.t-box.a{left:12%;top:18%;width:46%;height:26%}.t-box.b{left:34%;top:54%;width:52%;height:28%}.t-stamp{position:absolute;font-family:var(--font-mono);font-size:11px;font-weight:600;color:#fff;padding:2px 7px;border-radius:999px}.s1{left:6%;top:22%;background:var(--st-heading)}.s2{left:55%;top:14%}.s2,.s3{background:var(--st-focus)}.s3{left:83%;top:50%}.s4{left:26%;top:72%;background:var(--st-region)}.t-svg{position:absolute;inset:12% 8%;width:84%;height:76%}.t-l1{stroke:var(--pink);stroke-width:4;stroke-linecap:round}.thumb-stem .t-l1{stroke:var(--blue)}.t-l2{stroke:var(--green);stroke-width:4;stroke-linecap:round;stroke-dasharray:2 8}.t-pt{fill:var(--f-bg);stroke:var(--purple);stroke-width:3}.t-phone{position:absolute;left:50%;top:14%;transform:translateX(-50%);width:26%;height:100%;background:var(--f-bg);border-radius:16px 16px 0 0;padding:12px 10px;display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;align-content:start;box-shadow:0 4px 16px rgb(0 0 0/.1)}.t-tile{aspect-ratio:1;border-radius:8px}.t-tile.y{background:var(--yellow)}.t-tile.g{background:var(--green)}.t-tile.p{background:var(--pink)}.t-tile.b{background:var(--blue)}.case-header{gap:16px}.facts dl{margin:0;display:grid;align-items:start;grid-column-gap:16px;column-gap:16px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));border-top:1px solid var(--f-line);border-bottom:1px solid var(--f-line)}.facts dl div{padding:14px 0;display:grid;grid-gap:2px;gap:2px;align-content:start}.facts dt{font-family:var(--font-mono);font-size:.78em;letter-spacing:.05em;text-transform:uppercase;color:var(--f-muted)}.facts dd{margin:0;font-weight:600}.bullets{margin:0;padding-left:1.2em;display:grid;grid-gap:8px;gap:8px;max-width:68ch}.bullets li::marker{color:var(--f-accent)}.steps{list-style:none;counter-reset:s;margin:4px 0 0;padding:0;display:grid;grid-gap:0;gap:0}.steps li{counter-increment:s;display:grid;grid-template-columns:44px 170px minmax(0,1fr);grid-gap:12px;gap:12px;padding:14px 0;border-top:1px solid var(--f-line);align-items:baseline}.steps li:before{content:counter(s,decimal-leading-zero);font-family:var(--font-mono);color:var(--f-accent);font-weight:600}.steps span{color:var(--f-muted)}.quote{margin:8px 0;padding:28px 32px;border-radius:20px;background:var(--f-soft);border:1px solid var(--f-line)}.quote blockquote{margin:0;font-family:var(--font-display);font-size:1.9em;line-height:1.15;letter-spacing:-.02em;text-wrap:balance}.quote blockquote:before{content:"“";color:var(--f-accent)}.quote blockquote:after{content:"”";color:var(--f-accent)}.quote figcaption{margin-top:10px;color:var(--f-muted);font-size:.9em}.timeline{list-style:none;margin:0;padding:0;display:grid}.timeline li{display:grid;grid-template-columns:110px minmax(0,1fr);grid-column-gap:16px;column-gap:16px;padding:14px 0;border-top:1px solid var(--f-line)}.timeline .when{grid-row:span 2;font-family:var(--font-mono);font-size:.8em;padding-top:2px}.timeline .when,.timeline li>span:last-child{color:var(--f-muted)}.contact-email{font-family:var(--font-display);font-size:2em;letter-spacing:-.02em;word-break:break-all}.tc{margin:10px 0 0}.tc-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px}.tc-card{border-radius:14px;padding:14px;display:grid;grid-gap:8px;gap:8px;border:1px solid #e3e3e8}.tc-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.tc-title{font-size:.82em}.tc-val{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tc-chart{width:100%;height:auto}.tc-mode{font-family:var(--font-mono);font-size:.72em;text-transform:uppercase;letter-spacing:.05em}.tc-default{background:#fff;color:#1c1b20}.tc-default .tc-axis{stroke:#d7d6de}.tc-default .tc-line{stroke:#1f7fd6;stroke-width:2.5}.tc-default .tc-dot{fill:#1f7fd6}.tc-dark{background:#16151a;color:#f2f1f6;border-color:#2e2c36}.tc-dark .tc-axis{stroke:#3b3946}.tc-dark .tc-line{stroke:#5cb2ff;stroke-width:2.5}.tc-dark .tc-dot{fill:#5cb2ff}.tc-lowvision{background:#000;color:#fff;border:2px solid #fff;font-size:1.15em}.tc-lowvision .tc-axis{stroke:#fff;stroke-width:2}.tc-lowvision .tc-line{stroke:#ffe600;stroke-width:5}.tc-lowvision .tc-dot{fill:#ffe600}.tc figcaption{margin-top:10px;color:var(--f-muted);font-size:.88em}[data-phase]{--ph:#1a6bb8}[data-phase=design]{--ph:#7a3ff0}[data-phase=review]{--ph:#c2410c}[data-phase=fix]{--ph:#0f7a48}:root[data-mode=dark] [data-phase]{--ph:#6aaef0}:root[data-mode=dark] [data-phase=design]{--ph:#b292ff}:root[data-mode=dark] [data-phase=review]{--ph:#ff9a5c}:root[data-mode=dark] [data-phase=fix]{--ph:#3fd08a}:root[data-mode=contrast] [data-phase]{--ph:#ffe600}.vv{display:grid;grid-gap:18px;gap:18px;margin-top:6px}.vv-path{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 14px}.vv-phase{display:grid;grid-gap:6px;gap:6px;align-content:start}.vv-phase-label{font-family:var(--font-mono);font-size:.7em;letter-spacing:.06em;text-transform:uppercase;color:var(--ph);font-weight:700;border-top:3px solid var(--ph);padding-top:5px}.vv-steps{list-style:none;margin:0;padding:0;display:flex;gap:6px}.vv-step{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:4px 12px 4px 5px;border-radius:999px;border:1px solid var(--f-line);background:transparent;color:var(--f-muted);font:inherit;font-size:.85em;font-weight:600;cursor:pointer;white-space:nowrap}.vv-step:hover{border-color:var(--ph);color:var(--f-text,inherit)}.vv-num{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;border:1.5px solid;font-size:.85em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.vv-step.done{color:inherit}.vv-step.done .vv-num{border-color:var(--ph);color:var(--ph)}.vv-step.on{color:inherit;border-color:var(--ph);background:color-mix(in srgb,var(--ph) 12%,transparent);box-shadow:inset 0 0 0 1px var(--ph)}.vv-step.on .vv-num{background:var(--ph);border-color:var(--ph);color:#fff}:root[data-mode=contrast] .vv-step.on .vv-num{color:#000}.vv-main{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);grid-gap:24px;gap:24px;align-items:start}.vv-fig{margin:0;display:grid;grid-gap:8px;gap:8px}.vv-fig .mock{aspect-ratio:4/3}.vv-fig .mock-body{grid-template-columns:clamp(30px,12%,52px) 1fr}.vv-illus{font-size:.8em;color:var(--f-muted)}.vv-info{display:grid;grid-gap:8px;gap:8px;align-content:start;padding:16px 18px;border-radius:12px;background:var(--f-soft);border:1px solid var(--f-line);border-top:4px solid var(--ph)}.vv-eyebrow{display:flex;align-items:center;gap:8px;margin:0;font-size:.8em;color:var(--f-muted);font-weight:600}.vv-chip{padding:1px 8px;border-radius:999px;border:1px solid var(--ph);color:var(--ph);font-family:var(--font-mono);font-size:.9em;text-transform:uppercase;letter-spacing:.05em}.vv-title{margin:0;font-family:var(--font-display);font-size:1.25em;line-height:1.2}.vv-sub{margin:4px 0 0;font-size:.78em;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--f-muted)}.vv-changes{margin:0;padding-left:1.1em;font-size:.92em}.vv-changes,.vv-legend{display:grid;grid-gap:6px;gap:6px}.vv-legend{list-style:none;margin:6px 0 0;padding:10px 0 0;border-top:1px solid var(--f-line);font-size:.8em;color:var(--f-muted)}.vv-legend li{display:flex;align-items:center;gap:8px}.lg{flex:none;display:grid;place-items:center;width:20px;height:20px;font-size:10px;font-weight:700}.lg-new{border:2px dashed var(--green);border-radius:5px}.lg-pin{border-radius:50% 50% 50% 3px;background:var(--orange);color:#fff}.lg-point{width:14px;height:14px;margin:0 3px;border-radius:50%;border:2.5px solid var(--pink)}.lg-key{border:1px solid var(--f-line);border-radius:4px;font-family:var(--font-mono);color:inherit}.lg-focus{border-radius:50%;background:var(--st-focus);color:#fff}:root[data-mode=contrast] .lg-focus{color:#000}.vv-controls{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.mock .is-new{outline:2px dashed var(--green);outline-offset:3px}.mock .mock-focus.is-new,.mock .mock-key.is-new{outline-offset:1px}@container (max-width: 760px){.vv-main{grid-template-columns:1fr}}@container (max-width: 620px){.vv-steps{flex-wrap:wrap}.mock-tools{gap:6px}.vv-controls .btn{flex:1 1 auto;justify-content:center}}.mock{--m-bg:#ffffff;--m-ink:#22212a;--m-soft:#eeedf3;--m-line:#d6d4de;position:relative;aspect-ratio:16/9;border-radius:14px;background:var(--m-bg);border:1px solid var(--f-line);padding:5% 6%;display:grid;grid-template-rows:auto 1fr;grid-gap:5%;gap:5%;overflow:hidden}:root[data-mode=dark] .mock{--m-bg:#1f1e25;--m-ink:#efeef5;--m-soft:#2b2a33;--m-line:#3c3a47}:root[data-mode=contrast] .mock{--m-bg:#000;--m-ink:#fff;--m-soft:#000;--m-line:#fff}.mock-prompt{display:grid;grid-gap:8px;gap:8px}.mock-line{height:10px;border-radius:5px;background:var(--m-soft);display:block}.w70{width:70%}.w45{width:45%}.mock-body{display:grid;grid-template-columns:56px 1fr;grid-gap:4%;gap:4%;min-height:0}.mock-tools{display:grid;grid-gap:8px;gap:8px;align-content:start}.mock-tool{position:relative;aspect-ratio:1;border-radius:10px;border:1.5px solid var(--m-line);display:grid;place-items:center}.mock-glyph{width:55%;stroke:var(--m-ink);stroke-width:2}.mock-key{position:absolute;right:-6px;bottom:-6px;font-size:9px;padding:0 4px;background:var(--m-bg);border-color:var(--m-line);color:var(--m-ink)}.mock-canvas{position:relative;border:1.5px solid var(--m-line);border-radius:10px;background:var(--m-bg)}.mock-draw{position:absolute;inset:8%;width:84%;height:84%}.mock-draw path{stroke:var(--m-ink);stroke-width:3;stroke-linecap:round}.mock-points circle{fill:var(--m-bg);stroke:var(--pink);stroke-width:2.5}.mock-hint{left:10px;bottom:8px;font-family:var(--font-mono);color:var(--m-ink);background:var(--m-soft);padding:2px 6px;border-radius:4px}.mock-focus,.mock-hint{position:absolute;font-size:10px}.mock-focus{left:-8px;top:-8px;width:18px;height:18px;border-radius:50%;background:var(--st-focus);color:#fff;font-weight:700;display:grid;place-items:center}.canvas-focus{left:-8px;top:-8px}.mock-pin{position:absolute;width:28px;height:28px;border-radius:50% 50% 50% 4px;background:var(--orange);color:#fff;font-weight:700;display:grid;place-items:center;box-shadow:0 4px 10px rgb(0 0 0/.2)}.mock-v1{--m-line:#9c9aa8;background-image:radial-gradient(var(--m-soft) 1px,transparent 1px);background-size:14px 14px}.mock-v1 .mock-canvas,.mock-v1 .mock-tool,.mock-v2 .mock-canvas,.mock-v2 .mock-tool{border-style:dashed}.mock-v1 .mock-canvas{transform:rotate(-.6deg)}.mock-v1 .mock-tool:nth-child(odd){transform:rotate(2deg)}.mock-v3 .mock-tool.on,.mock-v4 .mock-tool.on,.mock-v5 .mock-tool.on,.mock-v6 .mock-tool.on{background:var(--m-soft);border-color:var(--purple)}.mock-v6 .mock-canvas{box-shadow:0 0 0 3px color-mix(in srgb,var(--purple) 35%,transparent)}.playground-preview{border-radius:16px;background:var(--f-soft);padding:40px}.pg-frame,.playground-preview{border:1px solid var(--f-line)}.pg-frame{position:relative;height:240px;background:var(--f-bg)}.pg-label{position:absolute;top:-22px;left:0;font-size:12px;color:var(--f-muted)}.pg-rect{position:absolute;left:8%;top:18%;width:34%;height:46%;background:var(--yellow);border-radius:10px;outline:2px solid var(--sel)}.pg-ellipse{position:absolute;left:50%;top:30%;width:22%;height:50%;background:var(--blue);border-radius:50%}.pg-text{position:absolute;right:8%;top:14%;font-family:var(--font-display);font-size:34px;font-weight:700;color:var(--pink)}.ann-layer{position:absolute;inset:0;pointer-events:none;z-index:3}.st{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;font-family:var(--font-mono);font-size:11px;font-weight:600;line-height:1;color:#fff;white-space:nowrap}:root[data-mode=contrast] .st{color:#000}.st-heading{background:var(--st-heading);border-radius:4px}.st-focus{background:var(--st-focus)}.st-region{background:var(--st-region);border-radius:4px}.st-alt{background:var(--st-alt);border-radius:4px}.ann-pin{position:absolute;box-shadow:0 0 0 2px var(--f-bg)}.ann-region{position:absolute;outline:1.5px dashed var(--st-region);outline-offset:8px;border-radius:6px}.ann-region .st{position:absolute;right:-9px;top:-19px;max-width:260px;overflow:hidden;text-overflow:ellipsis}.tour{position:fixed;left:0;top:0;z-index:50;transition:transform .6s cubic-bezier(.2,.8,.2,1);width:280px}.tour-cursor{position:absolute;left:-4px;top:-6px}.tour-cursor path{fill:var(--pink);stroke:#fff;stroke-width:1.5}.tour-name{position:absolute;left:16px;top:10px;background:var(--pink);color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px 999px 999px 999px}:root[data-mode=contrast] .tour-name{color:#000}.tour-card{margin-top:36px;background:var(--f-bg);color:var(--f-text);border:1px solid var(--f-line);border-radius:14px;padding:14px 16px;box-shadow:0 16px 40px rgb(0 0 0/.35);display:grid;grid-gap:6px;gap:6px}.tour-card h2{margin:0;font-family:var(--font-display);font-size:18px}.tour-card p{margin:0}.tour-step{font-family:var(--font-mono);font-size:11px;color:var(--f-muted)}.tour-actions{display:flex;justify-content:space-between;align-items:center;margin-top:6px}.tour-actions span{display:flex;gap:6px}.dlg{width:min(440px,calc(100vw - 32px));border:1px solid var(--f-line);border-radius:16px;padding:20px;background:var(--f-bg);color:var(--f-text);font-size:14px}.dlg::-webkit-backdrop{background:rgb(0 0 0/.55)}.dlg::backdrop{background:rgb(0 0 0/.55)}.dlg-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.dlg h2{margin:0;font-family:var(--font-display);font-size:22px}.dlg-sub{color:var(--f-muted);margin:6px 0 16px}.dlg .vars{--ui-hover:var(--f-soft);--ui-bg:var(--f-bg);--ui-line:var(--f-line);--ui-muted:var(--f-muted)}.dlg-row{margin-top:14px}.dlg-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;justify-content:flex-end}.copy-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--f-line);border-radius:10px}.copy-label{color:var(--f-muted)}.copy-val{overflow-wrap:anywhere;font-weight:600}.field{display:grid;grid-gap:6px;gap:6px;margin-bottom:12px}.field input,.field textarea{border:1px solid var(--f-line);border-radius:8px;padding:9px 10px;background:var(--f-bg);color:var(--f-text)}.field-err{color:var(--st-focus);margin:0;font-weight:600}.panel-note[role=status]{color:var(--f-muted)}.app.is-present{min-height:100%;background:var(--f-bg)}.is-present .topbar{position:-webkit-sticky;position:sticky;top:0;z-index:10;height:auto;min-height:56px;padding:calc(env(safe-area-inset-top, 0px) + 8px) 16px 8px;flex-wrap:wrap;row-gap:8px;background:var(--f-bg);color:var(--f-text);border-color:var(--f-line);--ui-hover:var(--f-soft);--ui-muted:var(--f-muted)}.present-nav{order:3;flex:1 1 100%;min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:4px;gap:4px}.present-nav ul{list-style:none;margin:0;padding:4px;display:flex;gap:4px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.present-nav ul::-webkit-scrollbar{display:none}.present-nav li{scroll-snap-align:start;flex:none}.pn-arrow{width:32px;height:32px;border-radius:50%;border:1px solid var(--f-line);background:var(--f-bg);color:var(--f-text);display:grid;place-items:center}.pn-arrow:disabled{opacity:.35;cursor:default}.pn-arrow.prev svg{transform:rotate(180deg)}.present-nav a{display:block;padding:6px 10px;border-radius:999px;color:var(--f-text);text-decoration:none;white-space:nowrap}.present-nav a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.present-nav a[aria-current=page]{background:var(--f-text);color:var(--f-bg)}.is-present .canvas{overflow:visible;padding:24px 16px 64px;background:var(--f-bg)}.is-present .frame-wrap{width:auto;max-width:1000px}.is-present .frame{box-shadow:none;padding:24px 0 40px}@media (min-width:900px){.is-present .frame{padding:40px 20px 56px}}@media (max-width:899px){.file-sub{display:none}.frame{gap:40px}.display{font-size:2.6em}.display-sm{font-size:2.1em}.stat,.stat+.stat{padding:16px 0;border-left:0}.stat+.stat{border-top:1px solid var(--f-line)}.work-grid{grid-template-columns:1fr}.steps li{grid-template-columns:36px minmax(0,1fr)}.steps li span{grid-column:2}.timeline li{grid-template-columns:1fr}.timeline .when{grid-row:auto}.tc-row{grid-template-columns:1fr}.quote blockquote{font-size:1.5em}.contact-email{font-size:1.4em}.mock-hint{display:none}}:root[data-mode=contrast] .t-stamp{color:#000}.tb-icon{width:34px;padding:0;justify-content:center}.a11y-wrap{position:relative}.a11y-pop{position:absolute;right:0;top:calc(100% + 8px);width:290px;padding:14px;background:var(--ui-bg);color:var(--ui-text);border:1px solid var(--ui-line);border-radius:12px;box-shadow:0 16px 40px rgb(0 0 0/.35);display:grid;grid-gap:12px;gap:12px;z-index:40}.a11y-pop[hidden]{display:none}.a11y-pop .panel-h{margin:0;font-size:13px}.a11y-note{margin:0;color:var(--ui-muted);font-size:12px}.is-present .a11y-pop{--ui-bg:var(--f-bg);--ui-text:var(--f-text);--ui-line:var(--f-line);--ui-hover:var(--f-soft);--ui-muted:var(--f-muted)}@media (max-width:899px){.a11y-pop{position:fixed;left:16px;right:16px;top:60px;width:auto}}:root{--sb-thumb:rgb(255 255 255/0.22);--sb-thumb-hover:rgb(255 255 255/0.4)}:root[data-mode=light]{--sb-thumb:rgb(0 0 0/0.22);--sb-thumb-hover:rgb(0 0 0/0.4)}:root[data-mode=contrast]{--sb-thumb:#ffffff;--sb-thumb-hover:#ffe600}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar,::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--sb-thumb);border-radius:10px;border:3px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--sb-thumb-hover);background-clip:padding-box}::-webkit-scrollbar-button,::-webkit-scrollbar-corner{display:none;background:transparent}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--sb-thumb) transparent}}.btn:focus-visible,.layer-btn:focus-visible,.menu-item:focus-visible,.page-link:focus-visible,.tool:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.layer-btn:focus-visible,.menu-item:focus-visible,.page-link:focus-visible{outline-offset:-2px}.canvas:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.contact-phone{font-family:var(--font-display);font-size:1.5em;letter-spacing:-.01em}.contact-phone a{color:var(--f-text);-webkit-text-decoration-color:var(--f-accent);text-decoration-color:var(--f-accent);text-underline-offset:4px}.copy-row+.copy-row{margin-top:8px}.t-stamp{z-index:1}.t-num{width:22px;height:22px;padding:0;display:grid;place-items:center;border-radius:50%}h1[tabindex="-1"]:focus{outline:none}@container (max-width: 760px){.hero{grid-template-columns:minmax(0,1fr) 220px;gap:28px}.display{font-size:2.9em}.display-sm{font-size:2.3em}.steps li{grid-template-columns:36px 140px minmax(0,1fr)}}@container (max-width: 620px){.hero{grid-template-columns:1fr}.portrait{max-width:240px;order:-1}.about-head{gap:24px}.about-head,.stats,.tc-row,.work-grid{grid-template-columns:1fr}.stat,.stat+.stat{padding:16px 0;border-left:0}.stat+.stat{border-top:1px solid var(--f-line)}.steps li{grid-template-columns:36px minmax(0,1fr)}.steps li span{grid-column:2}}.fill-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center;background:var(--ui-hover);border-radius:5px;padding:6px 8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-bottom:8px}.fill-swatch{width:16px;height:16px;border-radius:3px;background:var(--ui-canvas);box-shadow:inset 0 0 0 1px var(--ui-line)}.fill-op{color:var(--ui-muted)}.panel-note.sm{font-size:12px;margin:0}.style-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:2px;gap:2px}.style-list li{display:flex;align-items:center;gap:10px;min-height:28px}.style-swatch{width:16px;height:16px;border-radius:50%;box-shadow:inset 0 0 0 1px rgb(0 0 0/.15);flex:none}.style-type{width:16px;font-family:var(--font-display);font-weight:700;font-size:12px;text-align:center;flex:none}.style-type.body{font-family:var(--font-ui);font-weight:500}.export-btn{display:flex;align-items:center;gap:8px;width:100%;min-height:32px;padding:6px 10px;border:1px solid var(--ui-line);border-radius:6px;background:transparent;text-align:left}.export-btn:hover{background:var(--ui-hover)}.app.is-home{min-height:100dvh;background:var(--ui-bg)}.home{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100dvh}.home-side{position:-webkit-sticky;position:sticky;top:0;height:100dvh;overflow:auto;display:flex;flex-direction:column;gap:14px;padding:12px 10px 16px;border-right:1px solid var(--ui-line);background:var(--ui-bg)}.home-profile{display:flex;align-items:center;gap:10px;padding:4px 6px}.home-profile img{width:28px;height:28px;border-radius:50%;object-fit:cover;border:2px solid var(--pink)}.home-profile div{display:grid;line-height:1.25}.home-profile span{color:var(--ui-muted);font-size:12px}.home-search{display:flex;align-items:center;gap:8px;padding:0 10px;height:32px;border-radius:6px;background:var(--ui-hover);color:var(--ui-muted)}.home-search:focus-within{outline:2px solid var(--focus);outline-offset:1px}.home-search input{flex:1 1;min-width:0;border:0;background:transparent;color:var(--ui-text);outline:none}.home-nav{list-style:none;margin:0;padding:0;display:grid;grid-gap:2px;gap:2px}.home-nav button{display:flex;align-items:center;gap:10px;width:100%;min-height:32px;padding:6px 10px;border:0;border-radius:6px;background:transparent;text-align:left}.home-nav button:hover{background:var(--ui-hover)}.home-nav button.on{background:var(--ui-active)}.home-nav button{font-weight:500}.home-nav svg{flex:none;color:var(--ui-muted)}.home-side-h{margin:0 0 6px;padding:0 10px;font-size:11px;font-weight:600}.home-starred{padding-top:12px;border-top:1px solid var(--ui-line)}.home-cta{margin-top:auto;padding:12px;border:1px solid var(--ui-line);border-radius:10px;display:grid;grid-gap:10px;gap:10px}.home-cta p{margin:0;color:var(--ui-muted);font-size:12px}.home-cta-btn{min-height:34px;border:0;border-radius:6px;background:var(--sel-strong);color:#fff;font-weight:600}:root[data-mode=contrast] .home-cta-btn{color:#000}.home-main{min-width:0;padding:0 32px 64px;outline:none}.home-head,.home-main{background:var(--ui-bg)}.home-head{position:-webkit-sticky;position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;height:52px;margin:0 -32px 20px;padding:0 24px 0 32px;border-bottom:1px solid var(--ui-line)}.home-crumb{margin:0;font-weight:600;font-size:14px}.home-head-actions{display:flex;align-items:center;gap:8px}.home-banner{container:banner/inline-size;padding:24px 28px;border:1px solid var(--ui-line);border-radius:14px;background:var(--ui-canvas);margin-bottom:28px}.home-banner-grid{display:grid;grid-template-columns:minmax(0,1fr) 260px;grid-gap:32px;gap:32px}.home-banner-text{container:bannertext/inline-size;display:grid;grid-gap:12px;gap:12px;align-content:start}.home-banner h1{margin:0;font-family:var(--font-display);font-size:30px;line-height:1.12;letter-spacing:-.02em;text-wrap:balance}.home-banner p{margin:0;max-width:68ch;color:var(--ui-muted);font-size:15px;line-height:1.55}.home-prompt{display:flex;align-items:center;gap:12px;margin-top:6px;padding:8px 8px 8px 14px;border:1px solid var(--ui-line);border-radius:10px;background:var(--ui-bg);color:var(--ui-muted);font-size:14px}.home-prompt span{flex:1 1;min-width:0}.home-prompt svg{flex:none;color:var(--pink)}.home-prompt-btn{flex:none;min-height:32px;padding:0 12px;border:0;border-radius:6px;background:var(--ui-hover);color:var(--ui-text);font-weight:600}.home-prompt-btn:hover{background:var(--ui-active)}.home-stats{list-style:none;margin:0;padding:0;display:grid;grid-template-rows:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;align-content:stretch;color:var(--ui-muted);font-size:13px}.home-stats li{display:grid;grid-gap:2px;gap:2px;align-content:center;padding-left:12px;border-left:2px solid var(--ui-line)}.home-stats strong{font-family:var(--font-display);font-size:22px;line-height:1.1;color:var(--ui-text)}.home-stats li:first-child{border-color:var(--pink)}.home-stats li:nth-child(2){border-color:var(--purple)}.home-stats li:nth-child(3){border-color:var(--blue)}.home-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:12px;margin-bottom:10px}.home-tabs,.home-view{display:flex;gap:4px}.home-tabs button,.home-view button{min-height:30px;padding:4px 10px;border:0;border-radius:6px;background:transparent;color:var(--ui-muted);font-weight:600}.home-view button{width:30px;padding:0;display:grid;place-items:center}.home-tabs button:hover,.home-view button:hover{color:var(--ui-text)}.home-tabs button.on,.home-view button.on{background:var(--ui-hover);color:var(--ui-text)}.home-nda{margin:0 0 12px;font-size:12px}.home-empty,.home-nda{color:var(--ui-muted)}.file-grid,.file-list{list-style:none;margin:0;padding:0}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));grid-gap:16px;gap:16px}.file-card{display:flex;flex-direction:column;height:100%;border:1px solid var(--ui-line);border-radius:8px;overflow:hidden;color:var(--ui-text);text-decoration:none;background:var(--ui-bg)}.file-card:hover{border-color:var(--ui-muted)}.file-card:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.file-thumb{display:block;border-bottom:1px solid var(--ui-line)}.file-thumb .thumb{aspect-ratio:16/10}.file-info{display:flex;align-items:flex-start;gap:10px;padding:12px 14px 14px}.file-text{display:grid;grid-gap:2px;gap:2px;min-width:0}.file-name{font-weight:600;font-size:14px}.file-grid .file-name{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.3}.file-meta,.file-tags{color:var(--ui-muted);font-size:12px}.file-grid .file-tags{display:none}.file-icon{flex:none;width:22px;height:22px;border-radius:5px;display:grid;place-items:center;color:#fff;margin-top:1px}.file-icon svg{width:13px;height:13px}.file-icon-design{background:#0c8ce9}.file-icon-board{background:#9747ff}.home-nav .file-icon{width:16px;height:16px;border-radius:4px}.home-nav .file-icon svg{width:10px;height:10px;color:#fff}.file-list{display:grid;border-top:1px solid var(--ui-line)}.file-list .file-card{flex-direction:row;align-items:center;border:0;border-bottom:1px solid var(--ui-line);border-radius:0;padding:8px 0}.file-list .file-thumb{width:96px;flex:none;border:1px solid var(--ui-line);border-radius:6px;overflow:hidden}.file-list .file-info{flex:1 1;align-items:center;padding:0 14px}.file-list .file-text{flex:1 1}.file-list .file-tags{display:block;width:240px;flex:none}.thumb-about{background:#fde8f0}.thumb-play{background:#efe7ff}:root[data-mode=dark] .thumb-about{background:#35162a}:root[data-mode=dark] .thumb-play{background:#251c3a}.t-about{position:absolute;inset:18% 12%;display:flex;align-items:center;gap:8%}.t-about img{width:38%;aspect-ratio:1;height:auto;border-radius:50%;object-fit:cover;box-shadow:0 0 0 4px var(--f-bg)}.t-about-lines{flex:1 1;display:grid;grid-gap:10px;gap:10px}.t-about-lines span{display:block;height:10px;border-radius:5px;background:var(--f-bg)}.t-about-lines span:first-child{width:90%;background:var(--pink)}.t-about-lines span:nth-child(2){width:70%}.t-about-lines span:nth-child(3){width:50%}.t-play{position:absolute;inset:14% 12%;background:var(--f-bg);border-radius:6px}.t-play-rect{position:absolute;left:10%;top:18%;width:36%;height:50%;background:var(--yellow);border-radius:8px;outline:2px solid var(--sel)}.t-play-ellipse{position:absolute;left:52%;top:34%;width:22%;aspect-ratio:1;background:var(--blue);border-radius:50%}.t-play-note{position:absolute;right:8%;top:12%;font-family:var(--font-display);font-weight:700;font-size:22px;color:var(--pink)}:root[data-mode=contrast] .file-card,:root[data-mode=contrast] .home-banner{border-color:#fff}@media (max-width:899px){.home{grid-template-columns:1fr}.home-side{position:static;height:auto;border-right:0;border-bottom:1px solid var(--ui-line);padding:12px 16px}.home-nav{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;padding:2px}.home-starred{display:none}.home-cta{margin-top:0;grid-template-columns:minmax(0,1fr) auto;align-items:center}.home-cta-btn{padding:0 14px}.home-main{padding:0 16px 48px}.home-head{margin:0 -16px 16px;padding:0 16px}.home{position:relative}.home-head{position:static}.home-head-actions{position:absolute;top:14px;right:16px;z-index:3}.home-banner{padding:18px}.home-banner h1{font-size:24px}.file-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px}.file-list .file-tags{display:none}}.about-head>div{display:grid;grid-gap:16px;gap:16px}.visitor-cursor{position:fixed;left:0;top:0;z-index:9999;pointer-events:none;opacity:0;transition:opacity .2s ease-out;will-change:transform,opacity}.visitor-cursor.on{opacity:1}:root[data-motion=reduce] .visitor-cursor{transition:none}@media (prefers-reduced-motion:reduce){.visitor-cursor{transition:none}}.visitor-cursor svg{position:absolute;left:10px;top:12px;filter:drop-shadow(0 1px 2px rgb(0 0 0/.3))}.visitor-label{position:absolute;left:14px;top:20px;white-space:nowrap;font:600 12px/1 var(--font-ui);padding:5px 8px;border-radius:3px 10px 10px 10px;box-shadow:0 2px 6px rgb(0 0 0/.25)}.visitor-avatar{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;font:700 10px/1 var(--font-ui);letter-spacing:.02em;box-shadow:0 0 0 2px var(--ui-bg);flex:none}.tb-right .visitor-avatar{margin-right:-10px;position:relative;z-index:1}.rs-head{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:24px;gap:24px;align-items:end}.rs-head-text{display:grid;grid-gap:10px;gap:10px}.rs-contact{gap:6px 18px;font-size:.92em;color:var(--f-muted)}.rs-actions,.rs-contact{display:flex;flex-wrap:wrap}.rs-actions{gap:8px}.rs-filter{display:grid;grid-gap:10px;gap:10px;padding:16px 18px;border:1px solid var(--f-line);border-radius:14px;background:var(--f-soft)}.rs-filter-h{margin:0;font-size:.95em;font-weight:700}.rs-chips{display:flex;flex-wrap:wrap;gap:8px}.rs-chip{min-height:36px;padding:0 14px;border-radius:999px;border:1.5px solid var(--f-line);background:var(--f-bg);color:var(--f-text);font-weight:600}.rs-chip.on{background:var(--f-text);color:var(--f-bg);border-color:var(--f-text)}.rs-chip.on:before{content:"✓ "}.rs-clear{border:0;background:none;text-decoration:underline;padding:0 6px}.rs-clear,.rs-count{color:var(--f-muted)}.rs-count{margin:0;min-height:1.2em;font-size:.85em}.rs-role{display:grid;grid-gap:8px;gap:8px;padding:16px 0;border-top:1px solid var(--f-line)}.rs-role-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:baseline}.rs-note,.rs-when{font-family:var(--font-mono);font-size:.8em;color:var(--f-muted)}.rs-group{display:grid;grid-gap:6px;gap:6px;margin-top:6px}.rs-group-h{margin:0;font-size:.95em}.rs-list{margin:0;padding-left:1.2em;display:grid;grid-gap:6px;gap:6px;max-width:72ch}.rs-list li::marker{color:var(--f-accent)}.rs-skills{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.rs-skills li{padding:5px 12px;border:1px solid var(--f-line);border-radius:999px}.rs-list li,.rs-skills li{transition:opacity .2s,background-color .2s;border-radius:6px}.rs-hit{background:color-mix(in srgb,var(--yellow) 32%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--yellow) 32%,transparent)}:root[data-mode=contrast] .rs-hit{background:transparent;box-shadow:none;outline:2px solid var(--f-accent)}.rs-dim{opacity:.45}.dlg-resume{display:block;margin-top:8px;padding:10px 12px;border:1px solid var(--f-line);border-radius:10px;color:var(--f-text);font-weight:600;text-decoration:none}.dlg-resume:hover{border-color:var(--f-text)}.home-cta-link{min-height:32px;border:1px solid var(--ui-line);border-radius:6px;background:transparent;font-weight:600}.home-cta-link:hover{background:var(--ui-hover)}.thumb-resume{background:#e7f0fb}:root[data-mode=dark] .thumb-resume{background:#152535}.t-resume{position:absolute;left:26%;right:26%;top:10%;bottom:0;background:var(--f-bg);border-radius:4px 4px 0 0;padding:10% 9%;display:grid;grid-gap:7px;gap:7px;align-content:start;box-shadow:0 4px 14px rgb(0 0 0/.12)}.t-resume span{display:block;height:6px;border-radius:3px;background:var(--f-line)}.t-resume .t-r-name{height:10px;width:55%;background:var(--f-text)}.t-resume .t-r-rule{height:2px;background:var(--pink)}.t-resume .hl{background:var(--yellow)}.t-resume .w60{width:60%}.t-resume .w70{width:70%}.t-resume .w80{width:80%}@container (max-width: 620px){.rs-head{grid-template-columns:1fr}}@media (max-width:899px){.home-cta{grid-template-columns:minmax(0,1fr) auto auto}.home-cta-link{padding:0 12px}}.frame a.btn{text-decoration:none}.frame a.btn-primary{color:var(--f-bg)}.frame a.btn-primary:hover{color:#fff}:root[data-mode=contrast] .frame a.btn-primary:hover{color:#000}.frame a.btn-ghost{color:var(--f-text)}.pn-back{display:inline-flex;align-items:center;gap:6px}.back-files svg,.pn-back svg{flex:none}.present-nav a.pn-back{display:inline-flex;align-items:center;gap:6px}@media (max-width:899px){.home{position:relative}.home-head{position:static}.home-head-actions{position:absolute;top:12px;right:16px;z-index:6}.home-profile{padding-right:180px}}.seg.checks{display:grid;grid-gap:10px;gap:10px}@media (max-width:899px){.home{--stack-gap:20px}:root[data-mode=contrast] .home{--stack-gap:28px}.home-side{gap:var(--stack-gap);padding:14px 16px var(--stack-gap)}.home-head{height:auto;min-height:52px;padding-block:calc(var(--stack-gap) / 2);margin:0 -16px var(--stack-gap)}.home-cta{padding:calc(var(--stack-gap) * .7) calc(var(--stack-gap) * .8);gap:12px}:root[data-mode=contrast] .home-cta-btn,:root[data-mode=contrast] .home-cta-link{min-height:44px;padding-inline:18px}}.is-present.ann-on .frame{padding-left:40px}.badge-steps{min-width:auto;padding:0 7px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.page-link .page-mark{margin-left:auto;display:inline-flex;color:var(--ui-muted);opacity:.8}.page-link .page-mark svg{width:14px;height:14px}:root[data-mode=contrast] .is-editor .frame{box-shadow:none;outline:2px solid #fff;outline-offset:0}.present-nav a.pn-back{padding-left:7px;padding-right:12px;gap:5px}.pn-arrow:disabled{visibility:hidden}:root[data-mode=contrast] .t-box,:root[data-mode=contrast] .t-phone,:root[data-mode=contrast] .t-play,:root[data-mode=contrast] .t-resume{box-shadow:none;outline:2px solid #fff;outline-offset:-2px}:root[data-mode=contrast] .t-about-lines span{background:#fff}:root[data-mode=contrast] .t-about-lines span:first-child{background:var(--pink)}:root[data-mode=contrast] .t-about img{box-shadow:0 0 0 3px #fff}.present-nav ul{grid-column:2}.present-nav .pn-arrow.prev{grid-column:1}.present-nav .pn-arrow:not(.prev){grid-column:3}dialog .visitor-cursor{position:fixed}:root[data-mode=dark] .badge{color:#1b1b1f}.vp-label{display:inline-flex;align-items:center;height:24px;padding:0 8px;border-radius:6px;border:1px dashed var(--ui-line);color:var(--ui-muted);font:500 11px/1 var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.tb-right .vp-label{margin-right:6px}:root[data-mode=contrast] .vp-label{border-color:#fff;color:#fff}@media (max-width:899px){.home-profile{padding-right:270px}}@media (max-width:480px){.home-head-actions{gap:6px;flex-wrap:wrap;justify-content:flex-end;row-gap:6px;width:150px}.home-head-actions .vp-label{order:10;height:20px}.vp-label{padding:0 6px;font-size:10px}.home-profile{padding-right:150px;min-height:62px}}@media (max-width:560px){.home-cta{grid-template-columns:1fr 1fr}.home-cta p{grid-column:1/-1}}:root{--sk-base:#2e2e33;--sk-shine:#46464d}:root[data-mode=light]{--sk-base:#e8e8ed;--sk-shine:#f8f8fa}:root[data-mode=contrast]{--sk-base:#333333;--sk-shine:#6b6b6b}@keyframes sk-shine{0%{background-position:100% 0}to{background-position:0 0}}@keyframes sk-pulse{0%,to{background-color:var(--sk-base)}50%{background-color:var(--sk-shine)}}.sk{background-color:var(--sk-base);background-image:linear-gradient(90deg,var(--sk-base) 0,var(--sk-base) 38%,var(--sk-shine) 50%,var(--sk-base) 62%,var(--sk-base) 100%);background-size:300% 100%;background-repeat:no-repeat;animation:sk-shine 1.6s linear infinite}:root[data-motion=reduce] .sk{background-image:none!important;animation:sk-pulse 2.4s ease-in-out infinite!important;animation-duration:2.4s!important}@media (prefers-reduced-motion:reduce){.sk{background-image:none!important;animation:sk-pulse 2.4s ease-in-out infinite!important;animation-duration:2.4s!important}}.sk-img{color:transparent}:root[data-mode=contrast] .avatar img.sk-img,:root[data-mode=contrast] .home-profile img.sk-img{outline:1px solid #fff}.boot-skel{display:none}html[data-boot=file] body>:not(.boot-skel):not(script){display:none!important}html[data-boot=file] .boot-skel{display:grid;grid-template-columns:240px minmax(0,1fr) 272px;grid-template-rows:48px minmax(0,1fr);grid-template-areas:"top top top" "left canvas right";height:100dvh;overflow:hidden;background:var(--ui-canvas)}.bs-b{display:block;flex:none;border-radius:4px}.boot-skel hr{border:0;border-top:1px solid var(--ui-line);margin:6px -12px}.bs-top{grid-area:top;display:flex;align-items:center;gap:14px;padding:0 10px 0 8px;background:var(--ui-bg);border-bottom:1px solid var(--ui-line);min-width:0}.bs-grow{flex:1 1}.bs-tabs{display:none}.bs-left,.bs-right{display:flex;flex-direction:column;gap:14px;padding:16px 12px;background:var(--ui-bg);overflow:hidden}.bs-left{grid-area:left;border-right:1px solid var(--ui-line)}.bs-right{grid-area:right;border-left:1px solid var(--ui-line)}.bs-indent{margin-left:22px}.bs-row{display:flex;align-items:center;gap:10px}.bs-canvas{grid-area:canvas;gap:12px;padding:20px 24px;overflow:hidden;min-width:0}.bs-canvas,.bs-frame{display:flex;flex-direction:column}.bs-frame{gap:18px;padding:clamp(24px,5%,48px) clamp(20px,5.5%,56px);background:var(--f-bg);border-radius:2px;box-shadow:0 0 0 1px rgb(0 0 0/.08),0 20px 50px rgb(0 0 0/.25);min-height:0;flex:1 1}:root[data-mode=contrast] .bs-frame{outline:1px solid #fff}.bs-hero{display:grid;grid-template-columns:minmax(0,1fr) min(220px,32%);grid-gap:32px;gap:32px;align-items:center;margin:24px 0 20px}.bs-hero-text{display:flex;flex-direction:column;gap:14px}.bs-hero-text>:first-child{margin-bottom:8px}.bs-photo{height:auto!important;aspect-ratio:1}@media (max-width:899px){html[data-boot=file] .boot-skel{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"top" "canvas";background:var(--f-bg)}.bs-left,.bs-right,.bs-wide{display:none}.bs-top{flex-wrap:wrap;row-gap:12px;padding:12px 16px;background:var(--f-bg);border-bottom-color:var(--f-line)}.bs-tabs{display:flex;gap:8px;flex-basis:100%}.bs-canvas{padding:0}.bs-frame{box-shadow:none;padding:28px 16px}:root[data-mode=contrast] .bs-frame{outline:0}.bs-hero{grid-template-columns:minmax(0,1fr);margin:0}.bs-photo{order:-1;max-width:360px}}html:has(.app.is-home),html:has(.app.is-present){scrollbar-gutter:stable}@container banner (max-width: 760px){.home-banner-grid{grid-template-columns:minmax(0,1fr);gap:20px}.home-stats{grid-template-rows:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}@container banner (max-width: 460px){.home-stats{grid-template-columns:minmax(0,1fr);gap:12px}.home-stats li{padding-block:2px}}@container bannertext (max-width: 620px){.home-prompt{flex-wrap:wrap;padding:12px 14px 14px}.home-prompt span{flex-grow:1;flex-shrink:1;flex-basis:calc(100% - 40px)}.home-prompt-btn{flex:1 1 100%}}:root[data-mode=dark] .bs-left,:root[data-mode=dark] .bs-right,:root[data-mode=dark] .bs-top{--sk-base:#3c3c42;--sk-shine:#58585f}:root[data-mode=light] .bs-canvas>.sk{--sk-base:#dcdce2}.h2-label{display:block;margin-bottom:6px;font:600 .5em/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--f-link)}.nda-note{margin:-12px 0 0;padding:10px 14px;border-left:3px solid var(--f-accent);background:var(--f-soft);border-radius:0 8px 8px 0;color:var(--f-muted);font-size:.85em;line-height:1.5}:root[data-mode=contrast] .nda-note{border:1px solid #fff;border-left:3px solid var(--f-accent)}.principles{list-style:none;margin:4px 0 0;padding:0;display:grid;grid-gap:12px;gap:12px}.principles li{display:grid;grid-gap:4px;gap:4px;padding:14px 18px;border:1px solid var(--f-line);border-radius:12px}.principles strong{font-family:var(--font-display);font-size:1.1em;line-height:1.3}.principles span{color:var(--f-muted)}.case-cta{padding:22px 24px;border-radius:16px;background:var(--f-soft);display:grid;grid-gap:8px;gap:8px}.case-cta p{margin:0;color:var(--f-muted)}:root[data-mode=contrast] .case-cta{border:1px solid #fff}