*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0f0e17;--panel:#1a1926;--panel-2:#232134;--line:#2e2b42;--text:#eae8f4;--dim:#8f8ba8;--accent:#ffb703;--accent-2:#e56b6f;--win:#57cc99;--warm:#ffd166;--hot:#ff9f43;--tier-common:#58d68d;--tier-tricky:#4cc9f0;--tier-devious:#b07aff;--tier-nightmare:#ff5d73;--radius:14px;--font-display:"Avenir Next","SF Pro Display","Segoe UI Variable Display","Segoe UI",system-ui,sans-serif;--font-body:ui-rounded,"SF Pro Rounded","Nunito","Segoe UI",system-ui,-apple-system,sans-serif;--font-mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace}body,html{height:100%}body{background:radial-gradient(1200px 600px at 50% -10%,rgba(76,201,240,.06),transparent 60%),radial-gradient(900px 500px at 85% 110%,rgba(255,183,3,.05),transparent 60%),var(--bg);color:var(--text);font-family:var(--font-body);line-height:1.5;-webkit-font-smoothing:antialiased}.shell{max-width:680px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;padding:16px}.dim{color:var(--dim)}.small{font-size:.85rem}.win-text{color:var(--win)}.err-text{color:var(--accent-2)}@keyframes msgIn{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@keyframes fadeUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes floatUp{0%{transform:translateY(102vh) rotate(-8deg);opacity:0}8%{opacity:.14}88%{opacity:.14}to{transform:translateY(-8vh) rotate(22deg);opacity:0}}@keyframes shimmer{to{background-position:200%}}@keyframes blinkCursor{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes pulseHot{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}@keyframes glowPulse{0%,to{box-shadow:0 0 0 0 rgba(255,183,3,.35)}50%{box-shadow:0 0 26px 4px rgba(255,183,3,.22)}}@keyframes cardIn{0%{opacity:0;transform:perspective(900px) rotateY(70deg) scale(.85)}60%{opacity:1}to{opacity:1;transform:none}}@keyframes dotBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}@keyframes panelIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}.hero{position:relative;flex:1 1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:18px;overflow:hidden}.floaters{position:absolute;inset:0;pointer-events:none}.floater{position:absolute;top:0;color:var(--accent);font-weight:800;opacity:0;animation:floatUp 10s linear infinite}.hero>:not(.floaters){position:relative;z-index:1}.wordmark{font-family:var(--font-display);font-size:clamp(2.8rem,10vw,4.6rem);font-weight:800;letter-spacing:-.03em;line-height:1.05;animation:fadeUp .6s ease both}.wordmark .ai{background:linear-gradient(90deg,var(--accent),#ff8e3c,var(--accent-2),var(--accent));background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:shimmer 3.5s linear infinite}.cursor{display:inline-block;width:.12em;height:.85em;margin-left:.1em;vertical-align:-.06em;background:var(--accent);animation:blinkCursor 1.1s steps(1) infinite}.tagline{font-size:1.1rem;max-width:26rem;animation:fadeUp .6s ease .15s both}.rules,.tagline{color:var(--dim)}.rules{background:rgba(26,25,38,.85);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px;font-size:.95rem;max-width:30rem;animation:fadeUp .6s ease .3s both}.rules b{color:var(--text)}.statstrip{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;color:var(--dim);font-size:.92rem;font-weight:700;animation:fadeUp .6s ease .4s both}canvas.entity{display:block;width:min(340px,92vw);pointer-events:none}.hero-entity{margin-bottom:-26px;animation:fadeUp .8s ease both}.entitystage{display:flex;justify-content:center;margin:-6px 0 2px}.entitystage canvas.entity{width:min(360px,100%)}.topbtns{position:absolute;top:14px;right:14px;z-index:5;display:flex;gap:8px}.shell{position:relative}.modebtns{display:flex;flex-direction:column;gap:10px;align-items:center;animation:fadeUp .6s ease .5s both}.btn-secondary{background:var(--panel);border:1px solid var(--line);color:var(--text);font-weight:700;padding:12px 24px;border-radius:14px}.btn-secondary:not(:disabled):hover{border-color:var(--accent);transform:translateY(-1px)}.dailydone{display:flex;flex-direction:column;gap:2px;align-items:center;background:rgba(87,204,153,.07);border:1px solid rgba(87,204,153,.35);border-radius:var(--radius);padding:10px 18px;font-weight:700;font-size:.95rem}button{font:inherit;font-weight:700;border:none;border-radius:var(--radius);padding:12px 22px;cursor:pointer;background:var(--accent);color:#201a03;transition:transform .15s ease,opacity .15s ease}button:disabled{opacity:.5;cursor:default}button:not(:disabled):active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,var(--accent),#ff9e3d);color:#201a03;font-weight:800;font-size:1.05rem;padding:14px 28px;border-radius:14px;animation:fadeUp .6s ease .5s both,glowPulse 2.4s ease-in-out 1.1s infinite}.btn-primary:not(:disabled):hover{transform:translateY(-1px) scale(1.02)}.btn-primary:disabled{animation:fadeUp .6s ease .5s both}button.ghost{background:transparent;color:var(--dim);padding:8px 10px}button.ghost:hover{color:var(--text)}button.ghost.giveup:hover{color:var(--accent-2)}.iconbtn{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:10px;padding:6px 10px;font-size:.95rem;line-height:1}.iconbtn:hover{border-color:var(--dim)}.langbtn{font-size:.72rem;font-weight:800;letter-spacing:.06em;color:var(--dim);min-width:34px}.langbtn:hover{color:var(--text)}.gamebar{justify-content:space-between;padding:6px 2px 10px}.gamebar,.suspect{display:flex;align-items:center;gap:10px}.suspect{min-width:0}.suspect-meta{display:flex;flex-direction:column;gap:3px;align-items:flex-start}.suspect-name{font-family:var(--font-display);font-weight:800;font-size:1rem;letter-spacing:.01em}.bar-right{display:flex;align-items:center;gap:8px}.avatar{flex:none;width:42px;height:42px;border-radius:50%;padding:2px;background:conic-gradient(from 210deg,var(--accent),var(--accent-2),var(--tier-devious),var(--tier-tricky),var(--accent))}.avatar>span{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;background:var(--panel-2);font-weight:800;font-size:1.05rem;color:var(--accent)}.avatar.mini{width:28px;height:28px}.avatar.mini>span{font-size:.75rem}.counter{background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:800;transition:color .3s,border-color .3s,background .3s}.counter .of{color:var(--dim);font-weight:600}.counter.warm{color:var(--warm);border-color:rgba(255,209,102,.4)}.counter.hot{color:var(--hot);border-color:rgba(255,159,67,.5);animation:pulseHot 1.6s ease-in-out infinite}.counter.critical{color:var(--accent-2);border-color:rgba(229,107,111,.6);background:rgba(229,107,111,.08);animation:pulseHot .9s ease-in-out infinite}.progress{height:3px;border-radius:2px;background:var(--panel);overflow:hidden;margin:0 2px 12px}.progress .fill{height:100%;background:var(--accent);transition:width .4s ease,background .4s}.progress .fill.warm{background:var(--warm)}.progress .fill.hot{background:var(--hot)}.progress .fill.critical{background:var(--accent-2)}.chip{display:inline-block;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:999px;border:1px solid var(--line);color:var(--dim)}.chip.tier-common{color:var(--tier-common);border-color:rgba(88,214,141,.45);background:rgba(88,214,141,.08)}.chip.tier-tricky{color:var(--tier-tricky);border-color:rgba(76,201,240,.45);background:rgba(76,201,240,.08)}.chip.tier-devious{color:var(--tier-devious);border-color:rgba(176,122,255,.45);background:rgba(176,122,255,.08)}.chip.tier-nightmare{color:var(--tier-nightmare);border-color:rgba(255,93,115,.45);background:rgba(255,93,115,.08)}.thread{flex:1 1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding-bottom:12px}.row{display:flex;gap:8px;align-items:flex-end;animation:msgIn .3s ease both}.row.me{justify-content:flex-end}.msg{max-width:82%;padding:11px 16px;border-radius:16px;white-space:pre-wrap;line-height:1.55}.msg.ai{background:var(--panel-2);border:1px solid rgba(46,43,66,.6);border-bottom-left-radius:5px}.msg.me{background:linear-gradient(135deg,#31456b,#3a3f78);border-bottom-right-radius:5px}.msg.ai .stage{color:var(--dim);font-style:italic}.msg.ai strong{color:#ffffff;font-weight:800}.msg.typing{display:flex;gap:5px;align-items:center;padding:15px 16px}.typing .dot{width:7px;height:7px;border-radius:50%;background:var(--dim);animation:dotBounce 1.2s ease-in-out infinite}.typing .dot:nth-child(2){animation-delay:.15s}.typing .dot:nth-child(3){animation-delay:.3s}.error{color:var(--accent-2);font-size:.9rem;padding:6px 4px 0}.inputrow{display:flex;gap:8px;padding-top:10px}.inputrow input{flex:1 1;min-width:0;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);font:inherit;padding:12px 16px;outline:none;transition:border-color .2s}.inputrow input:focus{border-color:var(--accent)}.inputrow input::placeholder{color:var(--dim);opacity:.7}.revealwrap{padding:10px 0 4px}.revealcard{background:linear-gradient(180deg,#201e31,#171623);border:1px solid var(--line);border-radius:18px;padding:26px 22px;text-align:center;display:flex;flex-direction:column;gap:13px;animation:cardIn .7s cubic-bezier(.2,.7,.3,1.1) both}.revealcard.tier-common{border-color:rgba(88,214,141,.5);box-shadow:0 0 36px -12px rgba(88,214,141,.45)}.revealcard.tier-tricky{border-color:rgba(76,201,240,.5);box-shadow:0 0 36px -12px rgba(76,201,240,.45)}.revealcard.tier-devious{border-color:rgba(176,122,255,.5);box-shadow:0 0 36px -12px rgba(176,122,255,.45)}.revealcard.tier-nightmare{border-color:rgba(255,93,115,.5);box-shadow:0 0 36px -12px rgba(255,93,115,.45)}.case-title{font-size:.72rem;font-weight:800;letter-spacing:.22em;text-transform:uppercase;color:var(--dim)}.verdict{font-family:var(--font-display);font-size:1.35rem;font-weight:800}.verdict.win{color:var(--win)}.verdict.loss{color:var(--accent-2)}.reveal-answer{font-family:var(--font-display);font-size:2.1rem;font-weight:800;color:var(--accent);line-height:1.15}.reveal-meta{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap;font-size:.85rem}.scoreblock{display:flex;flex-direction:column;gap:2px}.scorenum{font-family:var(--font-display);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:2.4rem;font-weight:800;color:var(--win)}.scoreblock.loss .scorenum,.scorewhy{color:var(--dim)}.scorewhy{font-size:.85rem}.scorewhy .exact{color:var(--accent)}.sharebox{display:flex;gap:8px;align-items:center;background:#12111d;border:1px solid var(--line);border-radius:10px;padding:8px 10px}.sharebox code{flex:1 1;text-align:left;font-family:var(--font-mono);font-size:.76rem;color:var(--dim);word-break:break-word}.copybtn{flex:none;padding:8px 14px;font-size:.85rem;border-radius:8px}.imgshare{display:flex;flex-direction:column;gap:8px;animation:fadeUp .4s ease both}.cardimg{width:100%;border-radius:12px;border:1px solid var(--line);display:block}.imgactions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.ghostline{background:transparent;border:1px solid var(--line);color:var(--text);font-size:.85rem;font-weight:700;padding:8px 14px;border-radius:8px}.ghostline:hover{border-color:var(--accent)}.reveal-actions{display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap;padding-top:2px}.reveal-actions .btn-primary{animation:none}.confetti{width:100%;height:100%;pointer-events:none;z-index:50}.confetti,.overlay{position:fixed;inset:0}.overlay{background:rgba(8,7,14,.7);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;z-index:60}.panel{width:100%;max-width:560px;max-height:88dvh;overflow-y:auto;background:var(--panel);border:1px solid var(--line);border-radius:18px 18px 0 0;padding:20px;display:flex;flex-direction:column;gap:16px;animation:panelIn .3s ease both}@media (min-width:600px){.overlay{align-items:center;padding:20px}.panel{border-radius:18px}}.panel-head{display:flex;justify-content:space-between;align-items:center}.panel-head h2{font-family:var(--font-display);font-size:1.25rem;font-weight:800}.namefield{display:flex;align-items:center;gap:10px}.namefield span{font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.namefield input{flex:1 1;min-width:0;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;color:var(--text);font:inherit;font-weight:700;padding:8px 12px;outline:none}.namefield input:focus{border-color:var(--accent)}.bigscore{text-align:center;padding:6px 0 2px}.bigscore .pts{font-family:var(--font-display);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:2.6rem;font-weight:800;color:var(--accent);line-height:1.1}.bigscore .pts-label{font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}.statgrid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px}.stat{background:var(--panel-2);border:1px solid var(--line);border-radius:12px;padding:10px 6px;text-align:center;display:flex;flex-direction:column;gap:2px}.stat b{font-size:1.15rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat span{font-size:.7rem;color:var(--dim)}.section-title{font-family:var(--font-display);font-size:1rem;font-weight:800}.dimcount{color:var(--dim);font-weight:600}.empty{color:var(--dim);font-size:.9rem}.trophy{position:relative;width:64px;height:64px;border-radius:50%;padding:3px;background:var(--line);flex:none}.trophy-lg{width:96px;height:96px;padding:4px}.trophy-face{width:100%;height:100%;border-radius:50%;background:radial-gradient(circle at 50% 38%,#262338,#14121f 75%);display:grid;place-items:center;overflow:hidden}.trophy-emoji{font-size:1.9rem;line-height:normal}.trophy-lg .trophy-emoji{font-size:2.9rem}.trophy-art{width:100%;height:100%;object-fit:cover;border-radius:50%}.trophy.tier-common{background:rgba(88,214,141,.65)}.trophy.tier-tricky{background:rgba(76,201,240,.7)}.trophy.tier-devious{background:conic-gradient(from 200deg,var(--tier-devious),#6a5bff,#e0b3ff,var(--tier-devious));box-shadow:0 0 16px -4px rgba(176,122,255,.7)}.trophy.tier-nightmare{background:conic-gradient(from 200deg,var(--tier-nightmare),#ff9d5c,#ffd166,var(--tier-nightmare));box-shadow:0 0 20px -4px rgba(255,93,115,.8)}.trophy-shine{display:none}.trophy.tier-devious .trophy-shine,.trophy.tier-nightmare .trophy-shine{display:block;position:absolute;inset:3px;border-radius:50%;overflow:hidden;pointer-events:none;background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.32) 50%,transparent 62%);background-size:300% 100%;animation:trophyShine 3.2s ease-in-out infinite}.trophy.tier-nightmare .trophy-shine{animation-duration:2.4s}@keyframes trophyShine{0%,55%{background-position:140% 0}85%,to{background-position:-40% 0}}.reveal-trophy{display:flex;flex-direction:column;align-items:center;gap:6px;margin:2px 0 -4px}.trophy-minted{font-size:.66rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}.shelf-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.shelf-actions{display:flex;gap:6px}.ghostline.slim{padding:5px 10px;font-size:.78rem}.shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:10px;gap:10px}.trophycard{background:radial-gradient(120% 70% at 50% 0,rgba(255,255,255,.04),transparent 60%),var(--panel-2);border:1px solid var(--line);border-radius:14px;padding:14px 12px 12px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;animation:fadeUp .35s ease both}.trophycard.tier-common{border-color:rgba(88,214,141,.4)}.trophycard.tier-tricky{border-color:rgba(76,201,240,.4)}.trophycard.tier-devious{border-color:rgba(176,122,255,.55);box-shadow:0 0 22px -10px rgba(176,122,255,.55)}.trophycard.tier-nightmare{border-color:rgba(255,93,115,.6);box-shadow:0 0 26px -10px rgba(255,93,115,.6)}.trophy-name{font-weight:800;line-height:1.2}.trophy-meta{display:flex;gap:8px;align-items:center;justify-content:center;font-size:.78rem}.trophy-score{color:var(--win);font-weight:800;font-size:.9rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.trophy-foot{display:flex;gap:8px;justify-content:center;align-items:baseline;color:var(--dim);font-size:.68rem}.trophy-id{font-family:var(--font-mono)}.authbox{border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column;gap:10px}.authrow{display:flex;gap:8px;align-items:center}.authrow input{flex:1 1;min-width:0;background:var(--panel-2);border:1px solid var(--line);border-radius:10px;color:var(--text);font:inherit;padding:9px 12px;outline:none}.authrow input:focus{border-color:var(--accent)}.authrow button{padding:9px 16px;font-size:.9rem;border-radius:10px}.challenge-title{font-size:1.5rem;font-weight:800;margin:10px 0 6px;animation:fadeUp .5s ease both}.challenge-body{max-width:26rem;color:var(--dim);font-size:.95rem;line-height:1.5;margin:0 0 18px;animation:fadeUp .5s ease .1s both}.challenge-invalid{margin-top:12px;max-width:24rem;font-size:.82rem;color:var(--accent-2);border:1px solid rgba(229,107,111,.4);background:rgba(229,107,111,.08);border-radius:10px;padding:8px 14px}.challenge-total{text-align:center;margin:-6px 0 10px}.challenge-verdict{font-size:1.35rem;font-weight:800;margin:4px 0 14px}.challenge-verdict.win{color:var(--win)}.challenge-verdict.lose{color:var(--accent-2)}.challenge-verdict.tie{color:var(--warm)}.vsgrid{display:flex;gap:12px;align-items:stretch;justify-content:center;margin:4px 0 14px;width:100%;max-width:26rem}.vscol{flex:1 1;border:1px solid var(--line);border-radius:14px;padding:14px 10px;background:rgba(255,255,255,.03);text-align:center}.vscol.winner{border-color:rgba(255,183,3,.7);box-shadow:0 0 20px -8px rgba(255,183,3,.8)}.vsname{font-size:.78rem;font-weight:700;color:var(--dim);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vsscore{font-size:1.7rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.vsq{font-size:.74rem;margin-top:2px}.vsmid,.vsq{color:var(--dim)}.vsmid{align-self:center;font-weight:800;font-size:.85rem;flex:none}.hero .sharebox{width:100%;max-width:26rem;margin-bottom:16px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.floater{display:none}}@media (max-width:420px){.statgrid{grid-template-columns:repeat(2,1fr)}.reveal-answer{font-size:1.7rem}.msg{max-width:88%}}