.cant-stop{--cs-good: #3fbf8a;--cs-near: #f3c37d;--cs-tray-bg: #0c0e15;display:flex;flex-direction:column;gap:.9rem;align-items:stretch;width:100%;position:relative}.cs-shake{animation:cs-shake .45s}@keyframes cs-shake{10%,90%{transform:translate(-3px)}20%,80%{transform:translate(5px)}30%,50%,70%{transform:translate(-8px)}40%,60%{transform:translate(8px)}}.cs-flash{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:50;animation:cs-fade .8s ease-out forwards}.cs-flash-red{background:radial-gradient(circle at 50% 42%,rgba(224,93,93,.24),transparent 62%)}.cs-flash-green{background:radial-gradient(circle at 50% 42%,rgba(63,191,138,.24),transparent 62%)}@keyframes cs-fade{0%{opacity:1}to{opacity:0}}.cs-bust-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;pointer-events:none;animation:cs-bust-pop .5s ease-out forwards}.cs-bust-overlay-title{font-size:clamp(3rem,10vw,6rem);font-weight:900;letter-spacing:.08em;color:#fff;text-shadow:0 0 28px rgba(224,93,93,.9),0 4px 0 #7a1f1f;-webkit-text-stroke:2px #7a1f1f}.cs-bust-overlay-detail{max-width:480px;text-align:center;font-size:1rem;font-weight:650;color:#f4aca6;background:#0c04048c;border:1px solid var(--danger);border-radius:10px;padding:.5rem 1rem}@keyframes cs-bust-pop{0%{opacity:0;transform:scale(.8)}18%{opacity:1;transform:scale(1.06)}30%{transform:scale(1)}80%{opacity:1}to{opacity:0}}.cs-seats{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}.cs-seat{display:flex;align-items:center;gap:.4rem;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.4rem .75rem;font-size:.85rem;transition:.2s}.cs-seat-on{border-color:var(--accent);box-shadow:0 0 0 3px #5865f224}.cs-dot{width:.7rem;height:.7rem;border-radius:3px;flex-shrink:0}.cs-seat small{color:var(--text-dim)}.cs-main{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,1fr);gap:.9rem;align-items:start;width:100%}@media(max-width:880px){.cs-main{grid-template-columns:1fr}}.cs-panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:.9rem}.cs-card-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);font-weight:700;margin:0 0 .7rem}.cs-board{display:flex;gap:.25rem;align-items:flex-end;justify-content:center;overflow-x:auto;padding:.25rem .1rem 0}.cs-column{display:flex;flex-direction:column;align-items:center;gap:2px;width:2.6rem;flex:0 0 auto;position:relative}.cs-peak{font-size:.75rem;height:.9rem;line-height:.9rem;color:var(--text-dim);transition:.3s}.cs-column-locked .cs-peak{color:var(--cs-lock-color, var(--accent));text-shadow:0 0 10px var(--cs-lock-color, var(--accent))}.cs-tower{display:flex;flex-direction:column;gap:2px;padding:3px;border-radius:7px;background:var(--bg);border:1px solid var(--border);transition:.3s}.cs-column-aim .cs-tower{border-color:var(--accent);box-shadow:0 0 0 2px #5865f233,0 0 20px -6px var(--accent)}.cs-column-locked .cs-tower{border-color:var(--cs-lock-color, var(--accent));background:color-mix(in srgb,var(--cs-lock-color, var(--accent)) 15%,var(--bg))}.cs-cell{width:1.75rem;height:.85rem;border-radius:3px;background:var(--cs-tray-bg);display:flex;align-items:center;justify-content:center;gap:2px;position:relative}.cs-column-aim .cs-cell-target{background:#2a2f42}.cs-cell-target:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:3px;border:1px dashed rgba(88,101,242,.75);animation:cs-blip .9s infinite}@keyframes cs-blip{0%,to{opacity:.35}50%{opacity:1}}.cs-marker{width:.7rem;height:.7rem;border-radius:3px;box-shadow:0 1px 2px #00000080;display:inline-block}.cs-marker-temp{border-radius:50%;background:transparent!important;border:2px solid;animation:cs-breathe 1.4s ease-in-out infinite}@keyframes cs-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.22)}}.cs-base{font-size:.75rem;font-weight:750;color:var(--text-dim)}.cs-column-aim .cs-base,.cs-column-locked .cs-base{color:var(--text)}.cs-left{font-size:.62rem;color:var(--text-dim);height:.75rem;white-space:nowrap}.cs-column-aim .cs-left{color:var(--accent);font-weight:700}.cs-float{position:absolute;left:50%;top:.4rem;font-size:.75rem;font-weight:850;color:var(--accent);pointer-events:none;animation:cs-rise .85s ease-out forwards}@keyframes cs-rise{0%{transform:translateY(6px);opacity:0}30%{opacity:1}to{transform:translateY(-24px);opacity:0}}.cs-spark-burst{position:absolute;left:50%;top:30%;width:0;height:0;pointer-events:none}.cs-spark{position:absolute;width:6px;height:6px;border-radius:50%;pointer-events:none;animation:cs-burst .9s ease-out forwards}@keyframes cs-burst{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(.2);opacity:0}}.cs-legend{display:flex;gap:.9rem;flex-wrap:wrap;font-size:.7rem;color:var(--text-dim);border-top:1px solid var(--border);margin-top:.7rem;padding-top:.6rem}.cs-legend span{display:flex;align-items:center;gap:.35rem}.cs-sw{width:.7rem;height:.7rem;border-radius:3px;flex-shrink:0}.cs-sw-tmp{background:transparent;border:2px solid var(--text);border-radius:50%}.cs-sw-aim{background:#2a2f42;border:1px dashed var(--accent)}.cs-tray{position:relative;height:118px;margin:.1rem auto 0;width:100%;max-width:360px}.cs-die{position:absolute;left:0;top:22px;width:56px;height:56px;border-radius:13px;background:linear-gradient(158deg,#fdfdff,#c8cfe2);display:grid;grid-template:repeat(3,1fr) / repeat(3,1fr);padding:8px;gap:2px;box-shadow:0 6px #7f879e,0 14px 26px #00000080;transition:transform .44s cubic-bezier(.18,.92,.24,1.28),box-shadow .3s,filter .3s;will-change:transform}.cs-die-pick{box-shadow:0 6px #4752c4,0 0 0 3px var(--accent),0 16px 30px #5865f259;z-index:3}.cs-die-loose{filter:grayscale(.85) brightness(.72);box-shadow:0 4px #4c5164,0 10px 18px #00000080}.cs-pip,.cs-pip-empty{width:7px;height:7px;border-radius:50%;justify-self:center;align-self:center}.cs-pip{background:#12141d}.cs-pip-hot{background:#4752c4}.cs-tray-label{position:absolute;top:0;font-size:14px;font-weight:850;color:var(--accent);transition:left .44s cubic-bezier(.18,.92,.24,1.28)}.cs-tray-label small{display:block;font-size:9px;color:var(--text-dim);font-weight:600;letter-spacing:.4px}.cs-tray-hint{text-align:center;font-size:.68rem;color:var(--text-dim);margin-top:2px}.cs-climbers{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.6rem;font-size:.72rem;font-weight:650;color:var(--text-dim)}.cs-climbers-full{color:var(--cs-near)}.cs-climbers-dots{display:flex;gap:.3rem}.cs-climber-dot{width:.65rem;height:.65rem;border-radius:50%;border:2px solid var(--text-dim);background:transparent;transition:.2s}.cs-climber-dot-on{background:var(--accent);border-color:var(--accent)}.cs-climbers-full .cs-climber-dot-on{background:var(--cs-near);border-color:var(--cs-near)}.cs-opts{display:flex;flex-direction:column;gap:.5rem;margin-top:.85rem}.cs-opt{display:block;width:100%;text-align:left;font-family:inherit;border:1px solid var(--border);background:var(--bg);border-radius:10px;padding:.55rem .7rem;cursor:pointer;transition:.15s;color:var(--text)}.cs-opt:hover:not(:disabled){border-color:var(--accent);transform:translate(2px)}.cs-opt:disabled{cursor:default}.cs-opt-dead{opacity:.32}.cs-opt-top{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem}.cs-opt-sum{font-size:1.05rem;font-weight:850}.cs-opt-math{font-size:.7rem;color:var(--text-dim);font-variant-numeric:tabular-nums}.cs-opt-det{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:.4rem;font-size:.7rem;color:var(--text-dim)}.cs-opt-det b{color:var(--text)}.cs-sum-dead{color:var(--text-dim);text-decoration:line-through}.cs-det-dead{opacity:.5}.cs-chip{padding:1px 6px;border-radius:6px;font-size:.62rem;font-weight:750}.cs-chip-near{background:#f3c37d29;color:var(--cs-near)}.cs-chip-top{background:#3fbf8a29;color:#8adaae}.cs-chip-blk{background:#e05d5d29;color:var(--danger)}.cs-verdict{margin-top:.7rem;border-top:1px solid var(--border);padding-top:.7rem;font-size:.78rem;color:var(--text-dim);line-height:1.5}.cs-danger{color:var(--danger);font-weight:700}.cs-btns{display:flex;gap:.5rem;margin-top:.7rem;flex-wrap:wrap}.cs-btn{font-family:inherit;border-radius:10px;padding:.7rem 1rem;font-size:.85rem;font-weight:750;border:1px solid transparent;cursor:pointer;transition:.15s;flex:1}.cs-btn-go{background:var(--accent);color:#fff;box-shadow:0 3px 0 var(--accent-hover)}.cs-btn-go:hover{background:var(--accent-hover);transform:translateY(-1px)}.cs-btn-stop{background:var(--bg);color:var(--text);border-color:var(--border)}.cs-btn-stop:hover{border-color:var(--text-dim)}.cs-toast{margin-top:.65rem;padding:.5rem .7rem;border-radius:8px;font-size:.78rem;font-weight:650;text-align:center}.cs-toast-bust{background:#e05d5d29;border:1px solid var(--danger);color:#f4aca6}.cs-toast-ok{background:#3fbf8a24;border:1px solid var(--cs-good);color:#96ddb8}.cs-toast-info{background:var(--bg);border:1px solid var(--border);color:var(--text-dim)}.cs-sound{display:flex;align-items:center;gap:.45rem;font-size:.68rem;color:var(--text-dim);justify-content:flex-end;margin-top:.5rem}.cs-sound button{padding:2px 8px;font-size:.65rem;font-weight:650;background:transparent;border:1px solid var(--border);color:var(--text-dim);border-radius:7px;cursor:pointer}.cs-sound button.on{border-color:var(--accent);color:var(--accent)}.sk-game{display:flex;flex-direction:column;gap:1rem;align-items:center;width:100%;max-width:720px}.sk-header{display:flex;align-items:center;justify-content:space-between;width:100%}.sk-notifications{display:flex;flex-direction:column;gap:.4rem;width:100%}.sk-notif{padding:.5rem .75rem;border-radius:8px;background:var(--surface);border:1px solid var(--border);text-align:center;font-size:.9rem}.sk-players-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}.sk-players-table th,.sk-players-table td{padding:.5rem .75rem;text-align:center;border-bottom:1px solid var(--border)}.sk-players-table td:nth-child(2){text-align:left}.sk-players-row-active{background:#5865f21f}.sk-players-row-me td:nth-child(2){font-weight:700}.sk-turn-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent)}.sk-bid-check{color:var(--accent)}.sk-bid-pending{color:var(--text-dim)}.sk-trick-area{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;min-height:5.5rem;width:100%}.sk-trick-area-empty{min-height:2rem}.sk-trick-card{display:flex;flex-direction:column;align-items:center;gap:.25rem}.sk-trick-player-name{font-size:.7rem;color:var(--text-dim)}.sk-hand{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;width:100%;padding:.5rem 0}.sk-card{width:3.5rem;height:5rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;cursor:pointer;-webkit-user-select:none;user-select:none}.sk-hand:not(.sk-hand-active) .sk-card,.sk-card-disabled{cursor:default;opacity:.6}.sk-card-small{width:2.75rem;height:4rem;font-size:.85rem}.sk-card-value{font-size:1.1rem;font-weight:700}.sk-card-suit{font-size:1rem}.sk-card-special-icon{font-size:1.3rem}.sk-card-name{font-size:.6rem;text-align:center;color:var(--text-dim)}.sk-card-yellow{border-color:#e0b95d}.sk-card-blue{border-color:#5d8be0}.sk-card-red{border-color:#e05d5d}.sk-card-black{border-color:#9aa0ac}.sk-card-skull_king{border-color:var(--accent)}.sk-card-pirate{border-color:#e05d5d}.sk-card-mermaid{border-color:#5d8be0}.sk-card-tigress{border-color:#e0b95d}.sk-bid-panel{display:flex;flex-direction:column;align-items:center;gap:.75rem}.sk-bid-options{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center}.sk-bid-btn{width:2.25rem;height:2.25rem;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;font-weight:700}.sk-bid-selected{background:var(--accent);border-color:var(--accent);color:#fff}.sk-scoreboard{width:100%}.sk-scoreboard table{width:100%;border-collapse:collapse}.sk-scoreboard th,.sk-scoreboard td{padding:.4rem .6rem;text-align:center;border-bottom:1px solid var(--border)}.sk-score-positive{color:#57c76a}.sk-score-negative{color:var(--danger)}.sk-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:50}.sk-modal-content{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem;max-width:480px;width:90%;max-height:80vh;overflow-y:auto}.sk-tigress-choices{display:flex;gap:.75rem;justify-content:center;margin-top:.5rem}.sk-rules-modal section{margin-top:1rem}.sk-rules-modal h4{margin:0 0 .25rem}.sk-rules-modal ul{margin:0;padding-left:1.2rem}:root{--bg: #0f1115;--surface: #171a21;--surface-hover: #1f232c;--border: #2a2f3a;--text: #e8eaed;--text-dim: #9aa0ac;--accent: #5865f2;--accent-hover: #4752c4;--danger: #e05d5d;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);min-height:100vh}#root{min-height:100vh;display:flex;flex-direction:column}.page{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;gap:1.5rem;text-align:center}.page-wide{justify-content:flex-start;padding-top:4rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:2rem;max-width:420px;width:100%}h1{font-size:1.75rem;margin:0}p.subtitle{color:var(--text-dim);margin:0}.btn-discord{display:inline-flex;align-items:center;gap:.5rem;background:var(--accent);color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;text-decoration:none}.btn-discord:hover{background:var(--accent-hover)}.error-banner{background:#e05d5d1f;border:1px solid var(--danger);color:var(--danger);border-radius:8px;padding:.75rem 1rem;max-width:420px}.games-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;width:100%;max-width:720px}.game-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.5rem;display:flex;flex-direction:column;gap:.5rem;transition:background .15s}.game-card:hover{background:var(--surface-hover)}.game-card h3{margin:0;font-size:1.1rem}.badge{display:inline-block;font-size:.75rem;padding:.2rem .6rem;border-radius:999px;background:var(--border);color:var(--text-dim);width:fit-content}.topbar{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;border-bottom:1px solid var(--border)}.topbar-left{display:flex;align-items:center;gap:1.5rem}.topbar-nav{display:flex;gap:1rem}.topbar-nav a{color:var(--text-dim);text-decoration:none;font-size:.9rem}.topbar-nav a:hover{color:var(--text)}.topbar .user{display:flex;align-items:center;gap:.75rem;color:var(--text-dim);font-size:.9rem}.topbar img{border-radius:50%;width:28px;height:28px}.btn-link{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:.9rem;text-decoration:underline}.btn-link:hover{color:var(--text)}.table-list{list-style:none;padding:0;margin:0;width:100%;max-width:720px;display:flex;flex-direction:column;gap:.5rem}.table-list-item{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem}.game-history-item{flex-direction:column;align-items:stretch;gap:.4rem}.game-history-header{display:flex;justify-content:space-between;align-items:baseline}.admin-add-form{display:flex;gap:.5rem;max-width:560px}input{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:.5rem .75rem;font-size:.9rem;flex:1}input:focus{outline:1px solid var(--accent)}
