@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(./bricolage-grotesque-vietnamese-opsz-normal-D9N6E8K1.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(./bricolage-grotesque-latin-ext-opsz-normal-IcJDqblK.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(./bricolage-grotesque-latin-opsz-normal-Cre6nC2_.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}@font-face{font-family:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(./figtree-latin-ext-wght-normal-DCwSJGxG.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:Figtree Variable;font-style:normal;font-display:swap;font-weight:300 900;src:url(./figtree-latin-wght-normal-D_ZTVpCC.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{--font-display: "Bricolage Grotesque Variable", "Figtree Variable", system-ui, sans-serif;--font-ui: "Figtree Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--bg: #19122a;--surface: #221936;--raised: #2e2347;--line: #3a2e57;--text: #efeaf7;--muted: #afa2cc;--accent: #ff8fab;--accent-ink: #2a1020;--temp: #ffc08a;--ok: #7cd8b5;--warn: #f5c66b;--bad: #ff7a7a;--focus: #ffd6e0;--shadow: 0 18px 50px rgba(6, 2, 18, .45);--r-composer: 22px;--r-panel: 14px;--r-tile: 10px;--step--1: .8125rem;--step-0: .9375rem;--step-1: 1.125rem;--step-2: 1.5rem;--step-3: clamp(2rem, 4.2vw, 3.25rem);color-scheme:dark}:root[data-theme=light]{--bg: #f7f4fc;--surface: #ffffff;--raised: #f0ebf8;--line: #e2daf0;--text: #231a35;--muted: #685c82;--accent: #c2335f;--accent-ink: #ffffff;--temp: #a8571a;--ok: #1f8a63;--warn: #9a6a00;--bad: #c0392b;--focus: #6d2b8f;--shadow: 0 14px 40px rgba(60, 30, 90, .12);color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:400 var(--step-0) / 1.5 var(--font-ui);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:6px}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.shell{display:grid;grid-template-columns:216px 1fr;height:100%}.rail{border-right:1px solid var(--line);padding:18px 14px;display:flex;flex-direction:column;gap:4px;background:var(--surface)}.rail .brand{padding:4px 10px 22px}.nav-btn{display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border:0;border-radius:12px;background:none;cursor:pointer;color:var(--muted);text-align:left;font-weight:550}.nav-btn:hover{color:var(--text);background:var(--raised)}.nav-btn[aria-current=page]{color:var(--text);background:var(--raised);box-shadow:inset 3px 0 0 var(--accent)}.nav-btn svg{flex:none}.rail .spacer{flex:1}.rail small{color:var(--muted);padding:0 12px;font-size:var(--step--1)}.main{display:flex;flex-direction:column;min-width:0;height:100%;overflow:hidden}.topbar{display:flex;align-items:center;gap:12px;justify-content:space-between;padding:12px 24px;border-bottom:1px solid var(--line);min-height:60px}.topbar .brand-sm{display:none}.content{flex:1;overflow-y:auto;padding:28px 24px 120px}.page{max-width:980px;margin:0 auto}.page.wide{max-width:1180px}.shell[data-temporary=true] .rail,.shell[data-temporary=true] .topbar{background-image:repeating-linear-gradient(90deg,transparent 0 14px,color-mix(in oklab,var(--temp) 9%,transparent) 14px 15px,transparent 15px 28px)}.shell[data-temporary=true] .composer{border-color:var(--temp);box-shadow:0 0 0 1px var(--temp),var(--shadow)}.temp-banner{display:flex;gap:10px;align-items:flex-start;margin:0 auto 18px;max-width:980px;padding:12px 16px;border:1px dashed var(--temp);border-radius:var(--r-panel);color:var(--text)}.temp-banner b{color:var(--temp)}.wordmark{font:700 1em/1 var(--font-display);font-variation-settings:"opsz" 96;letter-spacing:-.03em;font-variant-ligatures:none;display:inline-block;color:var(--text)}.wm-i{position:relative;display:inline-block}.wm-petal{position:absolute;left:50%;top:-.02em;width:.27em;height:.15em;border-radius:50%;background:var(--accent);transform:translate(-42%) rotate(-28deg)}.radio-row{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:start;cursor:pointer}.radio-row input{margin:4px 0 0;accent-color:var(--accent);width:16px;height:16px}h1,h2,h3{font-family:var(--font-display);font-weight:650;letter-spacing:-.015em;margin:0}h1.hero{font-size:var(--step-3);line-height:1.05;font-variation-settings:"opsz" 96;margin:12px 0 22px;max-width:18ch}h2{font-size:var(--step-2);line-height:1.15;margin-bottom:6px}h3{font-size:var(--step-1);line-height:1.25}p{margin:0 0 10px;max-width:70ch}.muted{color:var(--muted)}.small{font-size:var(--step--1)}.num{font-variant-numeric:tabular-nums}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:var(--surface);cursor:pointer;font-weight:600}.btn:hover{background:var(--raised)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent}.btn.primary:hover{filter:brightness(1.06)}.btn.ghost{background:none;border-color:transparent}.btn.danger{color:var(--bad)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.sm{min-height:36px;padding:0 12px;font-size:var(--step--1)}.seg{display:inline-flex;padding:3px;gap:2px;border-radius:999px;background:var(--raised);flex-wrap:wrap}.seg button{border:0;background:none;min-height:38px;padding:0 14px;border-radius:999px;cursor:pointer;color:var(--muted);font-weight:600}.seg button[aria-pressed=true]{background:var(--surface);color:var(--text);box-shadow:0 1px 0 var(--line)}.toggle{display:inline-flex;align-items:center;gap:10px;cursor:pointer;min-height:44px}.toggle input{appearance:none;width:42px;height:24px;border-radius:999px;background:var(--line);position:relative;margin:0;cursor:pointer;transition:background .15s}.toggle input:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:var(--text);transition:transform .15s}.toggle input:checked{background:var(--accent)}.toggle.temp input:checked{background:var(--temp)}.toggle input:checked:after{transform:translate(18px);background:var(--accent-ink)}label.field{display:grid;gap:6px;font-weight:600;font-size:var(--step--1)}select,input[type=text],input[type=number],input[type=password],input[type=email]{min-height:40px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface)}input[type=range]{accent-color:var(--accent);width:100%}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:var(--step--1);font-weight:600;background:var(--raised);color:var(--muted);white-space:nowrap}.chip.ok{color:var(--ok)}.chip.warn{color:var(--warn)}.chip.bad{color:var(--bad)}.chip.accent{color:var(--accent)}.chip.temp{color:var(--temp)}.sim{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border-radius:6px;border:1px dashed var(--warn);color:var(--warn);font-size:.75rem;font-weight:700}.composer{border:1px solid var(--line);border-radius:var(--r-composer);background:var(--surface);box-shadow:var(--shadow);padding:14px;transition:border-color .2s,box-shadow .2s}.composer textarea{width:100%;min-height:112px;resize:vertical;border:0;background:none;outline:none;font:450 var(--step-1) / 1.45 var(--font-ui);padding:8px 6px}.composer textarea::placeholder{color:var(--muted)}.composer .bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:8px;border-top:1px solid var(--line)}.composer .bar .grow{flex:1}.attachments{display:flex;gap:8px;flex-wrap:wrap;padding:4px 6px 10px}.thumb{position:relative;width:64px;height:64px;border-radius:var(--r-tile);overflow:hidden;background:var(--raised)}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb button{position:absolute;top:2px;right:2px;width:24px;height:24px;border-radius:50%;border:0;background:#0009;color:#fff;cursor:pointer;line-height:1}.panel{border:1px solid var(--line);border-radius:var(--r-panel);padding:18px;background:var(--surface)}.stack{display:grid;gap:16px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.grid-2{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;align-items:start}.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0}ul.why{margin:6px 0 0;padding-left:18px;color:var(--muted)}ul.why li{margin:2px 0}details>summary{cursor:pointer;font-weight:600;min-height:36px;display:flex;align-items:center}.disclosure{border-left:3px solid var(--accent);padding:8px 12px;background:var(--raised);border-radius:0 10px 10px 0}.blocker{border-left:3px solid var(--bad);padding:8px 12px;background:var(--raised);border-radius:0 10px 10px 0}.planner{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:center}.canvas-preview{position:relative;width:100%;max-width:220px;border-radius:8px;overflow:hidden;background:repeating-linear-gradient(45deg,var(--raised) 0 8px,color-mix(in oklab,var(--accent) 22%,var(--raised)) 8px 9px);outline:1px solid var(--line)}.canvas-preview img{position:absolute;display:block}.canvas-preview .legend{position:absolute;left:6px;bottom:6px}.compare{position:relative;overflow:hidden;border-radius:var(--r-panel);background:var(--raised);-webkit-user-select:none;user-select:none;touch-action:none}.compare .layer{position:absolute;inset:0}.compare .layer img{width:100%;height:100%;object-fit:contain}.compare .handle{position:absolute;top:0;bottom:0;width:2px;background:var(--accent)}.compare .handle:after{content:"";position:absolute;top:50%;left:-11px;width:24px;height:24px;border-radius:50%;background:var(--accent);transform:translateY(-50%)}.compare input[type=range]{position:absolute;inset:auto 12px 10px;width:calc(100% - 24px)}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:12px}.tile{border:1px solid var(--line);border-radius:var(--r-tile);overflow:hidden;background:var(--surface);cursor:pointer;text-align:left;padding:0}.tile:hover{border-color:var(--muted)}.tile .art{aspect-ratio:4 / 5;background:var(--raised)}.tile .art img{width:100%;height:100%;object-fit:cover;display:block}.tile .meta{padding:8px 10px;display:grid;gap:4px}.qlist{display:grid;gap:8px;margin:0;padding:0;list-style:none}.qitem{display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.qitem .pair{display:flex;gap:2px}.qitem .pair img{width:25px;height:44px;object-fit:cover;border-radius:4px}.bar-track{height:6px;border-radius:99px;background:var(--raised);overflow:hidden}.bar-fill{height:100%;background:var(--accent);transition:width .3s}.chat{display:grid;grid-template-columns:240px 1fr;gap:16px;height:calc(100vh - 170px)}.convos{border-right:1px solid var(--line);padding-right:12px;overflow:auto}.convos button{width:100%;text-align:left;border:0;background:none;padding:10px;border-radius:10px;cursor:pointer;color:var(--muted)}.convos button[aria-current=true]{background:var(--raised);color:var(--text)}.thread{display:flex;flex-direction:column;min-height:0}.messages{flex:1;overflow:auto;display:grid;gap:14px;align-content:start;padding:4px 4px 16px}.msg{max-width:72ch}.msg.user{justify-self:end;background:var(--raised);padding:10px 14px;border-radius:16px 16px 4px}.msg.assistant{padding:2px 4px}.msg .tools{display:flex;gap:4px;margin-top:4px}table.data{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}table.data th,table.data td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top}table.data th{color:var(--muted);font-weight:600;font-size:var(--step--1)}table.data td.r,table.data th.r{text-align:right}.meter{height:10px;border-radius:99px;background:var(--raised);position:relative;overflow:visible}.meter .fill{height:100%;border-radius:99px;background:var(--accent)}.meter .mark{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--text)}.empty{text-align:center;padding:48px 16px;border:1px dashed var(--line);border-radius:var(--r-panel)}.toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%);background:var(--text);color:var(--bg);padding:10px 16px;border-radius:999px;font-weight:600;z-index:50;box-shadow:var(--shadow)}.drawer-backdrop{position:fixed;inset:0;background:#0a041480;z-index:40;display:flex;justify-content:flex-end}.drawer{width:min(560px,100%);height:100%;background:var(--bg);padding:20px;overflow:auto;border-left:1px solid var(--line)}.signin{min-height:100%;display:grid;place-items:center;padding:24px 16px}.signin-card{width:min(440px,100%);box-shadow:var(--shadow)}ol.recovery{columns:2;margin:0;padding-left:22px}ol.recovery code{font-size:var(--step-0)}a.btn{text-decoration:none;color:inherit}a.btn.primary{color:var(--accent-ink)}a.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.tabbar{display:none}@media(max-width:760px){.shell{grid-template-columns:1fr}.rail{display:none}.topbar{padding:10px 16px;padding-top:max(10px,env(safe-area-inset-top))}.topbar>.row{flex-wrap:nowrap}.topbar .brand-sm{display:block}.content{padding:18px 16px calc(96px + env(safe-area-inset-bottom))}.tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tabbar button{min-height:58px;border:0;background:none;color:var(--muted);display:grid;place-items:center;gap:2px;font-size:.6875rem;font-weight:600;cursor:pointer}.tabbar button[aria-current=page]{color:var(--accent)}.grid-2,.planner{grid-template-columns:1fr}.chat{grid-template-columns:1fr;height:auto}.convos{display:none}h1.hero{margin-top:4px}.hide-sm{display:none}.kv{grid-template-columns:1fr;gap:2px}.kv dt{margin-top:8px}}.painter-stage{position:relative;margin-inline:auto;border-radius:var(--r-panel);overflow:hidden;background:var(--raised);touch-action:none;user-select:none;-webkit-user-select:none}.painter-stage img,.painter-mask{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}.painter-mask{opacity:.55;mix-blend-mode:normal}.painter-cursor{position:absolute;transform:translate(-50%,-50%);border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #0000008c;pointer-events:none}.painter-cursor.erase{border-style:dashed}.painter-tools{gap:10px}.painter-tools input[type=range]{width:120px}.photo-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.photo-strip button{position:relative;flex:none;width:58px;height:58px;padding:0;border-radius:var(--r-tile);overflow:hidden;border:2px solid transparent;background:var(--raised);cursor:pointer}.photo-strip button[aria-current=true]{border-color:var(--accent)}.photo-strip img{width:100%;height:100%;object-fit:cover;display:block}.photo-strip .dot{position:absolute;right:4px;bottom:4px;width:10px;height:10px;border-radius:50%;background:var(--line);box-shadow:0 0 0 2px var(--surface)}.photo-strip .dot.on{background:var(--accent)}@media(prefers-reduced-motion:reduce){.painter-cursor{transition:none}}.tile .art{position:relative}.tile .art video,.pair video{width:100%;height:100%;object-fit:cover;display:block;background:#000}.chip.duration{position:absolute;right:8px;bottom:8px;background:#0009;color:#fff}
