:root{--paper:#F1ECE2;--paper-2:#E7DFD0;--surface:#FBFAF6;--ink:#221C15;--ink-soft:#6E6353;--ink-faint:#9A8F7E;--line:#DCD4C4;--line-soft:#E8E1D3;--terra:#AF5733;--terra-deep:#8E4527;--brass:#A98C53;--serif:"Fraunces",Georgia,serif;--sans:"Hanken Grotesk",system-ui,-apple-system,sans-serif;--r:14px;--r-sm:9px;--sh-1:0 1px 2px rgba(34,28,21,.05), 0 8px 24px rgba(34,28,21,.06);--sh-2:0 30px 70px -30px rgba(34,28,21,.35)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background-image:radial-gradient(1200px 600px at 78% -8%,#fff7ea 0%,transparent 55%),radial-gradient(900px 500px at 0% 110%,#e3d8c4 0%,transparent 50%);background-attachment:fixed}.boot{display:grid;place-items:center;height:100%;font-family:var(--serif);color:var(--ink-soft);letter-spacing:.04em}.brand{font-family:var(--serif);font-weight:600;font-size:26px;letter-spacing:.06em;line-height:1}.brand span{color:var(--terra)}.login-wrap{min-height:100%;display:grid;place-items:center;padding:32px}.login-card{width:min(420px,100%);background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:44px 40px;box-shadow:var(--sh-2);animation:rise .7s cubic-bezier(.2,.7,.2,1) both}.login-card .brand{font-size:34px;margin-bottom:22px}.login-card h1{font-family:var(--serif);font-weight:600;font-size:30px;line-height:1.05;letter-spacing:-.01em}.login-card .sub{color:var(--ink-soft);margin:8px 0 26px;font-size:15px}.inp{width:100%;padding:13px 14px;margin-bottom:11px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;font:inherit;font-size:15px;color:var(--ink);transition:border-color .2s,box-shadow .2s}.inp:focus{outline:none;border-color:var(--terra);box-shadow:0 0 0 3px #af57331f}.btn{width:100%;padding:13px 16px;border-radius:var(--r-sm);border:1px solid var(--line);background:#fff;font:inherit;font-weight:600;font-size:15px;cursor:pointer;transition:transform .12s,background .2s,border-color .2s}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn.google{background:#fff}.btn.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.btn.primary:hover{background:#000}.divider{display:flex;align-items:center;gap:12px;color:var(--ink-faint);font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin:16px 0}.divider:before,.divider:after{content:"";height:1px;background:var(--line);flex:1}.link{background:none;border:none;color:var(--terra);font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;margin-top:12px;padding:4px}.link:hover{color:var(--terra-deep);text-decoration:underline}.warn{background:#fbf3e7;border:1px solid #ecdcc0;color:#7a5a25;font-size:13px;border-radius:var(--r-sm);padding:10px 12px;margin-bottom:18px}.warn code{font-family:ui-monospace,monospace}.err{color:#9b2c1d;font-size:13.5px;margin-top:10px}.sent{text-align:center;padding:8px 0;animation:fade .4s both}.sent-icon{width:56px;height:56px;margin:4px auto 14px;border-radius:50%;display:grid;place-items:center;font-size:24px;color:#fff;background:linear-gradient(180deg,var(--terra),var(--terra-deep))}.sent p{color:var(--ink-soft);font-size:14.5px;line-height:1.5;margin-bottom:6px}.sent strong{color:var(--ink)}.sent-hint{font-size:12.5px;color:var(--ink-faint)}.app{min-height:100%;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:24px;padding:18px 36px;background:#fbfaf6b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.crumbs{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-soft);flex:1}.crumbs i{color:var(--ink-faint);font-style:normal}.crumbs b{color:var(--ink);font-weight:600}.acct{display:flex;flex-direction:column;align-items:flex-end;gap:1px;background:none;border:none;cursor:pointer;font:inherit;line-height:1.2}.acct-name{font-size:12.5px;color:var(--ink-soft)}.acct-sair{font-size:12px;font-weight:700;color:var(--terra);letter-spacing:.04em}.acct:hover .acct-sair{color:var(--terra-deep)}.layout{flex:1;display:grid;grid-template-columns:1.55fr .95fr;gap:0;min-height:0}@media(max-width:900px){.layout{grid-template-columns:1fr}}.stage-col{padding:40px;display:flex;animation:fade .8s both}.stage{position:relative;flex:1;border-radius:22px;border:1px solid var(--line-soft);display:grid;place-items:center;overflow:hidden;min-height:460px;background:radial-gradient(120% 90% at 50% 18%,#fffdf8,#efe8da 60%,#e1d6c2);box-shadow:inset 0 1px #fff,var(--sh-1)}.stage:after{content:"";position:absolute;inset:auto 0 0 0;height:38%;background:linear-gradient(to top,rgba(120,98,70,.1),transparent)}.stage svg{width:min(78%,560px);height:auto;position:relative;z-index:1;filter:drop-shadow(0 36px 30px rgba(60,44,28,.22));animation:rise .7s cubic-bezier(.2,.7,.2,1) both}.ai-render{max-width:88%;max-height:88%;border-radius:14px;position:relative;z-index:1;box-shadow:var(--sh-2);animation:fade .6s both}.chair-photo{max-height:90%;max-width:82%;border-radius:16px;position:relative;z-index:1;object-fit:contain;box-shadow:var(--sh-2);animation:rise .7s cubic-bezier(.2,.7,.2,1) both;transition:filter .35s ease,transform .35s ease,opacity .35s ease}.stage.resolving .chair-photo{filter:blur(18px) saturate(.9);transform:scale(1.04);opacity:.9}.stage-tag{position:absolute;top:16px;left:16px;z-index:2;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);background:#ffffffb3;border:1px solid var(--line);padding:6px 12px;border-radius:999px}.stage.loading svg{opacity:.35;filter:grayscale(.4) blur(1px)}.stage-loader{position:absolute;z-index:3;display:flex;gap:8px}.stage-loader span{width:11px;height:11px;border-radius:50%;background:var(--terra);animation:bounce 1s infinite ease-in-out}.stage-loader span:nth-child(2){animation-delay:.15s;background:var(--brass)}.stage-loader span:nth-child(3){animation-delay:.3s;background:var(--ink)}.panel{background:var(--surface);border-left:1px solid var(--line);padding:40px 38px;overflow:auto;display:flex;flex-direction:column;gap:26px;animation:slide .8s both}.panel-head .eyebrow{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--terra);font-weight:700}.panel-head h1{font-family:var(--serif);font-weight:600;font-size:38px;line-height:1;letter-spacing:-.02em;margin:10px 0 8px}.panel-head .lede{color:var(--ink-soft);font-size:14.5px;line-height:1.5;max-width:42ch}.picker-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--line-soft)}.picker-head h3{font-family:var(--serif);font-weight:600;font-size:18px;letter-spacing:.01em}.picker-sel{font-size:13px;color:var(--ink-soft)}.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:10px}.swatch{position:relative;aspect-ratio:1;border-radius:10px;border:1px solid rgba(0,0,0,.12);background-size:cover;background-position:center;cursor:pointer;padding:0;box-shadow:inset 0 0 0 1px #ffffff2e;transition:transform .14s,box-shadow .2s}.swatch:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 6px 16px #221c152e}.swatch.active{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--terra)}.swatch.active:after{content:"";position:absolute;right:5px;bottom:5px;width:14px;height:14px;border-radius:50%;background:var(--terra) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='4' stroke-linecap='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/10px no-repeat;box-shadow:0 1px 3px #0000004d}.swatch-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.spec{border:1px solid var(--line-soft);border-radius:var(--r);overflow:hidden;background:#fff}.spec-row{display:flex;align-items:center;justify-content:space-between;padding:12px 16px}.spec-row+.spec-row{border-top:1px solid var(--line-soft)}.spec-k{font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint)}.spec-v{display:flex;align-items:center;gap:9px;font-weight:600;font-size:14.5px}.spec-v i{width:16px;height:16px;border-radius:5px;border:1px solid rgba(0,0,0,.15);display:inline-block}.cta{margin-top:2px;padding:16px;border:none;border-radius:var(--r-sm);cursor:pointer;font:inherit;font-weight:700;font-size:15.5px;letter-spacing:.02em;color:#fff;background:linear-gradient(180deg,var(--terra),var(--terra-deep));box-shadow:0 10px 24px -10px #8e4527b3;transition:transform .12s,box-shadow .2s,filter .2s}.cta:hover{transform:translateY(-1px);filter:brightness(1.05)}.cta:disabled{opacity:.7;cursor:wait;transform:none}.hint{font-size:12.5px;color:var(--ink-faint);line-height:1.5}.done{padding:14px 16px;border-radius:var(--r-sm);background:#eef3ea;border:1px solid #d4e2cc;color:#4a6a3c;font-weight:600;font-size:14px;text-align:center}.status{font-size:13px;color:var(--ink-soft);line-height:1.5;padding:12px 14px;border:1px dashed var(--line);border-radius:var(--r-sm);background:#fff}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slide{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:none}}@keyframes bounce{0%,80%,to{transform:scale(.5);opacity:.5}40%{transform:scale(1);opacity:1}}
