:root{--bg:#f4f1ea;--surface:#fff;--ink:#141414;--ink-2:#4a4a4a;--muted:#8a8578;--line:#ddd6c8;--accent:#c2410c;--accent-ink:#fff;--court:#e9d3a8;--court-line:#fff;--ok:#15803d;--bad:#b91c1c;--radius:14px;color:var(--ink);background:var(--bg);font-family:Helvetica Neue,Helvetica,Arial,system-ui,sans-serif}*{box-sizing:border-box}body{background:var(--bg);margin:0}button{font:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.45}.app{max-width:1100px;margin:0 auto;padding:12px 16px}.side-panel{z-index:5;flex-direction:column;gap:10px;width:150px;font-size:13px;display:flex;position:fixed;top:12px;right:16px}.side-panel .side-nav{flex-direction:column;gap:6px;font-size:14px;font-weight:700;display:flex}.side-panel a{color:var(--ink-2);text-decoration:none}.side-panel a:hover{color:var(--ink);text-decoration:underline}.side-panel a.on{color:var(--accent)}.notice{color:var(--muted);margin:0 0 12px;font-size:13px}.btn{border:1px solid var(--ink);background:var(--surface);color:var(--ink);border-radius:999px;padding:8px 16px;font-weight:600}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.small{padding:4px 10px;font-size:13px}.btn.on{background:var(--ink);color:var(--surface)}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.price{opacity:.8;font-weight:400}:root{--brick:#faeee5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 100'%3E%3Crect width='240' height='100' fill='%23f4e4d9'/%3E%3Crect x='1' y='1' width='58' height='23' rx='1' fill='%23faece3'/%3E%3Crect x='61' y='1' width='58' height='23' rx='1' fill='%23fbf1e9'/%3E%3Crect x='121' y='1' width='58' height='23' rx='1' fill='%23fbefe6'/%3E%3Crect x='181' y='1' width='58' height='23' rx='1' fill='%23f9ebe0'/%3E%3Crect x='241' y='1' width='58' height='23' rx='1' fill='%23f9ebe0'/%3E%3Crect x='-29' y='26' width='58' height='23' rx='1' fill='%23faece3'/%3E%3Crect x='31' y='26' width='58' height='23' rx='1' fill='%23fbefe6'/%3E%3Crect x='91' y='26' width='58' height='23' rx='1' fill='%23fbefe6'/%3E%3Crect x='151' y='26' width='58' height='23' rx='1' fill='%23fbefe6'/%3E%3Crect x='211' y='26' width='58' height='23' rx='1' fill='%23f9ebe0'/%3E%3Crect x='1' y='51' width='58' height='23' rx='1' fill='%23faeee5'/%3E%3Crect x='61' y='51' width='58' height='23' rx='1' fill='%23fbf1e9'/%3E%3Crect x='121' y='51' width='58' height='23' rx='1' fill='%23fbefe6'/%3E%3Crect x='181' y='51' width='58' height='23' rx='1' fill='%23faece3'/%3E%3Crect x='241' y='51' width='58' height='23' rx='1' fill='%23faeee5'/%3E%3Crect x='-29' y='76' width='58' height='23' rx='1' fill='%23faeee5'/%3E%3Crect x='31' y='76' width='58' height='23' rx='1' fill='%23fbf1e9'/%3E%3Crect x='91' y='76' width='58' height='23' rx='1' fill='%23fbf1e9'/%3E%3Crect x='151' y='76' width='58' height='23' rx='1' fill='%23faece3'/%3E%3Crect x='211' y='76' width='58' height='23' rx='1' fill='%23fbefe6'/%3E%3C/svg%3E") 0 1.1cqw / 149cqw auto repeat;--brick-row:#faeee5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 100'%3E%3Crect width='240' height='100' fill='%23e9cdb9'/%3E%3Crect x='1' y='1' width='58' height='23' rx='1' fill='%23faece3'/%3E%3Crect x='61' y='1' width='58' height='23' rx='1' fill='%23fbf1e9'/%3E%3Crect x='121' y='1' width='58' height='23' rx='1' fill='%23fbefe6'/%3E%3Crect x='181' y='1' width='58' height='23' rx='1' fill='%23f9ebe0'/%3E%3Crect x='241' y='1' width='58' height='23' rx='1' fill='%23f9ebe0'/%3E%3Crect x='-29' y='26' width='58' height='23' rx='1' fill='%23faece3'/%3E%3Crect x='31' y='26' width='58' height='23' rx='1' fill='%23fbefe6'/%3E%3Crect x='91' y='26' width='58' height='23' rx='1' fill='%23fbefe6'/%3E%3Crect x='151' y='26' width='58' height='23' rx='1' fill='%23fbefe6'/%3E%3Crect x='211' y='26' width='58' height='23' rx='1' fill='%23f9ebe0'/%3E%3Crect x='1' y='51' width='58' height='23' rx='1' fill='%23faeee5'/%3E%3Crect x='61' y='51' width='58' height='23' rx='1' fill='%23fbf1e9'/%3E%3Crect x='121' y='51' width='58' height='23' rx='1' fill='%23fbefe6'/%3E%3Crect x='181' y='51' width='58' height='23' rx='1' fill='%23faece3'/%3E%3Crect x='241' y='51' width='58' height='23' rx='1' fill='%23faeee5'/%3E%3Crect x='-29' y='76' width='58' height='23' rx='1' fill='%23faeee5'/%3E%3Crect x='31' y='76' width='58' height='23' rx='1' fill='%23fbf1e9'/%3E%3Crect x='91' y='76' width='58' height='23' rx='1' fill='%23fbf1e9'/%3E%3Crect x='151' y='76' width='58' height='23' rx='1' fill='%23faece3'/%3E%3Crect x='211' y='76' width='58' height='23' rx='1' fill='%23fbefe6'/%3E%3C/svg%3E") 0 -2px / 150px auto repeat;--marble-spot:#fdf6f5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 420' preserveAspectRatio='xMidYMid slice'%3E%3Crect width='400' height='420' fill='%23fdf6f5'/%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cpath d='M-40 40 C 80 90 160 120 250 210 S 380 330 460 360' stroke='%23f4c4ca' stroke-opacity='.6' stroke-width='60'/%3E%3Cpath d='M-40 250 C 60 280 140 320 220 400 S 330 470 380 480' stroke='%23f4c4ca' stroke-opacity='.5' stroke-width='40'/%3E%3Cpath d='M120 -30 C 210 20 270 60 330 130 S 420 200 450 230' stroke='%23f4c4ca' stroke-opacity='.45' stroke-width='30'/%3E%3Cpath d='M-20 70 C 90 110 170 150 240 230 S 360 320 430 350' stroke='%23d98995' stroke-opacity='.75' stroke-width='5'/%3E%3Cpath d='M-20 280 C 70 300 150 350 210 410' stroke='%23d98995' stroke-opacity='.7' stroke-width='4'/%3E%3Cpath d='M-20 160 C 80 190 170 240 260 320 S 360 400 420 430' stroke='%23fff' stroke-opacity='.9' stroke-width='8'/%3E%3Cpath d='M-20 20 C 70 50 130 70 190 120 S 300 200 340 250 S 400 300 430 310' stroke='%23c9944d' stroke-opacity='.7' stroke-width='6'/%3E%3Cpath d='M190 120 C 200 150 215 170 240 185' stroke='%23c9944d' stroke-opacity='.7' stroke-width='6'/%3E%3Cpath d='M-20 200 C 60 225 120 260 170 310 S 260 390 300 440' stroke='%23c9944d' stroke-opacity='.7' stroke-width='6'/%3E%3Cpath d='M230 -20 C 280 30 330 60 370 100 S 420 140 440 150' stroke='%23c9944d' stroke-opacity='.7' stroke-width='6'/%3E%3C/g%3E%3C/svg%3E") center / 170% auto no-repeat;--brick-spot:#faeee5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 100'%3E%3Crect width='240' height='100' fill='%23deb9a0'/%3E%3Crect x='1' y='1' width='58' height='23' rx='1' fill='%23faece3'/%3E%3Crect x='61' y='1' width='58' height='23' rx='1' fill='%23fbf1e9'/%3E%3Crect x='121' y='1' width='58' height='23' rx='1' fill='%23fbefe6'/%3E%3Crect x='181' y='1' width='58' height='23' rx='1' fill='%23f9ebe0'/%3E%3Crect x='241' y='1' width='58' height='23' rx='1' fill='%23f9ebe0'/%3E%3Crect x='-29' y='26' width='58' height='23' rx='1' fill='%23faece3'/%3E%3Crect x='31' y='26' width='58' height='23' rx='1' fill='%23fbefe6'/%3E%3Crect x='91' y='26' width='58' height='23' rx='1' fill='%23fbefe6'/%3E%3Crect x='151' y='26' width='58' height='23' rx='1' fill='%23fbefe6'/%3E%3Crect x='211' y='26' width='58' height='23' rx='1' fill='%23f9ebe0'/%3E%3Crect x='1' y='51' width='58' height='23' rx='1' fill='%23faeee5'/%3E%3Crect x='61' y='51' width='58' height='23' rx='1' fill='%23fbf1e9'/%3E%3Crect x='121' y='51' width='58' height='23' rx='1' fill='%23fbefe6'/%3E%3Crect x='181' y='51' width='58' height='23' rx='1' fill='%23faece3'/%3E%3Crect x='241' y='51' width='58' height='23' rx='1' fill='%23faeee5'/%3E%3Crect x='-29' y='76' width='58' height='23' rx='1' fill='%23faeee5'/%3E%3Crect x='31' y='76' width='58' height='23' rx='1' fill='%23fbf1e9'/%3E%3Crect x='91' y='76' width='58' height='23' rx='1' fill='%23fbf1e9'/%3E%3Crect x='151' y='76' width='58' height='23' rx='1' fill='%23faece3'/%3E%3Crect x='211' y='76' width='58' height='23' rx='1' fill='%23fbefe6'/%3E%3C/svg%3E") center / 300% auto repeat;--marble:#fdf6f5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 420' preserveAspectRatio='xMidYMid slice'%3E%3Crect width='400' height='420' fill='%23fdf6f5'/%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cpath d='M-40 40 C 80 90 160 120 250 210 S 380 330 460 360' stroke='%23f4c4ca' stroke-opacity='.28' stroke-width='60'/%3E%3Cpath d='M-40 250 C 60 280 140 320 220 400 S 330 470 380 480' stroke='%23f4c4ca' stroke-opacity='.22' stroke-width='40'/%3E%3Cpath d='M120 -30 C 210 20 270 60 330 130 S 420 200 450 230' stroke='%23f4c4ca' stroke-opacity='.2' stroke-width='30'/%3E%3Cpath d='M-20 70 C 90 110 170 150 240 230 S 360 320 430 350' stroke='%23e5a1ab' stroke-opacity='.45' stroke-width='1'/%3E%3Cpath d='M-20 280 C 70 300 150 350 210 410' stroke='%23e5a1ab' stroke-opacity='.4' stroke-width='.9'/%3E%3Cpath d='M-20 160 C 80 190 170 240 260 320 S 360 400 420 430' stroke='%23fff' stroke-opacity='.8' stroke-width='3'/%3E%3Cpath d='M-20 20 C 70 50 130 70 190 120 S 300 200 340 250 S 400 300 430 310' stroke='%23d2a868' stroke-opacity='.4' stroke-width='1.3'/%3E%3Cpath d='M190 120 C 200 150 215 170 240 185' stroke='%23d2a868' stroke-opacity='.32' stroke-width='.8'/%3E%3Cpath d='M-20 200 C 60 225 120 260 170 310 S 260 390 300 440' stroke='%23d2a868' stroke-opacity='.38' stroke-width='1.1'/%3E%3Cpath d='M230 -20 C 280 30 330 60 370 100 S 420 140 440 150' stroke='%23d2a868' stroke-opacity='.35' stroke-width='1'/%3E%3C/g%3E%3C/svg%3E") center / cover no-repeat}.court{aspect-ratio:500/432;background:var(--court);border-radius:var(--radius);outline:1px solid var(--line);position:relative;overflow:hidden;container-type:size}.court-svg{width:100%;height:100%;position:absolute;inset:0}.court-caption{color:var(--ink-2);font-size:12px;font-weight:700;position:absolute;bottom:8px;left:10px}.spot{z-index:1;aspect-ratio:1;border:2px dashed var(--ink-2);background:#ffffffd9;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:16cqw;padding:0;line-height:1;transition:box-shadow .15s,transform .15s;display:flex;position:absolute;transform:translate(-50%,-50%)}.spot .spot-text{font-size:4.6cqw;font-weight:800}.spot .spot-pos{color:var(--ink-2);margin-top:.8cqw;font-size:2.6cqw;font-weight:700}.spot.filled{border:2px solid var(--ink);background:#fff}.spot.selected{box-shadow:0 0 0 4px var(--ink)}.spot.target{border:3px solid var(--accent);background:#fff1e6;transform:translate(-50%,-50%)scale(1.06);box-shadow:0 0 0 4px #c2410c40}.spot.kind-gold{background:linear-gradient(115deg,#fdf3d0 0%,#e8c66a 35%,#fff4cf 55%,#dcb24f 80%,#f7e3a1 100%);border-color:#c9a24a}.spot.kind-silver{background:linear-gradient(115deg,#fafafa 0%,#c9ccd1 35%,#f7f7f7 55%,#b5b9bf 80%,#eceef0 100%);border-color:#a9adb3}.spot.kind-bronze{background:linear-gradient(115deg,#f9e3cf 0%,#c98a5a 35%,#f6dcc4 55%,#b97447 80%,#ecc7a6 100%);border-color:#b07a50}.spot.kind-marble{background:var(--marble-spot);border-color:#dcbcbc}.spot.kind-brick{background:var(--brick-spot);border-color:#d4a88c}.spot.kind-diamond{background:linear-gradient(135deg,#f4fbff 0%,#cfe8fb 25%,#fff 45%,#b9dcf6 70%,#eef8ff 100%);border-color:#8fbfe3}.spot.target{border-color:var(--accent)}.spot-C{top:26.1%;left:34%}.spot-PF{top:26.1%;left:66%}.spot-SF{top:54.4%;left:14%}.spot-SG{top:54.4%;left:86%}.spot-PG{top:82.6%;left:50%}.stage{position:relative;left:50%;transform:translate(-50%)}.stage-canvas{transform-origin:0 0}.board{grid-template-columns:366px 400px;gap:24px;width:790px;height:740px;display:grid;position:relative}.left{flex-direction:column;gap:4px;min-height:0;display:flex}.card-slot{flex:1;width:366px;min-height:0}.finished{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.finished .team-panel{flex:none}.result-panel{flex-direction:column;flex:1;justify-content:center;min-height:0;padding:3px 12px;display:flex;overflow:hidden}.result-panel .result{padding:0}.result.two-col{text-align:left;justify-content:space-around;align-items:center;gap:12px;display:flex}.result.two-col .result-main{text-align:center}.result.two-col ul{margin:0;line-height:1.4}.result-side{text-align:center}.result-side .note{color:var(--ink-2);font-size:14px;font-weight:700}.result .note{color:var(--muted);margin-top:2px;font-size:12px}.right{grid-template-rows:316px 1fr;gap:4px;min-height:0;display:grid;overflow:hidden}.top-right{flex-direction:column;gap:10px;display:flex}.right .top-right{min-height:0}.mode-row{justify-content:center;gap:6px;display:flex}.mode-row .btn.small{padding:2px 10px;font-size:12px}.team-meters{--dot:10px;--tm-name:102px;--tm-pad:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:6px var(--tm-pad);flex-direction:column;flex:1;justify-content:space-around;display:flex;position:relative}.tm-flip{all:unset;perspective:900px;flex:1;min-height:0;display:block}.tm-flip.can-flip{cursor:pointer}.tm-flip:disabled{opacity:1}.tm-flip:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:var(--radius)}.tm-inner{height:100%;transform-style:preserve-3d;transition:transform .45s;display:block;position:relative}.tm-flip.flipped .tm-inner{transform:rotateY(180deg)}.tm-face{backface-visibility:hidden;display:flex;position:absolute;inset:0}.tm-face.back{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-2);background:repeating-linear-gradient(135deg, var(--surface) 0 10px, #f3eee4 10px 20px);justify-content:center;align-items:center;font-size:14px;font-weight:700;transform:rotateY(180deg)}.tm-row{grid-template-columns:var(--tm-name) 1fr;align-items:center;display:grid}.tm-name{color:var(--ink-2);font-size:15px;font-weight:700}.tm-track{background:#ece7dc;border-radius:6px;height:10px;position:relative}.tm-fill{background:#2f3a4b;border-radius:6px;transition:width .25s ease-out;position:absolute;top:0;bottom:0;left:0}.tm-row.reached .tm-fill{background:var(--ok)}.tm-line{z-index:1;width:2px;top:8px;bottom:8px;left:calc(var(--tm-pad) + var(--tm-name) + (100% - 2 * var(--tm-pad) - var(--tm-name)) * var(--at));background:#d0201a;margin-left:-1px;position:absolute}.controls{flex-direction:column;gap:6px;display:flex}.spin-row{align-items:center;gap:10px;display:flex}.spin-row .spin-btn{white-space:nowrap;flex:1;min-width:0}.spin-row .spin-btn.long{font-size:15px}.spin-row{gap:8px}.spin-row .video-offer{all:unset;box-sizing:border-box;cursor:pointer;white-space:nowrap;border:1px solid var(--accent);background:var(--surface);height:36px;color:var(--accent);border-radius:999px;flex-direction:column;flex:none;justify-content:center;align-self:center;align-items:center;padding:0 10px;font-size:11px;font-weight:700;line-height:1.15;display:inline-flex}.spin-row .video-offer:hover{background:#fff1e8}.sheet-area{flex:1;min-height:0;display:flex;overflow:hidden}.center{text-align:center}.coins{background:var(--surface);border:1px solid var(--line);border-radius:999px;flex:none;align-items:center;gap:6px;padding:6px 12px;font-size:16px;font-weight:800;display:inline-flex}.coins .coin{background:radial-gradient(circle at 35% 35%,#fde68a,#d97706);border-radius:50%;width:16px;height:16px}.coins .demo{color:var(--muted);font-size:11px;font-weight:600}.respins{grid-template-columns:1fr 1fr;gap:8px;display:grid}.btn.respin{padding:5px 8px;font-size:14px}.spin-btn{letter-spacing:.02em;border-radius:12px;padding:6px;font-size:18px;font-weight:800}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:12px}.panel h2{margin:0 0 8px;font-size:15px}.spin-boxes{grid-template-columns:1fr 1fr;gap:8px;display:grid}.spin-box{border:1px solid var(--line);background:var(--surface);text-align:center;border-radius:10px;padding:3px 8px}.spin-box .k{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.spin-box .v{font-size:20px;font-weight:800;line-height:1.15}.error{color:var(--bad);margin:0;font-size:13px}.roster-panel{flex-direction:column;flex:1;gap:6px;min-width:0;min-height:0;padding:8px 6px 8px 8px;display:flex}.roster-panel h2{margin:0;font-size:14px}.slide-up{animation:.3s ease-out slide-up}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:none}}.roster-controls{align-items:center;gap:4px;font-size:12px;display:flex}.roster-controls input{min-width:0;font:inherit;border:1px solid var(--line);border-radius:8px;flex:1;padding:3px 8px}.roster-controls select{font:inherit;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:2px 4px}.roster-controls .btn.small{padding:2px 8px;font-size:12px}.boosts{border-top:1px solid var(--line);justify-content:center;gap:8px;padding-top:6px;display:flex}.boosts .btn.small{padding:3px 10px;font-size:12px}.roster-panel .roster{flex:1;min-height:0;max-height:none}.roster{scrollbar-width:thin;grid-template-columns:minmax(0,1fr);align-content:start;gap:4px;max-height:380px;margin:0;padding:0;list-style:none;display:grid;overflow:hidden auto}.roster button.entry{text-align:left;background:var(--bg);border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:4px;width:100%;padding:5px 8px;font-size:13px;display:flex}.roster button.entry:not(:disabled):hover{border-color:var(--ink-2)}.roster button.entry.selected{border:1px solid var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.roster button.entry.grey{opacity:.4}.roster button.entry:disabled{cursor:default}.roster button.entry:disabled:not(.grey){opacity:1}.roster .who{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.roster .nm{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.roster .ps{color:var(--ink-2);font-size:11px}.roster .nums{text-align:center;flex:none;grid-template-columns:repeat(5,28px);column-gap:5px;display:grid}.roster .num{flex-direction:column;display:flex}.roster .lbl{color:var(--muted);font-size:9px;font-weight:700}.roster .val{letter-spacing:-.02em;font-size:12px;font-weight:800}.roster .tag{background:var(--surface);border:1px solid var(--line);border-radius:6px;margin-left:4px;padding:1px 6px;font-size:10px;font-weight:800}.roster .tag.dim{opacity:.4}.roster .slot-tag{color:var(--muted);margin-right:6px;font-size:11px;font-weight:800}.roster .entry.kind-gold{background:linear-gradient(90deg,#fff3c4,#f0d27f)}.roster .entry.kind-silver{background:linear-gradient(90deg,#fafafa,#d3d6db)}.roster .entry.kind-bronze{background:linear-gradient(90deg,#f8e1cc,#dba77f)}.roster .entry.kind-diamond{background:linear-gradient(90deg,#eef7ff,#c4e2f8)}.picker{gap:10px;display:grid}.picker .card-wrap{max-width:420px}.sheet{z-index:10;background:#14141473;justify-content:center;align-items:flex-end;padding:16px;display:flex;position:fixed;inset:0;overflow:auto}.sheet .picker{background:var(--surface);border-radius:var(--radius);width:min(440px,100%);margin:auto 0;padding:12px}.sheet .card-wrap{max-width:none}.result{text-align:center;padding:20px 12px}.result .rating{letter-spacing:-.03em;font-size:52px;font-weight:900;line-height:1}.result .status{margin-top:4px;font-size:20px;font-weight:800}.result .status.Legendary{color:#a16207}.result .status.Perfect{color:var(--ok)}.result ul{color:var(--bad);margin:6px 0 0;padding:0;font-size:13px;font-weight:600;list-style:none}.admin-grid{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:16px;display:grid}.admin-right .roster{max-height:620px}.admin-details{columns:2 420px;column-gap:28px;margin-top:16px}.admin-details table,.admin-details .result,.admin-details .chips,.admin-details .row{break-inside:avoid}.admin-details>*{min-width:0}.admin select,.admin input{font:inherit;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:6px 8px}.admin table{border-collapse:collapse;width:100%;font-size:13px}.admin td,.admin th{border-bottom:1px solid var(--line);text-align:left;padding:3px 6px}.admin .pass{color:var(--ok);font-weight:700}.admin .fail{color:var(--bad);font-weight:700}.admin .kinds,.admin .chips{flex-wrap:wrap;gap:4px;display:flex}.admin .chip{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-size:12px}.admin .chip.yes{background:#dcfce7;border-color:#86efac}.card-frame{width:100%;container-type:inline-size}.player-card{--ink-1:#141414;--ink-2:#3c3c3c;--ink-3:#6b6b6b;--dot:2.75cqw;aspect-ratio:400/421;width:100%;color:var(--ink-1);background:#fff;border:.5cqw solid #cfc6b4;border-radius:5cqw;flex-direction:column;padding:4.5cqw 5.5cqw 3cqw;font-family:Arial,Helvetica,sans-serif;display:flex;position:relative;overflow:hidden}.player-card.kind-gold{background:linear-gradient(115deg,#fdf3d0 0%,#e8c66a 35%,#fff4cf 55%,#dcb24f 80%,#f7e3a1 100%);border-color:#c9a24a}.player-card.kind-silver{background:linear-gradient(115deg,#fafafa 0%,#c9ccd1 35%,#f7f7f7 55%,#b5b9bf 80%,#eceef0 100%);border-color:#a9adb3}.player-card.kind-bronze{background:linear-gradient(115deg,#f9e3cf 0%,#c98a5a 35%,#f6dcc4 55%,#b97447 80%,#ecc7a6 100%);border-color:#b07a50}.player-card.kind-diamond{background:linear-gradient(135deg,#f4fbff 0%,#cfe8fb 25%,#fff 45%,#b9dcf6 70%,#eef8ff 100%);border-color:#8fbfe3}.player-card p{margin:0}.player-card .name-row{white-space:nowrap;justify-content:space-between;align-items:center;gap:2cqw;display:flex}.player-card .name{letter-spacing:-.02em;white-space:nowrap;margin:0;font-weight:700;line-height:1.15}.player-card .hof{background:#ffffffd9;border:.3cqw solid #d6d0c2;border-radius:3cqw;flex:none;padding:.6cqw 2cqw;font-size:2.875cqw;font-weight:700}.player-card .bio{color:var(--ink-2);justify-content:space-between;margin-top:1.2cqw;font-size:4cqw;display:flex}.player-card .draft{color:var(--ink-2);margin-top:.8cqw;font-size:4cqw}.player-card .club{margin-top:2cqw;font-size:4.5cqw;font-weight:700}.player-card .badges{white-space:nowrap;align-items:center;gap:1.5cqw;height:5.4cqw;margin-top:2cqw;display:flex}.player-card .badge{color:var(--ink-3);background:#ffffff73;border:.3cqw solid #d9d3c6;border-radius:2cqw;padding:.9cqw 2.2cqw;font-size:2.875cqw}.player-card .badge.dark{color:#fff;background:#141414;border-color:#141414;font-weight:700}.player-card .match{color:var(--ink-2);margin-right:1cqw;font-size:4cqw}.player-card .five{text-align:center;border-top:.25cqw solid #00000026;border-bottom:.25cqw solid #00000026;grid-template-columns:repeat(5,1fr);margin-top:2.5cqw;padding:1.5cqw 0;display:grid}.player-card .big{flex-direction:column;align-items:center;gap:.6cqw;display:flex}.player-card .big-label{color:var(--ink-2);font-size:2.875cqw;font-weight:700}.player-card .big-value{letter-spacing:-.02em;font-size:6.25cqw;font-weight:700}.player-card .lines,.player-card .bars{flex-direction:column;flex:1;justify-content:space-around;margin-top:1cqw;display:flex}.player-card .line{border-bottom:.25cqw solid #0000001a;justify-content:space-between;align-items:baseline;min-height:6cqw;padding:.6cqw 0;display:flex}.player-card .line:last-child{border-bottom:none}.player-card .line-label{color:var(--ink-2);font-size:4cqw;font-weight:700}.player-card .line-value{font-size:4.5cqw;font-weight:700}.player-card .bar-row{grid-template-columns:33% 1fr;align-items:center;display:grid}.player-card .bar-name{color:var(--ink-2);font-size:4cqw;font-weight:700}.player-card .bar-track{background:#fff9;border-radius:2cqw;height:2.75cqw;display:block;overflow:hidden;box-shadow:inset 0 0 0 .25cqw #00000042}.player-card .bar-fill{background:#2f3a4b;border-radius:2cqw;height:100%;display:block}.player-card .flip{z-index:2;background:linear-gradient(135deg,#00000014 50%,#0000 50%);border:none;width:11cqw;height:11cqw;padding:0;animation:2.4s ease-in-out infinite flip-glow;position:absolute;top:0;left:0}.player-card .flip svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.player-card .flip text{fill:#00000059;font-family:Arial,Helvetica,sans-serif;font-weight:700}@keyframes flip-glow{50%{background:linear-gradient(135deg,#00000029 50%,#0000 50%)}}.player-card.back .story{flex-direction:column;flex:1;justify-content:flex-start;min-height:0;padding:3.5cqw 5cqw 0;display:flex}.player-card.back h3{text-align:center;margin:0 4cqw 3cqw;font-size:6.4cqw;line-height:1.2}.player-card.back p{line-height:1.3}.admin .court{width:240px;margin:0 auto}.admin-gifts{margin-top:16px}.admin .chip.kind-gold{background:#fff3c4;border-color:#e2b84f}.admin .chip.kind-silver{background:#f2f3f5;border-color:#bfc3c9}.admin .chip.kind-bronze{background:#f8e1cc;border-color:#c4834f}.admin .chip.kind-marble{background:#fafafa;border-color:#c9c9c9}.admin .chip.kind-brick{background:#f3d6c8;border-color:#cc8c72}.admin .chip.kind-diamond{background:#eef7ff;border-color:#a9d3f3}.chip-x{background:#00000014;border:none;border-radius:50%;width:18px;height:18px;padding:0;font-weight:700;line-height:16px}.card-slot{padding-top:34px;position:relative}.kind-switch{scrollbar-width:none;gap:4px;height:30px;display:flex;position:absolute;top:0;left:0;right:0;overflow-x:auto}.kind-switch .btn.tiny{white-space:nowrap;flex:none}.kind-switch .btn.tiny,.gift-chip{height:30px;padding:0 8px;font-size:11px;font-weight:700;line-height:28px}.btn.tiny{background:#ffffffeb;border-width:1px;height:20px;padding:0 8px;font-size:11px;font-weight:700;line-height:18px}.btn.tiny.on{background:var(--ink);color:var(--surface)}.btn.tiny:disabled{opacity:.4;cursor:not-allowed}.player-card.kind-marble{background:var(--marble);border-color:#dcbcbc}.player-card.kind-brick{background:var(--brick);border-color:#d4a88c}.roster .entry.kind-marble{background:var(--marble)}.roster .entry.kind-brick{background:var(--brick-row)}.sheet-area{padding-top:34px;position:relative}.gift-row{justify-content:space-between;gap:4px;height:30px;display:flex;position:absolute;top:0;left:1px;right:1px}.gift-chip{box-sizing:border-box;white-space:nowrap;border:1px solid var(--line);background:var(--surface);border-radius:999px;flex:none}.gift-chip.kind-gold{background:#fff3c4;border-color:#e2b84f}.gift-chip.kind-silver{background:#f3f4f6;border-color:#bfc3c9}.gift-chip.kind-bronze{background:#f8e1cc;border-color:#c4834f}.gift-chip.kind-marble{background:#fbeef0;border-color:#dcbcbc}.gift-chip.kind-brick{background:#f6e3d6;border-color:#d4a88c}.gift-chip.none{opacity:.35}.shop{flex-direction:column;gap:6px;width:300px;display:flex}.shop-pack{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:left;align-items:center;gap:8px;padding:6px 10px;display:flex}.shop-pack .coin{background:radial-gradient(circle at 35% 35%,#fde68a,#d97706);border-radius:50%;flex:none;width:16px;height:16px}.shop-pack .shop-coins{flex:1;font-size:14px;font-weight:800}.shop-pack .btn{flex:none}.shop-pack.starter{background:#fff7e6;border-color:#e2b84f;flex-wrap:wrap}.shop-pack.starter .shop-coins{flex-basis:100%;font-size:12px}.shop-pack.starter .shop-note{color:var(--accent);flex:1;font-size:11px;font-weight:700}.btn.respin,.boosts .btn{position:relative}.gift-badge{color:#fff;text-align:center;background:#d0201a;border-radius:999px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:800;line-height:16px;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.gift-chip .gift-badge{vertical-align:1px;margin-left:5px;display:inline-block;position:static;transform:none}.video-offer{all:unset;cursor:pointer;color:var(--accent);align-self:flex-end;font-size:11px;font-weight:600}.result .video-offer{margin:2px auto 0;display:block}.overlay{z-index:30;border-radius:var(--radius);background:#14141459;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.dialog{background:var(--surface);border-radius:var(--radius);text-align:center;flex-direction:column;align-items:center;gap:10px;min-width:260px;max-width:340px;padding:22px 24px 18px;display:flex;position:relative;box-shadow:0 10px 30px #0003}.dialog-title{margin:0;font-size:18px;font-weight:800}.gift-got{color:var(--bad)}.dialog .notice{margin:0}.dialog-x{cursor:pointer;color:var(--muted);background:0 0;border:none;font-size:20px;line-height:1;position:absolute;top:6px;right:8px}.side-panel .player{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-2);flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;font-weight:700;display:flex}.side-panel .player-name{overflow-wrap:anywhere}.side-panel .player-number{color:var(--muted);font-size:11px;font-weight:600}.side-panel .player .link-btn{margin:4px 0 0}.side-panel .player.offline{color:var(--bad)}.link-btn{all:unset;cursor:pointer;color:var(--accent);margin-left:10px;font-size:12px;font-weight:700}.link-btn.quiet{color:var(--muted);font-weight:600}.modal-fixed{z-index:50;background:#14141459;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-fixed .dialog input{text-align:center;width:100%;padding:8px 10px;font-size:16px}.app:has(.challenges-page){max-width:none}.challenges-page{margin:0 166px 24px}.ch-lead{margin:4px 0 2px;font-size:18px;font-weight:800}.ch-count{color:var(--muted);margin:0 0 14px;font-size:13px;font-weight:700}.ch-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));align-items:start;gap:18px 14px;display:grid}.ch-cell{position:relative}.ch-title{align-items:center;gap:6px;margin:0 0 4px 2px;font-size:15px;font-weight:800;display:flex}.ch-info{all:unset;box-sizing:border-box;border:1.5px solid var(--muted);width:17px;height:17px;color:var(--muted);text-align:center;cursor:pointer;border-radius:50%;flex:none;font-size:11px;font-weight:800;line-height:14px}.ch-info:hover,.ch-info.on{border-color:var(--accent);color:var(--accent)}.ch-pop{z-index:5;border-radius:var(--radius);background:var(--ink);color:var(--surface);padding:8px 10px;font-size:13px;line-height:1.35;position:absolute;top:26px;left:0;right:14px;box-shadow:0 4px 14px #0000002e}.ch-stack{padding:0 14px 14px 0;position:relative}.ch-frame{z-index:1;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;height:152px;padding:6px 8px;display:flex;position:relative}.ch-frame.done{border-color:var(--ink-2);justify-content:center}.ch-frame.empty{justify-content:center;align-items:center}.ch-empty{text-align:center;color:var(--ink-2);margin:0;padding:0 8px;font-size:17px;font-weight:700;line-height:1.3}.ch-label{background:var(--ink);color:var(--surface);border-radius:999px;align-self:flex-start;margin-bottom:6px;padding:0 6px;font-size:10px;font-weight:800;line-height:16px}.ch-five{gap:2px;margin:0;padding:0;list-style:none;display:grid}.ch-row{background:#f6f3ec;border-radius:6px;align-items:baseline;gap:6px;padding:1px 6px;font-size:12px;display:flex}.ch-row.kind-gold{background:linear-gradient(90deg,#fff3c4,#f0d27f)}.ch-row.kind-silver{background:linear-gradient(90deg,#fafafa,#d3d6db)}.ch-row.kind-bronze{background:linear-gradient(90deg,#f8e1cc,#dba77f)}.ch-row.kind-diamond{background:linear-gradient(90deg,#eef7ff,#c4e2f8)}.ch-row.kind-marble{background:var(--marble)}.ch-row.kind-brick{background:var(--brick-row)}.ch-pos{width:20px;color:var(--muted);flex:none;font-size:10px;font-weight:800}.ch-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:700;overflow:hidden}.ch-season{color:var(--ink-2);flex:none;font-size:11px}.ch-score{color:var(--ink-2);text-align:right;margin:4px 0 0;padding-top:0;font-size:12px;font-weight:700}.ch-score b{color:var(--ink);font-size:15px}.ch-back{all:unset;box-sizing:border-box;border:1px solid var(--ink-2);border-radius:var(--radius);background:#f1ece2;position:absolute;inset:14px 0 0 14px}.ch-back span{height:14px;color:var(--ink-2);text-align:right;font-size:10px;font-weight:800;line-height:13px;position:absolute;bottom:0;left:12px;right:8px}.ch-back.filled{cursor:pointer}.ch-back.filled:hover{background:#fde9cf}.ch-back.open{border-style:dashed;border-color:var(--muted);background:0 0}.ch-back.open span{color:var(--muted)}@media (width<=1179px){.side-panel{flex-direction:row;justify-content:space-between;align-items:center;width:auto;margin-bottom:10px;position:static}.side-panel .player{flex-direction:row;align-items:baseline;gap:8px;padding:4px 10px}.side-panel .player .link-btn{margin:0 0 0 4px}.side-panel .side-nav{flex-direction:row;gap:16px}.challenges-page{margin:0 0 24px}}.rotate{background:var(--bg);color:var(--ink-2);justify-content:center;align-items:center;font-size:20px;font-weight:800;display:flex;position:fixed;inset:0}.app.phone{--bar-h:44px;padding:0 6px}.phone-bar{height:var(--bar-h);grid-template-columns:1fr auto 1fr;align-items:center;gap:6px;display:grid}.phone-bar .menu-btn{justify-self:start}.menu-btn{all:unset;cursor:pointer;text-align:center;width:34px;height:34px;color:var(--ink);border-radius:10px;font-size:20px;line-height:34px}.bar-slot{display:contents}.bar-slot .coins{grid-column:2;padding:3px 9px;font-size:14px}.bar-slot .video-offer{all:unset;box-sizing:border-box;border:1px solid var(--accent);background:var(--surface);height:32px;color:var(--accent);cursor:pointer;border-radius:999px;flex-direction:column;grid-column:3;justify-content:center;justify-self:end;align-items:center;padding:0 6px;font-size:9.5px;font-weight:700;line-height:1.15;display:inline-flex}.phone-menu{z-index:40;top:var(--bar-h);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:10px;width:220px;padding:10px;font-size:14px;display:none;position:absolute;left:6px;box-shadow:0 8px 24px #00000026}.phone-menu.open{display:flex}.phone-menu .player{flex-direction:column;gap:2px;font-weight:700;display:flex}.phone-menu .player-number{color:var(--muted);font-size:11px}.phone-menu .player .link-btn{margin:4px 0 0}.phone-menu .side-nav{flex-direction:column;gap:10px;font-weight:700;display:flex}.phone-menu a{color:var(--ink-2);text-decoration:none}.phone-menu a.on{color:var(--accent)}.phone-game{height:calc(100dvh - var(--bar-h));flex-direction:column;gap:6px;padding-bottom:6px;display:flex;position:relative}.pg-top{grid-template-columns:50% 1fr;align-items:start;gap:8px;display:grid}.pg-court .court{width:100%}.pg-court .spot{width:20cqw}.pg-court .spot .spot-text{font-size:6cqw}.pg-court .spot .spot-pos{font-size:4cqw}.pg-court .court-caption{font-size:10px;bottom:4px;left:6px}.pg-top{align-items:stretch}.pg-controls{flex-direction:column;justify-content:space-between;gap:6px;min-width:0;display:flex}.pg-controls .mode-row .btn.small{padding:1px 6px;font-size:10px}.pg-controls .spin-boxes{gap:4px}.pg-controls .spin-box{padding:3px 4px}.pg-controls .spin-box .v{font-size:15px}.pg-controls .respins{grid-template-columns:1fr 1fr;gap:4px}.pg-controls .btn.respin{white-space:nowrap;grid-template-columns:auto auto;place-content:center;align-items:center;column-gap:3px;min-width:0;min-height:40px;padding:3px 2px;font-size:13px;line-height:1.15;display:grid;position:relative}.pg-controls .btn.respin .rs-sep{display:none}.pg-controls .btn.respin .rs-name,.pg-controls .btn.respin .rs-price{grid-column:1/-1;justify-self:center}.pg-controls .btn.respin .rs-price{color:var(--ink-2);font-size:11px}.pg-controls .btn.respin .gift-badge{z-index:1;position:absolute;top:-7px;right:-5px;transform:none}.pg-controls .spin-btn{width:100%;padding:7px 6px;font-size:18px}.pg-controls .spin-btn.long{font-size:14px}.pg-meters{flex:none;height:124px;display:flex}.pg-meters .team-meters{--tm-name:78px;--tm-pad:10px;padding:3px var(--tm-pad)}.pg-meters .tm-name{font-size:12px}.pg-bottom{flex-direction:column;flex:1;gap:6px;min-height:0;display:flex;position:relative}.pg-bottom .gift-row{height:26px;position:static}.pg-bottom .gift-chip{height:26px;padding:0 7px;font-size:11px;line-height:24px}.pg-bottom .roster-panel{flex:1;min-height:0;padding:6px}.pg-bottom .roster-controls{flex-wrap:nowrap}.pg-bottom .roster-controls .btn.small{padding:2px 6px}.pg-bottom .roster .nums{grid-template-columns:repeat(5,26px);column-gap:2px}.pg-bottom .finished{overflow-y:auto}.pg-hint{text-align:center;margin-top:20px}.pg-card{flex-direction:column;flex:1;gap:4px;min-height:0;display:flex}.pg-card-head{align-items:center;gap:6px;height:30px;display:flex}.pg-card-head .kind-switch{flex:1;min-width:0;position:static}.pg-card-head .kind-switch .btn.tiny{height:28px}.pg-close{all:unset;cursor:pointer;border:1px solid var(--line);background:var(--surface);text-align:center;width:30px;height:30px;color:var(--ink-2);border-radius:50%;flex:none;margin-left:auto;font-size:20px;line-height:28px}.pg-card-area{flex:1;justify-content:center;min-height:0;display:flex}.pg-card-box{aspect-ratio:400/372;max-width:100%;height:100%}.pg-card-box .player-card{aspect-ratio:400/372}.pg-card-box .player-card .lines,.pg-card-box .player-card .bars{justify-content:space-evenly;margin-top:0}.app.phone .overlay{border-radius:0}.start-page{flex-direction:column;align-items:center;min-height:70vh;padding:24px 0;display:flex;position:relative}.start-modes{grid-template-columns:repeat(2,minmax(0,400px));gap:14px;display:grid}.start-mode{all:unset;box-sizing:border-box;cursor:pointer;border:2px solid var(--ink);border-radius:var(--radius);background:var(--surface);text-align:left;flex-direction:column;align-items:stretch;gap:8px;min-height:0;padding:16px 18px;display:flex}.start-mode:hover:not(:disabled){border-color:var(--accent);background:#fff7f0}.start-mode:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.start-cell{flex-direction:column;gap:6px;display:flex}.start-cell .start-mode{flex:1}.start-mode{position:relative;container-type:inline-size}.start-title{font-size:min(20px, calc(150cqw / var(--len,19)));text-align:center;white-space:nowrap;font-weight:800;overflow:hidden}.start-card{pointer-events:none;align-self:center;width:50%;display:block}.start-text{min-height:2.6em;color:var(--ink-2);text-align:center;font-size:min(15px,6cqw);line-height:1.3}.start-continue.none{display:none}.start-continue{white-space:nowrap;background:var(--accent);color:var(--accent-ink);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:800;position:absolute;bottom:6px;left:50%;transform:translate(-50%);box-shadow:0 2px 6px #0003}.start-mode.soon{cursor:default;border-color:var(--line);opacity:.55}.app.phone .start-page{padding:12px 0}.app.phone .start-modes{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}.app.phone .start-card{width:100%}.app.phone .start-mode{gap:6px;min-height:0;padding:10px 8px}.roster.compact{gap:2px;max-height:none;overflow:visible}.roster.compact button.entry{padding:3px 8px}.roster.compact .who{flex-direction:row;align-items:baseline;gap:6px}.roster.compact .ps{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pg-bottom .finished{gap:6px;overflow:visible}.pg-bottom .team-panel{flex:none;padding:6px}.pg-bottom .team-panel h2{font-size:13px}.pg-bottom .result-panel{flex:1;padding:6px 10px}.pg-bottom .result .rating{font-size:34px}.pg-bottom .result .k{font-size:12px}.pg-bottom .result ul{margin:0;font-size:11px;line-height:1.35}.gem{vertical-align:-.2em;width:1.25em;height:1.1em}.pg-card-box .player-card.back p{line-height:1.15}.pg-card-box .player-card.back h3{margin-bottom:2cqw;font-size:5.6cqw}.pg-bottom .boosts{gap:8px;padding-top:8px}.pg-bottom .boosts .btn.small{flex:1;padding:10px 8px;font-size:14px;position:relative}.pg-bottom .roster{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.start-mode.soon .start-title{white-space:normal;font-size:min(20px,7.4cqw)}@media (height>=700px){.pg-meters{height:148px}.pg-meters .team-meters{--tm-name:92px;--tm-pad:14px}.pg-meters .tm-name{font-size:13.5px}}@media (height>=800px){.pg-meters{height:176px}.pg-meters .team-meters{--tm-name:104px;--tm-pad:18px}.pg-meters .tm-name{font-size:15px}}.admin-tabs{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.stats-admin{flex-direction:column;gap:10px;display:flex}.stats-head{align-items:center;gap:10px;display:flex}.stats-head .notice{margin:0}.stats-admin h3{margin:10px 0 4px;font-size:14px}.stat-tiles{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;display:grid}.stat-tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px}.stat-label{color:var(--muted);font-size:12px;font-weight:700}.stat-value{margin:2px 0;font-size:24px;font-weight:800}.stat-note{color:var(--ink-2);font-size:11px}.stat-cols{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:16px;display:grid}.stat-table{border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:100%;font-size:12px;overflow:hidden}.stat-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:5px 8px;font-size:11px}.stat-table td{border-bottom:1px solid #f0ece3;padding:4px 8px}.stat-table td:not(:first-child),.stat-table th:not(:first-child){text-align:right}
