:root{--bg: #f5eddd;--bg-sky: #f9f3e7;--surface: #fffaf0;--text: #2b2219;--muted: #6f604f;--accent: #b5542b;--accent-text: #ffffff;--sage: #2f5d62;--gold: #c9a227;--border: #e0d2b8;--good: #2f7d4a;--bad: #b3261e;--pending: #8a6d1f;--neutral: #6f604f;--card-back: #b5542b;--art-line: #4a3b2c;--art-stone: #f1e6d1;--art-maya: #b8cdb0;--art-stairs: #d5e1cd;--art-pagoda: #de9572;--art-wall: #f6e8d2;--art-gold: #e2b93b;--art-sun: #f3d27c;--art-hills: #eadcc0;--art-far: #efdcb4;--font-display: "Cinzel", Georgia, serif;color-scheme:light dark}@media(prefers-color-scheme:dark){:root{--bg: #1c1813;--bg-sky: #231e18;--surface: #2a241d;--text: #f1e8d8;--muted: #b3a48e;--accent: #e07a4b;--accent-text: #1c1813;--sage: #8fb8b0;--gold: #e2c35a;--border: #463b2e;--good: #6cc68b;--bad: #f08a80;--pending: #e0c060;--neutral: #b3a48e;--card-back: #a8481f;--art-line: #8a7a63;--art-stone: #2d271f;--art-maya: #2c3a2d;--art-stairs: #34432f;--art-pagoda: #5a3324;--art-wall: #30291f;--art-gold: #9c8130;--art-sun: #4a3d1e;--art-hills: #26211a;--art-far: #2c261d}}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(to bottom,var(--bg-sky),var(--bg) 70%) fixed;color:var(--text);font:16px/1.5 Inter,system-ui,-apple-system,Segoe UI,sans-serif}h1,h2,h3{font-family:var(--font-display);letter-spacing:.02em}:root{accent-color:var(--accent)}.app{position:relative;max-width:1100px;margin:0 auto;padding:0 16px 8px}.app>header,.app>main{position:relative;z-index:1}.topbar{padding:12px 0 4px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.topbar-actions{display:flex;gap:8px;align-items:center}button.small{padding:4px 10px;font-size:.85rem}button.ghost{background:color-mix(in srgb,var(--surface) 70%,transparent)}button.danger{background:var(--bad);border-color:var(--bad);color:#fff;font-weight:600}dialog.confirm{max-width:min(420px,calc(100vw - 32px));padding:24px;border:1px solid var(--border);border-radius:16px;background:var(--surface);color:var(--text);box-shadow:0 20px 60px #00000040;text-align:center}dialog.confirm::backdrop{background:#140e0873}dialog.confirm h2{margin:0 0 8px;font-size:1.3rem}dialog.confirm p{margin:0 0 20px;color:var(--muted)}.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--good);margin-right:8px;flex:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--good) 25%,transparent)}.dot.off{background:var(--muted);box-shadow:none}.conn-note{font-size:.8rem;color:var(--muted);margin-left:6px}.reconnecting{position:sticky;top:8px;z-index:40;margin:8px auto;width:fit-content;padding:6px 16px;border-radius:999px;background:var(--gold);color:#2a1d00;font-weight:600;animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{50%{opacity:.65}}.rejoin{margin-top:12px}.logo{display:inline-flex;align-items:center;gap:10px;background:none;border:0;padding:0;color:var(--text)}.logo-word{font-family:var(--font-display);font-weight:700;font-size:1.6rem;letter-spacing:.04em}.logo-mark .lm-back{fill:var(--accent);stroke:var(--art-line);stroke-width:2.5}.logo-mark .lm-front{fill:var(--surface);stroke:var(--art-line);stroke-width:2.5}.logo-mark .lm-column,.logo-mark .lm-line,.logo-mark .lm-tick{fill:none;stroke:var(--art-line);stroke-width:2.4;stroke-linecap:round}.logo-mark .lm-line,.logo-mark .lm-tick{stroke-width:3}.logo-mark .lm-dot{fill:var(--gold);stroke:var(--art-line);stroke-width:2}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden;--shift: 0px;--zoom: 0;--sink: 0px;--sun-x: 50vw;--sun-y: 33vh}.backdrop.scene-setup{--shift: -36px;--zoom: .05;--sink: 14px}.backdrop.scene-game{--shift: 24px;--zoom: .14;--sink: 46px}.bd-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;transform-origin:50% 100%;transform:translate(calc(var(--shift) * var(--k)),calc(var(--sink) * var(--k))) scale(calc(1 + var(--zoom) * var(--k)));transition:transform 1.3s cubic-bezier(.22,.8,.25,1),opacity .8s}.bd-layer-sky{--k: .15}.bd-layer-far{--k: .35}.bd-layer-mid{--k: .65}.bd-layer-near{--k: 1}.bd-sun{position:absolute;left:0;top:0;width:min(36vh,320px);aspect-ratio:1;border-radius:50%;background:var(--art-sun);opacity:.7;transform:translate(calc(var(--sun-x) - 50%),calc(var(--sun-y) - 50%));transition:transform 1.1s cubic-bezier(.22,.8,.25,1),opacity .8s}.app.in-game .bd-layer-sky,.app.in-game .bd-layer-far{opacity:.35}.app.in-game .bd-layer-mid{opacity:.24}.app.in-game .bd-layer-near{opacity:.18}.app.in-game .bd-sun{opacity:.32}@media(prefers-reduced-motion:reduce){.bd-layer,.bd-sun{transition:opacity .8s}}.backdrop svg *{stroke:var(--art-line);stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}.bd-stone{fill:var(--art-stone)}.bd-maya{fill:var(--art-maya)}.bd-maya .bd-stairs{fill:var(--art-stairs)}.bd-maya .bd-door{fill:var(--art-line);fill-opacity:.55}.bd-pagoda{fill:var(--art-pagoda)}.bd-pagoda .bd-wall{fill:var(--art-wall)}.bd-gold{fill:var(--art-gold)}.bd-hills{fill:var(--art-hills);stroke-width:1.5!important;opacity:.8}.bd-far{fill:var(--art-far);opacity:.8}.backdrop .bd-detail,.backdrop .bd-birds,.backdrop .bd-ground{fill:none}.backdrop .bd-detail{stroke-width:1.5;opacity:.8}.backdrop .bd-ground{stroke-width:2.5}.home{display:flex;flex-direction:column;align-items:center;gap:28px;padding-top:32px}.hero{display:flex;flex-direction:column;align-items:center;text-align:center}.hero-title{font-size:clamp(2.6rem,8vw,4.2rem);margin:4px 0 0;letter-spacing:.06em;line-height:1}.tagline{font-size:1.15rem;color:var(--muted);margin:8px 0 0}.teasers{display:flex;justify-content:center;margin-top:22px}.teaser{width:136px;height:92px;margin:0 -10px;overflow-wrap:anywhere;padding:8px;border-radius:10px;border:2px solid var(--art-line);background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:.8rem;font-weight:600;box-shadow:0 4px 10px #3c28141f}.teaser:nth-child(2){position:relative;z-index:1;margin-top:-6px}.teaser-year{font-family:var(--font-display);font-size:1.3rem;color:var(--accent)}.modes{align-items:start;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;width:100%;max-width:820px}.panel h2{margin:0 0 4px}.panel p{margin:0 0 12px}button.big{padding:12px 28px;font-size:1.05rem}button,input,select{font:inherit;color:inherit}button{padding:8px 16px;border-radius:8px;border:1px solid var(--border);background:var(--surface);cursor:pointer}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600;box-shadow:0 2px color-mix(in srgb,var(--accent) 60%,black)}button:not(:disabled):hover{filter:brightness(1.05)}input,select{padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface)}label{display:flex;flex-direction:column;gap:4px}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:12px}.muted{color:var(--muted)}.warn{color:var(--pending)}.error{color:var(--bad)}.good{color:var(--good)}.bad{color:var(--bad)}.setup{margin-top:12px}.panel,.setup{background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid var(--border);border-radius:14px;padding:20px;box-shadow:0 6px 24px #3c281414;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.panel h2{margin-top:0}.code-input{width:7em;text-transform:uppercase;letter-spacing:.2em}.code{font-family:ui-monospace,monospace;letter-spacing:.15em;color:var(--accent)}.setup{max-width:600px;margin-left:auto;margin-right:auto}.settings{border:0;padding:0;margin:0;display:grid;gap:16px}.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.chip{padding:4px 12px;border-radius:999px}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.setup{position:relative;transition:transform .35s cubic-bezier(.22,.8,.25,1)}.settings-wrap{display:grid;gap:12px}.settings-wrap>p{margin:0}.filter-toggle{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:10px 14px;border-radius:12px;margin-top:4px}.filter-toggle.on{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 30%,transparent)}.filter-icon{font-size:1.3rem;color:var(--accent)}.filter-label{display:flex;flex-direction:column;flex:1}.filter-label small{color:var(--muted)}.filter-count{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.filter-chevron{font-size:1.4rem;line-height:1;color:var(--muted)}.filter-panel{position:absolute;top:0;left:calc(100% + 16px);width:380px;max-height:calc(100vh - 100px);overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px 18px;box-shadow:0 10px 32px #3c281429;z-index:5;animation:filter-in .3s cubic-bezier(.22,.8,.25,1)}@keyframes filter-in{0%{opacity:0;transform:translate(-12px)}}.app>main:has(.filter-panel){z-index:55}@media(min-width:1061px){.setup:has(.filter-panel){transform:translate(-198px)}}@media(max-width:1060px){.setup:has(.filter-panel){-webkit-backdrop-filter:none;backdrop-filter:none}.filter-panel{position:fixed;top:0;right:0;bottom:0;left:auto;width:min(400px,100vw);max-height:none;border-radius:14px 0 0 14px;z-index:50;animation-name:filter-sheet}@keyframes filter-sheet{0%{transform:translate(100%)}}}.filter-head{display:flex;align-items:center;gap:10px;position:sticky;top:-16px;background:var(--surface);padding:4px 0 8px;margin-top:-4px;z-index:1}.filter-head h3{margin:0;flex:1;font-family:var(--font-display)}.filter-note{margin:2px 0 6px;font-size:.85rem;color:var(--muted)}.filter-groups{border:0;padding:0;margin:0;display:grid;gap:14px}.filter-group{border-top:1px solid var(--border);padding-top:12px}.filter-group header{display:flex;align-items:center;justify-content:space-between;gap:8px}.filter-group h4{margin:0;font-size:1rem}.filter-group h4 small{color:var(--muted);font-weight:400;margin-left:4px}.filter-group .chip:not(.on){background:transparent;color:var(--muted);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--muted) 60%,transparent)}@media(prefers-reduced-motion:reduce){.setup,.filter-panel{transition:none;animation:none}}.invite{display:grid;gap:8px;margin-bottom:8px}.invite h2{margin:0}.invite-link{display:flex;gap:8px;flex-wrap:wrap}.invite-link input{flex:1;min-width:0;font-family:ui-monospace,monospace;font-size:.9rem;color:var(--muted)}.invite-link button{white-space:nowrap}.home .join-invite{border:2px solid var(--accent)}.status{display:flex;justify-content:space-between;color:var(--muted);margin-bottom:8px}.current{display:flex;flex-direction:column;align-items:center;gap:8px;min-height:200px;text-align:center}.countdown-quiet{display:inline-flex;gap:6px;align-items:center;font-size:.9rem;color:var(--muted);font-variant-numeric:tabular-nums}.countdown{--tone: color-mix(in srgb, var(--bad) calc(var(--heat) * 100%), var(--gold));display:inline-flex;align-items:center;gap:10px;padding:4px 12px 4px 8px;border-radius:999px;background:color-mix(in srgb,var(--tone) 14%,var(--surface));border:2px solid var(--tone);color:var(--text)}.countdown-label{font-weight:600;font-size:.9rem}.countdown-num{min-width:1.6em;text-align:center;font:700 1.7rem/1 var(--font-display);font-variant-numeric:tabular-nums;color:var(--tone);animation:count-pop 1s ease-out}.countdown.hot .countdown-num{animation:count-pop-hot 1s ease-out}.countdown-track{position:relative;width:90px;height:6px;border-radius:3px;background:var(--border);overflow:hidden}.countdown-bar{position:absolute;inset:0 auto 0 0;background:var(--tone);transition:width .1s linear}@keyframes count-pop{0%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes count-pop-hot{0%{transform:scale(1.55)}25%{transform:scale(.95)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.countdown-num,.countdown.hot .countdown-num{animation:none}}.row.center{justify-content:center}label.check{flex-direction:row;align-items:center;gap:8px}.hint{color:var(--muted);font-size:.9rem;margin:0}.card{width:200px;min-height:150px;padding:12px;border-radius:12px;border:2px solid color-mix(in srgb,var(--art-line) 45%,var(--border));background:var(--surface);display:flex;flex-direction:column;gap:6px;text-align:center;box-shadow:0 2px 8px #00000014;-webkit-user-select:none;user-select:none}.card.correct{border-color:var(--good)}.card.wrong{border-color:var(--bad)}.card.neutral{border-color:var(--neutral)}.card.pending{border-color:var(--pending);border-style:dashed}.card-year{font-weight:800;font-size:1.4rem;color:var(--accent)}.card-title{font-weight:700}.card-desc{flex:1;font-size:.85rem;color:var(--muted)}.card-region{font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.stack-wrap{display:flex;flex-direction:column;align-items:center;gap:8px}.stack{position:relative;width:140px;height:180px;padding:0;border:0;background:none}.stack-back{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;background:repeating-linear-gradient(45deg,var(--card-back),var(--card-back) 8px,color-mix(in srgb,var(--card-back) 80%,black) 8px,color-mix(in srgb,var(--card-back) 80%,black) 16px);border:3px solid var(--surface);box-shadow:0 2px 6px #0003}.stack-back:nth-child(1){transform:translate(6px,6px) rotate(3deg)}.stack-back:nth-child(2){transform:translate(3px,3px) rotate(-2deg)}.stack-back.top{display:grid;place-items:center;color:#fff;font-size:3rem;font-weight:800;transition:transform .15s}.stack:not(:disabled):hover .stack-back.top{transform:translateY(-6px)}.game{display:flex;flex-direction:column;min-height:calc(100dvh - 128px)}.board{flex:1;display:flex;flex-direction:column}.hand{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:12px 0;min-height:260px}.hand-card.draggable{cursor:grab;touch-action:none}.hand-card.draggable:hover .card{transform:translateY(-4px);box-shadow:0 8px 18px #00000026}.hand-card .card{transition:transform .15s,box-shadow .15s}.hand-placeholder{width:200px;min-height:150px;border:2px dashed var(--border);border-radius:12px;display:grid;place-items:center;padding:12px;text-align:center;color:var(--muted)}.floating-card{position:fixed;z-index:10;pointer-events:none;transform-origin:50% 100%;cursor:grabbing}.floating-card .card{box-shadow:0 14px 30px #00000040}.locked-note{display:flex;flex-direction:column;align-items:center;gap:4px}.result,.end{text-align:center}.track{position:relative;overflow:hidden;-webkit-user-select:none;user-select:none;margin:0 -16px}.pan-zone{position:absolute;top:0;bottom:0;display:flex;align-items:center;padding:0 10px;color:color-mix(in srgb,var(--accent) 45%,transparent);font-weight:700;letter-spacing:-.1em;pointer-events:none}.pan-zone.left{left:0;background:linear-gradient(to right,color-mix(in srgb,var(--accent) 10%,transparent),transparent)}.pan-zone.right{right:0;justify-content:flex-end;background:linear-gradient(to left,color-mix(in srgb,var(--accent) 10%,transparent),transparent)}.axis{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible}.axis path{fill:none;stroke:var(--text);stroke-linecap:round;opacity:.75}.track.placing .axis path{stroke:var(--accent);opacity:1}.tick{position:absolute;width:1px;height:10px;background:var(--muted)}.tick span{position:absolute;top:12px;transform:translate(-50%);white-space:nowrap;font-size:calc(.72rem + .12rem * var(--prox));color:var(--muted)}.band{position:absolute;height:30px;background:color-mix(in srgb,var(--muted) 8%,transparent);border-left:1px solid color-mix(in srgb,var(--muted) 25%,transparent);overflow:hidden}.band.odd{background:color-mix(in srgb,var(--muted) 16%,transparent)}.band.current{background:color-mix(in srgb,var(--accent) 22%,transparent)}.band span{position:absolute;top:50%;transform:translate(-50%,-50%);white-space:nowrap;font-size:.8rem;font-weight:600;color:var(--muted)}.band.current span{color:var(--accent)}.stem{position:absolute;width:2px;margin-left:-1px;background:var(--border)}.mini{position:absolute;width:124px;height:40px;padding:2px 6px;border-radius:8px;border:2px solid var(--border);background:var(--surface);display:flex;flex-direction:column;font-size:.7rem;line-height:1.2;overflow:hidden}.mini strong{color:var(--accent);font-size:.8rem}.mini span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini.pending{border-color:var(--pending);border-style:dashed}.mini.correct{border-color:var(--good);box-shadow:0 0 0 3px color-mix(in srgb,var(--good) 30%,transparent)}.mini.wrong{border-color:var(--bad);box-shadow:0 0 0 3px color-mix(in srgb,var(--bad) 30%,transparent)}.mini.neutral{border-color:var(--neutral)}.mini.pinned{opacity:.9;border-style:dotted;box-shadow:0 2px 8px #0003}.needle{position:absolute;top:0;width:2px;margin-left:-1px;background:var(--accent);pointer-events:none}.needle span{position:absolute;top:4px;left:6px;background:var(--accent);color:var(--accent-text);font-weight:700;font-size:.85rem;padding:2px 8px;border-radius:6px;white-space:nowrap;display:flex;flex-direction:column;line-height:1.2}.needle small{font-weight:500;font-size:.7rem;opacity:.9}.guess-mark.ok{background:var(--good)}.guess-mark{position:absolute;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--bad);border:2px solid var(--surface)}.flip-wrap{display:flex;flex-direction:column;align-items:center;gap:6px}.flip{position:relative;perspective:900px}.flip.waiting{animation:wiggle-soft 2.4s ease-in-out infinite}.flip.wiggle{animation:wiggle .8s ease-in-out}.flip-inner{position:relative;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.3,1.4,.5,1)}.flip-face{backface-visibility:hidden;-webkit-backface-visibility:hidden}.flip-face.back{position:absolute;top:0;right:0;bottom:0;left:0;transform:rotateY(180deg)}.flip-face.back .card{height:100%;width:100%;justify-content:center}.back-year{font-size:2.4rem;font-weight:800;color:var(--accent);line-height:1.1}.exact-badge{margin-top:4px;font-weight:800;color:var(--good);text-transform:uppercase;letter-spacing:.08em;animation:pop .4s ease-out}.red-x{position:absolute;top:-14px;right:-14px;bottom:-14px;left:-14px;width:calc(100% + 28px);height:calc(100% + 28px);pointer-events:none;overflow:visible}.red-x line{stroke:var(--bad);stroke-width:9;stroke-linecap:round;stroke-dasharray:90;stroke-dashoffset:90;animation:draw .25s ease-out forwards;filter:drop-shadow(0 2px 3px rgb(0 0 0 / .25))}.red-x line:nth-child(2){animation-delay:.2s}.flip.done:has(.red-x){animation:shake .4s ease-in-out}.flip-caption{margin:0;color:var(--muted)}.reveal-delay{animation:fade-in .3s ease-out 1.45s both}@keyframes wiggle-soft{0%,to{transform:rotate(0)}25%{transform:rotate(-1.5deg)}75%{transform:rotate(1.5deg)}}@keyframes wiggle{0%,to{transform:rotate(0) scale(1)}15%{transform:rotate(-6deg) scale(1.03)}30%{transform:rotate(6deg) scale(1.05)}45%{transform:rotate(-5deg) scale(1.05)}60%{transform:rotate(4deg) scale(1.04)}75%{transform:rotate(-2deg) scale(1.02)}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes pop{0%{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.flip.waiting,.flip.wiggle,.flip.done{animation:none}.flip-inner{transition:none}}.dial-panel{display:flex;flex-direction:column;align-items:center;gap:8px}.dial-wrap{display:flex;flex-direction:column;align-items:center;gap:6px}.dial-year{font-size:1.8rem;font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums}.dial-row{display:flex;align-items:center;gap:6px}.dial{position:relative;width:140px;height:140px;border-radius:50%;cursor:grab;touch-action:none;outline-offset:4px}.dial svg{width:100%;height:100%;transition:transform .08s linear}.dial-ring{fill:var(--surface);stroke:var(--border);stroke-width:3}.dial-hub{fill:var(--bg);stroke:var(--border);stroke-width:2}.dial-tick{stroke:var(--muted);stroke-width:2;stroke-linecap:round}.dial-tick.main{stroke:var(--accent);stroke-width:4}.dial-pointer{position:absolute;top:-8px;left:50%;margin-left:-7px;border:7px solid transparent;border-top:10px solid var(--accent)}.players{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-wrap:wrap;gap:8px}.players li{display:flex;flex-direction:column;padding:6px 12px;border-radius:10px;border:2px solid var(--border);background:var(--surface);min-width:110px}.players li.active{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.players li.offline{opacity:.5}.pname{font-weight:700;display:flex;align-items:center}.pstats,.pstatus{font-size:.8rem;color:var(--muted)}.banner{font-weight:600;color:var(--text)}.banner.mine{color:var(--accent)}.status{align-items:center;gap:12px;flex-wrap:wrap}.timers{display:flex;gap:12px;align-items:center}.last-call{display:flex;gap:6px;align-items:center;color:var(--bad);font-weight:600}.end-screen{display:flex;flex-direction:column;gap:20px;padding-top:8px}.end-screen .hand{display:none}.end-screen h3{margin:8px 0 0}.end-title{text-align:center;font-size:clamp(1.8rem,5vw,2.6rem);margin:0}.podium-wrap{display:flex;flex-direction:column;align-items:center;gap:12px}.podium{display:flex;align-items:flex-end;justify-content:center;gap:10px}.podium-spot{display:flex;flex-direction:column;align-items:center;gap:2px;width:150px;padding:0;border:0;background:none;animation:rise .6s cubic-bezier(.3,1.4,.5,1) both}.podium-spot.place-1{animation-delay:.5s}.podium-spot.place-2{animation-delay:.25s}.medal{font-size:2.2rem;line-height:1}.podium-name{font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.podium-score{font-size:.85rem;color:var(--muted)}.pedestal{width:100%;margin-top:6px;display:grid;place-items:center;font-family:var(--font-display);font-size:2rem;font-weight:700;color:var(--art-line);background:var(--art-stone);border:2px solid var(--art-line);border-bottom:0;border-radius:8px 8px 0 0}.place-1 .pedestal{height:130px;background:color-mix(in srgb,var(--gold) 45%,var(--art-stone))}.place-2 .pedestal{height:95px}.place-3 .pedestal{height:70px;background:color-mix(in srgb,var(--accent) 22%,var(--art-stone))}.podium-spot.selected .podium-name{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.podium+.also-ran{margin-top:0}.podium{border-bottom:3px solid var(--art-line);padding:0 12px}.also-ran{list-style:none;padding:0;margin:0;width:min(100%,420px);display:flex;flex-direction:column;gap:4px}.also-ran button{width:100%;display:flex;justify-content:space-between}.also-ran button.selected{border-color:var(--accent)}.awards{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.award{display:flex;flex-direction:column;align-items:center;min-width:150px;padding:10px 14px;border-radius:12px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 92%,transparent);text-align:center}.award-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:700}.stats{background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid var(--border);border-radius:14px;padding:16px 20px 20px}.stats h3{margin:0 0 12px;text-align:center}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px}.stat{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--art-stone) 70%,transparent)}.stat-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.stat-value{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--text)}.stat-detail{font-size:.8rem;color:var(--muted)}@keyframes rise{0%{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}@media(max-width:480px){.podium-spot{width:104px}.medal{font-size:1.7rem}}:root{--cat-war-empires: #a83232;--cat-technology-discovery: #2e6b9e;--cat-art: #8a4fa3;--cat-politics: #2f6f5e;--cat-natural-disasters: #c27a16;--cat-religion: #4a4a9c}@media(prefers-color-scheme:dark){:root{--cat-war-empires: #e07070;--cat-technology-discovery: #6fa8d8;--cat-art: #c08ad6;--cat-politics: #6cb8a2;--cat-natural-disasters: #e6a64a;--cat-religion: #9d9ce6}}[data-cat]{--cat: var(--accent)}[data-cat=war-empires]{--cat: var(--cat-war-empires)}[data-cat=technology-discovery]{--cat: var(--cat-technology-discovery)}[data-cat=art]{--cat: var(--cat-art)}[data-cat=politics]{--cat: var(--cat-politics)}[data-cat=natural-disasters]{--cat: var(--cat-natural-disasters)}[data-cat=religion]{--cat: var(--cat-religion)}.card[data-cat]{padding-top:0;overflow:hidden;border-color:color-mix(in srgb,var(--cat) 55%,var(--border));background:linear-gradient(to bottom,color-mix(in srgb,var(--cat) 8%,var(--surface)),var(--surface) 45%)}.card.correct[data-cat]{border-color:var(--good)}.card.wrong[data-cat]{border-color:var(--bad)}.card.pending[data-cat]{border-color:var(--pending)}.card-cat{margin:0 -12px 2px;padding:4px 10px;background:var(--cat, var(--muted));color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.card-foot{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.card-foot .card-region{text-align:left}.source-link{font-size:.75rem;font-weight:600;color:var(--cat, var(--accent));text-decoration:none;white-space:nowrap}.source-link:hover{text-decoration:underline}.card-back-face .source-link{margin-top:6px}.mini[data-cat]{border-left:6px solid var(--cat)}.mini .source-link{margin-left:4px;font-size:.75rem}.chip.cat.on{background:var(--cat);border-color:var(--cat);color:#fff}.teaser[data-cat]{border-color:var(--cat);border-top-width:8px}.card-range{font-size:.75rem;color:var(--muted);margin-top:-4px}.final-round{margin-bottom:8px;padding:6px 12px;border-radius:999px;background:color-mix(in srgb,var(--gold) 30%,var(--surface));border:1px solid var(--gold);font-weight:600;font-size:.9rem;text-align:center}.challenge-sheet{position:relative;z-index:5;width:min(100%,960px);padding:14px 16px;border-radius:16px;border:2px solid var(--art-line);background:var(--surface);box-shadow:0 16px 40px #28190a40;display:flex;flex-direction:column;align-items:center;gap:10px;animation:drop-in .35s cubic-bezier(.3,1.4,.5,1)}.ch-head{text-align:center}.ch-row{display:flex;align-items:stretch;gap:6px;overflow-x:auto;max-width:100%;padding:6px 4px}.ch-card{flex:none;width:118px;padding:6px 8px;border-radius:8px;border:2px solid var(--border);border-left:6px solid var(--cat, var(--border));background:var(--surface);display:flex;flex-direction:column;font-size:.75rem;line-height:1.25}.ch-card strong{color:var(--accent);font-size:.85rem}.ch-card.new{border-color:var(--pending);border-style:dashed;border-left-style:solid;transform:translateY(-4px);box-shadow:0 6px 12px #0000001f}.ch-card.new.moved{border-color:var(--accent)}.challenge-sheet.revealed .ch-card.new{border-style:solid}.ch-card.ghost{justify-content:center;align-items:center;text-align:center;color:var(--muted);border-style:dotted;background:none}.ch-slot{flex:none;align-self:center;padding:6px 10px;border:2px dashed var(--accent);color:var(--accent);font-weight:700;border-radius:999px;background:none}.ch-slot:hover{background:var(--accent);color:var(--accent-text)}.ch-action{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center}.well-actually{font-size:1.15rem;padding:10px 22px;animation:nudge 1s ease-in-out infinite}.well-actually small{opacity:.8;font-weight:500}.ch-claim{font-family:var(--font-display);font-size:1.3rem;font-weight:700;color:var(--accent)}.ch-verdict{font-family:var(--font-display);font-size:1.8rem;font-weight:700;display:flex;flex-direction:column;align-items:center}.ch-verdict small{font-family:Inter,sans-serif;font-size:.85rem;font-weight:500;color:var(--muted)}.ch-verdict.win{color:var(--good)}.ch-verdict.shame{color:var(--bad);transform:rotate(-4deg);border:4px solid var(--bad);border-radius:10px;padding:2px 16px;animation:stamp .35s cubic-bezier(.3,1.6,.5,1) 1.45s both}@keyframes drop-in{0%{transform:translateY(-20px);opacity:0}to{transform:none;opacity:1}}@keyframes nudge{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes stamp{0%{transform:rotate(-4deg) scale(2.2);opacity:0}to{transform:rotate(-4deg) scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.well-actually,.ch-verdict.shame,.challenge-sheet{animation:none}}.card-back-face[data-cat]{position:relative;padding-top:30px}.card-back-face .card-cat{position:absolute;top:0;left:0;right:0;margin:0}.lives{display:inline-flex;gap:2px;font-size:1.15rem;line-height:1;color:var(--bad)}.lives .heart{transition:transform .3s,opacity .3s}.lives .heart.lost{opacity:.2;filter:grayscale(1);transform:scale(.85)}.players .lives{font-size:.8rem}.players li.out{opacity:.55}p.center{text-align:center}.start-countdown{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:grid;place-content:center;text-align:center;background:color-mix(in srgb,var(--bg) 80%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.start-number{font:700 9rem/1 var(--font-display);color:var(--accent);animation:start-pop 1s ease-out}.start-countdown p{font-size:1.2rem;color:var(--muted)}@keyframes start-pop{0%{transform:scale(1.8);opacity:0}20%{transform:scale(1);opacity:1}to{transform:scale(.9);opacity:.85}}@media(prefers-reduced-motion:reduce){.start-number{animation:none}}.pstatus.dead{color:var(--bad);font-weight:600}.ad-slot{position:relative;z-index:1;margin:24px auto 0;max-width:728px;text-align:center}.ad-slot.inline .adsbygoogle{min-height:90px}.ad-slot.side{position:fixed;top:50%;transform:translateY(-50%);z-index:2;width:160px;margin:0;max-width:none}.app:has(.ad-slot.side):not(:has(.filter-panel)){max-width:min(1100px,calc(100vw - 400px))}.ad-slot.side.left{left:calc((100vw - min(1100px,100vw - 400px))/4 - 80px)}.ad-slot.side.right{right:calc((100vw - min(1100px,100vw - 400px))/4 - 80px)}.ad-slot.side .adsbygoogle{width:160px;min-height:600px}.app:has(.filter-panel) .ad-slot.side{display:none}.ad-preview{display:grid;place-items:center;height:90px;border:1px dashed var(--border);border-radius:10px;color:var(--muted);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;background:color-mix(in srgb,var(--surface) 60%,transparent)}.ad-slot.side .ad-preview{height:600px}button.link{background:none;border:0;padding:2px 4px;color:var(--muted);font-size:.8rem;text-decoration:underline;box-shadow:none}.ad-hide{margin-top:6px;background:color-mix(in srgb,var(--surface) 85%,transparent)!important;border-radius:999px!important;padding:2px 10px!important}.site-footer{position:sticky;bottom:8px;z-index:30;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 14px;width:fit-content;max-width:100%;margin:24px auto 0;padding:4px 14px;border-radius:999px;background:color-mix(in srgb,var(--surface) 90%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border:1px solid color-mix(in srgb,var(--border) 60%,transparent);font-size:.8rem;color:var(--muted)}.site-footer a{color:var(--muted)}a.donate{position:fixed;right:16px;bottom:8px;z-index:31;padding:5px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text);text-decoration:none;font-weight:600;font-size:.85rem;box-shadow:0 3px 12px #3c28141f}a.donate:hover{border-color:var(--accent);color:var(--accent)}@media(max-width:760px){.app:has(>a.donate) .site-footer{margin-left:0;max-width:calc(100% - 96px);justify-content:flex-start;border-radius:14px}}.mode-picker{display:grid;gap:8px;margin-bottom:16px}.mode-head{display:flex;align-items:baseline;gap:6px}.mode-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.mode-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:10px 12px;border-radius:12px}.mode-card small{color:var(--muted);font-weight:400;line-height:1.35}.mode-card.on{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}.mode-card.on strong{color:var(--accent)}.mode-card.custom:not(.on){border-style:dashed}.mode-card:disabled{opacity:1;cursor:default}.mode-card:disabled:not(.on){opacity:.6}.mode-desc{margin:0;font-size:.9rem}.deck-loader{display:grid;gap:8px}.deck-loader textarea{width:100%;box-sizing:border-box;font:.8rem/1.4 ui-monospace,monospace;padding:8px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);resize:vertical}.deck-loader .row{flex-wrap:wrap;align-items:center}.deck-loader a{font-size:.9rem}.file-button{position:relative;overflow:hidden;cursor:pointer;display:inline-flex;flex-direction:row;padding:8px 16px;border-radius:8px;border:1px solid var(--border);background:var(--surface)}.file-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.deck-problems{font-size:.9rem}.deck-problems ul{margin:4px 0 0;padding-left:20px}.era-edge{position:absolute;width:0;border-left:2px dashed color-mix(in srgb,var(--accent) 55%,transparent);pointer-events:none}.era-edge span{position:absolute;top:6px;left:6px;white-space:nowrap;font-size:.75rem;font-weight:700;color:var(--accent);background:color-mix(in srgb,var(--surface) 80%,transparent);padding:1px 6px;border-radius:6px}.policy{max-width:760px;margin:0 auto;padding:24px 16px 48px}.policy-home{display:inline-flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-family:var(--font-display);font-size:1.4rem;font-weight:700}.policy-body{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:24px 28px;margin-top:16px;line-height:1.6}.policy-body h1{margin-top:0;font-family:var(--font-display)}.policy-body h2{font-family:var(--font-display);font-size:1.15rem;color:var(--accent);margin:28px 0 6px}.policy-body a{color:var(--accent)}.policy-body code{font:.85em ui-monospace,monospace;background:color-mix(in srgb,var(--text) 6%,transparent);padding:0 4px;border-radius:4px}.policy-back{margin-top:32px}@media(max-width:560px){.policy-body{padding:18px 16px}}.round-results{list-style:none;margin:0 0 8px;padding:6px 10px;display:grid;gap:2px;border-radius:12px;background:color-mix(in srgb,var(--surface) 85%,transparent);border:1px solid var(--border);font-size:.9rem}.round-results li{display:flex;align-items:baseline;gap:8px}.round-results li.you .rr-line{font-weight:600}.round-results .rr-mark{width:1.4em;text-align:center;flex:none}.round-results li.good .rr-mark{color:var(--good)}.round-results li.bad .rr-mark{color:var(--bad)}.round-results .rr-line{flex:1;min-width:0}.round-results .rr-points{flex:none;font-weight:700;padding:0 8px;border-radius:999px;background:color-mix(in srgb,var(--gold) 30%,var(--surface))}
