:root{--bg: #141420;--bg-deep: #0f0f18;--panel: rgba(255, 255, 255, .055);--panel-border: rgba(255, 255, 255, .1);--fg: #eceaf4;--fg-dim: #9a97ad;--accent: #e8a854;--accent-fg: #201503;--radius: 14px;--shadow: 0 12px 40px rgba(0, 0, 0, .45);color-scheme:dark}*{box-sizing:border-box;margin:0}html,body,#root{height:100%}html,body{overscroll-behavior:none}body{background:radial-gradient(120% 100% at 50% 0%,#1a1a2c 0%,var(--bg) 55%,var(--bg-deep) 100%);color:var(--fg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;overflow:hidden}.hud,canvas{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}canvas{touch-action:none}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:24px;overflow-y:auto}.panel{background:var(--panel);border:1px solid var(--panel-border);border-radius:var(--radius);box-shadow:var(--shadow)}.btn{padding:12px 26px;border-radius:999px;background:var(--panel);border:1px solid var(--panel-border);transition:background .15s,transform .1s}.btn:hover{background:#ffffff1a}.btn:active{transform:scale(.97)}.btn-primary{background:var(--accent);color:var(--accent-fg);font-weight:600;border:none}.btn-primary:hover{background:#f2b96b}.hero{text-align:center}.hero h1{font-size:clamp(2rem,5vw,3.2rem);letter-spacing:-.02em}.hero p{color:var(--fg-dim);margin-top:8px;font-size:1.05rem}.upload-zone{width:min(560px,90vw);padding:42px 24px;text-align:center;border:2px dashed var(--panel-border);border-radius:var(--radius);transition:border-color .15s,background .15s}.upload-zone.dragover{border-color:var(--accent);background:#e8a85414}.upload-zone strong{color:var(--accent)}.samples{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.samples p{width:100%;text-align:center;color:var(--fg-dim);font-size:.9rem}.sample-thumb{width:108px;height:81px;object-fit:cover;border-radius:10px;border:1px solid var(--panel-border);transition:transform .15s,border-color .15s}.sample-thumb:hover{transform:scale(1.06);border-color:var(--accent)}.continue-card{display:flex;align-items:center;gap:16px;padding:14px 20px}.continue-card img{width:96px;height:72px;object-fit:cover;border-radius:8px}.setup-preview{max-width:min(520px,88vw);max-height:40vh;border-radius:var(--radius);box-shadow:var(--shadow)}.difficulties{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}.difficulty{padding:14px 22px;border-radius:var(--radius);text-align:center;min-width:110px}.difficulty.selected{border-color:var(--accent);background:#e8a8541f}.difficulty b{font-size:1.4rem;display:block}.difficulty span{color:var(--fg-dim);font-size:.85rem}.hud{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;transition:opacity .5s}.hud.hidden{opacity:0}.hud>*{pointer-events:auto}.hud.hidden>*{pointer-events:none}.hud-top{position:absolute;top:calc(14px + env(safe-area-inset-top));left:50%;transform:translate(-50%);display:flex;gap:18px;padding:8px 22px;font-variant-numeric:tabular-nums}.hud-tools{position:absolute;right:calc(14px + env(safe-area-inset-right));top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:4px;padding:8px}.tool-btn{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;color:var(--fg-dim)}.tool-btn:hover{background:#ffffff1a;color:var(--fg)}.tool-btn.on{color:var(--accent);background:#e8a8541f}.overlay-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a1099;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;z-index:40}.dialog{padding:28px 32px;text-align:center;max-width:90vw}.dialog h2{margin-bottom:8px}.dialog p{color:var(--fg-dim);margin-bottom:20px}.dialog .row{display:flex;gap:12px;justify-content:center}.toasts{position:fixed;bottom:20px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:60}.toast{padding:10px 20px;border-radius:10px;animation:toast-in .25s ease-out}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion: reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}.settings{max-width:420px;text-align:left;max-height:80vh;overflow-y:auto}.settings h3{margin:16px 0 6px;font-size:.85rem;text-transform:uppercase;opacity:.6}.set-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:4px 0}.set-row input[type=range]{width:140px}.set-val{min-width:3ch;text-align:right;opacity:.8;font-variant-numeric:tabular-nums}.hand-pip{position:fixed;right:calc(14px + env(safe-area-inset-right));bottom:calc(60px + env(safe-area-inset-bottom));border-radius:12px;overflow:hidden;background:#0c0f18;border:1px solid rgba(255,255,255,.08);box-shadow:0 8px 24px #00000080;z-index:30}.hand-pip canvas{width:100%;height:100%;display:block}.hand-status{position:absolute;left:8px;top:6px;font:600 10px system-ui;color:#bfe8ff}.hand-status.no-hands{color:#ffce6a}.hand-status.error{color:#ff8a8a}.hand-cursors{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:50}.hand-cal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#0a0d168c}.hand-cal-target{position:absolute;width:64px;height:64px;margin:-32px;border-radius:50%;border:3px solid #ffd36a;box-shadow:0 0 22px #ffd36a80}.hand-cal-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:320px;text-align:center}.hand-cal-card .row{display:flex;gap:8px;justify-content:center;margin-top:12px}.history{width:min(760px,92vw)}.history-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.history-head p{color:var(--fg-dim);font-size:.9rem}.hist-clear{padding:6px 14px;font-size:.85rem}.hist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:12px}.hist-card{position:relative;padding:0;overflow:hidden}.hist-open{display:block;width:100%}.hist-open img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.hist-badge{position:absolute;left:6px;bottom:6px;padding:2px 7px;border-radius:999px;font-size:.72rem;font-variant-numeric:tabular-nums;background:#0a0c14b8;color:var(--fg)}.hist-badge.done{color:var(--accent)}.hist-del{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:999px;display:grid;place-items:center;line-height:1;font-size:1.1rem;background:#0a0c14b8;color:var(--fg)}.hist-del:hover{background:#dc5050d9}.toast{display:flex;align-items:center;gap:14px}.toast-action{color:var(--accent);font-weight:600;padding:2px 4px}.toast-action:hover{text-decoration:underline}@media (max-height: 600px){.hud-tools{display:grid;grid-template-columns:repeat(2,40px);gap:6px}}
