:root{--balcony:#1f3b3b;--balcony-deep:#172e2e;--balcony-raised:#274747;--balcony-line:#3a5f5d;--plaster:#ece4d2;--plaster-muted:#b8b6a6;--bone:#f3ead6;--ebony:#2a1e18;--walnut:#4f301b;--turquoise:#6fd6c9;--saperavi:#a3284a;--saperavi-light:#e48aa2;--serif:"Noto Serif Georgian", "Sylfaen", Georgia, serif;--sans:"Noto Sans Georgian", "Sylfaen", system-ui, sans-serif;--radius-control:12px;--radius-panel:20px;--gutter:16px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:400 17px/1.55 var(--sans);color:var(--plaster);background:var(--balcony);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}*{box-sizing:border-box}body{background:radial-gradient(120% 80% at 50% 0%, var(--balcony-raised) 0%, transparent 60%), var(--balcony);min-height:100dvh;margin:0}button,input{font:inherit;color:inherit}button{touch-action:manipulation}:focus-visible{outline:3px solid var(--turquoise);outline-offset:2px}p{margin:0}.button{border-radius:var(--radius-control);cursor:pointer;-webkit-tap-highlight-color:transparent;border:1.5px solid #0000;justify-content:center;align-items:center;min-height:50px;padding:0 22px;font-weight:600;transition:background-color .15s,border-color .15s,transform .1s;display:inline-flex}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{cursor:not-allowed;opacity:.45}.button-primary{background:var(--bone);color:var(--ebony)}.button-primary:hover:not(:disabled){background:#fff8ea}.button-secondary{border-color:color-mix(in srgb, var(--plaster) 45%, transparent);background:0 0}.button-secondary:hover:not(:disabled){border-color:var(--plaster)}.button-quiet{color:var(--plaster-muted);background:0 0;min-height:44px}.button-quiet:hover{color:var(--plaster)}.button-danger{background:var(--saperavi);color:#fff4f6}.link-button{color:var(--plaster-muted);cursor:pointer;background:0 0;border:0;padding:8px 4px;font-weight:500}.link-button:hover{color:var(--plaster)}.link-danger:hover{color:var(--saperavi-light)}.field{gap:6px;display:grid}.field-label{color:var(--plaster-muted);font-size:14px;font-weight:600}.field input{border-radius:var(--radius-control);border:1.5px solid var(--balcony-line);background:var(--balcony-deep);min-height:50px;padding:0 16px;font-size:18px}.field input:focus{border-color:var(--turquoise);outline:none}.field-hint{color:var(--plaster-muted);font-size:14px}.field-hint.is-error,.form-error{color:var(--saperavi-light);font-size:15px}.lobby{--lobby-pad-y:clamp(24px, 5vw, 64px);--lobby-pad-x:clamp(var(--gutter), 4vw, 56px);max-width:1280px;min-height:100dvh;padding:max(var(--lobby-pad-y), calc(env(safe-area-inset-top) + 12px)) max(var(--lobby-pad-x), env(safe-area-inset-right)) max(var(--lobby-pad-y), env(safe-area-inset-bottom)) max(var(--lobby-pad-x), env(safe-area-inset-left));grid-template-columns:minmax(300px,440px) minmax(0,1fr);align-items:center;gap:clamp(32px,5vw,72px);margin:0 auto;display:grid}.lobby-intro{gap:24px;min-width:0;display:grid}.wordmark{font-family:var(--serif);letter-spacing:-.015em;color:var(--bone);margin:0;font-size:clamp(64px,8.4vw,120px);font-weight:800;line-height:.9}.lobby-lede{max-width:34ch;color:var(--plaster-muted);font-size:19px}.lobby-actions{gap:12px;display:grid}.resume{border-radius:var(--radius-control);border:1.5px solid var(--turquoise);background:color-mix(in srgb, var(--turquoise) 8%, transparent);gap:12px;padding:16px;display:grid}.lobby-board .board{filter:drop-shadow(0 30px 40px #00000059)}@media (width<=860px){.lobby{grid-template-columns:minmax(0,1fr);align-items:start}.lobby-board{order:-1}.wordmark{font-size:clamp(64px,20vw,110px)}}.centered{min-height:100dvh;padding:max(var(--gutter), env(safe-area-inset-top)) max(var(--gutter), env(safe-area-inset-right)) max(var(--gutter), env(safe-area-inset-bottom)) max(var(--gutter), env(safe-area-inset-left));text-align:center;color:var(--plaster-muted);place-content:center;justify-items:center;gap:16px;display:grid}.screen-title{font-family:var(--serif);color:var(--plaster);margin:0;font-size:clamp(26px,4vw,34px);font-weight:600;line-height:1.25}.waiting{min-height:100dvh;padding:max(var(--gutter), env(safe-area-inset-top)) max(var(--gutter), env(safe-area-inset-right)) max(var(--gutter), env(safe-area-inset-bottom)) max(var(--gutter), env(safe-area-inset-left));place-items:center;display:grid;position:relative;overflow:hidden}.waiting-board{opacity:.28;pointer-events:none;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.waiting-board .board{max-width:1100px}.waiting-card{border-radius:var(--radius-panel);background:color-mix(in srgb, var(--balcony-deep) 92%, transparent);border:1px solid var(--balcony-line);gap:18px;width:min(100%,480px);padding:28px;display:grid;position:relative;box-shadow:0 24px 60px #00000059}.waiting-card p{color:var(--plaster-muted)}.invite-link{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.invite-link input{border-radius:var(--radius-control);border:1.5px solid var(--balcony-line);background:var(--balcony);min-width:0;min-height:50px;color:var(--plaster);padding:0 14px;font-size:15px}.searching{justify-content:center;gap:10px;padding:8px 0;display:flex}.searching span{background:var(--bone);border-radius:50%;width:26px;height:26px;animation:1.1s ease-in-out infinite hop}.searching span:last-child{background:var(--ebony);animation-delay:.18s;box-shadow:inset 0 0 0 1.5px #6d5546}@keyframes hop{0%,to{transform:translateY(0)}40%{transform:translateY(-10px)}}@media (width<=520px){.invite-link{grid-template-columns:minmax(0,1fr)}}.table{max-width:1180px;height:100dvh;padding:max(8px, env(safe-area-inset-top)) var(--gutter) max(16px, env(safe-area-inset-bottom));grid-template-rows:auto minmax(0,1fr) auto;gap:8px;margin:0 auto;display:grid}.stage{--strip-height:43px;--stage-gap:6px;justify-content:center;gap:var(--stage-gap);flex-direction:column;min-height:0;display:flex;container-type:size}.table-header{grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.table-header>:last-child{justify-self:end}.table-title{font-family:var(--serif);color:var(--bone);font-size:22px;font-weight:800}.nav-button{white-space:nowrap;-webkit-tap-highlight-color:transparent;align-items:center;gap:6px;display:inline-flex}.icon{flex:none;display:block}.board-wrap{justify-content:center;display:flex}.board-wrap .board{width:100%;height:auto;max-height:calc(100cqh - 2 * var(--strip-height) - 2 * var(--stage-gap))}.player{border-radius:var(--radius-control);border:1.5px solid #0000;align-items:center;gap:10px;min-width:0;min-height:40px;padding:0 12px;display:flex;container-type:inline-size}.player:not(.is-turn) .player-name{color:var(--plaster-muted)}.player.is-turn{border-color:var(--turquoise);background:color-mix(in srgb, var(--turquoise) 13%, transparent)}.player.is-turn .player-name{color:var(--bone)}.player.is-me.is-turn{animation:1.1s ease-out 2 turn-start}@keyframes turn-start{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--turquoise) 60%, transparent)}to{box-shadow:0 0 0 12px #0000}}.swatch{border-radius:50%;flex:none;width:18px;height:18px}.swatch-white{background:var(--bone);box-shadow:inset 0 0 0 1.5px #a8956f}.swatch-black{background:var(--ebony);box-shadow:inset 0 0 0 1.5px #6d5546}.player-name{text-overflow:ellipsis;white-space:nowrap;min-width:2em;font-weight:600;overflow:hidden}.player-you{color:var(--plaster-muted);font-weight:400}.player-note{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--turquoise);flex:1 1 0;font-size:14px;overflow:hidden}.player-missed{color:var(--saperavi-light);white-space:nowrap;font-size:13px}.player-end{flex:none;align-items:center;gap:14px;margin-left:auto;display:flex}@media (width<=480px){.player{gap:8px;padding:0 10px}.player-end{gap:10px}}@container (width<=420px){.player-note,.player-missed,.player-pips{font-size:13px}.player-pips-label{display:none}}@container (width<=300px){.player-pips{display:none}}@container (width<=240px){.player-you{display:none}}@container (width<=170px){.player-note{display:none}}@container (width<=135px){.player-name{display:none}}.turn-clock{color:var(--bone);align-items:center;gap:6px;display:inline-flex}.turn-clock svg{width:24px;height:24px;transform:rotate(-90deg)}.turn-clock-track,.turn-clock-fill{fill:none;stroke-width:2.6px}.turn-clock-track{stroke:color-mix(in srgb, var(--plaster) 18%, transparent)}.turn-clock-fill{stroke:var(--turquoise);stroke-linecap:round;transition:stroke-dashoffset .25s linear}.turn-clock-time{font-variant-numeric:tabular-nums;min-width:3.2ch;font-weight:700}.turn-clock.is-urgent{color:var(--saperavi-light);animation:1s ease-in-out infinite urgent}.turn-clock.is-urgent .turn-clock-fill{stroke:var(--saperavi-light)}@keyframes urgent{50%{opacity:.55}}.player-pips{color:var(--plaster-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px}.controls{flex-wrap:wrap;place-content:start space-between;align-items:center;gap:10px 20px;min-height:64px;padding:2px 12px 0;display:flex}.turn-summary{flex:280px;gap:2px;display:grid}.turn-headline{font-family:var(--serif);color:var(--plaster-muted);margin:0;font-size:22px;font-weight:600;line-height:1.3}.turn-headline.is-mine{color:var(--turquoise)}.status-line{max-width:60ch;color:var(--plaster)}.status-line.is-warning{color:var(--saperavi-light)}.control-buttons{flex-wrap:wrap;justify-content:flex-end;gap:10px;min-height:50px;display:flex}.control-buttons .button{min-width:160px}.button-icon{padding:0}.table.is-portrait .board-wrap,.table.is-landscape .board-wrap{place-items:center;min-width:0;min-height:0;display:grid;container-type:size}.table.is-portrait .board-wrap .board,.table.is-landscape .board-wrap .board{width:min(100cqw, 100cqh * var(--board-ratio));height:auto;max-height:none}.table.is-portrait .nav-button,.table.is-landscape .nav-button{justify-content:center;min-width:40px;min-height:40px;padding:0 6px}.table.is-portrait .control-buttons,.table.is-landscape .control-buttons{flex-wrap:nowrap;gap:8px;min-height:0}.table.is-portrait .control-buttons .button,.table.is-landscape .control-buttons .button{min-width:0;min-height:46px;padding:0 14px;font-size:16px}.table.is-portrait .control-buttons .button-icon,.table.is-landscape .control-buttons .button-icon{flex:none;width:50px;padding:0}.table.is-portrait .turn-headline,.table.is-landscape .turn-headline{font-size:18px}.table.is-portrait .status-line,.table.is-landscape .status-line{font-size:14px;line-height:1.4}.table.is-portrait{padding:max(6px, env(safe-area-inset-top)) 8px max(8px, env(safe-area-inset-bottom));grid-template-rows:auto minmax(0,calc(137.427vw - 21.9883px)) auto auto;align-content:center;gap:6px}.table-top{align-items:center;gap:2px;min-width:0;display:flex}.table.is-portrait .table-top .player{flex:1 1 0}.table.is-portrait .nav-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.table.is-portrait .player{gap:7px;padding:0 9px}.table.is-portrait .player-end{gap:9px}.table.is-portrait .turn-summary{text-align:center;min-height:39.2px;padding:0 4px;font-size:14px;line-height:1.4;display:block}.table.is-portrait .turn-headline,.table.is-portrait .status-line{font-size:inherit;line-height:inherit;display:inline}.table.is-portrait .turn-headline{font-family:var(--sans);font-weight:700}.table.is-portrait .turn-headline+.status-line:before{content:"·";color:var(--plaster-muted);margin:0 .45em}.table-bottom{align-items:stretch;gap:8px;min-height:46px;display:flex}.table.is-portrait .table-bottom .player{flex:1 1 0}.table.is-portrait .table-bottom .control-buttons:empty{display:none}@media (height<=600px){.table.is-portrait .turn-summary{min-height:19.6px}.table.is-portrait .status-line:not(.is-warning){display:none}}.table.is-portrait .toast{top:calc(max(6px, env(safe-area-inset-top)) + 48px);bottom:auto}.table.is-landscape{--pad-top:max(8px, env(safe-area-inset-top));--pad-bottom:max(8px, env(safe-area-inset-bottom));max-width:none;padding:var(--pad-top) max(12px, env(safe-area-inset-right)) var(--pad-bottom) max(12px, env(safe-area-inset-left));grid-template-columns:min(calc((100dvh - var(--pad-top) - var(--pad-bottom)) * 940 / 684), calc(100% - 214px)) minmax(0, 1fr);grid-template-rows:minmax(0,1fr);gap:14px}.table-side{flex-direction:column;gap:8px;min-height:0;display:flex;container:side/inline-size}.table.is-landscape .table-top .nav-button:first-child{margin-right:auto}.table.is-landscape .nav-button{font-size:15px}.table.is-landscape .turn-summary{flex:auto;align-content:start;min-height:0;padding:2px 4px 0;overflow:hidden}.table.is-landscape .control-buttons .button:not(.button-icon){flex:auto}@container side (width<=250px){.nav-label{display:none}.table.is-landscape .nav-button{padding:0 8px}}.table.is-landscape .toast{left:auto;right:max(12px, env(safe-area-inset-right));top:max(8px, env(safe-area-inset-top));width:min(360px,42vw);font-size:15px;bottom:auto;translate:none}.toast{left:50%;bottom:max(20px, env(safe-area-inset-bottom));width:min(calc(100% - 2 * var(--gutter)), 460px);border-radius:var(--radius-control);background:var(--bone);color:var(--ebony);pointer-events:none;padding:14px 18px;font-weight:500;animation:.22s ease-out toast-in;position:fixed;translate:-50%;box-shadow:0 16px 40px #00000059}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}.dialog{width:min(calc(100% - 2 * var(--gutter)), 420px);border:1px solid var(--balcony-line);border-radius:var(--radius-panel);background:var(--balcony-deep);color:var(--plaster);padding:28px;box-shadow:0 30px 80px #00000080}.dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a141499}.dialog p{color:var(--plaster-muted);margin-top:8px}.dialog-title{font-family:var(--serif);margin:0;font-size:28px;font-weight:600}.result-title{font-size:44px;font-weight:800}.result-title.is-win{color:var(--bone)}.dialog p.result-score{color:var(--plaster);font-size:19px}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.dialog-actions .button{flex:140px}@media (width<=480px){.dialog{padding:24px 20px}.dialog-actions{flex-direction:column-reverse}.dialog-actions .button{flex:none;width:100%}}.board{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;width:100%;height:auto;display:block}.board.is-interactive{touch-action:none;cursor:pointer}.board.is-dragging{cursor:grabbing}.board text{pointer-events:none;-webkit-user-select:none;user-select:none}.frame-line,.field-edge{fill:none;stroke:#14080059;stroke-width:2px;pointer-events:none}.point{stroke:#1e0e054d;stroke-width:1px}.point-label{font:600 12px var(--sans);fill:#ece4d280;text-anchor:middle}.board.is-large .point-label{fill:#ece4d29e;font-size:17px}.borjgali path{fill:none;stroke:#2a170b;stroke-width:2.6px;stroke-linecap:round;opacity:.8}.borjgali-ring{fill:#0000001f;stroke:#2a170b;stroke-width:1.5px;opacity:.75}.borjgali-core{fill:#2a170b;opacity:.8}.tray{fill:#2c1a0e;stroke:#00000073;stroke-width:2px}.tray-divider{stroke:#ece4d21f;stroke-width:1.5px}.tray-label{font:700 13px var(--sans);fill:#ece4d2b3;text-anchor:middle}.board.is-large .tray-label{font-size:18px}.checker{transition:transform .34s cubic-bezier(.2,.75,.25,1)}.checker.is-dragged{filter:drop-shadow(0 12px 10px #00000073);transition:none}.checker-shadow{fill:#14080059}.checker-body.checker-white{fill:url(#bone);stroke:#a8956f;stroke-width:1.2px}.checker-body.checker-black{fill:url(#ebony);stroke:#6d5546;stroke-width:1.2px}.checker-ring{fill:none;stroke-width:1.4px}.checker-ring-white{stroke:#785f3c59}.checker-ring-black{stroke:#fff0dc1a}.slab.checker-white{fill:#efe4cc;stroke:#a8956f}.slab.checker-black{fill:#2f221b;stroke:#6d5546}.checker-halo{fill:none;stroke:#0000;stroke-width:3px}.checker.is-movable .checker-halo{stroke:#6fd6c9b3}.checker.is-selected .checker-halo{stroke:var(--turquoise);stroke-width:4.5px}.target-point{fill:#6fd6c93d;pointer-events:none}.target-spot,.target-tray{fill:#6fd6c929;stroke:var(--turquoise);stroke-width:2.5px;stroke-dasharray:7 5;pointer-events:none}.die-face{fill:#f6eedc;stroke:#b9a684;stroke-width:1.5px}.die-pip{fill:var(--saperavi)}.die{transition:opacity .2s}.die.is-used{opacity:.32}.die.is-rolling{transform-box:fill-box;transform-origin:50%;animation:.38s ease-in-out infinite tumble}@keyframes tumble{0%{transform:rotate(0)translate(0)}25%{transform:rotate(22deg)translate(-4px,-7px)}50%{transform:rotate(-14deg)translate(4px,2px)}75%{transform:rotate(10deg)translate(-2px,-4px)}to{transform:rotate(0)translate(0)}}.double-mark{fill:#f6eedc}.double-mark.is-used{fill:#f6eedc38}.roll-prompt{cursor:pointer}.roll-prompt rect{fill:#172e2edb;stroke:var(--turquoise);stroke-width:2px}.roll-prompt:hover rect{fill:#172e2ef2}.roll-prompt text{font:700 24px var(--sans);fill:var(--plaster);text-anchor:middle}@media (prefers-reduced-motion:reduce){.checker{transition-duration:.12s}.die.is-rolling,.searching span,.player.is-me.is-turn,.turn-clock.is-urgent,.toast{animation:none}}
