:root{color-scheme:dark;--text:#f5ecd6;--muted:#c3b597;--gold:#efc66f;--line:#b58d484f;--panel:linear-gradient(145deg,#23281e,#101a13 65%,#0b140e);--button:linear-gradient(145deg,#2a2b22,#101710);--checker:clamp(17px,5.4vw,40px)}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(#090c0aee,#090c0ae8),url('/table/assets/art/walnut.webp') center/512px;color:var(--text);font:15px/1.5 'Segoe UI',Arial,sans-serif}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.4}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #f2ce7b;outline-offset:3px}[hidden]{display:none!important}a{color:var(--gold)}button{color:inherit}h1,h2,p{margin-top:0}h1{font:700 clamp(38px,5vw,58px)/1.1 Georgia,serif;margin-bottom:12px}h2{font-size:25px;line-height:1.2;margin-bottom:15px}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}
.game-header{min-height:66px;display:flex;align-items:center;gap:24px;padding:10px max(16px,calc((100% - 1400px)/2));background:linear-gradient(#171910,#080b09);border-bottom:1px solid #c79b5066}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:#f0d494;font:700 24px/.94 Georgia,serif;white-space:nowrap;letter-spacing:.6px}.brand small{display:block;font:9px/1.8 'Segoe UI',sans-serif;letter-spacing:4px;text-align:center}.crown{font-size:38px;color:#e7bc62}.game-label{color:#b7a47b;border-left:1px solid #b2914b66;padding-left:20px}.game-header nav{display:flex;align-items:center;gap:7px;margin-left:auto}.icon-button{width:41px;height:41px;position:relative;border:1px solid #b3934e55;border-radius:9px;background:var(--button);color:#ead092;box-shadow:inset 0 1px #efdba328;font-size:24px;line-height:1}.icon-button:hover{border-color:#cda65f}
.setup-screen{max-width:1000px;margin:0 auto;padding:36px 24px 55px}.back-link{display:inline-block;border:0;background:none;color:#d3bb87;font-size:14px;padding:0;margin:0 0 28px;text-decoration:none}.eyebrow{font-size:10px;letter-spacing:2px;color:#bda97a;margin-bottom:14px}.intro{color:#c8bea4;font-size:18px;margin-bottom:28px}.variant-picker{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:26px}.variant-picker button{position:relative;display:grid;grid-template-columns:44px 1fr;text-align:left;column-gap:13px;border:1px solid #9a7d4155;border-radius:13px;padding:22px;color:#d7c9a7;background:var(--panel);box-shadow:inset 0 1px #f6d38e15}.variant-picker button[aria-pressed=true]{border-color:#e8bc63;background:linear-gradient(130deg,#6c592e77,#182d1c);box-shadow:inset 0 0 0 1px #e8bc6333}.variant-picker button[aria-pressed=true]:after{content:'✓';position:absolute;right:13px;top:9px;color:#f7d68e}.variant-icon{grid-row:span 2;font-size:36px;color:#ecd193}.variant-picker strong{font:700 25px Georgia,serif;align-self:end}.variant-picker small{font-size:12px;color:#c6b99b;margin-top:8px}.setup-modes{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{background:var(--panel);border:1px solid #a0844666;border-radius:16px;padding:28px;box-shadow:inset 0 1px #ffe3a529,0 8px 22px #0004}.panel p{color:#c9bea2;min-height:48px}.button,.small-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid #b3934e77;border-radius:10px;background:var(--button);color:#f1dfba;box-shadow:inset 0 1px #f6dfa840,0 3px 0 #0007;font-weight:650;min-height:49px;padding:11px 20px;text-decoration:none}.button:hover,.small-button:hover{border-color:#e1bb70}.button.gold,.small-button.gold{background:linear-gradient(135deg,#f8d990,#efbf62 46%,#c68c35);border-color:#f8d38b;color:#2a1b06;box-shadow:inset 0 1px #fff0c6,0 3px 0 #835421}.full{width:100%;margin-top:12px}.small-button{min-height:38px;padding:7px 12px;font-size:13px}.text-button{background:none;border:0;color:#d4bd8f;padding:12px;box-shadow:none}.note{font-size:12px;color:#baaf94}.setting-field{display:grid;gap:7px;color:#dac89e;margin:20px 0}.setting-field input,.setting-field select,input,select{min-width:0;width:100%;border:1px solid #a18a4f66;border-radius:9px;background:#080f0b;color:#eee0c0;padding:11px 13px;font-size:16px}input[readonly]{font-size:13px;color:#caba98}.setting-field input:focus,.setting-field select:focus{border-color:#e9c878}.lobby-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.lobby-heading #club-status{font-size:13px;color:#bba97b}.lobby-actions{display:flex;gap:12px;margin:26px 0}.name-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:22px 0;font-size:13px}.room-list{display:grid;gap:15px}.room-row{background:var(--panel);padding:22px;border-radius:12px;border:1px solid #a18a4f66}.room-row p{color:#c6b797;font-size:13px;margin:8px 0 16px}.room-row-footer{display:flex;justify-content:space-between;align-items:center;gap:12px}.room-row-footer>span{font-size:12px;color:#b6a680}
.table-screen{max-width:1000px;margin:auto;padding:14px 24px 20px}.table-info{display:flex;justify-content:space-between;gap:12px;color:#baa77b;font-size:12px;margin-bottom:12px}.player-strip{display:flex;align-items:center;gap:12px;padding:0 8px 10px}.player-strip.you{padding:12px 8px 0}.player-avatar{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;color:#ead194;background:radial-gradient(#3a4231,#101c13);border:1px solid #bb974d;font-size:27px}.player-strip strong{display:block;font-size:16px;color:#f1dfb5}.player-strip div>span{display:block;font-size:11px;color:#b9ae8a}.pip-count{margin-left:auto;border:1px solid #ad8b4b55;border-radius:20px;padding:4px 10px;color:#d5bd83;font-size:13px}.off-count{font-size:12px;color:#c3b69b;white-space:nowrap}.board-wrap{padding:8px;border:1px solid #b58b45;border-radius:17px;background:linear-gradient(110deg,#30201080,#7a4b2580,#261d12aa),url('/table/assets/art/walnut.webp') center/512px;box-shadow:inset 0 1px #f4ce8566,0 10px 25px #0008}
.nardy-board{height:clamp(330px,53vw,510px);position:relative;isolation:isolate;border:1px solid #c79b5066;border-radius:10px;overflow:hidden;background:radial-gradient(ellipse at 50% 45%,#0e563b33,#001b1499),url('/table/assets/art/felt.webp') center/360px;box-shadow:inset 0 0 22px #00150e99;padding:12px 10px}.board-center{position:absolute;inset:44% 0 auto;text-align:center;pointer-events:none;opacity:.18;font:10px Georgia,serif;letter-spacing:4px;color:#ebcc87}.board-center>span{display:block;font-size:24px;margin-bottom:4px}#points{display:grid;grid-template-columns:repeat(6,minmax(0,1fr)) minmax(15px,.65fr) repeat(6,minmax(0,1fr)) 38px;grid-template-rows:44% 12% 44%;height:100%;gap:0 3px;position:relative;z-index:2;pointer-events:none}.point{position:relative;background:transparent;border:0;margin:0;padding:0;min-width:0;height:100%;border-radius:3px;color:#f6dfac;pointer-events:auto;touch-action:none}.point:before{content:'';position:absolute;inset:13px 5% 6%;background:linear-gradient(#bda15fbb,#8b6e3a88);clip-path:polygon(0 0,100% 0,50% 100%);pointer-events:none}.point.even:before{background:linear-gradient(#172f23,#2b563ea8);filter:none}.point.bottom:before{transform:rotate(180deg);inset:6% 5% 13px}.point-label{position:absolute;top:-5px;left:0;right:0;font-size:10px;color:#c8b17e;line-height:1}.point.bottom .point-label{top:auto;bottom:-5px}.checker{position:absolute;display:block;left:50%;transform:translateX(-50%);top:calc(15px + var(--slot)*var(--checker)*.78);width:var(--checker);height:var(--checker);border-radius:50%;border:1px solid #dbbd7c;background:radial-gradient(circle at 36% 28%,#fff7de,#e3cda3 65%,#9f7844);box-shadow:inset 0 0 0 3px #b4955e55,inset 0 -3px 2px #77502a77,0 2px 3px #0009;pointer-events:none}.checker.dark{border-color:#b0955d;background:radial-gradient(circle at 36% 28%,#4c5543,#192119 65%,#0a100b);box-shadow:inset 0 0 0 3px #bba16d33,inset 0 -3px 2px #000a,0 2px 3px #0009}.point.bottom .checker{top:auto;bottom:calc(15px + var(--slot)*var(--checker)*.78)}.stack-count{position:absolute;left:50%;transform:translateX(-50%);top:calc(16px + 4.3*var(--checker));border-radius:10px;background:#0a1a12;color:#f2d38c;border:1px solid #af8e4b;font-size:11px;font-weight:700;padding:1px 6px;z-index:8;pointer-events:none}.point.bottom .stack-count{top:auto;bottom:calc(16px + 4.3*var(--checker))}.point.selected .checker:last-of-type{outline:2px solid #ffe09a;outline-offset:2px;filter:brightness(1.12)}.point.destination:after{content:'';position:absolute;width:15px;height:15px;left:50%;top:68%;transform:translate(-50%,-50%);border-radius:50%;background:#f6d27b;box-shadow:0 0 0 5px #edc86a22}.point.bottom.destination:after{top:32%}.point.drag-over{background:#e8bc5733;outline:1px solid #efd184}.point.source:focus-visible{outline-offset:0}
.bar-zone{position:absolute;z-index:3;left:calc((100% - 66px)/2);width:19px;top:12px;bottom:12px;border:1px solid #ad854344;border-radius:5px;background:linear-gradient(90deg,#292313,#5e4426,#2b2415);padding:0;touch-action:none}.bar-zone>span{position:absolute;left:50%;transform:translateX(-50%);width:var(--checker);color:#eed394;font-weight:700;font-size:11px;line-height:var(--checker);border-radius:50%;background:#1b251b;border:1px solid #bea16d}.bar-zone>span:empty{display:none}.bar-zone #bar-enemy{top:15%}.bar-zone #bar-you{bottom:15%;background:#e9d8b5;color:#382715}.bar-zone.selected{outline:2px solid #ffe09a}.off-zone{position:absolute;right:7px;top:12px;bottom:12px;width:35px;z-index:3;border:1px solid #b18d4b66;border-radius:7px;background:#07170d88;padding:8px 2px;color:#cbb782;touch-action:none;display:flex;flex-direction:column;align-items:center;gap:12px}.off-zone>span:first-child{writing-mode:vertical-rl;font-size:9px;letter-spacing:2px}.off-zone b{font-size:10px;line-height:1.7;font-weight:500}.off-zone.destination{border-color:#ffe09a;background:#9e834044;box-shadow:inset 0 0 14px #e9c77633}.off-zone.drag-over{outline:2px solid #efd184}.off-zone #off-stack{display:flex;flex-direction:column;gap:2px;width:22px}.off-token{display:block;height:4px;border-radius:3px;background:linear-gradient(#f9e7b9,#b6955e);border:1px solid #b18a48}.off-token.dark{background:linear-gradient(#465141,#101c13)}
.dice-tray{position:absolute;left:54%;right:50px;top:50%;transform:translateY(-50%);display:flex;gap:8px;justify-content:center;pointer-events:none;z-index:4}.die{position:relative;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:3px;padding:7px;width:43px;height:43px;border:1px solid #fff1c6;border-radius:9px;background:linear-gradient(145deg,#fff2d2,#c9aa72);box-shadow:inset 0 1px #fff7d7,0 4px 7px #0008;transition:opacity .15s}.die.used{opacity:.25}.die i{width:6px;height:6px;align-self:center;justify-self:center;border-radius:50%;background:#29251a;box-shadow:inset 0 1px 2px #0008}.dice-tray.rolling .die{animation:roll .3s ease-out}.dice-extra{position:absolute;bottom:-20px;color:#d6bc83;font-size:10px;white-space:nowrap}.checker-ghost{position:fixed;z-index:300;left:0;top:0;pointer-events:none;transform:translate(-50%,-50%);width:var(--checker);height:var(--checker);opacity:.9;box-shadow:0 6px 10px #0008}.status-line{text-align:center;font-size:16px;font-weight:600;color:#f2d38e;margin:15px 0 12px;min-height:25px}.status-line.paused{color:#f2c292}.game-actions{display:grid;grid-template-columns:1fr 1fr 2fr;gap:12px}.game-actions .button{min-width:0;padding:12px}.gesture-note{font-size:11px;text-align:center;color:#b2a47e;margin:14px 0 0}.waiting-panel{max-width:600px;margin:25px auto}.waiting-panel p{min-height:0}.waiting-panel h2{margin-bottom:12px}
.modal{width:min(580px,calc(100% - 28px));max-height:calc(100svh - 30px);padding:26px;border:1px solid #d1a85b99;border-radius:17px;background:var(--panel);color:var(--text);box-shadow:inset 0 1px #ffe4a540,0 25px 60px #000b}.modal::backdrop{background:#000b}.modal-top{display:flex;align-items:center;justify-content:space-between;gap:14px;color:#d9c89f;margin-bottom:20px}.modal p{color:#cbbfa1}.modal h2{color:#f5dfaf}.modal a{color:#e3c279}.modal #room-error,.modal #table-chat-error{color:#f0a886;font-size:13px;margin:14px 0 0}.modal #room-error:empty,.modal #table-chat-error:empty{display:none}.chat-modal{height:min(630px,calc(100svh - 35px));overflow:hidden}.chat-modal[open]{display:flex;flex-direction:column;gap:10px}.chat-modal .modal-top{margin-bottom:5px}.chat-messages{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px;background:#06170c99;border:1px solid #a28a4144;border-radius:10px}.chat-empty{color:#b7aa87;font-size:13px}.chat-message{margin-bottom:17px}.chat-author{display:flex;justify-content:space-between;gap:12px;color:#e1c58b;font-size:12px}.chat-author time{font-size:10px;color:#a69c7d}.chat-message p{font-size:14px;margin:5px 0;overflow-wrap:anywhere}.chat-form{display:flex;gap:8px;padding-top:5px}.chat-form input{flex:1}.chat-form .small-button{font-size:22px;min-width:44px}.chat-unread{position:absolute;right:-4px;top:-5px;font:700 10px/18px 'Segoe UI',sans-serif;min-width:18px;padding:0 4px;border-radius:20px;color:#221b09;background:#f0c771;border:1px solid #ffe3a6;box-shadow:0 0 0 2px #0a100a}.has-unread{border-color:#dbac50}.people-modal{width:min(760px,calc(100% - 28px))}.people-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.people-list{max-height:270px;overflow-y:auto}.people-modal h2{font-size:20px}.invite-person{display:flex;justify-content:space-between;gap:9px;padding:11px 0;border-bottom:1px solid #ad8b4b22}.invite-person-info{min-width:0}.invite-person-info strong{display:block;overflow-wrap:anywhere;font-size:14px}.invite-person-info small{display:block;font-size:10px;color:#b9ac87;margin-top:4px}.invite-person-actions{display:flex;align-items:center;gap:6px}.invite-person-actions .small-button{font-size:11px;padding:6px;min-height:34px}.incoming-invites{position:fixed;z-index:200;top:77px;right:15px;display:grid;gap:10px;max-width:calc(100% - 30px)}.incoming-invite{display:flex;align-items:center;gap:10px;padding:15px;border:1px solid #d3ad5d;border-radius:13px;background:#182217;box-shadow:0 8px 25px #0009;font-size:13px}.toast{position:fixed;z-index:400;bottom:30px;left:50%;transform:translateX(-50%);max-width:min(570px,calc(100% - 30px));padding:12px 19px;border:1px solid #e6be6577;border-radius:13px;background:#102116f5;color:#f7dfac;box-shadow:0 6px 20px #0008;text-align:center;font-size:14px;pointer-events:none}.toast:empty{display:none}.result-modal{text-align:center;max-width:430px}.result-crown{font-size:70px;color:#e9bf69;line-height:1.2;margin-bottom:15px}.fullscreen-suggested{animation:pulse 2.2s ease-in-out infinite}.reduced *{animation:none!important;transition:none!important}
@keyframes roll{0%{transform:translateY(-15px) rotate(-25deg)}50%{transform:translateY(3px) rotate(15deg)}100%{transform:none}}@keyframes pulse{50%{box-shadow:0 0 0 5px #e5bc6626;border-color:#e8bf68}}
@media(min-width:1100px){.table-screen{padding-top:12px}.nardy-board{height:min(510px,calc(100svh - 380px));min-height:300px}.board-wrap{padding:12px}.dice-tray{left:55%;gap:14px}}
@media(max-width:650px){.game-header{padding:10px 12px;gap:8px;min-height:62px;flex-wrap:wrap}.brand{font-size:20px}.brand small{font-size:7px;letter-spacing:3px}.crown{font-size:30px}.game-label{font-size:12px;margin-left:auto;padding-left:10px}.game-header nav{width:100%;justify-content:flex-end;margin:5px 0 0;gap:7px}.icon-button{width:37px;height:37px;font-size:22px}.game-header nav .icon-button:first-child{margin-right:auto}.setup-screen{padding:25px 16px 38px}.back-link{margin-bottom:21px}.variant-picker{gap:10px}.variant-picker button{padding:18px 13px;grid-template-columns:1fr;gap:0}.variant-icon{font-size:30px;grid-row:auto}.variant-picker strong{font-size:24px}.variant-picker small{font-size:11px;line-height:1.6}.setup-modes{grid-template-columns:1fr;gap:15px}.panel{padding:24px}.setup-modes .panel p{min-height:0}.table-screen{padding:10px 9px 20px}.table-info{font-size:10px;margin-bottom:10px}.player-strip{gap:9px;padding:0 7px 10px}.player-avatar{width:31px;height:31px;font-size:22px}.player-strip strong{font-size:14px}.player-strip div>span{font-size:10px}.pip-count{font-size:11px;padding:3px 7px}.off-count{font-size:10px}.board-wrap{padding:5px;border-radius:12px}.nardy-board{height:clamp(310px,86vw,410px);padding:9px 5px;border-radius:7px}#points{grid-template-columns:repeat(6,minmax(0,1fr)) 13px repeat(6,minmax(0,1fr)) 26px;gap:0 1px}.point:before{inset:12px 3% 8%}.point.bottom:before{inset:8% 3% 12px}.point-label{top:-3px;font-size:8px}.point.bottom .point-label{bottom:-3px}.bar-zone{left:calc((100% - 42px)/2);width:13px;top:9px;bottom:9px}.off-zone{right:4px;top:9px;bottom:9px;width:25px;padding:8px 1px}.off-zone>span:first-child{font-size:8px}.off-zone b{font-size:8px}.off-zone #off-stack{width:16px}.checker{box-shadow:inset 0 0 0 2px #b4955e55,inset 0 -2px 1px #77502a77,0 2px 2px #0008}.checker.dark{box-shadow:inset 0 0 0 2px #bba16d33,inset 0 -2px 1px #000a,0 2px 2px #0008}.stack-count{font-size:9px;padding:0 4px}.dice-tray{left:54%;right:31px;gap:6px}.die{width:30px;height:30px;border-radius:6px;padding:5px;gap:2px}.die i{width:4px;height:4px}.dice-extra{font-size:9px;bottom:-17px}.board-center{font-size:7px;letter-spacing:2px;left:3%;right:54%;inset-block-start:46%}.board-center>span{font-size:20px}.status-line{font-size:14px;margin:12px 4px;line-height:1.4;min-height:21px}.game-actions{gap:8px;grid-template-columns:1fr 1fr 2.15fr}.game-actions .button{font-size:13px;min-height:47px;padding:10px 5px;gap:5px}.game-actions .button span{font-size:10px}.gesture-note{font-size:10px;margin:11px 3px}.waiting-panel{margin:18px 4px}.modal{padding:21px;max-height:calc(100svh - 24px)}.modal-top{font-size:14px}.modal p{font-size:14px}.people-columns{grid-template-columns:1fr;gap:20px}.people-list{max-height:180px}.name-row{grid-template-columns:1fr auto}.name-row label{grid-column:1/-1}.lobby-actions{flex-wrap:wrap}.lobby-actions .button{flex:1;white-space:nowrap;padding-inline:12px}.room-row{padding:18px}.room-row-footer{align-items:center}.incoming-invite{flex-wrap:wrap}.incoming-invite>span{width:100%}.toast{bottom:16px}}
@media(max-height:530px) and (min-width:650px){.game-header{min-height:49px;padding-block:5px}.table-screen{max-width:800px;padding-top:6px}.nardy-board{height:260px;min-height:0}.player-strip{display:none}.table-info{margin-bottom:5px}.status-line{margin:6px;font-size:13px}.game-actions .button{min-height:39px;padding:8px}.gesture-note{display:none}:root{--checker:24px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

.game-header .icon-button svg{width:22px;height:22px;vertical-align:middle}.brand .crown{width:33px;height:33px;fill:#d9aa4f;stroke:#f3d18a;stroke-width:.6}

.point.selected:has(.stack-count) .checker:nth-last-child(2){outline:2px solid #ffe09a;outline-offset:2px}

.motion-setting{display:flex;align-items:center;justify-content:space-between;margin:24px 0}.motion-setting input{width:21px;height:21px;accent-color:#d1ab5b}input[type=range]{accent-color:#d1ab5b;padding-inline:0}#volume-value{color:#e7c57f;font-size:13px}

/* Checker travel is a single compositor layer; the stationary board never animates. */
.moving-checker{position:fixed;z-index:350;pointer-events:none;will-change:transform;box-shadow:inset 0 0 0 3px #b4955e55,0 9px 12px #0009;top:0;bottom:auto}
.flight-hidden{visibility:hidden}.point.move-from:before{opacity:.6}.move-to{outline:2px solid #f7d17c;outline-offset:2px}
.checker-ghost{will-change:transform}.point.selected .checker:last-of-type{filter:none}
.quick-play-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick-play-actions>.button{min-height:61px;margin:0;line-height:1.3}.quick-play-note{font-size:13px;line-height:1.6;color:#c4b99f;margin:15px 0 22px}.public-tables{margin-top:24px}.public-tables h2{font-size:21px}.public-tables p{min-height:0}.public-table-actions{display:flex;gap:12px}.public-table-actions>*{flex:1}.rules-link{margin-top:24px;font-size:13px}
@media(max-width:600px){.quick-play-actions{gap:9px}.quick-play-actions>.button{padding:12px 9px;font-size:14px}.quick-play-note{font-size:12px}.public-table-actions{flex-direction:column}.setup-screen>.intro{font-size:14px;margin-bottom:20px}.setup-screen>.variant-picker{margin-bottom:20px}}
.nardy-controls{position:relative;padding-top:1px}.nardy-controls .status-line{padding-inline:48px;min-height:32px}
.reaction-control{position:absolute;left:0;top:9px;z-index:10}.emoji-picker{position:absolute;bottom:calc(100% + 10px);left:0;display:grid;grid-template-columns:repeat(4,46px);gap:4px;padding:9px;border:1px solid #c6a358;border-radius:13px;background:#111b13;box-shadow:0 8px 22px #0009}
.emoji-picker button{width:46px;height:46px;font-size:27px;border:0;border-radius:8px;background:transparent}.emoji-picker button:hover{background:#e5c16b22}
.player-strip{position:relative}.reaction-bubble{position:absolute;z-index:12;left:44px;bottom:70%;font-size:36px;line-height:1.2;padding:7px 12px;background:#162118;border:1px solid #c8a65c;border-radius:15px;box-shadow:0 4px 16px #0008;animation:reaction-in .2s ease-out;pointer-events:none}
@keyframes reaction-in{from{transform:translateY(7px) scale(.7);opacity:0}to{transform:none;opacity:1}}
.rotate-banner{display:flex;align-items:center;justify-content:center;gap:9px;padding:7px 10px;color:#e7cf99;font-size:11px;background:#29301b;border-bottom:1px solid #ab8d48}.rotate-banner .small-button{font-size:11px;min-height:32px;padding:5px 8px;white-space:nowrap}.rotate-banner>button:last-child{background:none;border:0;font-size:25px;color:#ead49c;padding:0 5px;min-height:32px}
@media(max-width:650px){.nardy-controls .status-line{font-size:13px;min-height:39px;display:flex;align-items:center;justify-content:center;margin-block:7px}.reaction-control{top:9px}.nardy-controls .game-actions{gap:7px}.playing .game-header{padding-top:max(8px,env(safe-area-inset-top));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}.table-screen{padding-bottom:max(16px,env(safe-area-inset-bottom))}}
/* A horizontal phone gets a large board and a separate thumb-sized control column. */
@media(orientation:landscape) and (max-height:600px) and (min-width:600px){
  body.playing{height:var(--app-height,100dvh);overflow:hidden;display:flex;flex-direction:column;--checker:clamp(18px,calc(var(--app-vh,1dvh)*5.8),32px)}
  .playing .game-header{flex:0 0 47px;min-height:47px;padding:4px max(10px,env(safe-area-inset-right)) 4px max(10px,env(safe-area-inset-left));gap:12px;flex-wrap:nowrap}.playing .brand{font-size:18px}.playing .brand .crown{width:25px;height:25px}.playing .brand small{font-size:6px}.playing .game-label{font-size:12px;padding-left:10px}.playing .game-header nav{width:auto;margin:0 0 0 auto;gap:7px}.playing .icon-button{width:35px;height:35px}.playing main{flex:1;min-height:0}
  .table-screen{height:100%;max-width:1120px;padding:5px max(10px,env(safe-area-inset-right)) max(5px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));display:grid;grid-template-columns:minmax(0,1fr) 168px;grid-template-rows:20px 44px 44px minmax(0,1fr);gap:5px 12px}
  .table-info{grid-column:1/-1;grid-row:1;margin:0;font-size:10px;align-items:center}.board-wrap{grid-column:1;grid-row:2/5;padding:5px;min-height:0}.nardy-board{height:100%;min-height:0;padding:10px 7px}.player-strip.opponent{grid-column:2;grid-row:2}.player-strip.you{grid-column:2;grid-row:3}.player-strip{display:flex;padding:0!important;gap:7px;min-width:0}.player-avatar{width:28px;height:28px;font-size:21px;flex-shrink:0}.player-strip strong{font-size:12px;max-width:90px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.player-strip div>span{font-size:9px}.pip-count{font-size:10px;padding:2px 5px}.off-count{display:none}
  .nardy-controls{grid-column:2;grid-row:4;min-height:0;display:flex;flex-direction:column;padding:0}.nardy-controls .status-line{margin:0 0 6px;padding:0 0 0 37px;min-height:36px;font-size:12px;line-height:1.3;display:flex;align-items:center;text-align:left}.reaction-control{top:0}.reaction-control .icon-button{width:31px;height:31px}.emoji-picker{left:auto;right:0;bottom:calc(100% + 7px);grid-template-columns:repeat(4,40px)}.emoji-picker button{width:40px;height:40px;font-size:25px}
  .game-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:auto}.game-actions .button{min-height:42px;padding:6px 4px;gap:3px;font-size:13px}.game-actions .button span{font-size:10px}.game-actions #action-button{grid-column:1/-1;min-height:45px;order:-1;font-size:14px}.game-actions #undo-button:has(+[hidden]){grid-column:1/-1}.gesture-note{display:none}.waiting-panel{grid-column:1/-1;grid-row:2/5;margin:0 auto;overflow:auto;padding:15px}.reaction-bubble{font-size:30px;left:8px;bottom:80%}.toast{bottom:10px;font-size:12px;padding:8px 12px}.dice-tray{gap:8px}.die{width:32px;height:32px;padding:5px}.die i{width:4px;height:4px}.point-label{font-size:8px}
}

.invitation-modal{width:560px;max-width:calc(100vw - 24px)}.share-text{width:100%;resize:vertical;min-height:105px;max-height:28dvh;border:1px solid #aa894b66;border-radius:9px;background:#090f0c;color:#f5ead0;padding:12px;font:14px/1.5 system-ui,sans-serif}.share-actions{display:flex;gap:8px;flex-wrap:wrap}.share-actions>*{min-height:44px;flex:1 1 130px;text-align:center;text-decoration:none}.share-status{font-size:13px;color:#efce8b;min-height:1.5em}.invitation-modal .settings-note{font-size:12px;line-height:1.5;color:#c4b99f}.empty-table-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.empty-table-actions button{min-height:44px}.empty-table-message{font-size:14px;color:#d6c6a4;margin:12px 0}.empty-table-title{font-size:18px;color:#f2dfb8}.invitation-modal textarea:focus-visible{outline:2px solid #edc777;outline-offset:3px}

.language-select{width:52px;min-width:48px;height:42px;padding:0 5px;border:1px solid #ad8a465e;border-radius:9px;background:#111710;color:#efd395;font:700 12px/1.2 'Segoe UI',Arial,sans-serif;cursor:pointer;flex-shrink:0;color-scheme:dark}.language-select:focus-visible{outline:2px solid #f0c975;outline-offset:3px}.language-select option{background:#111710;color:#f5dfb5}.language-field{display:flex;align-items:center;justify-content:space-between;gap:16px}.language-field .language-select{width:140px}.language-status{position:fixed;z-index:500;left:50%;bottom:20px;transform:translateX(-50%);max-width:calc(100vw - 24px);padding:12px 16px;border:1px solid #d3ac61;border-radius:10px;background:#152015;color:#f3d99c;font:14px/1.5 system-ui,sans-serif}.language-status:empty{display:none}
@media(max-width:600px){.header-inner{gap:8px}.header-actions{gap:8px}.site-header .language-select{height:40px;width:47px;min-width:47px}.brand-lockup{font-size:18px;gap:7px}.site-header .brand-lockup>.icon{width:28px;height:28px}}
@media(max-width:359px){.site-header .guest-link{display:none}.site-header .brand-lockup{font-size:16px}.site-header .language-select{width:45px;min-width:45px}}
@media(max-width:700px){.top-actions .language-select{height:38px;width:43px;min-width:43px;font-size:11px}.topbar .brand strong{font-size:20px}.topbar .brand>span{display:none}.top-actions .icon-button{width:32px}}
@media(max-width:650px){.game-header nav{gap:4px}.game-header nav .icon-button{width:32px;height:36px}.game-header .language-select{width:43px;min-width:43px;height:36px;font-size:11px}}
@media(max-width:359px){.top-actions{gap:2px}.top-actions .icon-button{width:28px}.top-actions .icon-button svg{width:19px;height:19px}}
