:root{--paper:#f7f4ec;--surface:#fffdf8;--ink:#243d34;--muted:#66776e;--green:#285e4d;--green-soft:#e8f0e8;--line:#dedfd4;--gold:#bf8b58;--danger:#a8433b;--serif:Cambria,"Palatino Linotype","Noto Serif",serif}*{box-sizing:border-box}body{background:var(--paper);min-width:1180px;color:var(--ink);margin:0;font-family:Segoe UI,Arial,sans-serif;line-height:1.5}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}:focus-visible{outline-offset:2px;outline:3px solid #5a9e8f}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h2{margin-bottom:10px;font-size:17px}.shell{width:min(1280px,100% - 32px);margin:0 auto}.muted{color:var(--muted)}.small{font-size:12px}.error{color:var(--danger);font-weight:600}.eyebrow{color:var(--green);letter-spacing:1.4px;margin-bottom:4px;font-size:11px;font-weight:800}.code{background:var(--green-soft);color:var(--green);letter-spacing:2px;border-radius:6px;padding:1px 8px;font-family:ui-monospace,Consolas,monospace}.topbar{border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;display:flex}.landing .topbar{background:0 0;padding-left:0;padding-right:0}.brand{letter-spacing:1.2px;align-items:center;gap:10px;font-size:13px;font-weight:800;display:inline-flex}.brand-mark{background:var(--green);color:#fff;border-radius:9px;place-items:center;width:30px;height:30px;font-size:19px;display:grid}.topbar-mid{flex-direction:column;align-items:center;font-size:13px;display:flex}.topbar-end{align-items:center;gap:10px;display:flex}.chip{color:#fff;border-radius:99px;padding:3px 11px;font-size:12px;font-weight:700}.chip.dark{background:var(--green)}.text-link{color:var(--green);background:0 0;border:0;padding:2px;font-size:13px;font-weight:700;text-decoration:underline}.btn{border:1px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-weight:700;transition:transform .15s;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-2px)}.btn.primary{background:var(--green);color:#fff;border-color:var(--green)}.btn.danger{color:var(--danger);border-color:#e1b9b4}.btn.big{width:100%;min-height:56px;font-size:18px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:0 8px 26px #2e43360a}.stack{flex-direction:column;gap:12px;display:flex}.field{flex-direction:column;gap:5px;font-size:13px;font-weight:700;display:flex}input:not([type=range]){background:#fffefa;border:1px solid #cbd4c9;border-radius:9px;width:100%;min-height:44px;padding:11px 12px}.copy{color:var(--muted);font-size:12px}.hero{grid-template-columns:1.2fr 1fr;align-items:center;gap:36px;padding:36px 0;display:grid}.hero h1{letter-spacing:-.04em;margin:8px 0 18px;font-size:clamp(36px,5vw,66px);line-height:1.05}.hero h1 em{color:var(--green);font-style:normal;font-family:var(--serif)}.lead{color:var(--muted);max-width:560px;font-size:17px}.rules{grid-template-columns:1fr 1fr;gap:20px;padding-bottom:50px;display:grid}.rules ol{gap:9px;margin:0;padding-left:20px;display:grid}.skill-legend{grid-template-columns:1fr 1fr;gap:9px 16px;margin:0;padding:0;list-style:none;display:grid}.skill-legend li{gap:9px;font-size:13px;display:flex}.skill-legend span{font-size:22px}.lobby,.game{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:start;gap:20px;padding:20px 0 60px;display:grid}.lobby h1{margin-bottom:8px;font-size:30px}.team-list{gap:8px;margin:16px 0;padding:0;list-style:none;display:grid}.team-list li{border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.team-list li.empty{color:var(--muted);border-style:dashed}.team-list i,.score i,.rank i,.target i{border-radius:50%;flex:none;width:14px;height:14px;display:inline-block}.team-list .text-link{margin-left:auto}.swatches{gap:8px;display:flex}.swatch{border:3px solid #0000;border-radius:50%;width:34px;height:34px}.swatch.on{border-color:var(--ink)}.notice{color:#795b24;background:#fff4dd;border:1px solid #e9d6a7;border-radius:10px;padding:10px 12px;font-size:13px}.board-wrap{background:radial-gradient(30% 9% at 14% 12%,#fff 0,#fff0 100%),radial-gradient(26% 8% at 86% 20%,#fff 0,#fff0 100%),radial-gradient(22% 7% at 78% 90%,#ffffffb0 0,#fff0 100%),linear-gradient(#8fd3f4 0,#5bb4e6 55%,#3a93d1 100%);border:0;padding:8px 8px 40px;position:relative;overflow:hidden}@keyframes pulse{50%{opacity:.55;transform:scale(1.12)}}.die{border:2px solid var(--ink);background:#fff;border-radius:12px;flex:none;grid-template:repeat(3,1fr)/repeat(3,1fr);place-items:center;width:52px;height:52px;padding:7px;display:grid;box-shadow:0 4px 10px #0003}.die b{grid-area:2/2;font-size:24px}.die .pip{background:var(--ink);border-radius:50%;width:9px;height:9px}.die.rolling{animation:.7s ease-out roll}@keyframes roll{0%{transform:rotate(0)scale(.6)}60%{transform:rotate(540deg)scale(1.2)}to{transform:rotate(720deg)scale(1)}}.right{flex-direction:column;gap:14px;display:flex}.turn{border-width:3px}.turn.mine{box-shadow:0 0 0 5px #bf8b5833,0 8px 26px #2e43361a}.turn-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.turn-head h2{font-size:24px;font-family:var(--serif);margin:0}.timer{font-variant-numeric:tabular-nums;background:var(--green-soft);color:var(--green);border-radius:12px;padding:2px 14px;font-size:26px;font-weight:800}.timer.low{color:var(--danger);background:#faece8;animation:1s infinite pulse}.q-text{font-size:19px;font-weight:600;line-height:1.45;font-family:var(--serif)}.options{gap:9px;margin:12px 0;display:grid}.option{text-align:left;border:1.5px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:12px;min-height:52px;padding:10px 14px;font-size:15px;display:flex}.option b{background:var(--green-soft);width:28px;height:28px;color:var(--green);border-radius:50%;flex:none;place-items:center;display:grid}.option:hover:not(:disabled){border-color:var(--green);background:var(--green-soft)}.hint{background:#fff4dd;border-radius:10px;padding:8px 12px;font-size:13px}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.status-icons{gap:10px;font-size:12px;font-weight:700;display:flex}.skills{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.skill{text-align:left;border:2px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;gap:3px;min-height:132px;padding:10px;display:flex;position:relative}.skill.enemy{background:#fdf4f2;border-color:#e3b3ad}.skill.self{background:#f3f9f5;border-color:#b7d3c3}.skill.selected{outline:3px solid var(--gold)}.skill:hover:not(:disabled){transform:translateY(-3px)}.skill-icon{font-size:26px}.skill small{color:var(--muted);font-size:11.5px;line-height:1.35}.skill em{letter-spacing:.6px;color:var(--green);text-transform:uppercase;margin-top:auto;font-size:10px;font-style:normal;font-weight:800}.skill.enemy em{color:var(--danger)}.targets{border-top:1px dashed var(--line);flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding-top:12px;display:flex}.targets p{width:100%;margin:0;font-size:13px}.target{background:#fff;border:2px solid;border-radius:10px;align-items:center;gap:8px;padding:8px 12px;font-weight:700;display:inline-flex}.target small{color:var(--muted);font-weight:400}.result.correct{border-left:6px solid #2e8b57}.result.wrong,.result.timeout{border-left:6px solid var(--danger)}.q-review{margin:6px 0 0;font-size:13px}.score{border-radius:9px;grid-template-columns:14px 1fr 1fr auto auto;align-items:center;gap:9px;padding:6px 8px;font-size:14px;display:grid}.score.turn{background:var(--green-soft);box-shadow:none;border:0}.bar{background:#ece8da;border-radius:99px;height:9px;overflow:hidden}.bar span{border-radius:99px;height:100%;transition:width .7s;display:block}.score-num{font-variant-numeric:tabular-nums;font-weight:700}.score-meta{justify-content:flex-end;align-items:center;gap:4px;min-width:62px;font-size:12px;display:flex}.log ul{gap:4px;max-height:260px;margin:0;padding:0;font-size:13px;list-style:none;display:grid;overflow:auto}.log li{border-bottom:1px solid #f0eee4;padding:3px 0}.host-controls{gap:10px;display:flex}.winner{text-align:center;border-width:3px;animation:.6s pop}.winner h1{font-size:40px;font-family:var(--serif);margin:4px 0 12px}@keyframes pop{0%{opacity:0;transform:scale(.9)}}.rank{text-align:left;gap:6px;margin:0 0 14px;padding:0;list-style:none;display:grid}.rank li{border:1px solid var(--line);border-radius:10px;align-items:center;gap:10px;padding:8px 12px;display:flex}.rank span{color:var(--muted);margin-left:auto;font-size:12px}.rank b{width:20px}.toast{z-index:20;background:#fff;border:1px solid #e1b9b4;border-radius:12px;padding:10px 18px;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 8px 26px #0003}.center-note{text-align:center;place-content:center;gap:14px;min-height:60vh;display:grid}.projector{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);width:min(1800px,100% - 32px)}.projector .q-text{font-size:26px}.projector .option{min-height:62px;font-size:20px}.projector .turn-head h2{font-size:32px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.table-top .board{width:100%;height:100%;position:absolute;inset:0}.hand-fan{justify-content:center;min-height:230px;padding:20px 14px 8px;display:flex;overflow-x:auto}.game-card{--tone:#285e4d;text-align:left;border:2px solid var(--tone);width:138px;min-height:204px;transform:translateY(var(--lift,0)) rotate(var(--rot,0deg));color:var(--ink);background:#fffdf8;border-radius:14px;flex-direction:column;flex:none;margin:0 -4px;padding:0;transition:transform .22s,box-shadow .22s;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 16px #2e43362e}.game-card.enemy{--tone:#b65b55}.game-card.help{--tone:#bf8b58}.game-card:hover:not(:disabled){z-index:3;transform:translateY(-16px)rotate(0)scale(1.07);box-shadow:0 18px 30px #2e43364a}.game-card.is-selected{z-index:4;outline:3px solid #bf8b58;transform:translateY(-20px)rotate(0)scale(1.08)}.game-card:disabled{filter:saturate(.45);opacity:.8}.card-band{background:var(--tone);color:#fff;letter-spacing:1px;justify-content:space-between;padding:5px 9px;font-size:9px;font-weight:800;display:flex}.card-art{background:radial-gradient(circle at 50% 40%,#fff 0,color-mix(in srgb,var(--tone) 22%,#fffdf8) 100%);border-bottom:1px solid var(--line);place-items:center;height:68px;font-size:36px;display:grid}.card-body{flex-direction:column;flex:1;gap:4px;padding:8px 10px 10px;display:flex}.card-body strong{font-family:var(--serif);font-size:13.5px;line-height:1.2}.card-body span{font-size:11px;line-height:1.35}.card-body em{color:var(--muted);margin-top:auto;font-size:9.5px;line-height:1.3}.game-card.big{width:220px;min-height:300px;margin:0}.game-card.big .card-art{height:100px;font-size:52px}.game-card.big .card-body strong{font-size:17px}.game-card.big .card-body span{font-size:13px}.game-card.big .card-body em{font-size:11.5px}.card-back{background:repeating-linear-gradient(45deg,#285e4d 0 6px,#2f6f5b 6px 12px);border:2px solid #fff;border-radius:7px;flex:none;width:44px;height:62px;box-shadow:0 3px 6px #0003}.score-cards{margin-left:6px;display:flex}.score-cards .card-back{border-width:1px;border-radius:3px;width:13px;height:19px;margin-left:-5px}.library{gap:24px;padding:20px 0 70px;display:grid}.library h1{font-size:34px;font-family:var(--serif);margin-bottom:6px}.deck-gallery{flex-wrap:wrap;justify-content:center;gap:20px;display:flex}.deck-note{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.deck-note div{background:var(--green-soft);border-radius:12px;padding:12px 14px;font-size:13px}.q-tools{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.q-tools input{max-width:340px}.q-list{gap:12px;display:grid}.q-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:14px 16px}.q-card h3{font-family:var(--serif);margin:2px 0 8px;font-size:17px}.q-opts{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px;display:grid}.q-opts span{border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:13px}.q-opts .ok{background:var(--green-soft);color:var(--green);border-color:#acc9af;font-weight:700}.board-wrap{background:radial-gradient(30% 9% at 14% 10%,#fff 0,#fff0 100%),radial-gradient(26% 8% at 86% 16%,#fff 0,#fff0 100%),linear-gradient(#9ddcf7 0,#6cc0ea 60%,#4fa8dc 100%);padding:6px 6px 14px}.table-scene{perspective:1700px;padding:0 2%}.table-top{--tilt:36deg;aspect-ratio:1;width:100%;transform:rotateX(var(--tilt));transform-style:preserve-3d;transform-origin:50% 56%;border-radius:46px;margin:-5% 0 -6%;position:relative;box-shadow:0 12px #8a5a33,0 26px #6e4526,0 58px 44px #0a3a5c80}.table-top.shake{animation:.6s ease-out table-shake}@keyframes table-shake{0%,to{transform:rotateX(var(--tilt))}15%{transform:rotateX(calc(var(--tilt) + 2deg)) translateX(-7px)}35%{transform:rotateX(calc(var(--tilt) - 1.5deg)) translateX(6px)}60%{transform:rotateX(var(--tilt)) translateX(-3px)}}.table-top .board{border-radius:46px;width:100%;height:100%;position:absolute;inset:0}.lane-no{fill:#fff;font-size:15px;font-weight:800}.cell-star{fill:#fff;font-size:17px}.props{transform-style:preserve-3d;pointer-events:none;position:absolute;inset:0}.prop{transform:translate(-50%,-85%) rotateX(calc(var(--tilt) * -1));transform-origin:50% 100%;filter:drop-shadow(0 4px 3px #0005);line-height:1;position:absolute}.pawns{transform-style:preserve-3d;pointer-events:none;position:absolute;inset:0}.pawn{--c:#888;aspect-ratio:1/1.3;width:7.2%;transform:translate(-50%,-86%) rotateX(calc(var(--tilt) * -1));transform-origin:50% 100%;transform-style:preserve-3d;pointer-events:auto;transition:left .9s cubic-bezier(.4,.1,.2,1),top .9s cubic-bezier(.4,.1,.2,1);position:absolute}.horse-svg{filter:drop-shadow(0 3px 2px #0006);width:100%;height:100%;display:block;overflow:visible}.h-base{fill:#0005}.h-stand{fill:var(--c);stroke:#fff;stroke-width:3px}.h-body{fill:var(--c);stroke:#fff;stroke-width:3.5px;stroke-linejoin:round}.h-mane{fill:#fff;opacity:.88}.h-bridle{stroke:#fff;stroke-width:4px;stroke-linecap:round}.h-eye{fill:#243d34}.pawn-name{white-space:nowrap;color:#fff;background:var(--c);text-overflow:ellipsis;border-radius:99px;max-width:90px;padding:0 6px;font-size:10px;font-weight:800;position:absolute;bottom:-30%;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 2px 4px #0005}.pawn.idle{opacity:.92}.pawn.active{animation:1s ease-in-out infinite pawn-hop;z-index:999!important}.pawn.active .horse-svg{filter:drop-shadow(0 0 9px var(--c)) drop-shadow(0 3px 2px #0006)}@keyframes pawn-hop{50%{translate:0 -9px}}.pawn.kicked{animation:1.4s ease-out kicked;z-index:1000!important}.pawn.kicked .horse-svg{filter:drop-shadow(0 0 10px #ff2a2a)drop-shadow(0 3px 2px #0006)}@keyframes kicked{0%{rotate:none;scale:1}20%{translate:0 -34px;rotate:-35deg;scale:1.45}60%{translate:0 -22px;rotate:340deg;scale:1.2}to{translate:0;rotate:720deg;scale:1}}.team-tag{transform:translate(-50%,-50%) rotateX(calc(var(--tilt) * -1));background:var(--c);color:#fff;white-space:nowrap;border:2px solid #fff;border-radius:99px;padding:2px 10px;font-size:12px;font-weight:800;position:absolute;box-shadow:0 2px 5px #0005}.team-tag.active{outline:3px solid #fff7;animation:1.1s infinite pulse}.team-cards{transform:translate(-50%,-50%) rotateX(calc(var(--tilt) * -1));display:flex;position:absolute}.team-cards .card-back{width:22px;height:32px;transform:rotate(calc((var(--i) - 1) * 7deg));border-width:1.5px;border-radius:4px;margin-left:-12px}.boom{transform:translate(-50%,-60%) rotateX(calc(var(--tilt) * -1));pointer-events:none;z-index:2000;position:absolute}.boom i{background:radial-gradient(#fff 0,#ffe45a 30%,#ff7a1a 55%,#ff2a2a00 72%);border-radius:50%;width:120px;height:120px;margin:-60px;animation:1.1s ease-out forwards boom-burst;position:absolute;top:50%;left:50%}.boom b{color:#fff;-webkit-text-stroke:2px #d02020;text-shadow:0 4px #8c1010,0 8px 14px #0006;letter-spacing:2px;font-size:34px;font-weight:900;animation:1.5s ease-out forwards boom-text;display:block;position:relative}@keyframes boom-burst{0%{opacity:1;transform:scale(.2)}to{opacity:0;transform:scale(2)}}@keyframes boom-text{0%{opacity:0;transform:scale(.3)rotate(-14deg)}25%{opacity:1;transform:scale(1.35)rotate(-6deg)}to{opacity:0;transform:scale(1)translateY(-40px)rotate(-4deg)}}.hub-center{transform:translate(-50%,-52%) rotateX(calc(var(--tilt) * -1));transform-origin:50% 100%;pointer-events:none;position:absolute;top:50%;left:50%}.hub-center .die{width:50px;height:50px;box-shadow:0 8px 14px #0006}.tray{z-index:3;grid-template-columns:130px 1fr 150px;gap:10px;margin-top:26px;display:grid;position:relative}.tray-slot{text-align:center;background:#ffffffd9;border:2px dashed #7fb4d6;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:130px;padding:8px 10px;display:flex}.tray-label{letter-spacing:1px;color:var(--green);font-size:10px;font-weight:800}.deck-pile{width:46px;height:64px;position:relative}.deck-pile .card-back{left:calc(var(--i) * 3px);top:calc(var(--i) * -3px);width:44px;height:62px;position:absolute}.exit-rule{font-size:20px}.played{text-align:left;align-items:center;gap:12px;font-size:13px;animation:.5s pop;display:flex}.played .game-card{width:92px;height:112px;min-height:0;margin:0}.played .card-art{height:44px;font-size:26px}.played .card-body span,.played .card-body em{display:none}.played .card-band{font-size:8px}.rule-chips{flex-wrap:wrap;gap:8px;margin:10px 0 14px;display:flex}.rule-chips span{background:var(--green-soft);border-radius:99px;padding:4px 12px;font-size:13px}.slots{grid-template-columns:1fr 1fr;gap:12px;margin:14px 0;display:grid}.slot{--c:#ccc;border:2px dashed color-mix(in srgb,var(--c) 55%,#fff);background:color-mix(in srgb,var(--c) 8%,#fff);border-radius:14px;flex-direction:column;gap:8px;padding:12px;display:flex}.slot.taken{border-style:solid;border-color:var(--c);background:color-mix(in srgb,var(--c) 14%,#fff)}.slot.mine{box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 40%,transparent)}.slot-head{align-items:center;gap:10px;font-size:14px;display:flex}.slot-head .small{margin-left:auto}.slot-horse{flex:none;width:28px;height:36px}.slot-members{align-content:start;gap:3px;min-height:62px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.slot-members li{align-items:center;gap:7px;display:flex}.slot-members li .text-link{margin-left:auto}.slot-members i{background:#c9c4b2;border-radius:50%;width:8px;height:8px;display:inline-block}.slot-members i.on{background:#2e8b57}.slot-actions{justify-content:flex-end;gap:10px;min-height:36px;display:flex}.slot .btn{min-height:36px;padding:6px 14px;font-size:13px}.score-name small{color:var(--muted);font-size:11px;display:block}.log li.kick{color:#b3261e;font-weight:600}.kick-text{color:#b3261e}.board-wrap .reveal{z-index:30;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;background:#0c2a4488;flex-direction:column;justify-content:center;align-items:center;gap:14px;animation:.4s ease-out reveal-in;display:flex;position:absolute;inset:0}.reveal .game-card.big{animation:.7s cubic-bezier(.2,1.2,.3,1) reveal-card;box-shadow:0 22px 50px #000a}.reveal-text{text-align:center;background:#fffdf8;border-radius:14px;max-width:80%;padding:10px 18px;font-size:15px;box-shadow:0 8px 24px #0006}.reveal-text em{color:#b3261e;font-style:normal;font-weight:800}@keyframes reveal-in{0%{opacity:0}}@keyframes reveal-card{0%{opacity:0;transform:translateY(120px)rotate(-14deg)scale(.3)}}.skill-log ul{gap:6px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.skill-log li{background:#f6f2e6;border-radius:10px;align-items:flex-start;gap:10px;padding:6px 8px;display:flex}.skill-log li.blocked{background:#fbe9e6}.log-icon{font-size:22px;line-height:1}.score-hand{white-space:nowrap;justify-content:flex-end;align-items:center;gap:5px;min-width:92px;font-size:12px;display:flex}.score-hand b{color:var(--green);font-size:16px}.pawn.target{animation:.5s ease-in-out infinite pawn-hop;z-index:1500!important}.pawn.target .horse-svg{filter:drop-shadow(0 0 3px #fff)drop-shadow(0 0 12px #ffe14a)drop-shadow(0 0 18px #ff5a1a)}.pawn.target:after{content:"🎯";font-size:24px;position:absolute;top:-34%;left:50%;transform:translate(-50%)}.pawn-badge{z-index:2;font-size:16px;position:absolute;top:-14%;right:-24%}.picker{border:2px solid var(--gold);background:#fffaf0;border-radius:16px;margin-top:14px;padding:14px;animation:.25s pop;box-shadow:0 10px 30px #5f4a2a30}.picker-head{grid-template-columns:auto 1fr auto;align-items:start;gap:14px;display:grid}.picker-head h3{font-family:var(--serif);margin:0 0 4px;font-size:20px}.picker-head p{margin:0 0 4px;font-size:13px}.picker-head .game-card{width:112px;height:150px;min-height:0;margin:0}.picker-head .card-art{height:50px;font-size:28px}.picker-head .card-body span,.picker-head .card-body em{display:none}.picker-teams{gap:10px;margin-top:12px;display:grid}.picker-team{background:#fff;border:2px solid;border-radius:12px;padding:8px 10px}.picker-team-head{align-items:center;gap:8px;margin-bottom:6px;font-size:14px;display:flex}.picker-team-head span{color:var(--muted);margin-left:auto;font-size:12px}.picker-team-head i{border-radius:50%;width:12px;height:12px}.picker-horses{flex-wrap:wrap;gap:8px;display:flex}.picker-horse{--c:#888;text-align:left;border:2px solid var(--c);background:color-mix(in srgb,var(--c) 10%,#fff);border-radius:10px;grid-template-rows:auto auto auto;grid-template-columns:34px 1fr;column-gap:8px;min-width:150px;padding:6px 10px;display:grid}.picker-horse .mini-horse{grid-row:1/4;align-self:center;width:34px;height:44px}.picker-horse b{font-size:13px}.picker-horse small{color:var(--muted);font-size:11px}.picker-horse em{color:#b3261e;font-size:11px;font-style:normal}.picker-horse:hover:not(:disabled){background:color-mix(in srgb,var(--c) 24%,#fff);transform:translateY(-3px);box-shadow:0 8px 16px #0003}.narrow{max-width:560px}.join-card{margin-top:28px}.join-card h1{margin:0;font-size:30px}.code-input{letter-spacing:8px;text-align:center;text-transform:uppercase;font-family:ui-monospace,Consolas,monospace;font-size:28px}.entrances{gap:14px}.entrance{border:2px solid var(--line);background:#fff;border-radius:18px;grid-template-rows:auto auto;grid-template-columns:56px 1fr;align-items:center;column-gap:14px;padding:18px 20px;transition:transform .15s,box-shadow .15s;display:grid;box-shadow:0 8px 24px #2e43360d}.entrance:hover{transform:translateY(-3px);box-shadow:0 14px 30px #2e433622}.entrance b{font-size:20px;font-family:var(--serif)}.entrance small{color:var(--muted);font-size:13px}.entrance-icon{text-align:center;grid-row:1/3;font-size:38px}.entrance.player{background:#f1faf4;border-color:#35a05f}.entrance.admin{background:#fdf6ec;border-color:#bf8b58}.admin-grid{grid-template-columns:minmax(0,380px) minmax(0,1fr);align-items:start;gap:20px;padding:20px 0 60px;display:grid}.room-table{border-collapse:collapse;width:100%;font-size:14px}.room-table th{text-align:left;letter-spacing:1px;color:var(--muted);padding:6px 8px;font-size:11px}.room-table td{border-top:1px solid var(--line);vertical-align:middle;padding:10px 8px}.row-actions{justify-content:flex-end;align-items:center;gap:12px;display:flex}.danger-link{color:var(--danger)}.status{background:#eee;border-radius:99px;padding:2px 10px;font-size:12px;font-weight:700}.status.lobby{color:#1d6ba8;background:#e3f1fb}.status.playing{color:#1f7a40;background:#e4f5e8}.status.finished{color:#7a6a46;background:#f0ebe0}.share{gap:4px;font-size:13px;display:grid}code{background:var(--green-soft);border-radius:5px;padding:1px 6px}.status{white-space:nowrap;display:inline-block}.row-actions .btn,.row-actions .text-link{white-space:nowrap}.notice.warn{color:#8e2a22;background:#fdecea;border-color:#f0b9b3}.dice-pair{flex:none;align-items:center;gap:6px;display:flex}.dice-pair .die{border-radius:10px;width:44px;height:44px;margin:0;padding:5px}.dice-pair .die .pip{width:7px;height:7px}.dice-sum{color:var(--green);text-align:center;min-width:24px;font-size:20px;font-weight:900}.dice-pair.double .die{box-shadow:0 0 0 3px #ffd84a,0 6px 12px #0004}.dice-pair.double .dice-sum:after{content:" ★";color:#d49a00}.hub-center .dice-pair{gap:3px}.hub-center .dice-pair .die{border-radius:8px;width:32px;height:32px;padding:3px;box-shadow:0 6px 10px #0006}.hub-center .dice-pair .die .pip{width:5px;height:5px}.hub-center .dice-sum{display:none}.hub-center .die b{font-size:16px}.game-clock{color:var(--green);font-variant-numeric:tabular-nums}.game-clock.low{color:#b3261e;animation:1s infinite pulse}.move-panel{margin-top:6px}.move-options{gap:8px;margin-top:8px;display:grid}.move-option{--c:#888;text-align:left;border:2px solid var(--c);background:color-mix(in srgb,var(--c) 8%,#fff);border-radius:12px;grid-template-rows:auto auto;grid-template-columns:40px 1fr auto;align-items:center;column-gap:12px;padding:10px 14px;display:grid}.move-option .mini-horse{grid-row:1/3;width:34px;height:44px}.move-option b{font-size:16px}.move-option small{color:var(--muted);grid-column:2;font-size:13px}.move-option .tag{color:#8a5a00;background:#fff3cd;border-radius:99px;grid-area:1/3/3;padding:3px 10px;font-size:12px;font-style:normal;font-weight:800}.move-option .tag.kick{color:#b3261e;background:#fdecea}.move-option .tag.home{color:#1f7a40;background:#e4f5e8}.move-option:hover:not(:disabled){background:color-mix(in srgb,var(--c) 22%,#fff);transform:translateY(-2px);box-shadow:0 8px 16px #0003}.pawn.selectable{cursor:pointer;animation:.6s ease-in-out infinite pawn-hop;z-index:1400!important}.pawn.selectable .horse-svg{filter:drop-shadow(0 0 4px #fff) drop-shadow(0 0 12px var(--c))}.pawn.selectable:after{content:"👆";font-size:22px;position:absolute;top:-40%;left:50%;transform:translate(-50%)}
