@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=DM+Sans:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--ink:#09152e;--gold:#ffc75b;--blue:#51cbff;--muted:#aebcd2;--panel:#13213b}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:#fff;font-family:'DM Sans',sans-serif}button,select{font:inherit}button{cursor:pointer;border:0}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.lobby{min-height:100svh;position:relative;overflow:hidden;background:#09152e}.hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;opacity:.7}.lobby:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#071225f5 0%,#09152e99 45%,transparent 80%),linear-gradient(0deg,#09152e,transparent 65%)}.lobby-panel{position:relative;z-index:1;padding:18vh 7vw 5vh;max-width:670px}.eyebrow{color:var(--gold);font-size:14px;letter-spacing:3px;font-weight:800}h1{font:900 clamp(48px,6vw,84px)/.98 'Barlow Condensed',sans-serif;margin:20px 0}p{line-height:1.6}.primary{background:linear-gradient(#ffdc81,#ffb22d);color:#352003;font-weight:900;padding:18px 26px;border-radius:12px;box-shadow:0 5px 0 #9b591b,0 8px 35px #ffb82b35;min-height:52px}.primary span{margin-left:32px}.fine{font-size:13px;color:var(--muted);margin-top:25px}@media(max-width:650px){.hero-art{object-position:43% top}.lobby-panel{padding:48vh 24px 30px}.lobby:after{background:linear-gradient(0deg,#09152e 5%,#09152ebd 40%,transparent 85%)}h1{font-size:48px}}
/* ARENA game surface */
button{transition:transform .16s,filter .16s,background .16s}button:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-2px)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 36px;position:relative;z-index:4;border-bottom:1px solid #ffffff12;background:#07112699;backdrop-filter:blur(12px)}.wordmark{font:800 32px 'Barlow Condensed',serif;color:var(--gold);letter-spacing:5px;background:none;display:flex;align-items:center;gap:12px}.wordmark span{font-size:20px;letter-spacing:0}.top-actions{display:flex;gap:12px;align-items:center}.small-button,.icon-button{color:#dce7fa;background:#ffffff09;border:1px solid #ffffff20;border-radius:9px;min-width:40px;min-height:40px;padding:7px 12px;font-size:14px}.icon-button{font-size:21px}.mode-pill{font-size:12px;letter-spacing:1px;color:#c2ccdb;margin-right:16px}.lobby-visual{position:absolute;top:76px;right:0;width:78%;height:calc(100% - 76px);overflow:hidden}.lobby-visual img{width:100%;height:100%;object-fit:cover;object-position:65% top}.lobby:after{background:linear-gradient(90deg,#071225 2%,#071225fa 22%,#07122599 43%,#07122505 67%),linear-gradient(0deg,#071225 0%,transparent 36%);pointer-events:none}.lobby-panel{padding:70px 0 40px 6vw;max-width:580px}.lobby .topbar{z-index:5}.lobby h1{font-size:clamp(58px,5.8vw,86px);text-transform:uppercase;letter-spacing:-1px;text-shadow:0 3px 30px #000}.intro{color:#c4cfe2;font-size:17px}.difficulty-label{margin-top:30px;font-size:12px;font-weight:800;letter-spacing:2px;color:#a3b3cf}.levels{display:flex;gap:8px;margin:12px 0 22px}.level{border:1px solid #ffffff1d;border-radius:9px;background:#0c1b36c9;color:#9baeca;padding:12px 9px;font-size:12px;font-weight:800;min-width:90px}.level span{display:block;font:700 23px 'Barlow Condensed';color:#d2dced;margin-bottom:5px}.level.active{border-color:var(--gold);color:var(--gold);background:#ffb52116;box-shadow:inset 0 0 20px #ffc65b10}.level.active span{color:var(--gold)}.enter{width:100%;max-width:425px;font-size:16px}.text-button{background:none;color:#aebdd3;font-size:14px;padding:12px 8px;text-decoration:underline;text-underline-offset:4px;display:inline-block}.lobby .text-button{display:block;margin-top:10px}.lobby .fine{margin:7px 0 20px}.record{display:flex;gap:36px;border-top:1px solid #ffffff1c;padding-top:22px;max-width:425px}.record span{font-size:11px;font-weight:700;letter-spacing:1px;color:#8ca0bc}.record b{display:block;font:700 27px 'Barlow Condensed';color:white;margin-bottom:4px}.lobby-note{position:absolute;right:8%;bottom:36px;display:flex;align-items:center;gap:24px;z-index:2;font:700 17px 'Barlow Condensed';letter-spacing:2px}.lobby-note span:first-child{color:var(--gold)}.lobby-note span:last-child{color:var(--blue)}.lobby-note b{font-size:35px;margin-left:8px}.lobby-note i{color:#a5b5cd;font-size:14px}.game-shell{min-height:100svh;background:#080f22}.arena-table{position:relative;min-height:calc(100svh - 76px);height:760px;max-height:1100px;overflow:hidden;isolation:isolate}.stage-backdrop{position:absolute;inset:0;z-index:-3;background:linear-gradient(#081429e0,#081a34c9 50%,#080f22ee),url('assets/arena.webp') center 22%/cover}.table-felt{position:absolute;left:10%;right:10%;top:27%;height:43%;border:2px solid #b18b432e;border-radius:50%;background:radial-gradient(ellipse,#173349c9,#0d2035dc 70%);box-shadow:0 0 0 9px #d8b36708,0 25px 100px #0006,inset 0 0 100px #0005;z-index:-2}.kitty{position:absolute;left:50%;transform:translateX(-50%);top:18px;text-align:center}.kitty>span{display:block;font-size:11px;color:#beae86;font-weight:700;letter-spacing:2px;margin-bottom:10px}.kitty>div{display:flex;gap:5px;justify-content:center}.kitty>small{display:block;font-size:12px;color:#9fb0c9;margin-top:10px}.card{display:inline-block;position:relative;flex-shrink:0;width:clamp(57px,6vw,79px);height:112px;border-radius:8px;color:#162b44;background:linear-gradient(135deg,#fff,#ebf0f6);box-shadow:0 3px 8px #0006;border:1px solid #c6d2df;text-align:left;font-family:Georgia,serif;vertical-align:top;padding:0;user-select:none}.card.red{color:#cf203c}.corner{position:absolute;left:8px;top:6px;font-size:25px;font-weight:bold;line-height:1}.corner small{display:block;font-size:19px;margin-top:4px}.pip{font-size:32px;position:absolute;right:10px;bottom:20px}.lower{position:absolute;right:6px;bottom:5px;font-size:15px;transform:rotate(180deg);font-weight:bold}.card.joker{background:linear-gradient(135deg,#fff8da,#fff,#fff1cc)}.card.joker .pip{font-size:34px}.card.selected{transform:translateY(-20px)!important;border:2px solid var(--gold);box-shadow:0 0 0 2px #ffc75b65,0 0 25px #ffbe3355;background:linear-gradient(135deg,#fff4c9,#fff)}.card.back{background:repeating-linear-gradient(45deg,#103f75,#103f75 4px,#154a8444 4px,#154a8444 7px),#173e66;color:var(--gold);border:2px solid #b58b48}.back>span{position:absolute;inset:0;display:grid;place-items:center;font-size:23px}.card.mini{width:43px;height:61px;border-radius:5px}.mini .corner{left:5px;top:5px;font-size:16px}.mini .corner small{font-size:12px;margin-top:2px}.mini .pip{font-size:20px;right:6px;bottom:7px}.mini .lower{display:none}.mini.joker .pip{font-size:20px}.opponent{position:absolute;top:64px;display:flex;align-items:center;gap:14px;width:260px;padding:12px;border:1px solid #80b9ff28;background:linear-gradient(135deg,#122e4bdc,#0c1a2cec);border-radius:18px;box-shadow:0 15px 30px #0004}.opponent-1{left:4%}.opponent-2{right:4%}.avatar{background-image:url('assets/arena.webp');background-repeat:no-repeat;width:80px;height:90px;flex-shrink:0;background-size:700% auto;border-radius:12px;border:1px solid #70c2ff66;box-shadow:inset 0 0 20px #0004;background-color:#183151}.avatar-0{background-position:1% 95%;border-color:#ffc75b99}.avatar-1{background-position:61% 96%}.avatar-2{background-position:92% 10%}.active-turn{border-color:#57d5ff;box-shadow:0 0 0 2px #51cbff20,0 0 35px #29aaff33}.boss-player{border-color:#ffc75b77}.boss-player.active-turn{box-shadow:0 0 0 2px #ffc75b20,0 0 35px #ffbc2940;border-color:var(--gold)}.player-name{font-size:16px;font-weight:800;letter-spacing:.6px}.player-name small{font-size:10px;border:1px solid #657991;color:#a9bacf;padding:2px 4px;border-radius:4px;margin-left:4px}.role{display:block;font-size:11px;letter-spacing:.5px;font-weight:800;margin-top:6px}.role.boss{color:var(--gold)}.role.rebels{color:#65d6ff}.role.undecided{color:#9aabc0}.opponent-meta{display:flex;gap:14px;align-items:center;margin-top:9px}.card-count{font-size:17px;font-weight:800}.player-multi{font-size:13px;color:var(--gold);background:#ffcf4c0d;border:1px solid #ffcf4c30;border-radius:5px;padding:2px 6px}.speech{position:absolute;top:calc(100% + 13px);font-size:13px;color:#cee0f5;max-width:245px;padding:9px 13px;background:#10253be8;border:1px solid #819ab126;border-radius:4px 12px 12px 12px;font-style:italic;line-height:1.4}.opponent-2 .speech{right:0;border-radius:12px 4px 12px 12px}.table-center{position:absolute;top:225px;left:17%;right:17%;text-align:center}.phase-tag{color:#899bb5;font-size:11px;letter-spacing:2px;margin-bottom:12px}.status{font-size:20px;font-weight:700;color:#e5eefa;min-height:27px}.played-label{margin-top:17px;font-size:12px;color:#a6c8e2;letter-spacing:1px}.played-cards{display:flex;justify-content:center;margin:12px auto 0;max-width:90%;padding-right:0}.played-cards .mini{margin-left:-10px}.played-cards .mini:first-child{margin-left:0}.crown-symbol{font-size:64px;color:var(--gold);margin-top:12px;text-shadow:0 0 30px #fcb93755}.empty-table{font:800 38px 'Barlow Condensed';letter-spacing:7px;color:#89bdd31a;margin-top:28px}.empty-table span{display:block;font:600 10px 'DM Sans';letter-spacing:3px;margin-top:5px}.pass-trail{display:flex;gap:18px;justify-content:center;font-size:12px;color:#9dabc1;margin-top:10px}.player-dock{position:absolute;bottom:47px;left:50%;transform:translateX(-50%);width:min(94%,1100px)}.your-meta{display:flex;align-items:center;gap:16px;justify-content:space-between;width:min(100%,1000px);margin:0 auto 20px}.your-identity{display:flex;align-items:center;gap:10px}.small-avatar{height:49px;width:49px;background-size:700%;border-radius:50%}.your-identity strong{font-size:14px;letter-spacing:1px}.hand-summary{color:#b4c4dc;font-size:13px}.hand-summary b{color:var(--gold);margin-left:15px}.your-meta .text-button{font-size:12px;padding:5px}.hand{width:min(100%,1000px);margin:auto;display:flex;justify-content:center;padding-top:20px;min-height:134px;--card-width:clamp(57px,6vw,79px);--step:min(48px,calc((100% - var(--card-width))/max(1,var(--count) - 1)))}.hand .card{margin-left:calc(var(--step) - var(--card-width))}.hand .card:first-child{margin-left:0}.hand .card:hover{transform:translateY(-8px);filter:brightness(1.01)}.selection-note{text-align:center;font-size:12px;line-height:1.5;min-height:22px;margin:9px 0;color:#a8bad2}.actions{display:flex;justify-content:center;align-items:center;gap:12px;min-height:57px}.actions button{min-width:130px;border-radius:10px;font-size:15px;font-weight:800;padding:15px 21px}.actions b{margin-left:6px}.secondary{color:#dce7fa;background:#1b2d4a;border:1px solid #7796bf55;min-height:50px}.blue-button{background:linear-gradient(#279ce8,#1472bf);color:white;box-shadow:0 4px 0 #0b3d73;min-height:50px}.waiting{display:flex;align-items:center;gap:13px;color:#9eb1cc;font-size:14px}.thinking{display:flex;gap:5px}.thinking i{height:5px;width:5px;border-radius:50%;background:var(--gold);animation:blink 1s infinite}.thinking i:nth-child(2){animation-delay:.2s}.thinking i:nth-child(3){animation-delay:.4s}.bottom-note{position:absolute;bottom:13px;left:30px;right:30px;display:flex;justify-content:space-between;font-size:11px;color:#7288a6}.bomb-effect{position:fixed;inset:0;display:grid;place-items:center;pointer-events:none;color:#ffe08b;font:900 clamp(40px,10vw,110px) 'Barlow Condensed';text-shadow:0 6px 0 #9c3518,0 0 60px #ff9429;z-index:10;animation:boom 1.2s forwards;background:radial-gradient(ellipse,#e45c2833,transparent 65%)}.result-backdrop{position:fixed;inset:0;background:#030819b8;backdrop-filter:blur(8px);z-index:20;overflow:auto;display:grid;place-items:center;padding:25px}.result-panel{width:min(460px,100%);padding:28px 32px;border:1px solid #ffd16a88;background:radial-gradient(ellipse at top,#3b3426,#152138 55%);border-radius:22px;text-align:center;box-shadow:0 20px 100px #0009}.result-panel h2{font:800 48px/1.05 'Barlow Condensed';margin:4px 0 12px}.result-panel p{font-size:14px;color:#c2cfe0;margin:8px 0}.result-panel .eyebrow{color:var(--gold);font-size:12px}.result-crown{font-size:60px;color:var(--gold)}.score-earned{font:800 44px 'Barlow Condensed';color:#fda699}.score-earned small{font:500 14px 'DM Sans';color:#9fb0c9}.positive{color:#77e0bf!important}.settlement{margin:18px 0;text-align:left;border-top:1px solid #ffffff14}.settlement>div{display:flex;justify-content:space-between;padding:9px 4px;border-bottom:1px solid #ffffff14;font-size:14px}.result-panel .primary{width:100%;margin-top:15px}.result-panel details{font-size:12px;color:#aebdd3;text-align:left}.result-panel details p{font-size:12px}.result-panel .spring{color:var(--gold)}dialog{color:#dbe6f7;background:#101e36;border:1px solid #6985ab66;border-radius:20px;padding:36px;width:min(700px,calc(100% - 28px));max-height:85svh;box-shadow:0 30px 120px #000b}dialog::backdrop{background:#020814b8;backdrop-filter:blur(6px)}dialog h2{font:800 40px/1.07 'Barlow Condensed';color:#fff;margin:16px 0 25px}dialog p{font-size:15px;color:#bbcae0}dialog .close-dialog{position:absolute;right:14px;top:10px;background:none;color:#aebdd3;font-size:30px;width:40px;height:40px}.rule-steps{padding-left:25px}.rule-steps li{padding-left:8px;margin-bottom:16px}.rule-steps li::marker{font-weight:800;color:var(--gold)}.rule-steps b{color:var(--gold)}.rule-steps p{margin:5px 0}.rank-order{padding:15px;background:#ffffff07;border-radius:8px;text-align:center;font-weight:800;color:#fff;margin:20px 0}.rank-order span{color:#ff6979}summary{cursor:pointer;padding:10px 0;font-size:14px}.rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.rules-grid>div{padding:12px;background:#ffffff06;border:1px solid #ffffff0b;border-radius:8px;font-size:13px}.rules-grid span{display:block;color:var(--gold);margin-top:7px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:100;border:1px solid #ffd26175;border-radius:10px;background:#1f2f48;box-shadow:0 4px 30px #0008;padding:14px 20px;color:#fff;font-size:14px;max-width:90%;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}@keyframes blink{50%{opacity:.2}}@keyframes boom{0%{opacity:0;transform:scale(.4)}20%{opacity:1;transform:scale(1.1)}40%{transform:scale(1)}80%{opacity:1}100%{opacity:0;transform:scale(1.25)}}
@media(min-width:1500px){.arena-table{height:calc(100svh - 76px)}.table-center{top:30%}.player-dock{bottom:70px}.lobby-panel{padding-top:12vh}}
@media(max-width:1000px){.opponent{width:220px;gap:9px}.opponent-1{left:2%}.opponent-2{right:2%}.avatar{width:66px;height:76px}.small-avatar{width:46px;height:46px}.player-name{font-size:14px}.lobby-panel{max-width:490px}.lobby-note{right:4%;gap:12px}.lobby-visual{width:85%}.level{min-width:80px;padding:11px 7px}}
@media(max-width:650px){.topbar{height:60px;padding:0 16px}.wordmark{font-size:26px;letter-spacing:3px}.top-actions{gap:7px}.mode-pill{display:none}.small-button,.icon-button{min-height:34px;min-width:34px;padding:5px 9px}.lobby{min-height:100svh}.lobby-visual{top:60px;width:100%;height:45svh}.lobby-visual img{object-fit:cover;object-position:58% 0%;height:130%}.lobby:after{background:linear-gradient(0deg,#071225 0%,#071225 39%,#071225cc 49%,transparent 72%)}.lobby-panel{padding:36svh 22px 25px;max-width:none}.lobby h1{font-size:50px;margin:12px 0}.lobby .eyebrow{font-size:11px;letter-spacing:2px}.intro{font-size:15px}.difficulty-label{margin-top:18px}.levels{gap:7px}.level{flex:1;min-width:0;font-size:10px;padding:9px 3px}.level span{font-size:21px}.enter{max-width:none}.lobby-note{display:none}.record{max-width:none;gap:32px;padding-top:15px}.lobby .fine{font-size:12px}.arena-table{height:calc(100svh - 60px);min-height:680px;max-height:none}.opponent{top:100px;width:43%;padding:9px;gap:8px;border-radius:12px}.opponent-1{left:3%}.opponent-2{right:3%}.avatar{width:48px;height:56px;border-radius:9px}.opponent-info{min-width:0}.player-name{font-size:12px}.player-name small{font-size:9px;margin-left:1px}.role{font-size:9px;letter-spacing:0;line-height:1.35}.opponent-meta{margin-top:5px;gap:8px}.card-count{font-size:14px}.player-multi{font-size:11px}.speech{top:calc(100% + 8px);font-size:11px;padding:7px 8px;line-height:1.4;max-width:100%;min-height:41px}.kitty{top:10px}.kitty>span{font-size:9px;letter-spacing:1px;margin-bottom:6px}.kitty .mini{width:29px;height:41px}.kitty .mini .corner{font-size:13px;left:3px;top:3px}.kitty .mini .corner small{font-size:10px}.kitty .mini .pip{font-size:14px;right:3px;bottom:3px}.kitty>small{font-size:10px;margin-top:6px}.table-center{top:246px;left:4%;right:4%}.phase-tag{font-size:10px;margin-bottom:7px}.status{font-size:15px}.crown-symbol{font-size:48px;margin-top:4px}.played-label{margin-top:8px;font-size:11px}.played-cards{margin-top:8px;max-width:96%}.played-cards .mini{width:34px;height:49px;margin-left:-17px}.played-cards .corner{font-size:14px;left:4px;top:4px}.played-cards .corner small{font-size:10px}.played-cards .pip{font-size:16px;right:4px;bottom:5px}.table-felt{top:33%;left:2%;right:2%;height:26%}.player-dock{width:96%;bottom:38px}.your-meta{padding:0 8px;margin-bottom:12px;gap:8px}.small-avatar{width:38px;height:38px;border-radius:50%}.your-identity strong{font-size:12px}.your-identity{gap:7px}.hand-summary{font-size:11px}.hand-summary b{margin-left:5px}.your-meta .text-button{font-size:11px}.hand{--card-width:48px;min-height:103px;max-width:100%;padding-top:18px;--step:min(33px,calc((100% - var(--card-width))/max(1,var(--count) - 1)))}.hand .card{width:48px;height:81px;border-radius:5px}.hand .corner{font-size:17px;left:3px;top:5px}.hand .corner small{font-size:12px;margin-top:3px}.hand .pip{font-size:22px;right:6px;bottom:15px}.hand .lower{font-size:12px;bottom:4px;right:5px}.hand .joker .pip{font-size:23px}.selection-note{font-size:10px;margin:8px 0}.actions{gap:7px;padding:0 7px;min-height:51px}.actions button{flex:1;min-width:0;font-size:12px;padding:13px 7px;min-height:46px;border-radius:9px}.actions .primary span{margin-left:7px}.actions b{margin-left:3px}.bottom-note{font-size:9px;left:14px;right:14px;bottom:13px}.result-panel{padding:24px}.result-panel h2{font-size:40px}dialog{padding:25px 22px}.rules-grid{grid-template-columns:1fr}dialog h2{font-size:35px}}
@media(max-height:700px) and (min-width:651px){.arena-table{min-height:650px;height:650px}.opponent{top:30px}.table-center{top:185px}.player-dock{bottom:36px}.your-meta{margin-bottom:5px}.lobby-panel{padding-top:30px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(max-width:650px){.arena-table{min-height:760px}.hand{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));grid-auto-rows:80px;min-height:170px;max-width:100%;padding:18px 20px 0 0;align-content:end;justify-content:center;row-gap:7px}.hand .card{margin-left:0!important;height:75px;width:46px}.hand .card:nth-child(n+11){z-index:1}.hand .card.selected{z-index:2}.player-dock{bottom:39px}.table-center{top:242px}.your-meta{margin-bottom:5px}.selection-note{margin-top:12px}}
.stage-backdrop{background:linear-gradient(#07122633,#0715281a 45%,#080f22d9),url('assets/colosseum.webp') center top/cover}.table-felt{background:radial-gradient(ellipse,#11354bbf,#0a213bd6 70%);border-color:#d0a2525c}.avatar-2{background-position:96% 9%}.avatar{background-color:#142b49}
@media(max-width:650px){.stage-backdrop{background-position:center top}.status{text-shadow:0 2px 8px #000}.opponent{background:#0c1d32eb}}
.avatar-2{background-position:84% 12%}.avatar-0.mood-lose{background-position:40% 96%}.avatar-0.mood-shock{background-position:20% 96%}.avatar-1.mood-win{background-position:80% 96%}.avatar-1.mood-lose{background-position:100% 96%}
@media(max-width:650px){.level{font-size:12px}.role{font-size:12px}.player-name{font-size:14px}.opponent{width:44%;padding:8px;gap:6px}.opponent-1{left:2%}.opponent-2{right:2%}.speech{font-size:12px}.status{font-size:16px}.selection-note{font-size:12px}.actions button{font-size:14px}.bottom-note{font-size:12px;gap:12px}.kitty>span{font-size:12px}.kitty>small{font-size:12px}.opponent{top:106px}.your-meta .text-button{font-size:12px}.hand-summary{font-size:12px}.lobby .eyebrow,.difficulty-label{font-size:12px}}
/* Fast selection and table dialogue */
.hand-tools{display:flex;align-items:center;gap:12px;margin:0 5px 8px;color:#b9c5e5;font-size:11px;letter-spacing:1px}.selection-modes{display:flex;border:1px solid #526080;border-radius:22px;padding:3px;background:#10162ce0}.selection-modes button{min-height:36px;padding:6px 18px;border:0;border-radius:18px;background:transparent;color:#c9d2e9;font:700 13px 'DM Sans',sans-serif;cursor:pointer}.selection-modes button.active{background:#ffe065;color:#261408;box-shadow:0 2px 10px #ffc62733}.hand-tip{margin-left:auto;letter-spacing:0}.hand [data-card]{touch-action:pan-y;user-select:none;-webkit-user-select:none}.your-speech{min-height:20px;margin-top:9px;text-align:center;font-size:12px;color:#ffe59b;line-height:1.4}.last-cards{color:#ffdc67!important;background:#8e1537!important;box-shadow:0 0 14px #ff506b88;animation:alert-card 1s ease-in-out 2}.audio-options{display:grid;gap:18px;margin:24px 0}.audio-options label{display:flex;align-items:center;gap:12px;justify-content:space-between}.audio-options input[type=checkbox]{width:22px;height:22px;accent-color:#ffd33d}.audio-options input[type=range]{accent-color:#ffd33d;width:45%}.voice-tests{display:flex;gap:10px;margin:20px 0}.voice-tests button{flex:1;padding:12px 6px}#voice-status{padding:12px;border-radius:10px;background:#151e36;color:#ffdf91;font-size:13px}.speech{overflow-wrap:anywhere}.interaction-help{border-left:3px solid #ffd33d;padding-left:12px}.selection-modes button:focus-visible{outline:3px solid white;outline-offset:2px}@keyframes alert-card{50%{transform:scale(1.12)}}
@media(max-width:650px){.hand-tools{gap:6px;margin-bottom:4px;font-size:10px}.selection-modes button{min-height:34px;padding:5px 15px}.your-speech{font-size:11px;min-height:30px;margin-top:5px}.voice-button{padding:8px!important}.voice-button span{display:none}.game-shell .arena-table{min-height:780px}.game-shell .player-dock{bottom:38px}.game-shell .table-center{top:240px}.speech{font-size:11px!important}.hand-tip{font-size:10px}}
@media(prefers-reduced-motion:reduce){.last-cards{animation:none}}
@media(max-width:650px){.game-shell .table-center{top:232px}.game-shell .table-center .phase-tag{display:none}.game-shell .pass-trail{margin-top:3px;font-size:10px}}

.auto-pass-status{color:#ffe08b;font-size:16px;line-height:1.4;max-width:540px;margin:0 auto}.auto-pass-status:before{content:"\23F3 ";font-size:16px}@media(max-width:650px){.auto-pass-status{font-size:14px;line-height:1.3;max-width:320px}}
@media(max-width:650px){.game-shell .arena-table{min-height:820px}.game-shell .table-center{top:258px}}

/* A played card keeps its author visible while the next player thinks. */
.avatar-0,.played-owner-0{--owner-color:#ffd568}.avatar-1,.played-owner-1{--owner-color:#65ddff}.avatar-2,.played-owner-2{--owner-color:#ff9bc7}
.avatar.table-owner{outline:3px solid var(--owner-color);outline-offset:3px;box-shadow:0 0 19px color-mix(in srgb,var(--owner-color) 45%,transparent)}
.avatar.just-played{animation:avatar-play 650ms ease-in-out 2}
@keyframes avatar-play{0%,100%{filter:brightness(1);transform:scale(1)}50%{filter:brightness(1.45);transform:scale(1.08);box-shadow:0 0 0 5px var(--owner-color),0 0 30px var(--owner-color)}}
.played-label{display:flex;align-items:center;justify-content:center;gap:8px;width:fit-content;max-width:100%;margin:12px auto 0;padding:5px 12px;border:1px solid var(--owner-color);border-radius:18px;background:#08162ef0;color:#eaf2ff;font-size:14px;letter-spacing:0;line-height:1.3}.played-label strong{color:var(--owner-color);font-weight:900}.played-portrait{width:25px;height:25px;border-radius:50%;flex-shrink:0;background-size:700%;border:1px solid var(--owner-color)}
@media(max-width:650px){.played-label{margin-top:7px;padding:3px 9px;gap:6px;font-size:13px}.played-portrait{width:21px;height:21px}.game-shell .arena-table{min-height:840px}}
@media(prefers-reduced-motion:reduce){.avatar.just-played{animation:none;outline:3px solid var(--owner-color)}}
.hand.swiping .card:not(.selected){transform:none!important}
.hand .card.swipe-preview{outline:3px solid #ffca45;outline-offset:-3px;filter:brightness(1.08)}
.hand .card.swipe-preview.swipe-remove{outline-color:#f36b86;filter:brightness(.9)}

.master-mute{white-space:nowrap}.master-mute[aria-pressed=true]{background:#72344a;border-color:#e9849b;color:#fff}#info a{color:#ffda71}
@media(max-width:430px){.topbar{padding:0 8px}.wordmark{font-size:20px;letter-spacing:1px;gap:4px}.wordmark span{display:none}.top-actions{gap:4px}.top-actions .small-button{font-size:11px;padding:5px 6px}.top-actions .voice-button{padding:5px!important}}
/* Keep the hand together: overlap cards instead of spreading grid cells. */
.hand{--step:min(32px,calc((100% - var(--card-width))/max(1,var(--count) - 1)))}
@media(min-width:501px) and (max-width:650px){
  .hand{display:flex;--card-width:46px;--step:min(28px,calc((100% - var(--card-width))/max(1,var(--count) - 1)));min-height:100px;padding:20px 0 0;gap:0}
  .hand .card{margin-left:calc(var(--step) - var(--card-width))!important}
  .hand .card:first-child{margin-left:0!important}
}
@media(max-width:500px){
  .hand{grid-template-columns:repeat(var(--cols),minmax(0,28px));grid-auto-rows:80px;min-height:0;padding:20px 18px 0 0;row-gap:0}
}
.audio-mode-select{max-width:175px;cursor:pointer;color-scheme:dark}.audio-mode-select option{background:#13233c;color:#fff}
.audio-mode-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 0}
.career-badge{display:block;width:100%;margin:14px 0;padding:12px 14px;text-align:left;color:#ffdb7c;background:linear-gradient(125deg,#253448,#332c21);border:1px solid #9b7a37;border-radius:13px;cursor:pointer}.career-badge>span{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px}.career-badge small{display:block;font-size:12px;color:#d4dde9}.career-badge b{font-size:15px}.career-badge progress{display:block;width:100%;height:6px;margin:9px 0;accent-color:#ffd166}.career-badge.promoted{border-color:#ffe99a;box-shadow:0 0 24px #ffd16644}.career-links{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}.career-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0}.career-stats span{text-align:center;color:#b8c7da;font-size:13px}.career-stats b{display:block;font-size:24px;color:#ffd166}.rank-ladder{padding:0;list-style:none}.rank-ladder li{display:flex;justify-content:space-between;gap:12px;padding:9px;border-bottom:1px solid #ffffff18;font-size:14px}.rank-ladder [aria-current]{background:#ffd16622;color:#ffe299;border-radius:7px}.table-utilities{display:flex;gap:8px}.table-utilities button{border:1px solid #66809b;border-radius:6px;padding:2px 8px;background:#142740;color:#e6edf7;font-size:12px;cursor:pointer}.table-utilities [aria-pressed=true]{border-color:#ffcf68;color:#ffcf68}.lesson-list{display:grid;gap:9px;margin:18px 0}.lesson-entry{display:flex;align-items:center;gap:14px;width:100%;padding:13px;text-align:left;border:1px solid #45617d;border-radius:12px;background:#142840;color:#edf4fe;font-size:16px;cursor:pointer}.lesson-entry>b{color:#ffd166}.lesson-entry>span:first-of-type{flex:1}.lesson-entry small{display:block;margin-top:5px;color:#c0cedf;font-size:12px}.drill-hand{display:flex;gap:6px;flex-wrap:wrap;padding:20px 0 7px}.drill-card{padding:0;border:2px solid transparent;border-radius:8px;background:transparent;cursor:pointer}.drill-card .card{display:block;margin:0!important}.drill-card.chosen{border-color:#ffd166;transform:translateY(-9px);box-shadow:0 0 14px #ffd16677}.drill-table{display:flex;gap:5px}.drill-table .card{margin:0!important}.drill-actions,.replay-controls{display:flex;gap:8px;flex-wrap:wrap}.lesson-success{padding:15px;margin:15px 0;background:#1c4635;border:1px solid #67d9a4;border-radius:12px}.lesson-success b{color:#8bf0ba}.card-counter{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:20px 0}.card-counter>div{padding:10px 4px;border:1px solid #536a83;border-radius:8px;text-align:center;background:#192e49}.card-counter b{display:block;color:#ffd166;font-size:15px}.card-counter span{font-size:24px}.card-counter .exhausted{opacity:.4}.move-list{padding-left:23px;font-size:14px;line-height:1.8}.replay-seat{margin:14px 0;padding:9px;border:1px solid #3e5675;border-radius:10px}.replay-seat h3{margin:0 0 10px;font-size:15px}.replay-seat h3 small{color:#c0cedf;font-size:12px}.replay-seat>div{display:flex;flex-wrap:wrap;gap:4px}.replay-seat .card{margin:0!important;width:36px;height:51px;min-width:36px}.replay-active{border-color:#ffd166;background:#ffd16610}.replay-slider{width:100%;margin:18px 0;accent-color:#ffd166}.result-panel{max-height:92dvh;overflow:auto}.practice-label{color:#ffd166;font-weight:700}
.audio-mode-choice{padding:13px 12px;min-height:82px;text-align:left;background:#13233c;border:1px solid #506887;border-radius:12px;color:#e5ecf6}
.audio-mode-choice strong,.audio-mode-choice span{display:block}.audio-mode-choice strong{font-size:15px}.audio-mode-choice span{font-size:12px;line-height:1.5;margin-top:6px;color:#b8c7da}
.audio-mode-choice[aria-pressed=true]{border-color:#ffd166;background:#3a321e;box-shadow:inset 0 0 0 1px #ffd166}.audio-mode-choice[aria-pressed=true] strong{color:#ffd166}
@media(max-width:430px){.top-actions .audio-mode-select{width:100px;max-width:100px;min-width:0;padding:5px 3px}.top-actions .voice-button{min-width:28px;width:28px}.audio-mode-choice{padding:11px 9px}.audio-mode-choice strong{font-size:14px}}
.avatar-clock-wrap{position:relative;flex-shrink:0;width:fit-content}
.turn-clock{position:absolute;right:-9px;bottom:-6px;z-index:3;display:grid;place-items:center;width:34px;height:34px;border:2px solid #ffe185;border-radius:50%;background:#15213c;color:#ffe185;font-size:20px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1;box-shadow:0 2px 9px #0009;pointer-events:none}
.turn-clock[hidden]{display:none}.turn-clock.urgent{background:#a80d35;color:white;border-color:#ffb4b4;animation:clock-pulse 1s ease-out infinite}.turn-clock.expired{animation:none}
@keyframes clock-pulse{0%{transform:scale(1.2);box-shadow:0 0 16px #ff385b}65%,100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.turn-clock.urgent{animation:none}}
.resume-round{display:block;width:100%;margin:12px 0;padding:13px;border:1px solid #79e4c0;border-radius:12px;background:#143b38;color:#b9ffe7;font-weight:800;font-size:15px}.room-detail{font-size:13px;color:#aabbd0;margin:8px 0 14px}.levels .level:disabled{opacity:.55;cursor:not-allowed}.levels .level:disabled:hover{transform:none}
.levels .room-threshold{display:block;margin-top:5px;font-size:12px;font-weight:500;color:#aabbd0;text-transform:none;letter-spacing:0}

/* Lobby: room choices and the primary action stay ahead of decorative content. */
.wordmark .hall-label{display:block;font-family:inherit;font-size:12px;line-height:1.1;letter-spacing:1px;color:#bbd1eb;text-align:left;margin-top:2px}
@media(max-width:900px){
 .lobby-visual{top:60px;height:150px;width:100%}
 .lobby-visual img{height:100%;object-position:50% 12%}
 .lobby:after{background:linear-gradient(0deg,#071225 0%,#071225 63%,#07122555 80%,transparent 100%)}
 .lobby-panel{padding:150px 20px 18px;max-width:none}
 .lobby-panel>.eyebrow,.lobby-panel>.intro{display:none}
 .lobby h1{font-size:30px;line-height:1.05;margin:0 0 12px;letter-spacing:0}
 .lobby h1 br{display:none}
 .lobby .career-badge{padding:9px 12px;margin:0 0 12px}
 .lobby .career-badge progress{margin:5px 0;height:4px}
 .lobby .difficulty-label{margin:0;font-size:12px}
 .lobby .levels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:7px 0}
 .lobby .level{padding:8px 3px;min-width:0;font-size:12px}
 .lobby .level>span{font-size:21px;margin-bottom:3px}
 .lobby .room-threshold{font-size:12px;margin-top:3px}
 .lobby .room-detail{margin:8px 0 10px;font-size:12px}
 .lobby .enter{min-height:48px;padding:12px 16px}
 .lobby .text-button{margin-top:6px;font-size:14px}
 .lobby .career-links{gap:8px 18px}
 .lobby .fine{margin:8px 0;font-size:12px}
 .lobby .record{padding-top:8px;gap:28px}
 .lobby .record b{font-size:21px;margin:0}
 .lobby .resume-round{padding:9px;margin:8px 0}
}
@media(max-width:430px){
 .lobby-panel{padding:110px 14px 16px}.lobby-visual{height:110px}
 .lobby h1{font-size:26px;margin-bottom:10px}
 .lobby .levels{grid-template-columns:repeat(2,minmax(0,1fr))}
 .lobby .level>span{display:inline;margin-right:6px;font-size:15px}
 .lobby .room-detail{font-size:11px}.lobby .record{gap:22px}
}
@media(min-width:901px) and (max-height:850px){
 .lobby-panel{padding-top:24px;padding-bottom:20px}
 .lobby-panel>.eyebrow{margin:0 0 8px}.lobby-panel>.intro{margin:8px 0 12px}
 .lobby h1{font-size:48px;line-height:1.02;margin:8px 0}
 .lobby .career-badge{padding:9px 12px}.lobby .levels{margin:8px 0 10px}
 .lobby .record{padding-top:10px}.lobby .fine{margin-bottom:10px}
}
.trial-panel h2{font-size:34px;margin:10px 0 18px}.trial-panel p,.guide-rules{font-size:16px;line-height:1.5}.guide-sides{display:grid;grid-template-columns:1fr 1fr;gap:12px}.guide-sides>div{display:grid;gap:8px;padding:16px 12px;background:#1a2e49;border:1px solid #7ba5ce55;border-radius:12px}.guide-sides b{color:#ffd36a}.guide-sides>div+div b{color:#68d6ff}.guide-sides span{font-size:14px}.trial-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.trial-actions button{padding:12px 16px;min-height:48px}.trial-actions [aria-pressed=true]{outline:2px solid #ffd36a}.trial-panel .primary{padding:14px 18px;min-height:48px}.guide-table{text-align:center;background:#081527;padding:12px;font:bold 26px Georgia;border-radius:8px}.guide-hand{display:flex;gap:12px;justify-content:center;padding:30px 0 12px}.guide-card{width:68px;height:92px;font:bold 28px Georgia;background:#f3f5fa;color:#17304a;border:2px solid #fff;border-radius:8px;transition:transform .12s}.guide-card:nth-child(2){color:#c92942}.guide-card.chosen{transform:translateY(-14px);border-color:#ffc75b;background:#fff0bd;box-shadow:0 0 0 2px #ffc75b55}.guide-rules{padding-left:22px}.guide-rules li{margin:12px 0}.trial-field{display:grid;gap:8px;margin:16px 0;font-size:16px}.trial-field select{padding:12px;background:#1a2e49;color:#fff;border:1px solid #7ba5ce;border-radius:8px;font:inherit}.trial-panel textarea{width:100%;height:200px;background:#071225;color:#dbe6f7;padding:12px;font-size:14px}.trial-panel .text-button{white-space:normal;text-align:left}.lobby h1{max-width:600px}@media(max-width:430px){.guide-sides{grid-template-columns:1fr}.trial-panel h2{font-size:28px}.trial-panel .trial-actions button{flex:1 1 auto}dialog:has(.trial-panel){padding:24px 18px}}

.boot{padding:12vh 24px;text-align:center}.boot a{color:#ffd36a}
