:root{--bg:#101828;--bg-deep:#0b1220;--panel:#162033;--panel-2:#1b263b;--line:#2a3550;--line-soft:#222c43;--ink:#f5efe3;--ink-2:#d4d0c8;--muted:#9aa3b5;--faint:#6b7489;--accent:#f25c2a;--accent-text:#ff8a5c;--accent-deep:#d9461a;--cream:#f3ead7;--gold:#f2b84b;--ember:#ff7448;--good:#5fe0b9;--warn:#ffb547;--bad:#ff7448;--radius:18px;--radius-sm:10px;--font:"Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--serif:"Instrument Serif", Georgia, serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:16px/1.5 var(--font);color:var(--ink);background:var(--bg);-webkit-text-size-adjust:100%}*{box-sizing:border-box}html,body{background:var(--bg);margin:0}body{min-height:100dvh}h1,h2,h3,p{margin:0}h1,h2{letter-spacing:-.045em;line-height:1.05}button,input{font:inherit;color:inherit}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--cream);outline-offset:2px}.serif{font-family:var(--serif);color:var(--accent-text);letter-spacing:-.02em;font-style:italic;font-weight:400}.eyebrow{color:#f25c2a;letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;font-weight:800}.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center}.error{color:#ff7a8a}.warn-text{color:var(--warn)}.notice{color:#ffd79a;border-radius:var(--radius-sm);background:#ffb5471a;border:1px solid #ffb5474d;padding:12px 14px;font-size:.88rem}.brand{align-items:center;gap:9px;display:flex}.brand-mark{flex:none}.brand-link{color:inherit;border-radius:8px;text-decoration:none}.brand b{letter-spacing:-.03em;color:var(--cream);font-size:1.15rem;font-weight:800}.brand b span{color:var(--accent)}.btn{border-radius:var(--radius-sm);cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 20px;font-weight:800;transition:transform .1s,opacity .2s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.98)}.btn:disabled{opacity:.45;cursor:default}.btn svg{width:17px;height:17px}.btn-primary{background:linear-gradient(135deg, var(--accent-deep), #ff7a45);color:#1a0f08;box-shadow:0 10px 34px #f25c2a33}.btn-ghost{background:var(--panel-2);border:1px solid #2c3854}.btn-block{width:100%}.btn-small{min-height:40px;padding:0 14px;font-size:.85rem}.link-btn{color:#ff8a5c;cursor:pointer;background:0 0;border:0;padding:4px;font-weight:700}.field{color:#cfd3dc;gap:9px;font-size:.82rem;font-weight:700;display:grid}.field input,.field select{color:#fff;border-radius:var(--radius-sm);background:#141d2f;border:1px solid #33405c;width:100%;height:52px;padding:0 16px;font-size:1rem;font-weight:500}.field input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #f25c2a2e}.field .hint{color:var(--faint);font-size:.78rem;font-weight:500}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:20px}.auth{background:#0e1626;grid-template-rows:auto 1fr;min-height:100dvh;display:grid}.auth-art{min-height:34dvh;padding:max(20px, env(safe-area-inset-top)) 22px 26px;flex-direction:column;justify-content:space-between;display:flex;position:relative;overflow:hidden}.auth-art>img{object-fit:cover;object-position:center 42%;filter:saturate(.85)contrast(1.06);width:100%;height:100%;position:absolute;inset:0}.art-wash{background:linear-gradient(#0e162673,#0e162633 40%,#0e1626);position:absolute;inset:0}.auth-art .brand,.auth-quote{position:relative}.auth-quote>span{letter-spacing:.19em;color:var(--cream);font-size:.7rem;font-weight:800}.auth-quote h1{letter-spacing:-.055em;margin:12px 0 0;font-size:clamp(2.3rem,10vw,3rem);line-height:.9}.auth-quote p{display:none}.auth-panel{padding:26px 22px max(28px, env(safe-area-inset-bottom));background:radial-gradient(circle at 80% 0,#f25c2a1f,#0000 40%),#101828;align-content:start;justify-items:center;display:grid;position:relative}.auth-form{gap:18px;width:min(100%,440px);display:grid}.auth-form h2{margin-top:10px;font-size:2.1rem}.auth-form>header>.muted{margin-top:8px}.auth-switch{text-align:center;color:#8d96a8;font-size:.88rem}.auth-legal{color:#5f6880;margin-top:26px;font-size:.7rem}@media (width>=820px) and (height>=600px){.auth{grid-template-rows:none;grid-template-columns:minmax(0,1.45fr) minmax(400px,.75fr)}.auth-art{min-height:100dvh;padding:38px 42px 7%}.auth-art>img{object-position:center 64%}.art-wash{background:linear-gradient(90deg,#070c160d,#070c161a 45%,#070c16d9),linear-gradient(#0000 45%,#070c1699 65%,#070c16f2)}.auth-quote{max-width:620px;margin-left:4%}.auth-quote h1{margin:20px 0 24px;font-size:clamp(3.7rem,6vw,6.5rem)}.auth-quote p{color:#d6d2dd;max-width:420px;font-size:1.12rem;line-height:1.6;display:block}.auth-panel{border-left:1px solid #26232f;align-content:center;padding:80px 11%}.auth-form h2{font-size:2.75rem}.auth-legal{margin:0;position:absolute;bottom:22px}}.camera{color:#fff;touch-action:manipulation;background:#000;position:fixed;inset:0;overflow:hidden}.camera-video,.camera-overlay{width:100%;height:100%;position:absolute;inset:0}.camera-video{object-fit:cover}.camera-overlay{pointer-events:none}.camera-top{padding:max(12px, env(safe-area-inset-top)) 12px 28px;background:linear-gradient(#0b1220bf,#0000);justify-content:space-between;align-items:center;gap:8px;display:flex;position:absolute;top:0;left:0;right:0}.camera-top-actions{gap:8px;display:flex}.chip{-webkit-backdrop-filter:blur(12px);color:#fff;cursor:pointer;background:#1018288c;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:7px;min-height:38px;padding:0 13px;font-size:.82rem;font-weight:700;display:inline-flex}.chip svg{width:16px;height:16px}.chip:disabled{opacity:.45}.chip-on{border-color:var(--accent);color:#1a0f08;background:#f25c2ad9}.profile-chip{max-width:52vw;padding-left:4px}.account{position:relative}.menu-dismiss{z-index:29;position:fixed;inset:0}.account-menu{z-index:30;border:1px solid var(--line);background:#162033f7;border-radius:14px;min-width:220px;padding:6px;display:grid;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 18px 50px #00000080}.account-menu button{min-height:44px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:0 12px;font-weight:600;display:flex}.account-menu button:hover{background:var(--panel-2)}.account-menu svg{width:17px;height:17px;color:var(--muted)}.center-page{place-content:center;justify-items:center;min-height:100dvh}.profile-chip>span:first-child{letter-spacing:.04em;background:linear-gradient(140deg,#9c75ff,#34245f);border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:.66rem;font-weight:800;display:grid}.profile-chip>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.camera-status{left:50%;top:calc(max(12px, env(safe-area-inset-top)) + 58px);text-align:center;-webkit-backdrop-filter:blur(12px);background:#101828b3;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 32px);padding:9px 16px;font-size:.9rem;font-weight:700;display:flex;position:absolute;transform:translate(-50%)}.camera-status i{background:#fff;border-radius:50%;flex:none;width:8px;height:8px}.camera-status.tone-good i{background:var(--good);box-shadow:0 0 12px var(--good)}.camera-status.tone-warn i{background:var(--warn);box-shadow:0 0 12px var(--warn)}.camera-status.tone-good{border-color:#5fe0b973}.camera-status.tone-warn{color:#ffe2b5;border-color:#ffb54780}.camera-message{text-align:center;border:1px solid var(--line);background:#101828d9;border-radius:16px;justify-items:center;gap:16px;padding:22px;display:grid;position:absolute;top:50%;left:16px;right:16px;transform:translateY(-50%)}.camera-message-small{top:auto;bottom:calc(max(16px, env(safe-area-inset-bottom)) + 120px);padding:12px;font-size:.88rem;transform:none}.camera-bottom{padding:34px 24px max(26px, env(safe-area-inset-bottom));background:linear-gradient(#0000,#0b1220cc);grid-template-columns:1fr auto 1fr;place-items:center;display:grid;position:absolute;bottom:0;left:0;right:0}.round-btn{-webkit-backdrop-filter:blur(12px);color:#fff;cursor:pointer;background:#1018288c;border:1px solid #ffffff29;border-radius:50%;place-items:center;width:52px;height:52px;display:grid}.round-btn svg{width:22px;height:22px}.round-btn-spacer{width:52px}.tool-btn{color:#fff;cursor:pointer;background:0 0;border:0;justify-items:center;gap:6px;padding:0;font-size:.74rem;font-weight:700;display:grid}.drop-zone{z-index:20;border:2px dashed var(--accent);-webkit-backdrop-filter:blur(6px);pointer-events:none;background:#101828d1;border-radius:22px;place-content:center;justify-items:center;gap:12px;font-size:1.1rem;font-weight:800;display:grid;position:absolute;inset:14px}.drop-zone svg{width:44px;height:44px;color:var(--accent-text)}.shutter{cursor:pointer;background:#ffffff2e;border:4px solid #ffffffe6;border-radius:50%;width:80px;height:80px;transition:transform .1s,background .2s,box-shadow .2s;box-shadow:inset 0 0 0 4px #00000059}.shutter-ready{background:radial-gradient(circle,#fff 55%,#fdf3e3);box-shadow:inset 0 0 0 4px #00000059,0 0 0 6px #f25c2a59,0 0 34px #f25c2a8c}.shutter:active{transform:scale(.92)}.shutter:disabled{opacity:.45}.debug-panel{left:12px;top:calc(max(12px, env(safe-area-inset-top)) + 108px);border:1px solid var(--line);background:#0b1220c7;border-radius:12px;justify-items:start;gap:6px;padding:10px 12px;font:600 .72rem/1.4 ui-monospace,Menlo,monospace;display:grid;position:absolute}.review{max-width:1100px;padding:0 16px calc(104px + env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr);gap:18px;margin:0 auto;display:grid}.review-head{z-index:5;padding:max(12px, env(safe-area-inset-top)) 16px 14px;-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--line-soft);background:#101828d9;align-items:center;gap:14px;margin:0 -16px;display:flex;position:sticky;top:0}.review-head h1{font-size:1.6rem}.review-head .eyebrow{font-size:.64rem}.back-btn{background:var(--panel-2);cursor:pointer;border:1px solid #2c3854;border-radius:12px;flex:none;place-items:center;width:42px;height:42px;display:grid}.back-btn svg{width:19px;height:19px}.review-photo-wrap{--max-h:56dvh;justify-items:center;display:grid}.review-photo{width:100%;max-width:calc(var(--max-h) * var(--ratio));aspect-ratio:var(--ratio);border-radius:var(--radius);background:#000;border:1px solid #35313f;display:block;overflow:hidden}@media (width>=900px){.review{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;column-gap:32px}.review>*{grid-column:2}.review>.review-head{grid-column:1/-1}.review>.review-photo-wrap{--max-h:calc(100dvh - 140px);grid-area:2/1/span 20;position:sticky;top:92px}.review .card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.quad{fill:none;stroke-width:3px;vector-effect:non-scaling-stroke}.quad-pending{stroke:#fff;stroke-dasharray:8 6;animation:1.2s ease-in-out infinite pulse}.quad-group{cursor:pointer}.quad-group.tone-good{--tone:var(--good)}.quad-group.tone-warn{--tone:var(--warn)}.quad-group.tone-bad{--tone:var(--bad)}.quad-group .quad{stroke:var(--tone);fill:color-mix(in srgb, var(--tone) 14%, transparent)}.quad-group circle{fill:var(--tone)}.quad-group text{fill:#101828;font-weight:800;font-family:var(--font)}@keyframes pulse{50%{opacity:.35}}.review-status{color:var(--muted);text-align:center;justify-content:center;align-items:center;gap:10px;padding:6px 0;display:flex}.review-status .spinner{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;flex:none;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.review-error{gap:14px;display:grid}.section-head{justify-content:space-between;align-items:end;gap:12px;margin-top:8px;display:flex}.section-head h2{letter-spacing:-.03em;margin-top:6px;font-size:1.3rem}.tally{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.tally span{color:var(--muted);border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:4px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.tally i{border-radius:50%;width:7px;height:7px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}@media (width>=600px){.card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width>=900px){.card-grid{gap:16px}}.card-tile{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#14141b;border:1px solid #2b2933;border-radius:12px;padding:0;transition:transform .25s,border-color .25s;overflow:hidden}.card-tile:hover{border-color:#7960b7;transform:translateY(-4px)}.card-tile.tone-good{border-color:#5fe0b959}.card-tile.tone-warn{border-color:#ffb54773}.card-tile.tone-bad{border-color:#ff744880}.tile-image{aspect-ratio:63/88;background:#1b1a22;position:relative;overflow:hidden}.tile-image:after{content:"";background:linear-gradient(#0000 60%,#0b1220b3);position:absolute;inset:0}.tile-image img{object-fit:cover;width:100%;height:100%;display:block}.tile-num{z-index:2;color:#241a3b;background:#f0e8ff;border:2px solid #9375cf;border-radius:50%;place-items:center;width:28px;height:28px;font-size:.78rem;font-weight:900;display:grid;position:absolute;top:8px;left:8px}.tile-badge{z-index:2;background:#0a101ed9;border:1px solid;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:.68rem;font-weight:800;display:inline-flex;position:absolute;bottom:7px;right:7px}.tile-badge svg{width:12px;height:12px}.tile-badge.tone-good{color:var(--good);border-color:#5fe0b980}.tile-badge.tone-warn{color:var(--warn);border-color:#ffb5478c}.tile-badge.tone-bad{color:var(--bad);border-color:#ff744899}.tile-meta{gap:4px;padding:11px 12px 13px;display:grid}.tile-meta>span{color:#9f7ee7;text-transform:uppercase;letter-spacing:.12em;white-space:nowrap;text-overflow:ellipsis;font-size:.6rem;font-weight:800;overflow:hidden}.tile-meta>strong{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;overflow:hidden}.review-foot{z-index:6;padding:12px 16px max(12px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);border-top:1px solid var(--line);background:#101828e6;justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed;bottom:0;left:0;right:0}.review-foot strong{color:var(--good)}@media (width>=1132px){.review-foot{border:1px solid var(--line);border-bottom:0;border-radius:14px 14px 0 0;width:1100px;left:50%;right:auto;transform:translate(-50%)}}.sheet-backdrop{z-index:10;background:#060a14a6;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--panel);border:1px solid var(--line);width:100%;max-width:560px;max-height:90dvh;padding:8px 18px max(22px, env(safe-area-inset-bottom));border-bottom:0;border-radius:22px 22px 0 0;gap:18px;animation:.22s ease-out slide-up;display:grid;overflow-y:auto}.sheet-handle{background:#34323d;border-radius:3px;width:40px;height:5px;margin:4px auto 0}.sheet-head{grid-template-columns:104px 1fr;align-items:start;gap:16px;display:grid}.sheet-head>div{gap:6px;display:grid}.sheet-head h2{font-size:1.7rem}.sheet-thumb{aspect-ratio:63/88;object-fit:cover;border:2px solid #7357ab;border-radius:10px;width:104px;display:block;box-shadow:0 16px 40px #6a41bd40}.options{border:0;gap:8px;margin:0;padding:0;display:grid}.options legend{margin-bottom:10px}.option{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:12px;min-height:54px;padding:8px 14px;display:flex}.option>span{display:grid}.option-on{border-color:var(--accent);background:linear-gradient(90deg,#f25c2a29,#f25c2a08)}.option input{accent-color:var(--accent);flex:none;width:18px;height:18px}.sheet-form{border-top:1px solid var(--line-soft);gap:12px;padding-top:16px;display:grid}@keyframes slide-up{0%{opacity:0;transform:translateY(40px)}}.dialog-backdrop{z-index:20;background:#060a14b8;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);text-align:center;gap:12px;width:100%;max-width:380px;padding:24px 20px 20px;animation:.22s ease-out slide-up;display:grid}.dialog h2{font-size:1.5rem}.dialog p{color:var(--muted);margin:0 0 8px}.spinner{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;flex:none;width:16px;height:16px;animation:.8s linear infinite spin}.spin-page{max-width:560px}.spin-intro{gap:18px;padding-top:6px;display:grid}.spin-check{border-radius:var(--radius-sm);background:var(--panel);border:1px solid var(--line);cursor:pointer;align-items:flex-start;gap:12px;padding:14px;font-size:.92rem;font-weight:700;display:flex}.spin-check input{accent-color:var(--accent);flex:none;width:18px;height:18px;margin:2px 0 0}.spin-check span{gap:2px;display:grid}.spin-check small{font-size:.8rem;font-weight:500}.spin-guide{pointer-events:none;border:2px solid #ffffffd9;border-radius:14px;transition:border-color .2s;position:absolute;box-shadow:0 0 0 100vmax #0b122073}.spin-guide-warn{border-color:var(--warn)}.spin-guide-ok{border-color:var(--good);box-shadow:0 0 0 100vmax #0b122073,0 0 26px #5fe0b973}.spin-tip{text-align:center;color:#ffffffbf;pointer-events:none;margin:0;font-size:.78rem;font-weight:700;position:absolute;left:16px;right:16px}.spin-flash{pointer-events:none;background:#fff;animation:.35s ease-out forwards spin-flash;position:absolute;inset:0}@keyframes spin-flash{0%{opacity:.85}to{opacity:0}}.spin-shutter{background:conic-gradient(var(--good) calc(var(--p,0) * 360deg), #ffffff2e 0)}.spin-shutter.shutter-ready{background:conic-gradient(var(--good) calc(var(--p,0) * 360deg), #fff 0)}.spin-side{color:#fffc;text-align:center;font-size:.74rem;font-weight:800}.spin-review{grid-template-columns:1fr 1fr;gap:12px;display:grid}.spin-review figure{gap:8px;margin:0;display:grid}.spin-review img{aspect-ratio:63/88;object-fit:cover;border:1px solid var(--line);background:var(--panel);border-radius:12px;width:100%}.spin-review figcaption{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2px 8px;font-size:.85rem;font-weight:800;display:flex}.spin-review .link-btn{align-items:center;gap:5px;font-size:.82rem;display:inline-flex}.spin-review .link-btn svg{width:14px;height:14px}.mode-switch{-webkit-backdrop-filter:blur(12px);background:#1018288c;border:1px solid #ffffff29;border-radius:999px;padding:3px;display:flex}.mode-switch button{color:#ffffffbf;cursor:pointer;background:0 0;border:0;border-radius:999px;min-height:32px;padding:0 14px;font-size:.82rem;font-weight:800}.mode-switch button.on{color:#101828;background:#fff}.sweep-grid{left:50%;bottom:calc(max(16px, env(safe-area-inset-bottom)) + 96px);-webkit-backdrop-filter:blur(12px);pointer-events:none;background:#10182899;border-radius:14px;grid-template-columns:repeat(3,1fr);gap:4px;width:132px;height:132px;padding:4px;display:grid;position:absolute;transform:translate(-50%)}.sweep-grid span{border:1px solid #ffffff40;border-radius:8px;transition:background .2s,border-color .2s}.sweep-grid span.on{border-color:var(--good);background:#5fe0b98c}.sweep-grid i{background:#fff;border-radius:50%;width:16px;height:16px;margin:-8px 0 0 -8px;transition:left .12s linear,top .12s linear;position:absolute;box-shadow:0 0 0 3px #00000059}.sweep-hint{left:16px;right:16px;bottom:calc(max(16px, env(safe-area-inset-bottom)) + 72px);text-align:center;color:#ffffffb3;pointer-events:none;margin:0;font-size:.75rem;font-weight:700;position:absolute}.sweep-actions{justify-content:center;gap:12px}.sweep-actions .btn{min-width:120px}.spin-extra-off{color:var(--muted,#a7aebd)}.spin-extra{color:var(--good);align-items:center;gap:6px;margin:0;font-size:.78rem;font-weight:700;display:flex}.spin-extra svg{width:14px;height:14px}.spin-soft{color:var(--warn);margin:0;font-size:.78rem;font-weight:700}.spin-size{border:0;gap:8px;margin:0;padding:0;display:grid}.spin-size legend{color:#cfd3dc;margin-bottom:8px;font-size:.82rem;font-weight:700}.spin-size label{border-radius:var(--radius-sm);background:var(--panel);border:1px solid var(--line);cursor:pointer;grid-template-columns:auto 1fr;align-items:center;column-gap:12px;padding:10px 14px;font-size:.9rem;font-weight:700;display:grid}.spin-size label.on{border-color:var(--accent);background:linear-gradient(90deg,#f25c2a29,#f25c2a0a)}.spin-size input{accent-color:var(--accent);grid-row:span 2;width:18px;height:18px;margin:0}.spin-size span small{color:var(--muted);margin-left:4px;font-weight:500}.spin-size label>small{font-size:.78rem;font-weight:500}.spin-size:disabled{opacity:.6}.spin-done-thumb{border:1px solid var(--line);border-radius:14px;justify-self:center;width:min(220px,60vw);overflow:hidden}.spin-done-thumb img{width:100%;display:block}.spin-link{width:100%;height:48px;color:var(--ink-2);border-radius:var(--radius-sm);background:#141d2f;border:1px solid #33405c;padding:0 14px;font-size:.9rem}.spin-actions{flex-wrap:wrap;gap:10px;display:flex}.spin-actions .btn{flex:auto;text-decoration:none}.spin-view{max-width:560px;padding:max(14px, env(safe-area-inset-top)) 16px calc(28px + env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr);gap:16px;margin:0 auto;display:grid}.spin-view.center-page{gap:18px;display:grid}.spin-view-head{justify-content:space-between;align-items:center;display:flex}.spin-scene{border:1px solid var(--line-soft);cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;background:#0b1220;border-radius:18px;justify-self:center;width:100%;height:min(62svh,1.33333*min(100vw - 32px,528px));position:relative;overflow:hidden}.spin-scene:active{cursor:grabbing}.spin-scene-zoomed{cursor:zoom-out}.spin-scene canvas{display:block}.spin-loading{background:#0b12208c;justify-content:center;align-items:center;gap:10px;font-size:.9rem;font-weight:700;display:flex;position:absolute;inset:0}.spin-hint{color:var(--muted);text-align:center;justify-content:center;align-items:center;gap:6px;margin-top:-6px;font-size:.8rem;font-weight:700;display:flex}.spin-hint svg{width:14px;height:14px}.spin-controls{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.spin-btn-on{border-color:var(--accent);background:#f25c2a2e}.spin-info{gap:12px;display:grid}.spin-info h1{font-size:1.7rem}.spin-proof{background:#5fe0b912;border:1px solid #5fe0b940;border-radius:12px;gap:12px;padding:14px;display:flex}.spin-proof>svg{width:22px;height:22px;color:var(--good);flex:none}.spin-proof p{margin-top:4px}.spin-info .btn{text-decoration:none}.scan-panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;gap:10px;padding:14px;display:grid}.scan-panel .review-status{justify-content:flex-start}.scan-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.scan-tags{flex-wrap:wrap;gap:6px;margin:0;display:flex}.scan-tags span{background:var(--panel-2);border:1px solid var(--line);color:var(--ink-2);border-radius:999px;padding:3px 9px;font-size:.72rem;font-weight:800}.scan-options{gap:8px;margin:0;padding:0;list-style:none;display:grid}.scan-options button{background:var(--bg-deep);border:1px solid var(--line);text-align:left;cursor:pointer;border-radius:12px;width:100%;padding:8px}.scan-options button.on{border-color:var(--accent);background:linear-gradient(90deg,#f25c2a29,#f25c2a0a)}.scan-none{min-height:44px;color:var(--muted);font-size:.85rem;font-weight:700}.scan-panel>.link-btn{justify-self:start}.card-row{grid-template-columns:54px 1fr;align-items:center;gap:12px;display:grid}.card-row img{aspect-ratio:63/88;object-fit:cover;background:var(--panel-2);border-radius:5px;width:54px}.card-row>span{gap:2px;min-width:0;display:grid}.card-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;overflow:hidden}.card-row small{color:var(--muted);font-size:.78rem}.card-row .card-price{color:var(--good);font-weight:700}.spin-facts{gap:6px;display:grid}.dashboard{max-width:1100px;padding:0 16px max(32px, env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr);align-content:start;gap:22px;margin:0 auto;display:grid}.dashboard-head{z-index:5;padding:max(12px, env(safe-area-inset-top)) 16px 12px;-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--line-soft);background:#101828d9;justify-content:space-between;align-items:center;gap:12px;margin:0 -16px;display:flex;position:sticky;top:0}.dashboard-head .account-menu{left:auto;right:0}.dashboard-head .account{min-width:0}.dashboard-head .profile-chip{max-width:100%}.dashboard-title{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.dashboard-title h1{margin-top:6px;font-size:2rem}.dashboard-section{gap:12px;display:grid}.dashboard-section h2{letter-spacing:-.02em;font-size:1.15rem}.dashboard-empty{border:1px dashed var(--line);border-radius:var(--radius);background:var(--panel);justify-items:start;gap:10px;padding:24px;display:grid}.dashboard-empty .btn{margin-top:6px}.spin-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:14px;display:grid}.spin-tile{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);grid-template-rows:auto 1fr auto;display:grid;overflow:hidden}.spin-tile-photo{background:var(--bg-deep);border-bottom:1px solid var(--line-soft);justify-content:center;height:230px;padding:14px;display:flex}.spin-tile-photo img{object-fit:contain;border-radius:8px;max-width:100%;height:100%;display:block}.spin-tile-body{align-content:start;gap:6px;padding:14px 14px 10px;display:grid}.spin-tile-body h3{overflow-wrap:anywhere;font-size:1rem;line-height:1.25}.spin-tags{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.tag{background:var(--panel-2);border:1px solid var(--line);min-height:24px;color:var(--ink-2);border-radius:999px;align-items:center;padding:0 9px;font-size:.74rem;font-weight:700;display:inline-flex}.tag-warn{color:var(--warn);background:#ffb54714;border-color:#ffb54766}.spin-tile-actions{flex-wrap:wrap;gap:8px;padding:0 14px 14px;display:flex}.spin-tile-actions .chip{background:var(--panel-2);border-color:var(--line);padding:0 11px;text-decoration:none}.spin-tile-actions .chip:first-child{flex:auto;justify-content:center}.chip-danger:hover{color:var(--bad);border-color:#ff744880}.btn-danger{color:#fff;background:#c4452a}.good{color:var(--good)}.profile-form{gap:18px;display:grid}@media (width>=900px){.review.profile-page{grid-template-columns:minmax(0,1fr)}.review.profile-page>*{grid-column:1}}.corner-editor{z-index:40;background:#070c16;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:fixed;inset:0}.corner-editor-head{padding:max(12px, env(safe-area-inset-top)) 16px 12px;border-bottom:1px solid var(--line-soft);align-items:center;gap:14px;display:flex}.corner-editor-head h2{letter-spacing:-.02em;font-size:1.3rem}.corner-stage{touch-action:none;-webkit-user-select:none;user-select:none;margin:12px;position:relative;overflow:hidden}.corner-stage>img{pointer-events:none;max-width:none;display:block;position:absolute}.corner-outline{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.corner-outline polygon{fill:#f3ead714;stroke:var(--cream);stroke-width:2px;vector-effect:non-scaling-stroke}.corner-handle{cursor:grab;touch-action:none;background:0 0;border:0;border-radius:50%;width:44px;height:44px;margin:-22px 0 0 -22px;padding:0;position:absolute}.corner-handle:after{content:"";background:var(--cream);box-shadow:0 0 0 2px var(--cream);border:3px solid #070c16;border-radius:50%;position:absolute;inset:12px}.corner-handle.active{cursor:grabbing}.corner-handle.active:after{inset:8px}.corner-loupe{border:3px solid var(--cream);pointer-events:none;background-color:#000;background-repeat:no-repeat;border-radius:50%;width:120px;height:120px;position:absolute;box-shadow:0 10px 30px #0009}.corner-loupe:before,.corner-loupe:after{content:"";background:#f3ead7e6;position:absolute}.corner-loupe:before{width:1px;top:35%;bottom:35%;left:50%}.corner-loupe:after{height:1px;top:50%;left:35%;right:35%}.corner-editor-foot{padding:12px 16px max(14px, env(safe-area-inset-bottom));border-top:1px solid var(--line-soft);flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.corner-editor-foot .btn{flex:140px;max-width:260px}.corner-editor-error{flex:1 0 100%;margin:0}.camera-top .chip{white-space:nowrap}@media (width<=379px){.wide-only{display:none}}.check-field{color:#cfd3dc;align-items:flex-start;gap:10px;font-size:.85rem;line-height:1.45;display:flex}.check-field input{width:20px;height:20px;accent-color:var(--accent);flex:none;margin:1px 0 0}.check-note{color:var(--faint);margin-top:4px;font-size:.78rem;display:block}.check-field a,.auth-legal a{color:#ff8a5c}.profile-danger{border-top:1px solid var(--line-soft);gap:12px;margin-top:36px;padding-top:22px;display:grid}.profile-danger h2{letter-spacing:-.02em;color:#ff7a8a;font-size:1.1rem}.profile-danger-open{color:#ff7a8a}.legal-page{max-width:720px;padding:max(14px, env(safe-area-inset-top)) 16px calc(28px + env(safe-area-inset-bottom));margin:0 auto}.legal-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;padding-bottom:14px;display:flex}.legal-head>a{color:inherit;text-decoration:none}.legal-nav{gap:16px;display:flex}.legal-nav a{color:var(--muted);font-size:.9rem;font-weight:700;text-decoration:none}.legal-nav a[aria-current=page]{color:#fff}.legal-body{color:#d6d3dc;gap:14px;padding:28px 0;line-height:1.6;display:grid}.legal-body h1{color:#fff;margin-bottom:4px;font-size:2rem}.legal-body h2{letter-spacing:-.02em;color:#fff;margin-top:14px;font-size:1.15rem}.legal-body ul{gap:8px;margin:0;padding-left:20px;display:grid}.legal-body a,.legal-footer a{color:#ff8a5c}.legal-footer{text-align:center;color:var(--faint);border-top:1px solid var(--line-soft);justify-items:center;gap:8px;padding-top:18px;display:grid}.legal-footer nav{gap:18px;display:flex}.verify-page{min-height:100dvh;padding-top:max(26px, env(safe-area-inset-top));gap:28px}.verify-email{color:#fff;word-break:break-all}.field input.code-input{letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums;height:60px;font-size:1.8rem;font-weight:700}.link-btn:disabled{color:var(--faint);cursor:default}.auth-back{color:var(--muted);justify-self:start;align-items:center;gap:6px;padding:4px 0;display:inline-flex}.auth-back svg{width:18px;height:18px}.landing{min-height:100dvh;padding:max(14px, env(safe-area-inset-top)) 16px calc(28px + env(safe-area-inset-bottom));background:radial-gradient(90% 60% at 50% 55%,#f25c2a38,#0000 70%),radial-gradient(circle at 88% 8%,#f3ead71a,#0000 35%),#0b1220;align-content:start;gap:48px;display:grid;overflow-x:hidden}.landing-head{justify-content:space-between;justify-self:center;align-items:center;width:min(100%,1180px);display:flex}.landing-nav{gap:8px;display:flex}.landing-nav .btn{min-width:88px;box-shadow:none}.landing-hero{justify-self:center;gap:8px;width:min(100%,1180px);display:grid}.landing-copy{text-align:center;justify-self:center;justify-items:center;gap:16px;max-width:640px;display:grid}.landing-copy h1{font-size:clamp(2.3rem,7vw,4rem)}.landing-copy>.muted{font-size:1.05rem;line-height:1.55}.landing-ctas{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px;display:flex}.landing-ctas .btn svg,.landing-steps .btn svg{width:18px;height:18px}.landing-stage{width:100vw;height:clamp(360px,62vw,620px);margin:24px 0 0 calc(50% - 50vw);position:relative}.landing-stage canvas{inset:0;position:absolute!important}.landing-poster{object-fit:cover;width:100%;height:100%;transition:opacity .35s;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 70%,#000 60%,#0000 100%);mask-image:radial-gradient(70% 70%,#000 60%,#0000 100%)}.landing-poster-hidden{opacity:0}.landing-steps{text-align:center;justify-self:center;justify-items:center;gap:22px;width:min(100%,1180px);display:grid}.landing-steps h2{font-size:1.8rem}.landing-steps ol{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;width:100%;margin:0;padding:0;list-style:none;display:grid}.landing-steps li{text-align:left;border:1px solid var(--line-soft);background:#ffffff08;border-radius:16px;justify-items:start;gap:8px;padding:20px;display:grid}.landing-steps li svg{width:26px;height:26px;color:var(--accent-text)}.landing-steps h3{margin:0;font-size:1.05rem}.landing .legal-footer{justify-self:center;width:min(100%,1180px)}@media (width<=700px){.landing-stage{height:min(100vw,480px)}}.field select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--muted) 50%), linear-gradient(135deg, var(--muted) 50%, transparent 50%);background-position:calc(100% - 20px),calc(100% - 15px);background-repeat:no-repeat;background-size:5px 5px;padding-right:36px}.listing-fields{border:1px solid var(--line-soft);border-radius:var(--radius-sm);gap:14px;margin:4px 0 0;padding:16px;display:grid}.listing-fields legend{color:var(--ink-2);padding:0 6px;font-size:.82rem;font-weight:700}.listing-price{grid-template-columns:minmax(0,1fr) 110px;gap:10px;display:grid}.status-badge{letter-spacing:.08em;text-transform:uppercase;border-radius:999px;place-self:start;padding:4px 10px;font-size:.72rem;font-weight:800;display:inline-block}.status-sold{background:var(--accent);color:#1a0f08}.status-reserved{background:var(--gold);color:#1a0f08}.spin-tile-photo{position:relative}.spin-tile-photo .status-badge{position:absolute;top:8px;left:8px}.spin-tile-price{color:var(--ink)}.spin-listing{gap:4px;display:grid}.spin-price{letter-spacing:-.02em;color:var(--ink);font-size:1.6rem;font-weight:800}.spin-contact{text-decoration:none}.spin-contact svg{width:18px;height:18px}.listing-dialog{text-align:left;gap:12px;max-height:calc(100dvh - 32px);display:grid;overflow-y:auto}.status-pick{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.status-opt{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel-2);min-height:40px;color:var(--ink-2);cursor:pointer;font-weight:700}.status-opt.on{border-color:var(--accent);color:var(--ink);background:#f25c2a24}.share-sheet{text-align:left;gap:12px;max-height:calc(100dvh - 32px);display:grid;overflow-y:auto}.share-text{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel);width:100%;color:var(--ink);font:.9rem/1.5 var(--font);resize:none;padding:12px 14px}.share-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.share-row .btn svg,.share-sheet .btn svg{width:18px;height:18px}.spin-contacts{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.field-prefix{border-radius:var(--radius-sm);background:#141d2f;border:1px solid #33405c;align-items:center;height:52px;padding-left:14px;display:flex}.field-prefix:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #f25c2a2e}.field-prefix>span{color:var(--muted);font-weight:600}.field .field-prefix input{height:50px;box-shadow:none;background:0 0;border:0;padding-left:4px}.spin-flag{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.spin-flag .link-btn{font-size:.78rem}.dashboard-trash{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);padding:14px 16px}.dashboard-trash summary{cursor:pointer;font-weight:700}.dashboard-trash>p{margin:10px 0 6px}.dashboard-trash ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.dashboard-trash li{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.dashboard-trash li>span{gap:2px;min-width:0;display:grid}.dashboard-trash li strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.auth-forgot{justify-self:start;font-size:.86rem}.profile-password{border-top:1px solid var(--line-soft);justify-items:start;gap:12px;margin-top:36px;padding-top:22px;display:grid}.profile-password h2{letter-spacing:-.02em;font-size:1.1rem}.profile-password .profile-form{justify-self:stretch}.listing-card{gap:8px;display:grid}.listing-card .scan-panel{padding:0}.dashboard-more{justify-items:center;gap:8px;display:grid}.dashboard-filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dashboard-search{flex:240px;min-width:0;position:relative}.dashboard-search svg{width:16px;height:16px;color:var(--muted);pointer-events:none;position:absolute;top:50%;left:12px;translate:0 -50%}.dashboard-search input{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel);width:100%;color:inherit;font:inherit;padding:10px 12px 10px 36px}.dashboard-chips{flex-wrap:wrap;gap:6px;display:flex}.dashboard-game{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--panel);color:inherit;font:inherit;padding:9px 12px}.spin-grid-busy{opacity:.55;transition:opacity .15s}.spin-usage{color:var(--muted);margin:6px 0 0;font-size:.82rem;font-weight:600}.spin-usage-full{color:var(--warn)}
