@font-face{font-family:Prompt;font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/prompt-thai-400-normal.woff2") format("woff2");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:Prompt;font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/prompt-latin-400-normal.woff2") format("woff2");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:Prompt;font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/prompt-thai-700-normal.woff2") format("woff2");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}@font-face{font-family:Prompt;font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/prompt-latin-700-normal.woff2") format("woff2");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{--try-bar-h: 44px;--try-ink: #16121f;--try-ink-2: #2a2338;--try-paper: #ffffff;--try-muted: #b9b0c9;--try-line: #06c755;--try-line-hover: #2fd673;--try-focus: #ffd34d}.try-bar{position:relative;z-index:30;height:var(--try-bar-h);box-sizing:border-box;display:flex;align-items:center;gap:12px;padding:0 12px 0 8px;background:var(--try-ink);color:var(--try-paper);font:500 14px/1 Prompt,system-ui,sans-serif;letter-spacing:0;box-shadow:0 1px #ffffff0f,0 6px 18px #0a06142e}.try-bar a{color:inherit;text-decoration:none}.try-back{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:8px;white-space:nowrap;transition:background-color .15s ease}.try-back:hover{background:var(--try-ink-2)}.try-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--try-muted);font-size:13px;font-weight:400}.try-bar .try-line{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 14px;border-radius:999px;background:var(--try-line);color:var(--try-ink);font-weight:700;white-space:nowrap;transition:background-color .15s ease,transform .15s ease}.try-bar .try-line:hover{background:var(--try-line-hover)}.try-line:active{transform:translateY(1px)}.try-line svg{width:18px;height:18px;flex:none}.try-bar a:focus-visible,.try-qr button:focus-visible,.try-qr a:focus-visible{outline:3px solid var(--try-focus);outline-offset:2px}@media(max-width:560px){.try-title{display:none}.try-bar{justify-content:space-between;gap:6px;padding-right:8px}.try-back,.try-bar .try-line{font-size:13px}.try-bar .try-line{padding:0 12px}}.try-qr{width:min(380px,calc(100vw - 32px));padding:26px 24px 20px;border:0;border-radius:18px;color:var(--try-ink);background:#fff;font-family:Prompt,system-ui,sans-serif;text-align:center;box-shadow:0 30px 80px #0a061459}.try-qr::backdrop{background:#0e0a168c}.try-qr h2{margin:0 0 6px;font-size:20px;line-height:1.3}.try-qr-lead{margin:0 0 14px;color:#5d5470;font-size:14px;line-height:1.5}.try-qr-code{display:grid;place-items:center;width:260px;height:260px;margin:0 auto}.try-qr-code svg{width:260px;height:260px}.try-qr-code span{color:#5d5470;font-size:13px}.try-qr-msg{margin:14px 0;padding:10px 12px;border-radius:10px;background:#f3f0f8;font-size:14px;line-height:1.5;text-align:left}.try-qr-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.try-qr-actions button,.try-qr-actions a{display:inline-flex;align-items:center;height:40px;padding:0 16px;border-radius:999px;border:1px solid #d9d2e6;background:#fff;color:var(--try-ink);font:600 14px/1 Prompt,system-ui,sans-serif;text-decoration:none;cursor:pointer}.try-qr-actions button{background:var(--try-ink);border-color:var(--try-ink);color:#fff}.try-qr-actions button:hover{background:var(--try-ink-2)}.try-qr-actions a:hover{border-color:var(--try-ink)}.try-qr-status{min-height:1.4em;margin:10px 0 0;color:#147d64;font-size:13px}.try-qr-close{position:absolute;top:10px;right:10px;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:#5d5470;font-size:24px;line-height:1;cursor:pointer}.try-qr-close:hover{background:#f3f0f8}@media(prefers-reduced-motion:reduce){.try-back,.try-line{transition:none}}:root{--paper: #f4efe7;--paper-2: #ebe4d8;--ink: #1b1a17;--ink-2: #4a463f;--muted: #6c655a;--brass-text: #796037;--line: rgba(27, 26, 23, .12);--brass: #b08d57;--brass-2: #d9b77c;--night: #0d1624;--night-2: #142238;--amber: #ffb54a;--mint: #6fd8b4;--cyan: #7fc8ff;--radius-s: 6px;--radius-m: 14px;--radius-l: 22px;--shadow: 0 1px 0 rgba(255, 255, 255, .6) inset, 0 24px 60px -24px rgba(27, 26, 23, .35), 0 2px 8px rgba(27, 26, 23, .08);--serif: "Cormorant Garamond", "Iowan Old Style", Georgia, serif;--sans: "Prompt", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace;--ease: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:var(--sans);color:var(--ink);background:var(--paper);overflow:hidden;-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;cursor:pointer}[hidden]{display:none!important}.topbar{position:fixed;inset:0 0 auto;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:18px 28px;pointer-events:none}.topbar>*{pointer-events:auto}.brand{display:flex;align-items:baseline;gap:12px;text-decoration:none;color:inherit}.brand-mark{width:14px;height:14px;border:1.5px solid var(--ink);transform:rotate(45deg) translateY(1px);position:relative}.brand-mark:after{content:"";position:absolute;inset:3px;background:var(--brass)}.brand-name{font-family:var(--serif);font-size:26px;font-weight:600;letter-spacing:.02em}.brand-sub{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}.showcase-back{color:inherit;font-size:12px;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px}body[data-phase=scan] .brand,body[data-phase=scan] .pill{color:#e9e3d8}body[data-phase=scan] .brand-mark{border-color:#e9e3d8}.status{display:flex;gap:8px}.pill{font-size:12px;padding:6px 12px 6px 22px;border-radius:99px;position:relative;border:1px solid var(--line);background:#ffffff80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.pill:before{content:"";position:absolute;left:10px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#c9c2b6}.pill.on:before{background:#4caf7d;box-shadow:0 0 0 3px #4caf7d2e}.pill.off{opacity:.6}#stage{position:fixed;inset:0}#three{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .9s var(--ease)}body[data-phase=house] #three,body[data-phase=build] #three{opacity:1}.intro{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(28px,5vw,80px);align-items:center;padding:110px clamp(24px,6vw,96px) 60px;background:linear-gradient(var(--paper) 0 0) padding-box,repeating-linear-gradient(0deg,transparent 0 39px,rgba(27,26,23,.045) 39px 40px),repeating-linear-gradient(90deg,transparent 0 39px,rgba(27,26,23,.045) 39px 40px);background-blend-mode:multiply}.intro:after{content:"";position:absolute;right:-8vw;bottom:-14vh;width:52vw;height:52vw;border-radius:50%;background:radial-gradient(circle,rgba(217,183,124,.32),transparent 62%);pointer-events:none}.eyebrow{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--brass-text);margin:0 0 14px;font-weight:700}.intro h1{font-family:var(--serif);font-weight:500;font-size:clamp(44px,6.2vw,96px);line-height:.95;margin:0 0 26px;letter-spacing:-.015em}.intro h1 em{font-style:italic;color:var(--ink-2)}.lede{font-size:clamp(15px,1.15vw,18px);line-height:1.75;color:var(--ink-2);max-width:36em;margin:0 0 34px}.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}.steps li{padding:16px 18px 0 0;font-weight:700;font-size:15px}.steps li+li{padding-left:18px;border-left:1px solid var(--line)}.steps b{display:block;font-family:var(--serif);font-size:22px;color:var(--brass-text);font-weight:600;margin-bottom:4px}.steps span{display:block;font-weight:400;font-size:12.5px;color:var(--muted);margin-top:4px;line-height:1.55}.drop{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;min-height:420px;padding:40px;border-radius:var(--radius-l);background:linear-gradient(160deg,#fffdf9,#f6f0e6);box-shadow:var(--shadow);border:1px solid rgba(176,141,87,.35);cursor:pointer;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}.drop:before{content:"";position:absolute;inset:14px;border:1.5px dashed rgba(176,141,87,.45);border-radius:16px;pointer-events:none;transition:inset .4s var(--ease)}.drop:hover,.drop.over{transform:translateY(-4px)}.drop.over:before{inset:8px;border-color:var(--brass-text)}.drop:focus-visible{outline:2px solid var(--brass);outline-offset:4px}.drop strong{font-size:24px}.drop>span{color:var(--muted);font-size:14px}.drop-art svg{width:120px;height:90px;fill:none;stroke:var(--ink);stroke-width:1.4;stroke-linejoin:round}.drop-art{margin-bottom:8px;animation:floaty 6s ease-in-out infinite}@keyframes floaty{50%{transform:translateY(-6px)}}.upload-layer{position:absolute;inset:0;pointer-events:none;z-index:5}.fly-card{position:absolute;left:0;top:0;margin:-38px 0 0 -120px;width:240px;display:grid;grid-template-columns:64px 1fr;gap:10px;align-items:center;padding:8px;border-radius:12px;background:#fff;box-shadow:0 24px 50px -18px #1b1a1773,0 0 0 1px #1b1a170f;opacity:0}.fly-card img{width:64px;height:52px;object-fit:cover;border-radius:6px;background:#eee}.fly-card b{display:block;font-size:12.5px;line-height:1.3}.fly-card small{font-size:11px;color:var(--muted);font-family:var(--mono)}.fly-cursor{position:absolute;left:0;top:0;width:26px;height:26px;margin:-4px 0 0 -4px;opacity:0;filter:drop-shadow(0 4px 6px rgba(0,0,0,.3))}.who-badge{position:absolute;left:clamp(24px,6vw,96px);bottom:40px;display:flex;gap:10px;align-items:center;padding:8px 16px 8px 8px;border-radius:99px;background:#1b1a17e6;color:#f6f1e8;animation:chip .5s var(--ease) both;box-shadow:0 16px 30px -14px #00000080}.who-badge i{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:700;color:var(--ink);background:linear-gradient(135deg,var(--brass-2),var(--brass))}.who-badge b{display:block;font-size:14px}.who-badge small{font-size:12px;color:#cfc6b6}.drop.uploading>:not(.upload-list){display:none}.upload-list:empty{display:none}.upload-list{width:100%;display:grid;gap:10px;text-align:left}.up-title{margin:0 0 4px;font-weight:700;font-size:18px;text-align:center}.up-row{display:grid;grid-template-columns:56px 1fr 22px;gap:12px;align-items:center;padding:8px;border-radius:12px;background:#fff;border:1px solid var(--line);animation:chip .4s var(--ease) both}.up-row img,.up-row i{width:56px;height:44px;border-radius:6px;object-fit:cover;background:var(--paper-2)}.up-row b{display:block;font-size:13px}.up-row small{font-size:11px;color:var(--muted);font-family:var(--mono)}.up-row em{display:block;height:4px;border-radius:4px;background:var(--paper-2);margin-top:6px;overflow:hidden}.up-row u{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--brass),var(--brass-2));transform-origin:left;transform:scaleX(0);transition:transform 1.1s var(--ease)}.up-row.go u{transform:scaleX(1)}.up-row strong{color:#3f9a6e;opacity:0;transition:opacity .3s 1s}.up-row.go strong{opacity:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;padding:11px 20px;border-radius:99px;border:1px solid transparent;font-size:14px;font-weight:700;transition:transform .25s var(--ease),background .25s,box-shadow .25s,border-color .25s}.btn:active{transform:scale(.97)}.btn:focus-visible{outline:2px solid var(--brass);outline-offset:3px}.btn.primary{background:var(--ink);color:#f8f4ec;box-shadow:0 10px 24px -10px #1b1a1799}.btn.primary:hover{background:#2c2a25;box-shadow:0 14px 30px -10px #b08d57b3}.btn.primary span{color:var(--brass-2)}.btn.ghost{background:transparent;border-color:var(--line)}.btn.ghost:hover{border-color:var(--brass-text);background:#b08d5714}.btn.dark{background:var(--ink);color:#f8f4ec}.btn.wide{width:100%}a.btn{color:inherit}.check{display:flex;gap:10px;align-items:flex-start;padding:12px;margin:0 0 12px;border-radius:12px;border:1px solid var(--line);background:#ffffff8c;font-size:13.5px;font-weight:700;cursor:pointer}.check input{accent-color:var(--ink);width:18px;height:18px;margin-top:2px}.check small{display:block;font-weight:400;font-size:12px;color:var(--muted);margin-top:2px}.btn[disabled]{opacity:.45;pointer-events:none}.drop .btn{margin-top:0}.sample-row{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap;justify-content:center}.view-label{margin:0 0 8px}.view-seg{grid-template-columns:repeat(auto-fit,minmax(60px,1fr));margin-bottom:14px}.view-seg button{padding:10px 4px}.review-tabs{margin:10px 0 12px;background:#ffffff14}.review-tabs button{color:#b8c1cf}.review-tabs button[aria-selected=true]{background:#f3ecdf;color:var(--ink)}.room-jump .jump-head{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--brass-text);font-weight:700;margin:10px 0 2px}.scan{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-template-rows:minmax(0,1fr);gap:0;background:radial-gradient(120% 120% at 30% 20%,var(--night-2),var(--night))}.plan-wrap{position:relative;margin:84px 24px 28px 40px;display:grid;place-items:center;min-height:0}.plan-box{position:relative;line-height:0;overflow:hidden;border-radius:4px}.plan-wrap img{display:block;max-width:100%;max-height:calc(100vh - 124px)}.plan-wrap svg{position:absolute;inset:0;width:100%;height:100%}.plan-wrap img{border-radius:4px;box-shadow:0 30px 80px -30px #000c;filter:saturate(0) contrast(1.05);opacity:0;transform:scale(.97);transition:opacity .8s var(--ease),transform 1.2s var(--ease),filter 1.2s}.plan-wrap img.in{opacity:1;transform:none}.plan-wrap img.dim{filter:saturate(0) brightness(.55) contrast(1.1) sepia(.35) hue-rotate(170deg)}.plan-wrap svg{overflow:visible;pointer-events:none}.beam{position:absolute;left:0;right:0;top:0;height:120px;pointer-events:none;opacity:0;background:linear-gradient(180deg,transparent,rgba(127,200,255,.18) 70%,rgba(127,200,255,.9) 98%,transparent);mix-blend-mode:screen}.beam.run{animation:beam 1.9s var(--ease) forwards}@keyframes beam{0%{opacity:1;top:-120px}90%{opacity:1}to{opacity:0;top:100%}}#overlay .wall{fill:var(--amber);filter:drop-shadow(0 0 4px rgba(255,181,74,.9));opacity:0;transform-box:fill-box;transform-origin:center;animation:pop .45s var(--ease) forwards}#overlay .opening{fill:var(--mint);opacity:0;animation:pop .4s var(--ease) forwards}#overlay .bubble{fill:none;stroke:var(--cyan);stroke-width:2.5;opacity:0;animation:ring 1.2s var(--ease) forwards}#overlay .gridline{stroke:#7fc8ff8c;stroke-width:1.2;stroke-dasharray:6 6;opacity:0;animation:fade .8s forwards}#overlay .region{opacity:0;animation:fade .8s forwards;mix-blend-mode:screen}#overlay .region-num{font:700 15px var(--mono);fill:#fff;text-anchor:middle;dominant-baseline:central;opacity:0;animation:fade .6s forwards}#overlay .room-chip rect{fill:#0d1624db;stroke:var(--brass-2);stroke-width:1}#overlay .room-chip text{fill:#fff;font:700 13px var(--sans);text-anchor:middle}#overlay .room-chip .area{fill:var(--brass-2);font:500 11px var(--mono)}#overlay .room-chip{opacity:0;animation:chip .6s var(--ease) forwards;transform-box:fill-box;transform-origin:center}@keyframes pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}@keyframes ring{0%{opacity:0;stroke-width:10}40%{opacity:1}to{opacity:1;stroke-width:2.5}}@keyframes fade{to{opacity:1}}@keyframes chip{0%{opacity:0;transform:translateY(8px) scale(.9)}to{opacity:1;transform:none}}.log{padding:100px 28px 28px 8px;color:#e9e3d8;display:flex;flex-direction:column;min-height:0;overflow:hidden}.scan.reviewing .log{opacity:0;pointer-events:none;transition:opacity .4s}.log h2{font-family:var(--serif);font-weight:500;font-size:34px;margin:0 0 22px;line-height:1.05}.log ol{list-style:none;padding:0;margin:0;display:grid;gap:12px;overflow:auto}.log li>span{min-width:0}.log li{font-size:13.5px;line-height:1.5;display:grid;grid-template-columns:22px 1fr;gap:6px;opacity:0;transform:translate(10px);animation:logIn .5s var(--ease) forwards}.log li:before{content:"✓";color:var(--mint);font-weight:700}.log li.wait:before{content:"";width:10px;height:10px;margin-top:5px;border:2px solid var(--brass-2);border-right-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.log li small{display:block;font-family:var(--mono);font-size:11.5px;color:#9fb0c6;margin-top:2px}.log li b{color:#fff}@keyframes logIn{to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}.meter{margin-top:auto;height:3px;background:#ffffff1a;border-radius:3px;overflow:hidden}.meter span{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--cyan),var(--brass-2));transform-origin:left;transform:scaleX(0);transition:transform .6s var(--ease)}.panel{position:absolute;z-index:20;right:24px;top:84px;bottom:24px;width:360px;display:flex;flex-direction:column;padding:22px;border-radius:var(--radius-l);background:#faf7f1db;-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow);animation:panelIn .7s var(--ease)}@keyframes panelIn{0%{opacity:0;transform:translate(24px)}}.panel h2{font-family:var(--serif);font-weight:600;font-size:28px;margin:0 0 6px;line-height:1.1}.hint{font-size:13px;color:var(--ink-2);line-height:1.6;margin:0 0 14px}.hint.small{font-size:12px;color:var(--muted)}.review{background:#0d1624d1;color:#ece6db;border-color:#ffffff14}.review .hint{color:#b8c1cf}.room-list{list-style:none;padding:0;margin:0 -6px;overflow:auto;flex:1}.room-list li{display:grid;grid-template-columns:1fr 110px 54px;gap:6px;align-items:center;padding:6px;border-radius:10px}.room-list li:hover{background:#ffffff0d}.room-list input,.room-list select{width:100%;background:transparent;color:inherit;border:1px solid transparent;border-radius:8px;padding:6px 8px;font:inherit;font-size:14px}.room-list input:hover,.room-list select:hover,.room-list input:focus,.room-list select:focus{border-color:#d9b77c80;outline:none;background:#ffffff0a}.room-list select{font-size:12px;color:#b8c1cf}.room-list select option{color:var(--ink)}.room-list .area{font-family:var(--mono);font-size:12px;text-align:right;color:var(--brass-2)}.room-list li.out .area{color:#7d8aa0}.review-actions{display:flex;gap:8px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}.review .btn.primary{background:#f3ecdf;color:var(--ink);flex:1}.review .btn.ghost{border-color:#fff3}.tabs{display:flex;gap:2px;padding:4px;background:#1b1a170f;border-radius:99px;margin-bottom:18px}.tabs button{flex:1;border:0;background:transparent;padding:8px 6px;border-radius:99px;font-size:13px;font-weight:700;color:var(--ink-2);transition:background .3s var(--ease)}.tabs button[aria-selected=true]{background:#fff;color:var(--ink);box-shadow:0 2px 8px #1b1a171a}.tab{flex:1;overflow:auto;margin:0 -4px;padding:0 4px}.style-cards{display:grid;gap:10px}.style-card{display:grid;grid-template-columns:54px 1fr;gap:14px;align-items:center;text-align:left;padding:10px;border-radius:var(--radius-m);border:1px solid var(--line);background:#ffffff8c;transition:border-color .3s,transform .3s var(--ease),box-shadow .3s}.style-card:hover{transform:translate(-3px);border-color:#b08d5799}.style-card[aria-pressed=true]{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink) inset;background:#fff}.swatch{width:54px;height:54px;border-radius:10px;display:grid;grid-template:1fr 1fr / 1fr 1fr;overflow:hidden;box-shadow:0 0 0 1px #0000000f inset}.style-card b{display:block;font-size:15px}.style-card em{font-family:var(--serif);font-size:15px;color:var(--muted)}.style-card small{display:block;font-size:11.5px;color:var(--muted);margin-top:2px}.room-jump{list-style:none;padding:0;margin:0;display:grid;gap:6px}.room-jump button{width:100%;display:flex;justify-content:space-between;align-items:center;padding:11px 14px;border-radius:12px;border:1px solid var(--line);background:#ffffff8c;font-size:14px}.room-jump button:hover{border-color:var(--brass-text)}.room-jump span{font-family:var(--mono);font-size:12px;color:var(--muted)}.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px}.seg button{padding:18px 6px;border-radius:12px;border:1px solid var(--line);background:#ffffff8c;font-weight:700;font-size:13px}.seg button[aria-pressed=true]{background:var(--ink);color:#f8f4ec;border-color:var(--ink)}.studio{transition:none}.panel-toggle{position:absolute;top:14px;right:14px;z-index:2;height:30px;min-width:30px;padding:0 10px;border-radius:99px;border:1px solid var(--line);background:#fffc;font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:6px}.panel-toggle:hover{border-color:var(--brass-text)}.panel-toggle:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.panel-toggle .pt-closed{display:none}.studio.collapsed{width:auto;bottom:auto;padding:0;background:transparent;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.studio.collapsed>:not(.panel-toggle){display:none!important}.studio.collapsed .panel-toggle{position:static;height:40px;padding:0 16px;background:#1b1a17e0;color:#f6f1e8;border-color:transparent;box-shadow:0 12px 30px -12px #00000080}.studio.collapsed .panel-toggle:before{content:"☰";font-size:15px}.studio.collapsed .pt-open{display:none}.studio.collapsed .pt-closed{display:inline}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}body.panel-min .jevbar,body.panel-min .jev-chips{transform:translate(-50%);width:min(700px,calc(100vw - 48px))}.studio-foot{display:flex;gap:8px;padding-top:14px;margin-top:10px;border-top:1px solid var(--line)}.studio-foot .btn{flex:1}.jevbar{position:absolute;z-index:25;left:50%;bottom:26px;transform:translate(calc(-50% - 192px));width:min(640px,calc(100vw - 460px));display:flex;align-items:center;gap:6px;padding:7px 7px 7px 8px;border-radius:99px;background:#1b1a17e0;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 20px 50px -18px #0009;animation:barIn .8s var(--ease)}@keyframes barIn{0%{opacity:0;transform:translate(calc(-50% - 192px),20px)}}.jev-tag{font:700 11px var(--mono);letter-spacing:.1em;color:var(--ink);background:linear-gradient(135deg,var(--brass-2),var(--brass));padding:7px 10px;border-radius:99px}.jevbar.busy .jev-tag{animation:glow 1s ease-in-out infinite}@keyframes glow{50%{box-shadow:0 0 0 6px #d9b77c40}}.jevbar input{flex:1;min-width:0;background:transparent;border:0;color:#f6f1e8;font:inherit;font-size:14.5px;padding:8px 6px;outline:none}.jevbar input::placeholder{color:#8f887c}.icon{width:38px;height:38px;border-radius:50%;border:0;display:grid;place-items:center;background:#ffffff14}.icon svg{width:18px;height:18px;fill:#f6f1e8}.icon:hover{background:#ffffff29}.icon.send{background:#f3ecdf}.icon.send svg{fill:var(--ink)}.icon.listening{background:#c0392b;animation:glow 1s infinite}.jev-chips{position:absolute;z-index:25;bottom:84px;left:50%;transform:translate(calc(-50% - 192px));display:flex;gap:6px;flex-wrap:wrap;justify-content:center;width:min(640px,calc(100vw - 460px))}.jev-chips button{font-size:12px;padding:6px 12px;border-radius:99px;border:1px solid rgba(255,255,255,.6);background:#faf7f1cc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.jev-chips button:hover{border-color:var(--brass-text)}.minimap{position:absolute;z-index:22;left:24px;top:84px;width:240px;border-radius:12px;box-shadow:var(--shadow);background:#fff;cursor:crosshair}.exit-walk{position:absolute;z-index:22;left:24px;bottom:26px}.toast{position:absolute;z-index:40;left:50%;top:84px;transform:translate(-50%,-10px);max-width:min(560px,90vw);padding:12px 18px;border-radius:14px;background:#1b1a17eb;color:#f6f1e8;font-size:13.5px;line-height:1.5;opacity:0;pointer-events:none;transition:opacity .35s,transform .5s var(--ease)}.toast.show{opacity:1;transform:translate(-50%)}.toast small{display:block;font-family:var(--mono);font-size:11px;color:var(--brass-2);margin-top:2px}.mail-dialog{width:min(760px,94vw);max-height:90vh;border:0;border-radius:var(--radius-l);padding:0;background:var(--paper);box-shadow:0 40px 120px -30px #0009}.mail-dialog::backdrop{background:#0d16248c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mail-dialog form{display:flex;flex-direction:column;max-height:90vh}.mail-dialog header{padding:24px 28px 6px}.mail-dialog h2{font-family:var(--serif);font-weight:600;font-size:30px;margin:0}.mail-meta{display:grid;grid-template-columns:56px 1fr;gap:6px 12px;margin:10px 28px;font-size:13.5px}.mail-meta dt{color:var(--muted)}.mail-meta dd{margin:0}.mail-preview{margin:8px 28px;padding:22px;background:#fff;border-radius:12px;overflow:auto;border:1px solid var(--line);font-size:14px;line-height:1.7;flex:1}.mail-preview img{max-width:100%;border-radius:8px;display:block;margin:10px 0}.mail-dialog footer{display:flex;gap:8px;justify-content:flex-end;padding:16px 28px 22px}@media(max-width:900px){body{overflow:auto}.intro{grid-template-columns:1fr;padding:96px 16px 32px;overflow:auto}.steps{grid-template-columns:1fr}.steps li+li{border-left:0;padding-left:0}.drop{min-height:300px}.scan{grid-template-columns:1fr;grid-template-rows:1fr auto}.plan-wrap{margin:80px 16px 8px}.log{padding:8px 16px 16px;max-height:34vh}.panel{inset:auto 16px 86px;width:auto;max-height:46vh}.jevbar,.jev-chips{transform:translate(-50%);width:calc(100vw - 32px)}.minimap{width:150px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.log,.review{--brass-text: #d9b77c;--muted: #b8b0a4}body[data-phase=scan] .brand-sub{color:#b8b0a4}.try-bar{position:fixed;inset:0 0 auto;z-index:60}.topbar,#stage{top:var(--try-bar-h)}.plan-wrap img{max-height:calc(100vh - 168px)}@media(max-width:900px){.jev-chips{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:2px 0}.jev-chips::-webkit-scrollbar{display:none}.jev-chips button{flex:none}.panel{bottom:132px;max-height:calc(100dvh - var(--try-bar-h) - 132px - 120px)}.studio.collapsed{inset:76px 16px auto auto}.exit-walk{bottom:132px;left:16px}}@media(max-width:600px){.mail-dialog footer{flex-wrap:wrap;padding:14px 16px 18px}.mail-dialog footer .btn{flex:1 1 40%;white-space:nowrap}.mail-dialog footer #sendBtn{flex-basis:100%}}
