@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2) format("woff2-variations");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{color-scheme:dark;--color-surface: #0a0e11;--color-surface-raised: #141718;--color-surface-overlay: #1b1f21;--color-border: #222628;--color-border-strong: #363a3c;--color-ink: #eceae6;--color-muted: #989a9a;--color-subtle: #84878a;--color-accent: #c4ee78;--color-accent-hover: #d4f595;--color-accent-ink: #0a0e11;--color-paper: #d5cabd;--color-paper-ink: #16181a;--font-sans: "Geist Variable", Geist, Inter, ui-sans-serif, system-ui, sans-serif;--text-display: clamp(2.75rem, 6.5vw, 4.75rem);--text-h2: clamp(2.125rem, 4.2vw, 3.25rem);--text-h3: 1.375rem;--text-lead: 1.125rem;--text-body: 1rem;--text-small: .875rem;--text-eyebrow: .75rem;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--leading-tight: 1.05;--leading-snug: 1.25;--leading-body: 1.6;--tracking-display: -.035em;--tracking-heading: -.025em;--tracking-eyebrow: .14em;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-pill: 999px;--content-max: 75rem;--gutter: clamp(1.25rem, 4vw, 3rem);--space-section: clamp(5rem, 10.5vw, 9.375rem);--ease-out: cubic-bezier(.2, .8, .2, 1);--duration-fast: .15s;--duration-base: .25s;--focus-ring: 0 0 0 2px var(--color-surface), 0 0 0 4px var(--color-accent)}@media(prefers-reduced-motion:reduce){:root{--duration-fast: 0ms;--duration-base: 0ms}}:root{color:var(--color-ink);font-family:var(--font-sans);background:var(--color-surface)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:none;box-shadow:var(--focus-ring)}button:disabled{cursor:default;opacity:.45}.studio{display:flex;flex-direction:column;height:100%;background:var(--color-surface);color:var(--color-ink)}.topbar,.mobile-tabs{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--color-border);background:var(--color-surface-raised)}.mobile-tabs{display:none;border-bottom:0;border-top:1px solid var(--color-border)}.mark{margin:0;font-size:var(--text-small);font-weight:var(--weight-semibold);letter-spacing:.08em;text-transform:uppercase}.quiet{margin:0;color:var(--color-subtle);font-size:var(--text-small)}.panel-label,.group-label{margin:0;color:var(--color-subtle);font-size:var(--text-eyebrow);font-weight:var(--weight-medium);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase}.top-actions,.presets,.row-actions,.segment,.chips{display:flex;flex-wrap:wrap;gap:8px}.workspace{display:flex;flex:1;min-height:0}.panel{display:flex;flex-direction:column;gap:16px;width:280px;padding:16px;overflow:auto;background:var(--color-surface-raised)}.panel-design{border-right:1px solid var(--color-border)}.panel-place{border-left:1px solid var(--color-border)}.stage{position:relative;flex:1;min-width:0;background:var(--color-surface)}.stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}.stage-hud,.handoff,.disclaimer,.compare-labels{position:absolute;z-index:1}.stage-hud{left:16px;bottom:16px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.disclaimer{right:16px;bottom:16px;margin:0;color:var(--color-subtle);font-size:var(--text-small)}.compare-labels{top:12px;left:16px;right:16px;display:flex;justify-content:space-between;color:var(--color-muted);font-size:var(--text-small);pointer-events:none}.compare-labels button{pointer-events:auto}.handoff{left:16px;right:16px;bottom:72px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px;border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-raised)}.handoff p,.warn{margin:0;color:var(--color-muted);font-size:var(--text-small)}.button,.segment button,.region,.chip,.mobile-tabs button{border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:transparent;color:var(--color-ink);padding:8px 14px}.button.accent,.segment button[aria-pressed=true],.region[aria-pressed=true],.chip[aria-pressed=true],.mobile-tabs button[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-ink)}.button.ghost:hover,.region:hover:not(:disabled){border-color:var(--color-accent)}.gate{display:grid;min-height:100%;place-items:center;padding:24px 16px}.gate-card{display:flex;flex-direction:column;gap:16px;width:min(100%,420px);padding:28px 24px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-raised)}.gate-card h1{margin:0;font-size:var(--text-h3);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-heading)}.gate-card p{margin:0;color:var(--color-muted);line-height:var(--leading-body)}.gate-card form{display:flex;flex-direction:column;gap:14px}.gate-card label{display:flex;flex-direction:column;gap:6px;color:var(--color-subtle);font-size:var(--text-small)}.gate-card input[type=email],.gate-card input[type=password]{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface-overlay);padding:12px 14px;color:var(--color-ink)}.gate-card .button.accent{width:100%;padding:12px 16px}.gate-links{display:flex;justify-content:space-between;gap:12px}.text-link{border:0;background:none;padding:0;color:var(--color-ink);text-decoration:underline;text-underline-offset:3px}.gate-error{color:var(--color-ink)}.honeypot{position:absolute;left:-9999px}.design-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.design-card{display:flex;flex-direction:column;gap:6px;padding:6px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-paper);color:var(--color-paper-ink);text-align:left}.design-card[aria-pressed=true]{border-color:var(--color-accent)}.design-card img{width:100%;aspect-ratio:1 / 2;object-fit:contain}.design-card span,.region{font-size:var(--text-small)}.region{display:flex;width:100%;justify-content:space-between;align-items:center;border-radius:var(--radius-sm);text-align:left}.region-group,.region-block,.size-block,.slider{display:flex;flex-direction:column;gap:8px}.skins button{width:28px;height:28px;padding:0;border-radius:var(--radius-pill)}.skins button[aria-pressed=true]{box-shadow:var(--focus-ring)}.slider input{width:100%;accent-color:var(--color-accent)}.fallback{display:flex;flex-direction:column;gap:12px;height:100%;padding:24px;color:var(--color-muted)}.fallback img{width:min(240px,70%);background:var(--color-paper)}.mobile-only{display:none}@media(max-width:1023px){.workspace{flex-direction:column}.stage{flex:none;height:58vh}.panel{display:none;width:auto;border:0;flex:1}.studio[data-tab=design] .panel-design,.studio[data-tab=place] .panel-place,.studio[data-tab=size] .panel-place{display:flex}.studio[data-tab=place] .size-block,.studio[data-tab=size] .region-block{display:none}.mobile-tabs{display:flex}.mobile-tabs button{flex:1}.disclaimer{left:16px;right:auto;bottom:64px}.desktop-only{display:none}.mobile-only{display:inline-flex}}
