:root{--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--notch-w: 240px;--notch-h: 28px;--notch-total: calc(var(--notch-h) + var(--safe-top));--veil-h: 130px;--top-clear: calc(var(--safe-top) + var(--veil-h));--corner-max: calc((100vw - var(--notch-w)) / 2 - 12px);--notch-cut: polygon( 0 0, calc(50% - var(--notch-w) / 2) 0, calc(50% - var(--notch-w) / 2) var(--notch-total), calc(50% + var(--notch-w) / 2) var(--notch-total), calc(50% + var(--notch-w) / 2) 0, 100% 0, 100% 100%, 0 100% );--gap: 12px;--gap-lg: 16px;--tap: 48px;--r-lg: 16px;--r-md: 14px;--r-sm: 12px;--brass: #c9a227;--brass-light: #e6c25a;--brass-dim: rgba(201, 162, 39, .22);--fg: #f4f0e7;--fg-dim: rgba(244, 240, 231, .64);--fg-mute: rgba(244, 240, 231, .42);--panel: rgba(20, 18, 15, .66);--panel-2: rgba(30, 26, 21, .82);--panel-3: rgba(46, 40, 31, .72);--danger: #c25a4f;--good: #79b07c;--shadow: 0 12px 32px rgba(0, 0, 0, .45);--shadow-sm: 0 4px 14px rgba(0, 0, 0, .32);--glass: blur(14px) saturate(1.15);--dur: .18s;--ease: cubic-bezier(.22, .61, .36, 1);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace}.ui-root,.ui-root *{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}.ui-root{position:fixed;inset:0;z-index:10;font-family:var(--font);font-size:16px;line-height:1.35;color:var(--fg);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;pointer-events:none;touch-action:manipulation;overscroll-behavior:contain}.ui-root button,.ui-root input,.ui-root textarea,.ui-root select{font:inherit;color:inherit;background:none;border:0;border-radius:0;appearance:none;-webkit-appearance:none;touch-action:manipulation}.ui-root h1,.ui-root h2,.ui-root h3{font-weight:650;letter-spacing:.01em;overflow-wrap:break-word;hyphens:auto}.ui-root h1{font-size:clamp(1.32rem,1.05rem + 1.2vw,2rem)}.ui-root h2{font-size:clamp(.95rem,.9rem + .35vw,1.15rem)}.ui-root p,.ui-root span,.ui-root strong,.ui-root label,.ui-root li{overflow-wrap:break-word;min-width:0}.ui-root ul,.ui-root ol{list-style:none}.ui-root pre{font-family:var(--mono);white-space:pre-wrap;word-break:break-word;-webkit-user-select:text;user-select:text}.ui-root input,.ui-root textarea{-webkit-user-select:text;user-select:text}.ui-root :focus-visible{outline:2px solid var(--brass-light);outline-offset:2px}.icon{flex:0 0 auto;display:block}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}[hidden]{display:none!important}.panel{display:flex;flex-direction:column;gap:var(--gap);padding:var(--gap-lg);border:1px solid var(--brass-dim);border-radius:var(--r-lg);background:var(--panel);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);box-shadow:var(--shadow-sm)}.panel--flush{padding:var(--gap) 0;gap:0}.panel__title{color:var(--brass-light);font-size:.82rem;font-weight:650;letter-spacing:.08em;text-transform:uppercase}.panel__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--gap);flex-wrap:wrap}.panel__count,.panel__note{color:var(--fg-dim);font-size:.85rem}@media(prefers-reduced-motion:reduce){.ui-root *,.ui-root *:before,.ui-root *:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}.ui-screens,.ui-overlay{position:absolute;inset:0;pointer-events:none}.ui-overlay{z-index:60}.screen{position:absolute;inset:0;display:none;pointer-events:none;opacity:0;transform:translateY(10px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}.screen.is-active,.screen.is-leaving{display:block}.screen.is-active{opacity:1;transform:none}.screen.is-leaving{opacity:0;transform:translateY(-6px)}.page{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;pointer-events:auto;display:flex;flex-direction:column;align-items:center;padding:var(--top-clear) calc(var(--safe-right) + var(--gap-lg)) calc(var(--safe-bottom) + 24px) calc(var(--safe-left) + var(--gap-lg));background:radial-gradient(120% 80% at 50% 0%,rgba(46,38,26,.55),transparent 70%),linear-gradient(180deg,#0a0908b8,#0a0908e0);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);clip-path:var(--notch-cut)}.page--bottom .page-inner{margin-top:auto}.page-inner{width:min(640px,100%);display:flex;flex-direction:column;gap:var(--gap-lg)}.page-inner--wide{width:min(1040px,100%)}.page__title{text-align:center}.page__count{text-align:center;color:var(--fg-dim);font-size:.9rem}.page__actions{display:flex;flex-direction:column;gap:var(--gap);padding-bottom:8px}.hud-top{position:fixed;top:calc(var(--notch-total) + 8px);left:calc(var(--safe-left) + var(--gap));right:calc(var(--safe-right) + var(--gap));display:flex;align-items:flex-start;justify-content:space-between;gap:var(--gap);pointer-events:none;z-index:40}.hud-top__side{display:flex;align-items:center;gap:8px;max-width:46%;min-width:0;pointer-events:auto}.hud-top__right{justify-content:flex-end}.notch-guard{position:fixed;top:0;left:50%;transform:translate(-50%);width:var(--notch-w);height:var(--notch-total);pointer-events:none;z-index:90;border:1px dashed rgba(201,162,39,.45);border-top:0;border-radius:0 0 12px 12px}.toasts{position:fixed;left:50%;bottom:calc(var(--safe-bottom) + 18px);transform:translate(-50%);display:flex;flex-direction:column-reverse;align-items:center;gap:8px;width:min(520px,calc(100vw - 32px));pointer-events:none;z-index:70}.busy{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;gap:var(--gap);background:#08070673;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);clip-path:var(--notch-cut);pointer-events:auto;z-index:75;color:var(--fg-dim)}.banner{position:fixed;left:calc(var(--safe-left) + var(--gap));right:calc(var(--safe-right) + var(--gap));bottom:calc(var(--safe-bottom) + var(--gap));display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--gap);padding:var(--gap) var(--gap-lg);border:1px solid var(--brass-dim);border-radius:var(--r-lg);background:var(--panel-2);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);box-shadow:var(--shadow);pointer-events:auto;z-index:80;opacity:0;transform:translateY(12px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}.banner.is-open{opacity:1;transform:none}.banner__text{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 220px}.banner__note{color:var(--fg-dim);font-size:.86rem}.banner__actions{display:flex;gap:var(--gap);flex-wrap:wrap}.sandbox{padding:5px 12px;border:1px solid var(--brass);border-radius:999px;background:#c9a22729;color:var(--brass-light);font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.dev{position:fixed;left:calc(var(--safe-left) + var(--gap));top:var(--top-clear);width:min(230px,60vw);padding:8px 10px;border:1px solid var(--brass-dim);border-radius:var(--r-sm);background:#0c0b09c7;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:.76rem;pointer-events:auto;z-index:45}[data-layout=wide] .dev{top:auto;bottom:calc(var(--safe-bottom) + var(--gap))}.screen--game.is-active,.screen--game.is-leaving{display:grid}.g-dock{display:flex;flex-direction:column;gap:var(--gap);min-width:0;min-height:0;pointer-events:none}.g-info,.g-right>*{pointer-events:auto}.g-right{display:flex;flex-direction:column;gap:var(--gap);min-width:0;min-height:0;pointer-events:none}[data-layout=narrow] .screen--game{grid-template-rows:minmax(0,1fr) auto}[data-layout=narrow] .g-dock{grid-row:2;padding:0 calc(var(--safe-right) + var(--gap)) calc(var(--safe-bottom) + var(--gap)) calc(var(--safe-left) + var(--gap));max-height:max(60vh,430px);overflow:hidden;pointer-events:auto}[data-layout=narrow] .g-right{min-height:0}[data-layout=mid] .screen--game{grid-template-rows:minmax(0,1fr) auto}[data-layout=mid] .g-dock{grid-row:2;flex-direction:row;align-items:flex-end;padding:0 calc(var(--safe-right) + var(--gap-lg)) calc(var(--safe-bottom) + var(--gap-lg)) calc(var(--safe-left) + var(--gap-lg));max-height:48vh}[data-layout=mid] .g-info{flex:1 1 46%;max-height:100%;align-self:stretch}[data-layout=mid] .g-right{flex:1 1 54%;max-height:100%;pointer-events:auto}[data-layout=wide] .screen--game{grid-template-columns:minmax(260px,20vw) minmax(0,1fr) minmax(300px,22vw);grid-template-rows:minmax(0,1fr);padding:var(--top-clear) calc(var(--safe-right) + var(--gap-lg)) calc(var(--safe-bottom) + var(--gap-lg)) calc(var(--safe-left) + var(--gap-lg));gap:var(--gap-lg)}[data-layout=wide] .g-dock{display:contents}[data-layout=wide] .g-info{grid-column:1;grid-row:1;align-self:start}[data-layout=wide] .g-right{grid-column:3;grid-row:1;height:100%}[data-layout=wide] .g-right .moves{flex:1 1 auto;min-height:0}[data-input=touch]{--tap: 52px;--gap: 12px}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:var(--tap);min-width:var(--tap);padding:10px 18px;border:1px solid var(--brass-dim);border-radius:var(--r-md);background:var(--panel-2);color:var(--fg);font-weight:600;text-align:center;cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),transform 90ms var(--ease)}.btn__body{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;text-align:start}.btn--wide .btn__body,.btn--xl .btn__body{align-items:flex-start}.btn__label{white-space:normal;overflow-wrap:break-word}.btn__hint{font-size:.8rem;font-weight:500;color:var(--fg-dim);white-space:normal}.btn__badge{position:absolute;top:-6px;right:-6px;min-width:22px;height:22px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--brass);color:#171410;font-size:.74rem;font-weight:800}.btn--sm{min-height:40px;min-width:40px;padding:6px 12px;font-size:.85rem}[data-input=touch] .btn--sm,[data-layout=narrow] .btn--sm,[data-layout=mid] .btn--sm{min-height:var(--tap);min-width:var(--tap)}.btn--lg{min-height:max(var(--tap),52px);padding:12px 20px}.btn--xl{min-height:max(var(--tap),62px);padding:14px 22px;font-size:1.06rem;justify-content:flex-start}.btn--wide{width:100%}.btn--icon{min-width:48px;min-height:48px;padding:10px;gap:0}.btn--primary{border-color:var(--brass);background:linear-gradient(180deg,#c9a22752,#c9a22729);color:#fff8e6}.btn--danger{border-color:#c25a4f80;background:linear-gradient(180deg,#c25a4f47,#c25a4f24)}.btn--ghost{background:#14120f6b}.btn--quiet{border-color:transparent;background:transparent;color:var(--fg-dim)}.btn.is-on{border-color:var(--brass);background:#c9a2273d;color:var(--brass-light)}.btn:active{transform:scale(.985)}.btn:disabled{opacity:.42;cursor:default}@media(hover:hover)and (pointer:fine){.btn:not(:disabled):hover{border-color:var(--brass);background:#c9a2272e}}.seg{display:flex;flex-wrap:wrap;gap:6px;padding:5px;border:1px solid var(--brass-dim);border-radius:var(--r-md);background:#0c0b0980}.seg__item{flex:1 1 auto;min-width:0;min-height:40px;padding:8px 12px;border-radius:10px;color:var(--fg-dim);font-weight:600;white-space:normal;cursor:pointer;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}[data-input=touch] .seg__item,[data-layout=narrow] .seg__item,[data-layout=mid] .seg__item{min-height:48px}.seg__item.is-on{background:#c9a22742;color:var(--fg);box-shadow:inset 0 0 0 1px var(--brass-dim)}.seg.is-disabled{opacity:.45}.switch{display:flex;align-items:center;justify-content:space-between;gap:var(--gap);min-height:var(--tap);padding:8px 4px;cursor:pointer}.switch__input{position:absolute;opacity:0;width:1px;height:1px}.switch__label{display:flex;flex-direction:column;gap:2px;min-width:0}.switch__hint{font-size:.82rem;color:var(--fg-dim)}.switch__track{flex:0 0 auto;width:54px;height:32px;padding:3px;border:1px solid var(--brass-dim);border-radius:999px;background:#0c0b0999;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease)}.switch__knob{display:block;width:24px;height:24px;border-radius:999px;background:var(--fg-mute);transition:transform var(--dur) var(--ease),background var(--dur) var(--ease)}.switch__input:checked~.switch__track{border-color:var(--brass);background:#c9a22747}.switch__input:checked~.switch__track .switch__knob{transform:translate(22px);background:var(--brass-light)}.switch__input:focus-visible~.switch__track{outline:2px solid var(--brass-light);outline-offset:2px}.switch.is-disabled{opacity:.45}.slider{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px var(--gap);min-height:var(--tap)}.slider__title{grid-column:1}.slider__value{grid-column:2;grid-row:1;color:var(--brass-light);font-variant-numeric:tabular-nums}.slider__input{grid-column:1 / -1;width:100%;height:28px;background:transparent;cursor:pointer}.slider__input::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:#c9a2273d}.slider__input::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;margin-top:-10px;border:1px solid var(--brass);border-radius:999px;background:#2a2620}.slider__input::-moz-range-track{height:6px;border-radius:999px;background:#c9a2273d}.slider__input::-moz-range-thumb{width:26px;height:26px;border:1px solid var(--brass);border-radius:999px;background:#2a2620}.field{flex:1 1 auto;min-width:0;min-height:var(--tap);padding:10px 14px;border:1px solid var(--brass-dim);border-radius:var(--r-md);background:#0c0b098c;color:var(--fg);letter-spacing:.08em}.field::placeholder{color:var(--fg-mute);letter-spacing:normal}.field__label{color:var(--fg-dim);font-size:.85rem}.avatar{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--brass-dim);border-radius:12px;background:linear-gradient(160deg,#3a332a,#211d18);color:var(--fg-dim);font-weight:700}.avatar--sm{width:30px;height:30px;font-size:.72rem}.avatar--md{width:44px;height:44px;font-size:.9rem}.avatar--lg{width:68px;height:68px;border-radius:18px;font-size:1.3rem}.avatar--w{border-color:#f4f0e7a6}.avatar--b{border-color:#28241ee6;box-shadow:inset 0 0 0 1px #c9a22747}.avatar__img{width:100%;height:100%;object-fit:cover}.pcard{display:flex;align-items:center;gap:var(--gap);min-width:0}.pcard__text{display:flex;flex-direction:column;gap:2px;min-width:0}.pcard__line{display:flex;align-items:center;gap:8px;min-width:0}.pcard__name{flex:0 1 auto;min-width:0;font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pcard__badge{flex:0 0 auto;padding:1px 8px;border:1px solid var(--brass-dim);border-radius:999px;color:var(--brass-light);font-size:.72rem;white-space:nowrap}.pcard__meta{display:flex;gap:8px;color:var(--fg-dim);font-size:.82rem;font-variant-numeric:tabular-nums}.tag{flex:0 0 auto;padding:2px 9px;border:1px solid var(--brass-dim);border-radius:999px;color:var(--fg-dim);font-size:.75rem;white-space:nowrap}.tag--w{border-color:#f4f0e780;color:var(--fg)}.tag--b{background:#00000073}.tag--me{border-color:var(--brass);color:var(--brass-light)}.tag--num{font-variant-numeric:tabular-nums}.chip{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:8px 10px;border:1px solid var(--brass-dim);border-radius:var(--r-sm);background:#0c0b0966}.chip__value{font-size:1.15rem;font-variant-numeric:tabular-nums}.chip__label{color:var(--fg-dim);font-size:.74rem;text-align:center}.progress{width:100%;height:8px;overflow:hidden;border:1px solid var(--brass-dim);border-radius:999px;background:#0c0b0999}.progress__fill{height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--brass),var(--brass-light));transition:width .14s linear}.modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:calc(var(--top-clear)) var(--gap-lg) calc(var(--safe-bottom) + var(--gap-lg));pointer-events:auto;z-index:85}.modal__scrim{position:absolute;inset:0;background:#0605049e;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);clip-path:var(--notch-cut)}.modal__card{position:relative;width:min(460px,100%);display:flex;flex-direction:column;gap:var(--gap);padding:22px;border:1px solid var(--brass-dim);border-radius:var(--r-lg);background:var(--panel-2);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);box-shadow:var(--shadow);opacity:0;transform:translateY(14px) scale(.98);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}.modal.is-open .modal__card{opacity:1;transform:none}.modal__text{color:var(--fg-dim)}.modal__actions{display:flex;flex-direction:column;gap:var(--gap);margin-top:4px}.toast{display:flex;align-items:center;gap:10px;max-width:100%;padding:10px 16px;border:1px solid var(--brass-dim);border-radius:999px;background:var(--panel-2);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);box-shadow:var(--shadow-sm);color:var(--fg);font-size:.92rem;pointer-events:auto;cursor:pointer;opacity:0;transform:translateY(10px);transition:opacity var(--dur) var(--ease),transform var(--dur) var(--ease)}.toast.is-in{opacity:1;transform:none}.toast--error{border-color:#c25a4f99;color:#ffd9d3}.toast--good{border-color:#79b07c99;color:#d8f0d9}.clocks{display:flex;gap:var(--gap)}.clocks--stacked{flex-direction:column}.clock{display:flex;flex-direction:column;align-items:flex-end;gap:1px;min-width:92px;padding:6px 12px;border:1px solid var(--brass-dim);border-radius:var(--r-sm);background:#0c0b0980;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease)}.clock__label{color:var(--fg-mute);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase}.clock__time{font-size:1.42rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em}.clock.is-active{border-color:var(--brass);background:#c9a22729}.clock.is-low .clock__time{color:#ffb4aa}.clock.is-flag{opacity:.6}.moves{min-height:0}.moves__list{display:flex;flex-direction:column;gap:2px;min-height:0;max-height:34vh;overflow-y:auto;overscroll-behavior:contain;font-variant-numeric:tabular-nums}.moves__row{display:grid;grid-template-columns:2.6em minmax(0,1fr) minmax(0,1fr);align-items:center;gap:4px}.moves__num{color:var(--fg-mute);font-size:.86rem}.moves__san{min-height:34px;padding:4px 8px;border-radius:8px;color:var(--fg);text-align:left;cursor:pointer;white-space:nowrap}[data-input=touch] .moves__san,[data-layout=narrow] .moves__san,[data-layout=mid] .moves__san{min-height:48px;min-width:48px}.moves__san.is-view{background:#c9a22742;color:var(--brass-light);font-weight:700}.moves__empty,.moves__hint,.moves__left{color:var(--fg-dim);font-size:.82rem}.moves__foot{display:flex;align-items:center;gap:var(--gap);flex-wrap:wrap}.moves__left{margin-right:auto;color:#ffb4aa}.moves__head{display:flex;align-items:center;justify-content:space-between;gap:var(--gap)}.moves__peek{display:flex;align-items:center;gap:var(--gap);width:100%;min-height:48px;padding:4px 8px;border-radius:10px;background:#c9a2271a;color:var(--fg);font-variant-numeric:tabular-nums;cursor:pointer}.moves__san--last{font-size:1.06rem;font-weight:700;color:var(--brass-light)}.moves--compact .moves__list{max-height:26vh}.chat{min-height:0}.chat__head{display:flex;align-items:center;gap:var(--gap);flex-wrap:wrap}.chat__head .seg{flex:1 1 auto}.chat__list{display:flex;flex-direction:column;gap:6px;min-height:0;max-height:30vh;overflow-y:auto;overscroll-behavior:contain;-webkit-user-select:text;user-select:text}.chat__msg{display:flex;gap:8px;align-items:baseline;font-size:.92rem}.chat__msg--sys{color:var(--fg-mute);font-style:italic;align-items:center}.chat__author{flex:0 0 auto;max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--brass-light);font-weight:650}.chat__msg.is-mine .chat__author{color:var(--fg-dim)}.chat__body{min-width:0;overflow-wrap:anywhere}.chat__empty,.chat__disabled{color:var(--fg-dim);font-size:.86rem}.chat__form{display:flex;gap:var(--gap)}.chat__input{flex:1 1 auto;min-width:0;min-height:var(--tap);padding:10px 14px;border:1px solid var(--brass-dim);border-radius:var(--r-md);background:#0c0b098c;color:var(--fg)}.chat__input::placeholder{color:var(--fg-mute)}.dev__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.dev__title{color:var(--brass-light);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.7rem}.dev__body{display:flex;flex-direction:column;gap:2px;margin-top:6px}.dev__row{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.dev__label{color:var(--fg-dim)}.dev__value{font-variant-numeric:tabular-nums;font-weight:700}.dev__value.is-over{color:#ffb4aa}.dev__log{max-height:120px;overflow:auto;font-size:.68rem;color:var(--fg-mute)}.dev.is-slow .dev__title{color:#ffb4aa}.dev.is-open .btn .icon{transform:rotate(180deg)}.screen--loading .load{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--gap-lg);padding:calc(var(--top-clear) + var(--gap)) calc(var(--safe-right) + 24px) calc(var(--safe-bottom) + 24px) calc(var(--safe-left) + 24px);pointer-events:auto;text-align:center;background:radial-gradient(120% 90% at 50% 45%,#30281bbf,#080706f5);clip-path:var(--notch-cut)}.load__mark{display:flex;align-items:center;justify-content:center;min-height:96px}.load__logo{width:min(220px,56vw);height:auto;max-height:140px;filter:drop-shadow(0 8px 22px rgba(0,0,0,.55))}.load__logo--fallback{color:var(--brass)}.load__title{letter-spacing:.06em}.screen--loading .progress{width:min(420px,100%)}.load__counter{font-variant-numeric:tabular-nums;color:var(--fg)}.load__phase{color:var(--fg-dim);font-size:.9rem}.load__error{display:flex;flex-direction:column;align-items:center;gap:var(--gap);width:min(460px,100%);padding:var(--gap-lg);border:1px solid rgba(194,90,79,.5);border-radius:var(--r-lg);background:#1e1210b3}.load__error-title{font-weight:700}.load__error-text{color:var(--fg-dim)}.menu__head{display:flex;align-items:center;gap:var(--gap-lg);min-width:0}.menu__who{display:flex;flex-direction:column;gap:10px;min-width:0}.menu__greeting{overflow-wrap:anywhere}.menu__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(74px,1fr));gap:8px}.menu__stats-empty{color:var(--fg-dim);font-size:.9rem}.menu__actions{display:flex;flex-direction:column;gap:var(--gap)}.menu__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--gap)}.group{display:flex;flex-direction:column;gap:var(--gap)}.group__body{display:flex;flex-direction:column;gap:var(--gap);padding:var(--gap-lg);border:1px solid var(--brass-dim);border-radius:var(--r-lg);background:var(--panel);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass)}.group__label{color:var(--fg-dim);font-size:.85rem}.group__note{color:var(--fg-mute);font-size:.82rem}.menu__join{display:flex;flex-direction:column;gap:6px}.menu__join-row{display:flex;gap:var(--gap);flex-wrap:wrap}.menu__join-row .field{flex:1 1 140px}.menu__version{text-align:center;color:var(--fg-mute);font-size:.74rem}.code{display:flex;flex-direction:column;align-items:center;gap:8px;padding:var(--gap-lg);border:1px solid var(--brass);border-radius:var(--r-lg);background:#c9a2271a}.code__label{color:var(--fg-dim);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.code__row{display:flex;align-items:center;gap:var(--gap-lg);flex-wrap:wrap;justify-content:center}.code__value{font-size:clamp(2rem,1.4rem + 3.4vw,3.2rem);font-weight:800;letter-spacing:.16em;color:var(--brass-light);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.code__hint{color:var(--fg-dim);font-size:.85rem;text-align:center}.lobby__time{text-align:center;color:var(--fg-dim);font-size:.9rem}.lobby__empty{color:var(--fg-dim);font-size:.9rem}.lobby__hint{color:var(--fg-mute);font-size:.84rem;text-align:center}.lobby__actions{display:flex;flex-direction:column;gap:var(--gap)}.plist{display:flex;flex-direction:column;gap:8px}.plist__row{display:flex;align-items:center;gap:var(--gap);min-height:var(--tap);padding:6px 8px;border-radius:var(--r-sm);background:#0c0b0959}.plist__text{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 auto}.plist__name{font-weight:650;overflow-wrap:anywhere}.plist__tags{display:flex;flex-wrap:wrap;gap:6px}.plist__state{flex:0 0 auto;color:var(--fg-dim);font-size:.82rem;text-align:right}.plist__state.is-ready{color:var(--good)}.plist--small .avatar{width:30px;height:30px}.g-info{gap:10px}.gslot{display:flex;align-items:center;justify-content:space-between;gap:var(--gap);min-width:0}.gslot .pcard{flex:1 1 auto}.gstat{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:6px;border-top:1px solid var(--brass-dim);font-size:.85rem}.gstat__turn{font-weight:650;color:var(--fg-dim)}.screen--game.is-my-turn .gstat__turn{color:var(--brass-light)}.gstat__badge--check{padding:2px 10px;border-radius:999px;background:#c25a4f47;color:#ffd0c9;font-weight:700}.gstat__conn,.gstat__spec,.gstat__cursor,.gstat__rated{color:var(--fg-mute);font-size:.8rem}.gstat__conn{display:inline-flex;align-items:center;gap:6px}.gstat__conn:before{content:"";width:8px;height:8px;border-radius:999px;background:var(--good)}.gstat__conn.is-connecting:before{background:var(--brass)}.gstat__conn.is-offline:before{background:var(--danger)}.gdraw{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--gap);padding:var(--gap) var(--gap-lg);border:1px solid var(--brass);border-radius:var(--r-lg);background:var(--panel-2);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);box-shadow:var(--shadow);pointer-events:auto}.gdraw__text{flex:1 1 180px;min-width:0}.gdraw__actions{display:flex;gap:var(--gap)}.g-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:var(--gap)}.g-actions .btn{justify-content:center}.ghint{gap:6px;padding:var(--gap)}.ghint__list{display:flex;flex-direction:column;gap:4px}.ghint__item{color:var(--fg-dim);font-size:.82rem}[data-layout=narrow] .g-info,[data-layout=narrow] .g-right>*,[data-layout=mid] .g-info,[data-layout=mid] .g-right>*{flex:0 0 auto}[data-layout=narrow] .g-right,[data-layout=mid] .g-right{flex:1 1 auto;min-height:0;overflow:hidden}[data-layout=narrow] .g-right .moves,[data-layout=mid] .g-right .moves{flex:1 1 auto;min-height:72px}.moves,.chat{overflow:hidden}[data-layout=narrow] .g-dock .panel{padding:var(--gap)}[data-layout=narrow] .g-info{flex-direction:row;flex-wrap:wrap;align-items:center;padding:8px var(--gap);gap:6px var(--gap)}[data-layout=narrow] .gslot{flex:1 1 44%;min-width:0;gap:8px}[data-layout=narrow] .g-info .avatar--md{width:28px;height:28px;border-radius:8px;font-size:.68rem}[data-layout=narrow] .g-info .pcard__meta{display:none}[data-layout=narrow] .g-info .pcard__name{font-size:.84rem}[data-layout=narrow] .g-info .pcard{gap:6px}[data-layout=narrow] .gstat__rated{display:none}[data-layout=narrow] .clock{min-width:0;padding:2px 8px;align-items:center}[data-layout=narrow] .clock__label{display:none}[data-layout=narrow] .clock__time{font-size:1.05rem}[data-layout=narrow] .gstat{flex:1 1 100%;font-size:.76rem;gap:6px;padding-top:4px}[data-layout=narrow] .moves .panel__title{display:none}[data-layout=narrow] .moves__foot{gap:8px}[data-layout=narrow] .gdraw,[data-layout=mid] .gdraw{position:fixed;left:calc(var(--safe-left) + var(--gap));right:calc(var(--safe-right) + var(--gap));bottom:calc(var(--safe-bottom) + var(--gap));z-index:55}[data-layout=narrow] .ghint,[data-layout=mid] .ghint{padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;gap:2px;flex:0 1 auto;min-height:0;overflow:hidden}[data-layout=narrow] .ghint .panel__title,[data-layout=mid] .ghint .panel__title{display:none}[data-layout=narrow] .ghint__list,[data-layout=mid] .ghint__list{flex-direction:row;flex-wrap:wrap;column-gap:var(--gap);row-gap:2px}[data-layout=narrow] .ghint__item,[data-layout=mid] .ghint__item{font-size:.76rem}[data-layout=narrow] .g-actions{grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:8px}[data-layout=narrow] .g-actions .btn{flex-direction:column;gap:3px;padding:7px 6px;font-size:.8rem;line-height:1.2}@media(max-height:700px){[data-layout=narrow] .ghint{display:none}}[data-layout=narrow] .g-actions .btn__body{align-items:center}[data-layout=narrow] .g-actions .btn__label{text-align:center}[data-layout=narrow] .moves__list{max-height:none}[data-layout=narrow] .chat__list{max-height:26vh}[data-layout=mid] .moves__list{max-height:22vh}[data-layout=narrow] .g-chat,[data-layout=mid] .g-chat{position:fixed;left:calc(var(--safe-left) + var(--gap));right:calc(var(--safe-right) + var(--gap));bottom:calc(var(--safe-bottom) + var(--gap));top:var(--top-clear);z-index:50;overflow:hidden}[data-layout=narrow] .g-chat .chat__list,[data-layout=mid] .g-chat .chat__list{flex:1 1 auto;max-height:none}[data-layout=wide] .moves__list{max-height:none;flex:1 1 auto}[data-layout=wide] .g-right .chat__list{max-height:24vh}.glist{display:flex;flex-direction:column;gap:8px}.glist__row{display:flex;align-items:center;gap:var(--gap);min-height:var(--tap);padding:8px;border-radius:var(--r-sm);background:#0c0b0959}.glist__avatars{display:flex;gap:4px;flex:0 0 auto}.glist__text{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 auto}.glist__names{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;min-width:0}.glist__name{font-weight:650;overflow-wrap:anywhere}.glist__vs{color:var(--fg-mute)}.glist__meta{display:flex;flex-wrap:wrap;gap:6px}.board,.board__head{display:flex;flex-direction:column}.board{gap:4px;max-height:min(58vh,620px);overflow-y:auto;overscroll-behavior:contain;padding:0 var(--gap-lg)}.board__head{flex-direction:row;align-items:center;gap:var(--gap);padding:0 var(--gap-lg) 8px;color:var(--fg-mute);font-size:.76rem;letter-spacing:.06em;text-transform:uppercase}.board__row{display:flex;align-items:center;gap:var(--gap);min-height:var(--tap);padding:8px;border-radius:var(--r-sm);background:#0c0b0952}.board__row.is-me{border:1px solid var(--brass);background:#c9a22729}.board__rank{flex:0 0 2.6em;text-align:center;color:var(--brass-light);font-weight:800;font-variant-numeric:tabular-nums}.board__who{display:flex;align-items:center;gap:8px;flex:1 1 auto;min-width:0}.board__name{font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board__stats{display:flex;gap:var(--gap);flex:0 0 auto}.board__cell{display:flex;flex-direction:column;align-items:flex-end;gap:1px;min-width:3.4em}.board__head .board__cell{text-align:right}.board__cell-label{color:var(--fg-mute);font-size:.68rem}.board__cell-value{font-variant-numeric:tabular-nums}.board__mine{text-align:center;color:var(--fg-dim);font-size:.9rem}[data-layout=narrow] .board__head{display:none}[data-layout=narrow] .board__row{flex-wrap:wrap}[data-layout=narrow] .board__stats{flex:1 1 100%;justify-content:space-between;padding-left:calc(2.6em + var(--gap))}[data-layout=mid] .board__cell-label,[data-layout=wide] .board__cell-label{display:none}.settings__admin-slot{display:contents}.result__head{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.result__title{font-size:clamp(1.6rem,1.1rem + 2.4vw,2.6rem)}.screen--result.is-win .result__title{color:var(--brass-light)}.screen--result.is-loss .result__title{color:#e6b3ab}.result__reason{color:var(--fg-dim)}.result__moves,.result__rating,.result__unrated{color:var(--fg-mute);font-size:.88rem}.result__pgn{max-height:30vh;overflow:auto;padding:var(--gap);border:1px solid var(--brass-dim);border-radius:var(--r-sm);background:#0c0b098c;font-size:.8rem;color:var(--fg-dim)}.screen--promotion{display:none}.screen--promotion.is-active{display:block;pointer-events:auto}.promo__scrim{position:absolute;inset:0;background:#0605048c;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);clip-path:var(--notch-cut)}.promo__card{position:absolute;left:50%;transform:translate(-50%);bottom:calc(var(--safe-bottom) + 24px);width:min(560px,calc(100vw - 2 * var(--gap-lg)));display:flex;flex-direction:column;gap:var(--gap);padding:var(--gap-lg);border:1px solid var(--brass);border-radius:var(--r-lg);background:var(--panel-2);backdrop-filter:var(--glass);-webkit-backdrop-filter:var(--glass);box-shadow:var(--shadow)}.promo__title{text-align:center}.promo__hint{text-align:center;color:var(--fg-dim);font-size:.86rem}.promo__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:var(--gap)}.promo__btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:96px;min-width:88px;padding:12px 8px;border:1px solid var(--brass-dim);border-radius:var(--r-md);background:#14120fb8;color:var(--fg);font-weight:650;cursor:pointer;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease),transform 90ms var(--ease)}.promo__btn:active{transform:scale(.98)}.promo__icon{color:var(--fg)}.screen--promotion.is-black .promo__icon{color:#cbbfa8}.promo__label{font-size:.92rem;white-space:normal;text-align:center}@media(hover:hover)and (pointer:fine){.promo__btn:hover{border-color:var(--brass);background:#c9a2272e}}
