:root{color-scheme:dark;--bg:#141914;--panel:#20271e;--line:#394032;--muted:#a1aa95;--gold:#e4bd6c;--text:#f2efdf;font-family:system-ui,-apple-system,'Segoe UI',sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 35%,#2c3424 0, #141914 68%);color:var(--text);min-height:100dvh}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);border-radius:9px;background:#2d3529;color:var(--text);padding:10px 15px;transition:background .15s}button:hover{background:#404a36}button:disabled{opacity:.35;cursor:not-allowed}button.primary,.primary{background:var(--gold);color:#22291b;font-weight:750;border-color:var(--gold)}button.danger{color:#ffab99;border-color:#86564a}input,select{padding:10px;background:#171d16;color:var(--text);border:1px solid #515842;border-radius:7px;min-width:0}input[type=number]{width:88px}input[type=checkbox]{width:auto}header{height:85px;max-width:1400px;margin:auto;padding:18px 35px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;color:var(--gold);text-decoration:none;font-size:38px}.brand span{font-size:15px;letter-spacing:3px}.brand small{display:block;font-size:11px;letter-spacing:2px;color:var(--muted);margin-top:3px}.header-actions{display:flex;align-items:center;gap:9px}#connection{font-size:12px;color:var(--muted)}main{max-width:1260px;margin:0 auto;padding:24px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:3px;color:var(--gold)}h1{font-size:36px;line-height:1.3;letter-spacing:-1.5px}h2{font-size:20px}p{line-height:1.7;color:var(--muted)}.round-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.round-head h2{margin:6px 0}.pill{padding:6px 12px;background:#303c29;border:1px solid #536346;border-radius:20px;font-size:12px;color:#c1d2aa}.arena{background:linear-gradient(145deg,#252e20aa,#1b2118dd);border:1px solid #454e36;border-radius:18px;overflow:hidden;padding:18px 24px;box-shadow:0 25px 60px #0002}.timer{height:66px;margin-bottom:8px}.timer-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:12px}.timer strong{font-variant-numeric:tabular-nums;color:var(--gold);font-size:27px}.track{height:7px;background:#0f140e;border-radius:5px;margin-top:6px;overflow:hidden}.fill{height:100%;width:0;background:var(--gold);transition:width .1s linear}.urgent .fill{background:#e57e59}.urgent strong{color:#ff9270}.dice{display:flex;justify-content:center;gap:15px;margin:12px 0 18px}.die{width:65px;height:65px;border-radius:13px;border:1px solid #e3d3a3;background:#ebe1c2;color:#292f22;font-size:30px;font-weight:800;display:grid;place-items:center;box-shadow:0 5px 0 #918968}.die:nth-child(2){border-radius:20px 7px}.die:nth-child(3){border-radius:7px 20px}.pyramid{display:flex;flex-direction:column;align-items:center;gap:10px;padding:10px 0 18px}.row{display:flex;gap:10px}.tile,.empty{width:77px;height:75px;border-radius:9px;border:2px solid var(--tile);background:#eee6cd;color:#20271b;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;position:relative;box-shadow:0 4px 0 color-mix(in srgb,var(--tile),#111 35%)}.tile:hover{background:#fff6dc;transform:translateY(-2px)}.tile b{font-size:29px;font-variant-numeric:tabular-nums}.tile small{font-size:10px;color:#675f48}.yellow{--tile:#e4bc4d}.blue{--tile:#69a8c5}.red{--tile:#c9715b}.black{--tile:#555b55}.empty{background:#12190f66;border-style:dashed;opacity:.5;box-shadow:none;color:#707c63}.decks{display:flex;justify-content:center;gap:17px;border-top:1px solid var(--line);padding-top:15px}.deck{text-align:center}.deck .tile{width:53px;height:50px;box-shadow:3px 3px 0 #303625,6px 6px 0 #424835;cursor:default}.deck .tile b{font-size:20px}.deck .tile small{display:none}.deck>small{display:block;color:var(--muted);margin-top:12px;font-size:10px}.arena-note{text-align:center;color:var(--muted);font-size:12px;margin:14px 0 0}.actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:14px}.card{background:#20271dcc;border:1px solid var(--line);border-radius:13px;padding:20px;margin-bottom:15px}.card h3{font-size:15px;margin:0 0 15px}.player{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #ffffff0a}.avatar{border:1px solid #65714e;background:#303e28;color:#d5c994;border-radius:50%;width:33px;height:33px;display:grid;place-items:center;font-size:13px}.player-name{flex:1;min-width:0;overflow-wrap:anywhere}.player-name small{display:block;font-size:11px;color:var(--muted);margin-top:3px}.player.offline{opacity:.55}.player .score{font-size:19px;color:var(--gold)}.muted{color:var(--muted);font-size:12px}.personal{display:flex;align-items:center;justify-content:space-between;gap:8px}.toolbar{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.toolbar button{flex:1}.history-line{font-size:12px;color:var(--muted);padding:8px 0;border-bottom:1px solid #ffffff09}.mobile-nav{display:none}.hand{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 20px}.hand .tile{width:61px;height:61px}.hand .tile b{font-size:22px}.hand .wrong{background:#32382b;color:#e0c9a0}.hand .wrong small{color:#c99680}.claim{display:flex;align-items:center;gap:12px;padding:10px 0}.claim .tile{width:55px;height:52px}.claim .tile b{font-size:22px}.proof{margin-top:20px;border-top:1px solid var(--line);padding-top:16px}.expression{min-height:60px;padding:14px;background:#12180f;border:1px solid #555d40;border-radius:9px;font-size:23px;word-break:break-all;margin:10px 0}.keys{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.keys button{font-size:22px;min-width:45px}.keys .used{opacity:.2;box-shadow:inset 0 0 12px #000}.proof-error{color:#ffb09c;min-height:20px;font-size:13px}dialog{background:#22291f;color:var(--text);border:1px solid #626949;border-radius:18px;padding:25px;max-width:min(720px,94vw);max-height:90dvh;box-shadow:0 20px 100px #0009}dialog::backdrop{background:#0009;backdrop-filter:blur(4px)}#join{width:430px}#join input,#join .primary{width:100%;margin-top:12px}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:30px;position:sticky;top:-25px;background:#22291f;z-index:2;padding-bottom:12px}.dialog-head h2{margin:0}#panel{width:720px}.settings-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:10px 0}.settings-row label{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px}fieldset{border:1px solid #4e573d;border-radius:10px;margin:15px 0;padding:15px}legend{color:var(--gold);padding:0 8px}fieldset:disabled{opacity:.5}details{border:1px solid #4e573d;padding:14px;border-radius:9px;margin-top:15px}summary{cursor:pointer}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:12px 20px;background:#f0dbad;color:#262f1e;border-radius:10px;z-index:20;display:none;max-width:90vw}.rank{display:flex;justify-content:space-between;padding:13px;border-bottom:1px solid var(--line)}.winner{color:var(--gold);font-weight:800}.big-title{font-size:32px;color:var(--gold)}.lobby-intro{padding:24px 0}.lobby-intro h1{margin:12px 0}.order-row{display:flex;gap:8px;align-items:center;padding:8px 0}.order-row span{flex:1}.order-row button{padding:6px 12px}
@media(max-width:800px){header{height:65px;padding:12px 16px}.brand{font-size:28px}.brand span{font-size:11px;letter-spacing:2px}.brand small{font-size:9px}.header-actions button{padding:8px 10px;font-size:12px}#connection{font-size:10px}main{padding:13px}.layout{grid-template-columns:1fr;gap:0}.sidebar{display:none}.mobile-nav{display:flex;gap:8px;margin:12px 0}.mobile-nav button{flex:1;font-size:12px}.round-head{margin-bottom:8px}.round-head h2{font-size:17px}.arena{padding:12px 10px;border-radius:13px}.dice{margin:8px 0 12px;gap:12px}.die{width:48px;height:48px;font-size:25px}.pyramid{gap:7px;padding:5px 0 12px}.row{gap:7px}.tile,.empty{width:65px;height:59px}.tile b{font-size:26px}.tile small{font-size:9px}.timer{height:54px}.timer strong{font-size:24px}.decks{padding-top:10px;gap:18px}.deck .tile{width:42px;height:37px}.deck>small{margin-top:9px}.arena-note{font-size:10px;margin-top:10px}.actions button{font-size:12px;padding:9px 12px}.eyebrow{font-size:9px}.pill{font-size:10px}.lobby-intro{padding:5px 0}.lobby-intro h1{font-size:30px}.card{padding:14px}.hand .tile{width:57px;height:55px}dialog{padding:18px}.dialog-head{top:-18px}.personal input{width:75px}.proof{margin-top:12px}h1{font-size:30px}}
@media(max-width:360px){.tile,.empty{width:58px;height:55px}.row{gap:6px}.header-actions{gap:4px}.brand span{letter-spacing:1px}#connection{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.deck .empty{width:53px;height:50px}.distribution{width:100%;margin-top:8px}button:focus-visible{outline:3px solid #f0d590;outline-offset:3px}@media(max-width:800px){.deck .empty{width:42px;height:37px}}
.dice-section{border:1px solid #82764d;background:linear-gradient(110deg,#393c27,#242d20);border-radius:12px;padding:10px 16px;margin:0 auto 12px;max-width:470px;box-shadow:inset 0 1px #b5a57433}.dice-caption{display:flex;align-items:center;justify-content:space-between;gap:10px}.dice-caption strong{color:var(--gold);font-size:14px}.dice-caption span{color:#c6cbb8;font-size:11px}.dice-section .dice{margin:12px 0 6px}.my-target{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border:1px solid #b49b5b;background:#383a26;border-radius:12px;margin:12px 0}.my-target strong{display:block;font-size:20px;margin-top:8px}.my-target p{margin:7px 0 0}.my-target .tile{width:88px;height:82px;flex-shrink:0}.my-target .tile b{font-size:36px}.player .score{font-size:14px;white-space:nowrap}@media(max-width:800px){.dice-section{padding:7px 12px;margin-bottom:8px}.dice-caption strong{font-size:12px}.dice-caption span{font-size:10px;max-width:160px;text-align:right}.dice-section .dice{margin:9px 0 5px}.my-target{padding:13px}.my-target strong{font-size:17px}.my-target .tile{width:75px;height:70px}}
@media(max-width:480px){#connection{display:none}.header-actions{gap:4px}.header-actions button{padding:7px;font-size:11px}.brand span{font-size:10px;letter-spacing:1px}.brand{gap:8px}}
