:root{--accent:#4f46e5;--accent-hover:#4339d4;--accent-press:#3a30c4;--accent-secondary:#06b6d4;--accent-contrast:#fff;--stage:#ecedf2;--window:#ececee;--surface-card:#fff;--surface-inset:#f4f5f7;--surface-row:#fff;--text-primary:#1a1b22;--text-secondary:#5b5d6b;--text-tertiary:#8a8c99;--border:#1a1b221f;--separator:#1a1b2217;--focus-ring:#4f46e5;--tl-red:#ff5f56;--tl-yellow:#ffbd2e;--tl-green:#27c93f;--exported-card-border:#ffffff14;--font-ui:system-ui, -apple-system, "Inter", "Helvetica Neue", sans-serif;--font-mono:"JetBrains Mono", "SF Mono", ui-monospace, Menlo, monospace;--text-large-title:28px;--text-title:17px;--text-headline:15px;--text-body:13px;--text-subhead:12px;--text-caption:11px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-xxs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-xxl:48px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:20px;--radius-card:8px;--radius-pill:999px;--stroke-hairline:1px;--stroke-focus:1.5px;--shadow-card:0 6px 12px #0000002e;--shadow-elevated:0 8px 20px #00000059;--shadow-popover:0 10px 34px #00000038;--grad-signature:linear-gradient(135deg, #4f46e5 0%, #06b6d4 100%);--grad-aurora:linear-gradient(135deg, #4f46e5 0%, #06b6d4 100%);--grad-ocean:linear-gradient(135deg, #2e3192 0%, #1bffff 100%);--grad-sunset:linear-gradient(135deg, #ff512f 0%, #f09819 100%);--grad-forest:linear-gradient(135deg, #11998e 0%, #38ef7d 100%);--grad-night:linear-gradient(135deg, #0f2027 0%, #2c5364 100%);--grad-carbon:linear-gradient(135deg, #1f1c2c 0%, #928dab 100%)}body.vitrine-dark{--accent:#7c8cff;--accent-hover:#8e9cff;--accent-press:#aeb8ff;--accent-secondary:#22d3ee;--accent-contrast:#15161c;--stage:#15161c;--window:#1c1d24;--surface-card:#22232b;--surface-inset:#1a1b22;--surface-row:#25262f;--text-primary:#f4f5fa;--text-secondary:#a9abba;--text-tertiary:#6f7180;--border:#ffffff1a;--separator:#ffffff14}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-ui);color:var(--text-primary);background:var(--page-bg);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5;transition:background .35s,color .35s;overflow-x:hidden}:root{--maxw:1140px;--page-bg:radial-gradient(1200px 600px at 78% -12%, #06b6d41a, transparent 60%), radial-gradient(1000px 520px at 6% -6%, #4f46e51a, transparent 60%), #f6f7fb;--wall:#eef0f5;--ink-faint:var(--text-tertiary)}body.vitrine-dark{--page-bg:radial-gradient(1200px 600px at 78% -12%, #22d3ee29, transparent 60%), radial-gradient(1000px 520px at 6% -6%, #7c8cff33, transparent 60%), #0e0f15;--wall:#14151c}a{color:inherit;text-decoration:none}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}.muted{color:var(--text-secondary)}.serif{font-family:Georgia,Times New Roman,serif}.btn{font-family:var(--font-ui);font-size:14px;font-weight:var(--weight-medium);border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;align-items:center;gap:8px;padding:11px 18px;transition:transform 80ms,background .15s,border-color .15s;display:inline-flex}.btn:active{transform:scale(.98)}.btn svg{width:17px;height:17px}.btn-primary{background:var(--accent);color:var(--accent-contrast);box-shadow:0 14px 32px -14px color-mix(in srgb, var(--accent) 80%, transparent)}.btn-primary:hover{background:var(--accent-hover)}.btn-ghost{border-color:var(--border);color:var(--text-primary);background:var(--surface-card)}.btn-ghost:hover{border-color:var(--text-tertiary)}nav{z-index:40;backdrop-filter:saturate(150%)blur(16px);background:color-mix(in srgb, var(--window) 76%, transparent);border-bottom:1px solid var(--border);position:sticky;top:0}nav .wrap{align-items:center;gap:20px;height:64px;display:flex}.brand{font-weight:var(--weight-semibold);letter-spacing:-.01em;align-items:center;gap:10px;font-size:16px;display:flex}.brand img{width:28px;height:28px;box-shadow:var(--shadow-card);border-radius:7px}nav .links{align-items:center;gap:6px;margin-left:auto;display:flex}.navlink{color:var(--text-secondary);border-radius:var(--radius-sm);padding:8px 11px;font-size:14px}.navlink:hover{color:var(--text-primary);background:color-mix(in srgb, var(--text-primary) 7%, transparent)}@media (width<=900px){.navlink{display:none}}@media (width<=560px){nav .wrap{gap:10px;padding-inline:16px}nav .links{gap:4px}nav .btn-primary{display:none}}.appearance{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-card);align-items:center;gap:4px;padding:4px;display:inline-flex}.appearance button{cursor:pointer;color:var(--text-tertiary);border-radius:var(--radius-pill);background:0 0;border:0;place-items:center;width:28px;height:24px;display:grid}.appearance button svg{width:15px;height:15px}.appearance button.active{background:var(--accent);color:var(--accent-contrast)}.lang{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-card);align-items:center;padding:3px;display:inline-flex}.lang button{cursor:pointer;color:var(--text-tertiary);border-radius:var(--radius-pill);height:26px;font-family:var(--font-ui);font-size:12px;font-weight:var(--weight-semibold);letter-spacing:.04em;background:0 0;border:0;padding:0 10px}.lang button.active{background:var(--accent);color:var(--accent-contrast)}.hero{padding:64px 0 24px}.kicker{font-size:var(--text-caption);font-weight:var(--weight-semibold);letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);align-items:center;gap:9px;display:inline-flex}.kicker .dot{background:var(--grad-signature);border-radius:50%;width:7px;height:7px}.hero h1{letter-spacing:-.035em;font-size:clamp(42px,7vw,86px);line-height:.98;font-weight:var(--weight-bold);text-wrap:balance;max-width:15ch;margin:20px 0 0}.hero h1 .em{letter-spacing:-.01em;background:var(--grad-signature);color:#0000;background-clip:text;font-family:Georgia,serif;font-style:italic;font-weight:400}.hero .sub{flex-wrap:wrap;align-items:flex-end;gap:36px;margin-top:26px;display:flex}.hero .tag{color:var(--text-secondary);text-wrap:pretty;max-width:440px;margin:0;font-size:clamp(16px,2vw,19px)}.hero .cta{flex-wrap:wrap;gap:12px;display:flex}.hero .meta{color:var(--text-tertiary);margin-top:16px;font-size:13px}.hero .meta b{color:var(--text-secondary);font-weight:var(--weight-medium)}.salon{margin-top:8px;padding:64px 0 8px;position:relative;overflow:hidden}.wallstrip{background:var(--wall);z-index:0;border-radius:0;position:absolute;inset:70px -40vw 96px}.hang{z-index:1;justify-content:center;align-items:flex-end;gap:clamp(14px,3vw,40px);padding:0 8px;display:flex;position:relative}.frame{border-radius:var(--radius-card);box-shadow:var(--shadow-elevated);border:1px solid var(--exported-card-border);background:#1c1d24;flex:none;overflow:hidden}.frame.work{border-radius:var(--radius-lg);border:0;padding:clamp(20px,3vw,40px)}.frame .win{border-radius:var(--radius-card);border:1px solid var(--exported-card-border);box-shadow:var(--shadow-elevated);background:#1c1d24;overflow:hidden}.titlebar{align-items:center;gap:7px;padding:11px 14px;display:flex}.tl{border-radius:50%;width:11px;height:11px}.fname{color:#ffffff80;font-size:11px;font-family:var(--font-mono);margin:0 auto;transform:translate(-18px)}pre.code{font-family:var(--font-mono);color:#c8cad6;white-space:pre;margin:0;padding:4px 18px 18px;font-size:12.5px;line-height:1.62}.k{color:#c792ea}.t{color:#82aaff}.n{color:#f78c6c}.s{color:#c3e88d}.f{color:#82aaff}.c{color:#6b6a86}.work-a{width:clamp(260px,30vw,360px);transform:rotate(-3deg)translateY(18px)}.work-b{z-index:2;width:clamp(300px,34vw,420px);transform:translateY(-14px)}.work-c{width:clamp(260px,30vw,360px);transform:rotate(3deg)translateY(18px)}.work-a .win,.work-c .win{transform:scale(.97)}@media (width<=820px){.hang{flex-direction:column;align-items:center}.work-a,.work-b,.work-c{width:min(420px,86vw);transform:none}.wallstrip{inset:40px -28px}}section{padding:72px 0}.eyebrow{color:var(--accent);font-size:var(--text-caption);font-weight:var(--weight-semibold);letter-spacing:.1em;text-transform:uppercase}h2.title{letter-spacing:-.025em;font-size:clamp(28px,4.4vw,40px);font-weight:var(--weight-bold);text-wrap:balance;margin:10px 0 0}.lead{color:var(--text-secondary);text-wrap:pretty;max-width:620px;margin:12px 0 0;font-size:17px}.bench{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);margin-top:40px;overflow:hidden}.bench-grid{grid-template-columns:1.25fr 1fr;display:grid}@media (width<=860px){.bench-grid{grid-template-columns:1fr}}.bench-stage{place-items:center;padding:clamp(28px,5vw,64px);transition:background .4s;display:grid}.bench-card{border-radius:var(--radius-card);width:100%;max-width:440px;box-shadow:var(--shadow-elevated);border:1px solid var(--exported-card-border);transition:background .3s;overflow:hidden}.bench-controls{border-left:1px solid var(--border);padding:clamp(24px,4vw,40px)}body.vitrine-dark .bench-controls{border-left-color:var(--separator)}@media (width<=860px){.bench-controls{border-left:0;border-top:1px solid var(--border)}}.ctl-label{font-size:var(--text-caption);font-weight:var(--weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);margin:0 0 12px}.swatches{flex-wrap:wrap;gap:10px;margin-bottom:26px;display:flex}.swatch{border-radius:var(--radius-md);cursor:pointer;outline:1px solid var(--border);border:2px solid #0000;width:40px;height:40px;transition:transform .12s}.swatch:hover{transform:translateY(-2px)}.swatch[aria-pressed=true]{border-color:var(--surface-card);outline:2px solid var(--accent)}.chips{flex-wrap:wrap;gap:8px;margin-bottom:26px;display:flex}.chip{font-size:13px;font-family:var(--font-ui);border-radius:var(--radius-pill);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;padding:8px 13px}.chip[aria-pressed=true]{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.bench-note{color:var(--text-tertiary);margin:6px 0 0;font-size:13px}.story{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(28px,5vw,64px);margin-top:56px;display:grid}.story:nth-child(2n) .story-media{order:-1}@media (width<=820px){.story{grid-template-columns:1fr}.story:nth-child(2n) .story-media{order:0}}.story-media{border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-card);background:var(--surface-inset);overflow:hidden}.story-media img{width:100%;height:auto;display:block}.story h3{letter-spacing:-.02em;font-size:clamp(22px,3vw,28px);font-weight:var(--weight-semibold);margin:14px 0 0}.story p{color:var(--text-secondary);max-width:46ch;margin:12px 0 0;font-size:16px}.story .tagrow{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.tag-pill{color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-pill);padding:5px 12px;font-size:12.5px}.story .ic{border-radius:var(--radius-md);background:color-mix(in srgb, var(--accent) 13%, transparent);width:40px;height:40px;color:var(--accent);place-items:center;display:grid}.story .ic svg{width:21px;height:21px}.story code{font-family:var(--font-mono);background:var(--surface-inset);border-radius:var(--radius-sm);padding:1px 6px;font-size:13.5px}.trio{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px;display:grid}@media (width<=760px){.trio{grid-template-columns:1fr}}.shots{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px;display:grid}.shots figure{margin:0}.shots img{border-radius:var(--radius-card);width:100%;height:auto;box-shadow:var(--shadow-elevated);border:1px solid var(--exported-card-border);display:block}.shots figcaption{text-align:center;font-family:var(--font-mono);color:var(--muted,#8a8d98);margin-top:10px;font-size:13px}@media (width<=760px){.shots{grid-template-columns:1fr}}.tcard{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:22px}.tcard .ic{border-radius:var(--radius-md);background:color-mix(in srgb, var(--accent-secondary) 16%, transparent);width:40px;height:40px;color:var(--accent-secondary);place-items:center;display:grid}.tcard .ic svg{width:20px;height:20px}.tcard h4{font-size:16px;font-weight:var(--weight-semibold);margin:14px 0 6px}.tcard p{color:var(--text-secondary);margin:0;font-size:14px}.tcard code{font-family:var(--font-mono);background:var(--surface-inset);border-radius:var(--radius-sm);padding:1px 6px;font-size:12.5px}.board{border-radius:var(--radius-xl);box-shadow:var(--shadow-elevated);background:linear-gradient(135deg,#12101f 0%,#1a142e 100%);flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:30px;margin-top:40px;padding:40px 34px;display:flex}.board figure{flex-direction:column;align-items:center;gap:14px;min-width:120px;margin:0;display:flex}.board figcaption{text-align:center;line-height:1.25}.board .vp-name{font-size:15px;font-weight:var(--weight-medium);color:#ffffffeb;display:block}.board .vp-dim{font-family:var(--font-mono);color:#ffffff80;margin-top:2px;font-size:12px;display:block}.vp{background:var(--surface-inset);border:1px solid #ffffff1a;border-radius:12px;height:190px;overflow:hidden;box-shadow:0 12px 28px #00000073}.vp .page{background:var(--surface-inset);align-content:start;gap:7px;height:100%;padding:10px;display:grid}.vp .hero{border-radius:var(--radius-sm);background:var(--grad-signature);height:30px}.vp .blk{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--text-primary) 10%, transparent);height:16px}.vp .blk.sm{height:9px}.vp .cols{gap:7px;display:grid}.vp.social{width:360px}.vp.social .cols{grid-template-columns:1fr 1fr}.vp.desktop{width:300px}.vp.desktop .cols{grid-template-columns:1fr 1fr 1fr}.vp.phone{width:88px}@media (width<=760px){.vp.social{width:240px}.vp.desktop{width:220px}}.loop{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px;display:grid}@media (width<=760px){.loop{grid-template-columns:1fr}}.step{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:26px;position:relative}.step .no{font-size:12px;font-weight:var(--weight-semibold);color:var(--accent);letter-spacing:.1em}.step h4{font-size:19px;font-weight:var(--weight-semibold);margin:10px 0 6px}.step p{color:var(--text-secondary);margin:0;font-size:14.5px}.keys{gap:5px;margin-top:16px;display:inline-flex}.keycap{font-family:var(--font-ui);font-size:15px;font-weight:var(--weight-semibold);border-radius:var(--radius-sm);background:var(--surface-inset);border:1px solid var(--border);min-width:34px;height:34px;box-shadow:0 1.5px 0 var(--border);place-items:center;padding:0 9px;display:grid}.changelog{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin-top:30px;padding:8px 28px 26px}.changelog .ver{font-size:17px;font-weight:var(--weight-semibold);margin:22px 0 2px}.changelog .cat{font-size:12px;font-weight:var(--weight-semibold);color:var(--accent);text-transform:uppercase;letter-spacing:.07em;margin:16px 0 4px}.changelog ul{margin:4px 0;padding-left:20px}.changelog li{color:var(--text-secondary);margin:6px 0}.changelog strong{color:var(--text-primary);font-weight:var(--weight-semibold)}.changelog code{font-family:var(--font-mono);background:var(--surface-inset);border-radius:var(--radius-sm);padding:1px 6px;font-size:12.5px}.changelog a.more{color:var(--accent);font-weight:var(--weight-medium);margin-top:18px;display:inline-block}.pro-card{background:var(--surface-card);border:1px solid var(--border);border-radius:var(--radius-lg);max-width:660px;box-shadow:var(--shadow-popover);margin-top:30px;padding:30px}.pro-price{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.pro-now{font-size:44px;font-weight:var(--weight-bold);letter-spacing:-.02em}.pro-was{color:var(--text-tertiary);font-size:20px;text-decoration:line-through}.pro-badge{font-size:12px;font-weight:var(--weight-semibold);color:var(--accent-secondary);border:1px solid color-mix(in srgb, var(--accent-secondary) 40%, transparent);border-radius:var(--radius-pill);padding:4px 11px}.pro-note{color:var(--text-secondary);margin:12px 0 0;font-size:14px}.pro-list{gap:11px;margin:20px 0 22px;padding:0;list-style:none;display:grid}.pro-list li{color:var(--text-primary);align-items:center;gap:10px;font-size:15px;display:flex}.pro-list .chk{color:var(--accent);flex:none;place-items:center;display:grid}.pro-list .chk svg{width:18px;height:18px}.pro-list code{font-family:var(--font-mono);background:var(--surface-inset);border-radius:var(--radius-sm);padding:1px 6px;font-size:13px}.install{text-align:center}.terminal{border:1px solid var(--exported-card-border);border-radius:var(--radius-md);max-width:560px;font-family:var(--font-mono);text-align:left;color:#e7e8f0;box-shadow:var(--shadow-card);background:#14151c;align-items:center;gap:12px;margin:26px auto 0;padding:14px 16px;font-size:14px;display:flex}.terminal .prompt{color:var(--accent-secondary)}.terminal code{white-space:nowrap;flex:1;overflow-x:auto}.terminal button{color:#ffffffb3;border-radius:var(--radius-sm);cursor:pointer;font-size:13px;font-family:var(--font-ui);background:0 0;border:1px solid #ffffff29;align-items:center;gap:6px;padding:6px 10px;display:inline-flex}.terminal button svg{width:14px;height:14px}.terminal button:hover{color:#fff;background:#ffffff14}footer{border-top:1px solid var(--border);margin-top:24px;padding:40px 0 64px}footer .wrap{flex-wrap:wrap;align-items:center;gap:18px 30px;display:flex}footer .flinks{flex-wrap:wrap;gap:22px;display:flex}footer a.flink{color:var(--text-secondary);font-size:14px}footer a.flink:hover{color:var(--text-primary)}footer .note{width:100%;color:var(--text-tertiary);font-size:13px}.pill{color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-pill);align-items:center;gap:7px;padding:6px 14px;font-size:13px;display:inline-flex}.pill svg{width:14px;height:14px;color:var(--accent-secondary)}@media (prefers-reduced-motion:reduce){*{transition:none!important}}
