@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2190-2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-wght-normal-DLoelf7F.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2190-2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/bricolage-grotesque-latin-ext-wght-normal-CcLUaPy7.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:400 900;src:url(/assets/playfair-display-cyrillic-wght-normal-5WvUvBgz.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-wght-normal-DayYxulF.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}:root{--font-display: Fraunces, Georgia, serif;--font-sans: "Bricolage Grotesque", system-ui, sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Mono", Consolas, monospace;--radius-xl: 36px;--radius-lg: 28px;--radius-md: 20px;--radius-sm: 14px;--radius-pill: 999px;--border-strong: 3px;--border-md: 2.5px;--border-sm: 2px;--space-8: 8px;--space-12: 12px;--space-16: 16px;--space-18: 18px;--space-24: 24px;--space-48: 48px;--space-56: 56px;--bg: #fff3df;--surface: #ffffff;--surface-2: #fff8ec;--line: #22201c;--shadow-ink: #22201c;--text: #22201c;--muted: #4a453d;--faint: #c9c1b3;--yellow: #f5b83d;--coral: #e8623f;--lilac: #c9b6f2;--mint: #dcefdc;--mint-text: #1f5d4a;--leaf: #7fd08a;--primary: #22201c;--on-primary: #fff3df;--focus: #1f5d4a;--ok: #1f5d4a;--board: #f2c27a;--board-line: #22201c;--stone-black: #22201c;--stone-white: #ffffff;--lvl-inaccuracy: #7d6200;--lvl-mistake: #a3440a;--lvl-blunder: #a3123f;--bot-kiri: #ffffff;--bot-bruno: #b88a5c;--bot-funke: #e8623f;--bot-ume: #c9b6f2;--bot-tessa: #22201c;--wood-kaya: #d9ae6c;--wood-walnut: #74492c;--wood-slate: #e3c48a;--shadow-lg: 7px 7px 0 #22201c;--shadow-md: 5px 5px 0 #22201c;--shadow-sm: 3px 3px 0 #22201c;--shadow-pressed: 1px 1px 0 #22201c;--on-color: #22201c;--warn: #a3440a;--coral-soft: color-mix(in srgb, var(--coral) 14%, transparent);--analysis: var(--mint-text);--analysis-text: var(--bg);--board-filter: none;color-scheme:light}:root[data-theme=dark]{--bg: #1d1915;--surface: #2b251f;--surface-2: #241f1a;--line: #f0e3cc;--shadow-ink: #000000;--text: #f6ead6;--muted: #cbbda7;--faint: #5d544a;--yellow: #f5b83d;--coral: #ee7452;--lilac: #b9a3ef;--mint: #22392d;--mint-text: #a9dcb1;--leaf: #7fd08a;--primary: #f6ead6;--on-primary: #1d1915;--focus: #a9dcb1;--ok: #a9dcb1;--board: #e3b56f;--board-line: #22201c;--stone-black: #22201c;--stone-white: #ffffff;--lvl-inaccuracy: #e6c35a;--lvl-mistake: #f29a5c;--lvl-blunder: #ff86ab;--bot-kiri: #ffffff;--bot-bruno: #b88a5c;--bot-funke: #ee7452;--bot-ume: #b9a3ef;--bot-tessa: #22201c;--wood-kaya: #d9ae6c;--wood-walnut: #74492c;--wood-slate: #e3c48a;--shadow-lg: 7px 7px 0 #000000;--shadow-md: 5px 5px 0 #000000;--shadow-sm: 3px 3px 0 #000000;--shadow-pressed: 1px 1px 0 #000000;--warn: #f29a5c;--board-filter: brightness(.9) saturate(.95);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{scrollbar-gutter:stable;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;font-family:var(--font-sans);font-size:15px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}button,input,select{font:inherit;color:inherit}a{color:inherit}h1,h2,h3{margin:0;font-family:var(--font-display);font-weight:800}p{margin:0}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app{min-height:100dvh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px max(var(--space-48),env(safe-area-inset-right)) 8px max(var(--space-48),env(safe-area-inset-left));max-width:1366px;width:100%;margin:0 auto}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none}.brand-name{font-family:Fraunces,Georgia,serif;font-size:30px;line-height:1;font-weight:900;letter-spacing:-.02em}.topbar-actions,.topbar-nav{display:flex;align-items:center;gap:8px}.nav-link{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:var(--radius-pill);font-size:14.5px;line-height:1.2;font-weight:600;text-decoration:none;transition:background .12s}.icon-btn{display:inline-grid;place-items:center;width:44px;height:44px;flex:none;border-radius:var(--radius-pill);border:var(--border-sm) solid var(--line);background:var(--surface);color:var(--text);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .12s ease,box-shadow .12s ease}.icon-btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--shadow-ink)}.icon-btn:active{transform:translate(2px,2px);box-shadow:var(--shadow-pressed)}.topbar-menu,.nav-settings-label{display:none}@media(min-width:761px)and (max-width:900px){.topbar{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.topbar-nav{gap:2px}.nav-link{padding:0 8px}}@media(max-width:760px){.topbar{padding:12px max(var(--space-16),env(safe-area-inset-right)) 8px max(var(--space-16),env(safe-area-inset-left));position:relative}.topbar-menu{display:inline-grid}.topbar-nav{display:none;position:absolute;z-index:40;top:calc(100% + 4px);left:var(--space-16);right:var(--space-16);flex-direction:column;align-items:stretch;gap:2px;padding:8px;border:var(--border-md) solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-md)}.topbar-nav.is-open{display:flex}.nav-settings.icon-btn{display:inline-flex;justify-content:flex-start;gap:8px;width:100%;height:44px;padding:0 14px;border:0;background:transparent;box-shadow:none;font:inherit;font-size:14.5px;font-weight:600;text-decoration:none}.nav-settings-label{display:inline}.topbar-nav .nav-lang{display:block;padding:4px 8px}.topbar-nav .nav-lang select{width:100%}}.main{flex:1;width:100%;max-width:1080px;margin:0 auto;padding:8px max(20px,env(safe-area-inset-right)) 32px max(20px,env(safe-area-inset-left))}.main-wide{max-width:1360px}.footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px 16px;width:100%;max-width:1366px;margin:0 auto;padding:10px max(var(--space-48),env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) max(var(--space-48),env(safe-area-inset-left));font-size:12.5px;font-weight:600;color:var(--muted)}.footer-tools{display:inline-flex;align-items:center;gap:8px}@media(min-width:761px)and (pointer:fine){.footer{padding-top:4px;padding-bottom:8px}}@media(max-width:760px){.footer{justify-content:center;padding-left:var(--space-16);padding-right:var(--space-16);text-align:center}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:var(--radius-sm);border:var(--border-sm) solid var(--line);background:var(--surface);color:var(--text);font-size:15px;line-height:1.2;font-weight:800;text-decoration:none;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .24s cubic-bezier(.3,1.9,.5,1),box-shadow .12s ease;white-space:nowrap}.btn:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--shadow-ink)}.btn:active:not(:disabled){transform:translate(3px,3px);box-shadow:var(--shadow-pressed);transition-duration:.04s}.btn:disabled{background:var(--surface-2);border-color:var(--faint);color:var(--muted);box-shadow:none;cursor:not-allowed}.btn svg{flex:none}.btn-primary{border-radius:var(--radius-pill);background:var(--primary);border-color:var(--line);color:var(--on-primary);padding:0 22px}.btn-main{border-radius:var(--radius-pill);background:var(--yellow);color:var(--on-color);padding:0 22px}.btn-danger{background:var(--coral);color:var(--on-color)}.btn-quiet{background:transparent;box-shadow:none;border-color:transparent;color:var(--muted)}.btn-quiet:hover:not(:disabled){color:var(--text);box-shadow:none;transform:none;text-decoration:underline}.btn-quiet:active:not(:disabled){box-shadow:none;transform:none}.btn-sm{min-height:38px;padding:0 12px;font-size:14px}.btn-lg{min-height:52px;padding:0 26px;font-size:16px}.btn-block{width:100%}@media(pointer:coarse){.btn-sm{min-height:44px}}.chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border:var(--border-sm) solid var(--line);border-radius:var(--radius-pill);background:var(--bg);color:var(--on-color-auto, var(--text));font-size:14px;line-height:1.2;font-weight:700;cursor:pointer}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:var(--border-sm) solid var(--line);border-radius:var(--radius-pill);background:var(--yellow);color:var(--on-color);font-size:11.5px;line-height:1.3;font-weight:800}.overline{display:block;font-size:12.5px;line-height:1.3;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.progress-bar{display:block;height:10px;border:var(--border-sm) solid var(--line);border-radius:var(--radius-pill);background:var(--surface);overflow:hidden}.progress-bar>span{display:block;height:100%;min-width:4px;border-radius:var(--radius-pill);background:var(--primary)}.press{border:var(--border-md) solid var(--line);box-shadow:var(--shadow-md);transition:transform .12s ease,box-shadow .12s ease;cursor:pointer}.press:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--shadow-ink)}.press:active{transform:translate(4px,4px);box-shadow:var(--shadow-pressed)}@media(prefers-reduced-motion:reduce){.btn,.icon-btn,.press{transition:none}.btn:hover:not(:disabled),.btn:active:not(:disabled),.icon-btn:hover,.icon-btn:active,.press:hover,.press:active{transform:none}}.btn-row{display:flex;flex-wrap:wrap;gap:8px}.btn-row>.btn{flex:1 1 auto}.confirm-inline{display:flex;align-items:center;gap:8px;flex:1 1 100%;padding:4px 4px 4px 12px;border-radius:var(--radius-sm);background:var(--coral-soft);font-weight:560}.confirm-inline>span{flex:1}.segmented{display:flex;padding:3px;gap:3px;border-radius:var(--radius-sm);background:var(--surface-2);border:var(--border-sm) solid var(--line)}.segmented button{flex:1;min-height:36px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-weight:560;cursor:pointer;transition:background .15s,color .15s,transform .2s cubic-bezier(.3,1.9,.5,1);display:inline-flex;align-items:center;justify-content:center;gap:6px}.segmented button:active{transform:scale(.95);transition-duration:.15s,.15s,.04s}.segmented button:hover{color:var(--text)}.segmented button.is-on{background:var(--primary);color:var(--on-primary)}.field{display:grid;gap:8px}.field-label{font-size:13px;font-weight:600;color:var(--muted);letter-spacing:.01em}.field-note{font-size:12.5px;color:var(--muted)}.input{width:100%;min-height:44px;padding:0 12px;border-radius:var(--radius-sm);border:var(--border-sm) solid var(--line);background:var(--surface-2)}.stepper{display:flex;align-items:center;border:var(--border-sm) solid var(--line);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden}.stepper button{width:40px;min-height:40px;border:0;background:transparent;cursor:pointer;color:var(--muted);font-size:18px}.stepper button:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.stepper button:disabled{opacity:.35}.stepper output{flex:1;text-align:center;font-variant-numeric:tabular-nums;font-weight:600}.hint{font-size:13.5px;color:var(--muted)}.panel{display:grid;gap:12px;padding:var(--space-16);border:var(--border-md) solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-md)}.panel-title{margin-bottom:10px;font-family:var(--font-sans);font-size:12.5px;line-height:1.3;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.game-layout{--board-fit: calc(100dvh - 92px - var(--notices-h, 0px));display:grid;grid-template-columns:minmax(0,var(--board-fit)) minmax(320px,400px);justify-content:center;gap:32px;align-items:start}.board-col{position:relative;display:grid;justify-items:center;gap:12px;min-width:0}.side-col{display:grid;gap:14px;min-width:0}@media(min-width:901px){.side-col{align-content:start;max-height:calc(100dvh - 76px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;margin:-4px;padding:4px}}@media(min-width:901px)and (max-height:820px){.side-col{gap:10px}.side-col>.panel{gap:8px;padding:14px}.side-col .analysis-real-hint{display:none}.side-col>.side-tc{display:none}.side-col .meta-tc{display:inline}.side-col .meta-line{padding-top:8px}.side-col .history-section{gap:8px}}.player-cards{display:grid;gap:8px}.board-frame{width:100%;min-width:260px;aspect-ratio:1;border:var(--border-strong) solid var(--line);border-radius:var(--radius-sm);position:relative;box-shadow:var(--shadow-lg);filter:var(--board-filter);touch-action:manipulation;user-select:none;-webkit-user-select:none}.board-frame.design-spielzimmer{filter:none}.board-svg{display:block;width:100%;height:100%;border-radius:11px;overflow:hidden}.board-frame.is-interactive .board-svg{cursor:pointer}.board-frame.is-variation{outline:3px solid var(--focus);outline-offset:3px}.stone-labels{font-family:var(--font-sans)}.board-coords{font-family:var(--font-sans);font-weight:600;opacity:.72;pointer-events:none}.stone{transform-box:fill-box;transform-origin:center}.stone-new{animation:stone-drop .21s ease-out}@keyframes stone-drop{0%{transform:scale(1.2);opacity:.55}55%{transform:scale(.95);opacity:1}to{transform:scale(1);opacity:1}}.stone-ghost{transform-box:fill-box;transform-origin:center;animation:stone-vanish .24s ease-in forwards;pointer-events:none}@keyframes stone-vanish{0%{opacity:1;transform:scale(1)}35%{opacity:1;transform:scale(1.12)}to{opacity:0;transform:scale(.4)}}.last-move{pointer-events:none}.territory rect{animation:fade-in .16s ease-out}.pending-ring{transform-box:fill-box;transform-origin:center;animation:pulse 1.1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes fade-in{0%{opacity:0}}.player-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--faint);box-shadow:var(--shadow-sm);position:relative}.player-card.is-active{border-color:color-mix(in srgb,var(--coral) 45%,transparent);box-shadow:0 0 0 3px var(--coral-soft),var(--shadow-sm)}.player-card.is-active:before{content:"";position:absolute;left:-1px;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0;background:var(--coral)}.player-main{min-width:0}.player-name{display:flex;align-items:center;gap:8px;font-weight:620;font-size:15.5px}.player-name>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-rank{font-weight:800;font-variant-numeric:tabular-nums}.rated-note{margin:0}.admin-rated{display:grid;gap:8px;margin-block:10px}.admin-rated-list{margin:0;padding-left:18px;font-size:14px}.admin-rated-list a{display:inline-block;min-height:24px}.player-meta{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:13px;color:var(--muted)}.offline-label{color:var(--warn);font-weight:560}.conn-dot{width:8px;height:8px;border-radius:50%;background:var(--faint);flex:none}.conn-dot.is-online{background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 20%,transparent)}.stone-icon{flex:none}.status-line{position:relative;display:flex;align-items:baseline;justify-content:space-between;gap:10px}.status-line>.toast-slot{position:absolute;top:-6px;right:-8px;bottom:-6px;left:-8px;display:flex;align-items:center;pointer-events:none}.status-text{font-weight:620;font-size:16px}.status-sub{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.score-summary{display:grid;gap:8px}.score-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--surface-2)}.score-row.is-leading{box-shadow:inset 0 0 0 1px var(--line)}.score-detail{display:grid;line-height:1.3}.score-detail span{font-size:12.5px;color:var(--muted)}.score-total{font-family:var(--font-display);font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}.score-verdict{text-align:center;font-weight:600;padding-top:2px}.result-banner{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--radius-md);background:var(--surface-2);border:1px solid var(--faint)}.result-personal{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--warn)}.result-headline{font-family:var(--font-display);font-size:22px;font-weight:600;line-height:1.2}.result-detail{color:var(--muted)}.toast-region{position:fixed;left:50%;top:74px;transform:translate(-50%);z-index:50;pointer-events:none}.board-col>.toast-slot{display:flex;justify-content:center;align-items:center;width:100%;min-height:40px;margin:-6px 0;pointer-events:none}.toast-inline{max-width:100%;padding:3px 12px;border-radius:var(--radius-sm);font-size:13px;line-height:1.25;text-align:center;box-shadow:none}.status-line>.toast-slot .toast-inline{width:100%;min-height:100%;display:flex;align-items:center;justify-content:center}.toast{padding:10px 16px;border-radius:999px;background:var(--primary);color:var(--on-primary);font-weight:560;font-size:14px;box-shadow:var(--shadow-md);animation:toast-in .22s cubic-bezier(.2,.9,.3,1.2)}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px) scale(.97)}}.toast-inline{animation-name:toast-fade}@keyframes toast-fade{0%{opacity:0}}.hero{display:grid;gap:16px;padding:28px 0 8px}.hero-title{font-family:var(--font-display);font-size:clamp(34px,6vw,56px);font-weight:600;line-height:1.05;letter-spacing:-.01em;white-space:pre-line}.hero-lead{max-width:34em;font-size:17px;color:var(--muted)}.empty-state{display:grid;justify-items:center;gap:16px;padding:80px 0;text-align:center}.link-invalid{max-width:560px;margin:0 auto}.link-invalid .hint{margin:0}.link-invalid h1:focus{outline:none}@media(max-width:900px){.game-layout{grid-template-columns:minmax(0,1fr);gap:16px}.board-frame{width:100%;min-width:0}.main-wide{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}.side-col{gap:10px}.player-cards{grid-template-columns:1fr 1fr}.player-card{grid-template-columns:auto minmax(0,1fr);padding:10px 12px;gap:10px}.player-card .player-clock{grid-column:1 / -1}}@media(max-width:520px){body{font-size:14.5px}.topbar{padding-top:10px;padding-bottom:10px}.main{padding-top:4px}.panel{padding:14px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition:none!important}}:root[data-theme=dark] .stone-icon circle:last-child{stroke:var(--line);stroke-width:.8}.hero-title.small{font-size:clamp(26px,4vw,34px)}@media(max-width:900px){.create-card{padding:18px}}.clock{display:grid;justify-items:end;gap:1px;min-width:84px;padding:6px 10px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--muted)}.clock-time{font-size:22px;font-weight:650;line-height:1.1;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.clock-sub{font-size:11.5px;font-weight:560;white-space:nowrap}.clock.is-running{background:var(--primary);color:var(--on-primary)}.clock.is-critical{background:var(--coral);color:var(--on-color);animation:pulse 1s ease-in-out infinite}@media(max-width:900px){.clock{justify-items:start;grid-auto-flow:column;align-items:baseline;justify-content:space-between;gap:8px;min-width:0}.clock-time{font-size:19px}}.scoring{display:grid;gap:12px}.notice{padding:8px 12px;border-radius:var(--radius-sm);background:var(--coral-soft);font-size:13.5px;font-weight:560}.notice-action{display:grid;gap:10px}.chat-log{display:grid;gap:6px;margin:0;padding:0;list-style:none;max-height:210px;overflow-y:auto}.chat-empty{font-size:13.5px;color:var(--muted)}.chat-msg{display:flex;align-items:center;gap:8px;justify-self:start;max-width:100%;padding:6px 12px 6px 8px;border-radius:14px 14px 14px 4px;background:var(--surface-2);font-size:14px;animation:toast-in .2s ease-out}.chat-msg.is-mine{justify-self:end;border-radius:14px 14px 4px;background:var(--surface-2)}.chat-chips{display:flex;flex-wrap:wrap;gap:6px}.chip{min-height:32px;padding:0 12px;border-radius:999px;border:var(--border-sm) solid var(--line);background:var(--surface);font-size:13.5px;font-weight:560;cursor:pointer;transition:background .15s,transform .2s cubic-bezier(.3,1.9,.5,1)}.chip:hover{background:var(--surface-2)}.chip:active{transform:scale(.94)}.chip-more{color:var(--muted);border-style:dashed}.review-head{display:flex;justify-content:space-between;align-items:baseline}.review-pos{font-size:13px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}.review-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.review-buttons .btn{padding:0}.review-slider{width:100%;accent-color:var(--coral);margin:0}.abandon-notice{display:grid;gap:6px;padding:12px 14px;border-radius:var(--radius-md);border:1px solid color-mix(in srgb,var(--warn) 45%,transparent);background:var(--coral-soft);color:var(--text)}.abandon-line{display:flex;align-items:center;gap:10px;font-size:15px;font-variant-numeric:tabular-nums}.abandon-dot{width:9px;height:9px;flex:none;border-radius:50%;background:var(--warn);animation:abandon-pulse 1.2s ease-in-out infinite}.abandon-hint{padding-left:19px;font-size:13px;color:var(--muted)}@keyframes abandon-pulse{50%{opacity:.3}}@media(prefers-reduced-motion:reduce){.abandon-dot{animation:none}}.presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.preset{display:grid;gap:2px;align-content:start;padding:10px 12px;border-radius:var(--radius-sm);border:var(--border-sm) solid var(--line);background:var(--surface);color:var(--text);text-align:left;font:inherit;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s,transform .2s cubic-bezier(.3,1.9,.5,1)}.preset:active{transform:scale(.98)}.preset:hover{background:var(--surface-2)}.preset.is-on{border-color:var(--primary);background:var(--surface-2);box-shadow:0 0 0 1px var(--primary) inset}.preset:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.preset-name{font-weight:650;font-size:14.5px}.preset-detail{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}.preset-custom{grid-column:span 2}.custom-time{display:grid;gap:12px;padding:12px;border-radius:var(--radius-sm);background:var(--surface-2)}.tc-badge{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--faint);background:var(--surface);font-size:14px;color:var(--text)}.tc-badge svg{color:var(--muted);flex:none}.tc-badge-name{font-weight:650}.tc-badge-detail{color:var(--muted);font-variant-numeric:tabular-nums}.tc-badge-lg{justify-content:center;padding:10px 16px;font-size:16px;background:var(--surface-2)}.review-panel.is-variation{border-color:color-mix(in srgb,var(--coral) 55%,transparent)}.variation-tag{padding:2px 9px;border-radius:999px;background:var(--coral);color:var(--on-color);font-size:12px;font-weight:650;letter-spacing:.02em}.variation-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--coral-soft);font-size:14px;font-weight:560}.variation-overview{display:grid;gap:8px}.variation-list{display:grid;gap:4px;margin:0;padding:0;list-style:none;max-height:260px;overflow-y:auto}.variation-row{display:flex;align-items:center;gap:4px}.variation-item{flex:1;display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-height:44px;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid transparent;background:var(--surface-2);color:var(--text);font:inherit;text-align:left;cursor:pointer}.variation-item:hover{border-color:var(--line)}.variation-item.is-on{border-color:var(--coral);background:var(--coral-soft)}.variation-name{font-weight:650;font-size:14px}.variation-meta{font-size:12.5px;color:var(--muted);white-space:nowrap}.variation-delete{flex:none;width:44px;height:44px}.hint.small{font-size:12.5px}.update-banner{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:45;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:8px 8px 8px 16px;border-radius:999px;background:var(--surface);border:var(--border-sm) solid var(--line);box-shadow:var(--shadow-md);font-size:14px;font-weight:560;white-space:nowrap;animation:toast-in .22s cubic-bezier(.2,.9,.3,1.2)}.board-wait{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:grid;place-items:center;padding:16px;background:color-mix(in srgb,var(--bg) 45%,transparent);backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px);border-radius:12px}.board-wait-card{display:flex;align-items:flex-start;gap:12px;max-width:340px;padding:16px 18px;border-radius:14px;background:var(--surface);border:var(--border-sm) solid var(--line);box-shadow:var(--shadow-md)}.board-wait-card .waiting-dot{flex:none;margin-top:6px}.board-wait-title{margin:0 0 4px;font-size:17px;font-weight:650}.board-wait-card .hint{margin:0}.notify-btn{justify-self:start;padding-left:4px}.notify-state{display:flex;align-items:center;gap:6px;margin:0}.me-page{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start;width:100%;max-width:1040px;margin:0 auto}.page-title{margin:8px 0 12px;font-family:var(--font-display);font-size:34px;line-height:1.1;font-weight:900}.me-section+.me-section{margin-top:28px}.section-title{margin:0 0 10px;font-size:13px;font-weight:650;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.empty-hint a{color:var(--text);font-weight:600}.game-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.game-row{display:flex;align-items:center;gap:12px;min-height:60px;padding:10px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--faint);color:var(--text);text-decoration:none}a.game-row:hover{border-color:var(--line)}.game-row.is-my-turn{border-color:color-mix(in srgb,var(--coral) 45%,var(--faint));box-shadow:0 0 0 3px var(--coral-soft)}.game-row-main{display:grid;gap:2px;min-width:0;flex:1}.game-row-title{font-weight:620;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-row-sub{color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-row-status{flex:none;font-size:13px;color:var(--muted)}.game-row-status.is-on{padding:4px 10px;border-radius:999px;background:var(--coral);color:var(--on-color);font-weight:650}.game-row-actions{display:flex;gap:6px;flex:none}.me-side{display:grid;gap:16px}.name-form{display:flex;gap:8px}.name-form .input{flex:1;min-width:0}.field-error{margin:0;color:var(--warn);font-size:14px;font-weight:600}.warn-box{margin:0;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--coral) 12%,transparent);border:1px solid color-mix(in srgb,var(--coral) 35%,transparent);font-size:14px;line-height:1.45}.input.mono{font-family:var(--font-mono);font-size:12px;color:var(--muted);background:var(--surface-2)}.link-panel{display:grid;gap:10px}.link-panel .hint{margin:0}.qr-wrap{display:grid;justify-items:center;gap:6px;padding:8px 0}.qr-code{border-radius:8px}.link-btn{padding:0;border:0;background:none;color:var(--text);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}@media(max-width:860px){.me-page{grid-template-columns:minmax(0,1fr)}.game-row-actions .btn-quiet span{display:none}}@media(max-width:480px){.page-title{font-size:26px}}.clock-corr .clock-time{font-size:14px;font-variant-numeric:normal;white-space:nowrap}.deadline-note{margin:8px 0 0;padding:8px 10px;border-radius:8px;background:var(--surface-2);font-size:14px;line-height:1.4}.deadline-note.is-urgent{background:color-mix(in srgb,var(--coral) 14%,transparent);font-weight:600}.push-control{display:grid;gap:10px;justify-items:start}.push-control .hint{margin:0}.push-control.is-compact{margin-top:12px}.push-ios{padding:8px 10px;border-radius:8px;background:var(--surface-2)}.board-frame.is-history{outline:3px dashed var(--muted);outline-offset:4px}.history-bar{display:grid;gap:8px;margin-top:12px;padding:8px;border-radius:12px;background:var(--surface);border:1px solid var(--faint);touch-action:pan-y;-webkit-user-select:none;user-select:none}.history-bar.is-off{border-color:var(--coral);box-shadow:0 0 0 1px var(--coral)}.history-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px}.history-btn{min-width:52px;min-height:44px;justify-content:center}.history-pos{text-align:center;font-weight:600;font-variant-numeric:tabular-nums}.history-bar.is-off .history-pos{font-size:18px;color:var(--warn)}.history-section,.history-panel{gap:10px;margin-top:0}.history-bar.history-section{margin:0 -8px -8px;padding:14px 8px 8px;border:1px solid transparent;border-top-color:var(--faint);border-radius:0;background:transparent}.history-bar.history-section.is-off{border-color:var(--coral);border-radius:12px}.history-bar.history-panel{padding:16px;border-radius:var(--radius-md)}.history-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:24px}.history-head .history-pos{font-size:13.5px;line-height:1.2;text-align:right}.history-bar.is-off .history-head .history-pos{font-size:18px}.history-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.history-nav .history-btn{min-width:0;padding:0}.history-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;min-height:46px}.history-foot-start{min-width:0}.history-foot .own-clock{font-size:13px}.analysis-bar.is-side{margin-top:0;padding:16px}.history-off{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}.own-clock{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:var(--surface-2);font-size:14px}.own-clock-time{font-weight:700;font-variant-numeric:tabular-nums}.own-clock.is-low{background:var(--coral);color:var(--on-color);animation:own-clock-pulse 1s ease-in-out infinite alternate}@keyframes own-clock-pulse{0%{opacity:1}to{opacity:.75}}@media(prefers-reduced-motion:reduce){.own-clock.is-low{animation:none}}.board-frame.is-analysis{outline:5px solid var(--analysis);outline-offset:4px}.analysis-rings .analysis-ring-under{stroke:var(--stone-white);stroke-opacity:.7;stroke-width:.1;stroke-dasharray:none}.analysis-rings circle{stroke:var(--analysis);stroke-width:.07;stroke-dasharray:.16 .1}.reason-marks .reason-mark-under{stroke-width:.1}.reason-marks circle:not(.reason-mark-under){stroke:var(--coral);stroke-width:.06}.reason-marks .reason-liberty circle:not(.reason-mark-under){fill:var(--coral)}.analysis-bar{border-color:var(--analysis);box-shadow:0 0 0 1px var(--analysis)}.analysis-bar .history-pos{color:var(--analysis)}.analysis-note{margin:0;padding:6px 10px;border-radius:8px;background:var(--analysis);color:var(--analysis-text);font-weight:650;text-align:center}.review-panel.is-analysis{border:2px solid var(--analysis)}.settings-page{max-width:760px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--faint)}.settings-label{display:grid;gap:2px}.settings-control{flex-shrink:0}.settings-control input[type=range]{width:min(220px,40vw);accent-color:var(--coral)}.switch{width:46px;height:26px;padding:3px;border-radius:999px;border:var(--border-sm) solid var(--line);background:var(--surface-2);cursor:pointer;transition:background .15s}.switch-knob{display:block;width:18px;height:18px;border-radius:50%;background:var(--stone-white);box-shadow:none;transition:transform .28s cubic-bezier(.3,1.9,.5,1)}.switch:active .switch-knob{transform:scale(.85)}.switch.is-on:active .switch-knob{transform:translate(20px) scale(.85)}.switch.is-on{background:var(--coral);border-color:var(--coral)}.switch.is-on .switch-knob{transform:translate(20px)}[data-fb=snap]{animation:fb-snap .2s ease-out}[data-fb=shake]{animation:fb-shake .24s ease-in-out}.is-done svg{animation:fb-check .28s ease-out}@keyframes fb-snap{0%{transform:scale(.94)}60%{transform:scale(1.03)}to{transform:scale(1)}}@keyframes fb-shake{25%{transform:translate(-3px)}75%{transform:translate(3px)}}@keyframes fb-check{0%{transform:scale(.3) rotate(-12deg)}60%{transform:scale(1.25)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){[data-fb],.is-done svg{animation:none}.segmented button:active,.preset:active,.chip:active,.switch:active .switch-knob{transform:none}.switch.is-on:active .switch-knob{transform:translate(20px)}}.switch:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.design-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:8px}@media(max-width:640px){.design-grid{grid-template-columns:repeat(2,1fr)}}.design-card{display:grid;gap:10px;padding:10px 10px 8px;border-radius:var(--radius-md);border:2px solid var(--faint);background:var(--surface-2);color:var(--text);cursor:pointer;font:inherit;text-align:center}.design-card .board-frame{min-width:0;pointer-events:none}.design-card.is-on{border-color:var(--coral);box-shadow:0 0 0 2px var(--coral-soft)}.design-name{font-size:.88rem;font-weight:600}.presence-dot{flex:none;width:10px;height:10px;border-radius:50%;background:var(--faint)}.presence-dot.is-online{background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 25%,transparent)}.friend-code-row{display:flex;align-items:center;gap:8px;margin:8px 0}.friend-code{flex:1;padding:10px 12px;border-radius:10px;background:var(--surface-2);border:1px solid var(--faint);font-size:1.25rem;font-weight:700;letter-spacing:.12em;text-align:center}.friend-add{display:flex;gap:8px}.friend-add .input{flex:1;min-width:0;text-transform:uppercase;letter-spacing:.08em}.challenge-form{margin-bottom:20px}.row-menu{position:relative}.row-menu summary{list-style:none}.row-menu summary::-webkit-details-marker{display:none}.row-menu-body{position:absolute;right:0;top:calc(100% + 4px);z-index:5;display:grid;gap:6px;padding:8px;min-width:180px;border-radius:12px;background:var(--surface);border:var(--border-sm) solid var(--line);box-shadow:var(--shadow-lg)}@media(max-width:560px){.game-row:has(.game-row-actions){flex-wrap:wrap}.game-row-actions{width:100%;justify-content:flex-end;flex-wrap:wrap}}.stats-page{max-width:900px;margin:0 auto;display:grid;gap:16px}.stat-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.stat-tile{display:grid;gap:2px;padding:14px 16px;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--faint)}.stat-value{font-size:1.9rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}.stat-label{font-size:13px;color:var(--muted)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.h2h{margin:0;font-size:1.05rem}.ratio-row{display:grid;grid-template-columns:7.5em 1fr 3.5em;grid-template-rows:auto auto;align-items:center;column-gap:10px;padding:6px 0}.ratio-label{font-weight:600}.ratio-track{height:10px;border-radius:4px;background:var(--surface-2);overflow:hidden}.ratio-fill{display:block;height:100%;border-radius:4px;background:var(--coral)}.ratio-value{text-align:right;font-variant-numeric:tabular-nums}.ratio-sub{grid-column:2 / 4;font-size:12px;color:var(--muted)}.chart-legend{display:flex;gap:16px;font-size:13px;color:var(--muted);margin-bottom:8px}.swatch{display:inline-block;width:10px;height:10px;border-radius:3px;vertical-align:-1px}.swatch-wins,.bar-wins{background:var(--coral)}.swatch-games,.bar-games{background:color-mix(in srgb,var(--muted) 45%,transparent)}.history-cols{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;height:160px;border-bottom:1px solid var(--faint)}.history-col{display:grid;grid-template-rows:1fr auto;min-width:0;cursor:default}.history-stack{display:flex;flex-direction:column;justify-content:flex-end;gap:2px;padding:0 18%}.history-stack span{display:block;border-radius:4px 4px 0 0}.history-stack .bar-wins:not(:first-child){border-radius:0}.history-col.is-hover .history-stack span{filter:brightness(1.12)}.history-col.is-hover .history-month{color:var(--text)}.history-month{padding-top:4px;font-size:11px;color:var(--muted);text-align:center;overflow:hidden;white-space:nowrap}.chart-tooltip{margin:6px 0 0;font-size:13px;color:var(--muted);min-height:1.3em}@media(max-width:600px){.topbar{gap:6px;padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.topbar-actions{gap:2px}}.credit{padding:12px 0;border-bottom:1px solid var(--faint)}.credit h2{font-size:1rem;margin:0 0 4px;overflow-wrap:anywhere}.credit p{margin:2px 0}.credit-notice{white-space:pre-wrap;font-size:.75rem;max-height:260px;overflow:auto;background:var(--surface-2, transparent);padding:8px;border-radius:6px}.ai-check{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.board-marker circle{stroke-width:.07}.board-marker text{fill:var(--stone-white)}.board-marker.is-hint circle,.board-marker.is-better circle{fill:var(--analysis);fill-opacity:.85;stroke:var(--stone-white);stroke-opacity:.8}.board-marker.is-hint circle{animation:hint-pulse 1.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.board-marker.is-played circle{fill:none;stroke:var(--coral);stroke-width:.1}.board-marker.is-played text{fill:var(--coral)}.board-marker.is-triangle path,.board-marker.is-square rect{fill:none;stroke:currentColor;stroke-width:.075;stroke-linejoin:round}@keyframes hint-pulse{50%{transform:scale(.82);fill-opacity:.6}}@media(prefers-reduced-motion:reduce){.board-marker.is-hint circle{animation:none}}.level-list{display:grid;gap:6px}.level-option{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;text-align:left;padding:8px 12px;border:var(--border-sm) solid var(--line);border-radius:10px;background:var(--surface);color:inherit;cursor:pointer}.level-option.is-on{border-color:var(--coral);box-shadow:0 0 0 1px var(--coral);background:var(--coral-soft)}.level-option .level-pips{grid-row:span 2;display:inline-flex;gap:3px}.level-pips i{width:7px;height:7px;border-radius:50%;border:1px solid var(--text-muted, currentColor);opacity:.6}.level-pips i.on{background:var(--coral);border-color:var(--coral);opacity:1}.ai-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0}.ai-status progress{flex:1 1 120px;height:6px;accent-color:var(--coral)}.ai-dots{width:22px;height:6px;background:radial-gradient(circle,var(--coral) 2.5px,transparent 3px) 0 0 / 8px 6px repeat-x;animation:ai-dots 1s steps(3) infinite}@keyframes ai-dots{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 -10% 0 0)}}.ai-meta{margin-top:8px}.estimate{display:grid;gap:6px;margin-top:8px}.estimate .btn{justify-self:start}.estimate-result{display:grid;gap:2px}.estimate-kind{color:var(--text-muted, inherit)}.estimate-kind.is-ai{color:var(--analysis)}.review-marks{position:relative;height:12px;margin:2px 9px -4px}.review-mark{position:absolute;top:0;width:10px;height:10px;margin-left:-5px;border-radius:50%;border:2px solid var(--coral);padding:0;cursor:pointer}.review-mark.is-B{background:var(--stone-black)}.review-mark.is-W{background:var(--stone-white)}.live-stack{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:55;display:grid;gap:8px;width:min(380px,calc(100vw - 32px))}.live-card{display:flex;align-items:center;gap:10px;padding:10px 10px 10px 14px;border-radius:var(--radius-md);background:var(--surface);color:var(--text);border:var(--border-sm) solid var(--line);box-shadow:var(--shadow-md);font-size:14px;animation:toast-in .22s cubic-bezier(.2,.9,.3,1.2)}.live-card.is-strong{border-left:4px solid var(--coral)}.live-card-text{display:grid;gap:2px;flex:1;min-width:0}.live-card-sub{color:var(--muted);font-size:13px}.live-card-actions{display:flex;align-items:center;gap:6px;flex:none}@media(max-width:480px){.live-stack{left:16px;right:16px;width:auto}.live-card{flex-wrap:wrap}.live-card-actions{margin-left:auto}}.save-link-card{flex-direction:column;align-items:stretch;gap:8px;padding:14px}.save-link-title{margin:0;font-size:15px}.save-link-card .live-card-actions{flex-wrap:wrap}.save-link-hint{margin:0 0 16px;padding:10px 14px;border-left:4px solid var(--coral);border-radius:var(--radius-md);background:var(--surface)}.connection-notice{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:54;display:flex;align-items:center;gap:8px;max-width:calc(100vw - 32px);padding:6px 14px;border-radius:999px;background:var(--surface);color:var(--muted);border:1px solid var(--faint);box-shadow:var(--shadow-sm, var(--shadow-md));font-size:13px}.challenge-page{display:grid;justify-items:center;padding:32px 16px}.challenge-wait{display:grid;justify-items:center;gap:12px;width:min(460px,100%);padding:28px 20px;text-align:center}.challenge-wait-title{margin:0;font-size:20px;line-height:1.3}.challenge-wait-actions{display:flex;gap:8px}.challenge-wait-stones{display:flex;gap:6px}.stone-dot{width:18px;height:18px;border-radius:50%;animation:wait-pulse 1.6s ease-in-out infinite}.stone-dot.is-b{background:var(--stone-black)}.stone-dot.is-w{background:var(--stone-white);border:var(--border-sm) solid var(--line);animation-delay:.8s}@keyframes wait-pulse{0%,to{transform:scale(.85);opacity:.6}50%{transform:scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.stone-dot{animation:none}}@media(max-width:340px){.topbar{gap:2px;padding-left:max(8px,env(safe-area-inset-left));padding-right:max(8px,env(safe-area-inset-right))}}.page-loading{display:grid;place-items:center;min-height:40vh}.credit summary{min-height:28px;padding:4px 0;cursor:pointer}.board-svg:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.action-group{display:grid;gap:10px}.action-card{display:flex;align-items:center;gap:14px;width:100%;min-height:84px;padding:16px 18px;border:var(--border-sm) solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--text);font:inherit;text-align:left;text-decoration:none;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}.action-card:hover{border-color:var(--coral);box-shadow:var(--shadow-md);transform:translateY(-1px)}.action-icon{display:grid;place-items:center;flex:none;width:48px;height:48px;border-radius:12px;background:var(--coral-soft);color:var(--warn)}.action-text{display:grid;gap:3px;min-width:0}.action-title{font-family:var(--font-display);font-size:20px;font-weight:600;line-height:1.2}.action-desc{font-size:14px;line-height:1.4;color:var(--muted)}.action-end{flex:none;margin-left:auto;color:var(--muted);transition:transform .2s}.action-card[aria-expanded=true]{border-color:var(--coral)}.action-card[aria-expanded=true] .action-end{transform:rotate(180deg)}@media(max-width:900px){.action-card{min-height:76px;padding:14px}.action-title{font-size:18px}}@media(prefers-reduced-motion:reduce){.action-card,.action-end{transition:none}.action-card:hover{transform:none}}.queue-rows .action-card{min-height:60px;padding:10px 14px;gap:12px}.queue-rows .action-icon{width:40px;height:40px;border-radius:10px}.queue-rows .action-title{font-size:18px}.queue-exact{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:4px;font-size:14.5px;cursor:pointer}.queue-exact input{width:18px;height:18px;margin:0;accent-color:var(--primary)}.queue-exact+.field-note{margin-top:0}.first-game{display:grid;gap:8px;justify-items:start;border-color:var(--primary)}.first-game-title{margin:0;font-family:var(--font-display);font-size:20px}.first-game-goal{margin:0;font-size:15.5px;font-weight:600;line-height:1.5}.first-game-more{margin:0 0 4px;font-size:14px;line-height:1.5;color:var(--muted)}.more-options{display:grid;gap:14px;border-top:1px solid var(--faint);padding-top:4px}.more-toggle{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;min-height:40px;padding:6px 0;border:0;background:none;color:var(--text);font:inherit;font-size:14.5px;font-weight:650;text-align:left;cursor:pointer}.more-summary{font-size:13px;font-weight:500;color:var(--muted)}.more-chevron{margin-left:auto;color:var(--muted);transition:transform .2s}.more-toggle[aria-expanded=true] .more-chevron{transform:rotate(180deg)}.more-body{display:grid;gap:18px}.more-body[hidden]{display:none}.presets-3{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:420px){.presets-3{grid-template-columns:minmax(0,1fr)}}.queue-banner{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));z-index:40;display:flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:8px 12px;width:max-content;max-width:calc(100vw - 24px);padding:8px 10px 8px 14px;transform:translate(-50%);border-radius:18px;border:var(--border-sm) solid var(--line);background:var(--surface);box-shadow:var(--shadow-md);font-size:14px}.queue-banner-text{font-variant-numeric:tabular-nums;font-weight:600}.queue-banner-dot{width:10px;height:10px;border-radius:50%;background:var(--ok);animation:queue-pulse 1.6s ease-in-out infinite}@keyframes queue-pulse{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.queue-banner-dot{animation:none}}.queue-banner-spacer{height:120px}.offer-banner{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));z-index:41;display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;width:min(560px,calc(100vw - 24px));padding:14px 16px;transform:translate(-50%);border-radius:var(--radius-md);border:2px solid var(--primary);background:var(--surface);box-shadow:var(--shadow-md);font-size:14px}.offer-banner.is-notice{border-width:1px;border-color:var(--line)}.offer-banner:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.offer-banner-main{flex:1 1 260px}.offer-banner-title{margin:0;font-family:var(--font-display);font-size:19px;font-weight:700}.offer-banner-text{flex:1 1 260px;margin:2px 0 0}.offer-banner-left{font-weight:700;font-variant-numeric:tabular-nums}.offer-banner-actions{display:flex;gap:8px}.bot-avatar{flex:none;display:block}.bot-badge{display:inline-block;margin-left:4px;padding:1px 7px;border:var(--border-sm) solid var(--line);border-radius:999px;font-family:var(--font-sans);font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;vertical-align:2px;color:var(--text)}.bot-info{display:flex;gap:12px;align-items:flex-start;text-align:left}.bot-info-text{display:grid;gap:2px;min-width:0}.bot-info-name{font-weight:700;font-size:16px}.bot-info-strength{font-size:13px;color:var(--muted)}.bot-info-desc{font-size:14px}.bot-offer{display:grid;gap:12px;padding:14px}.bot-card{display:flex;align-items:center;gap:12px}.bot-card-text{flex:1;min-width:0;display:grid;gap:2px}.bot-offer-title{margin:0;font-family:var(--font-display);font-size:18px}.bot-card-meta{margin:0;font-size:13.5px;color:var(--muted)}.bot-card-choose{font-weight:500;color:var(--muted)}.bot-card-choose:hover{color:var(--text)}.bot-list{display:grid;gap:8px}.bot-list[hidden]{display:none}.bot-option{display:block;width:100%;padding:10px 12px;border:var(--border-sm) solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.bot-option:hover{border-color:var(--primary)}.bot-option.is-on{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}.bot-say{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px}.bot-say-text{position:relative;margin:0;padding:8px 12px;border:var(--border-sm) solid var(--line);border-radius:4px 14px 14px;background:var(--surface);font-size:14px;min-height:36px}.bot-say-idle{color:var(--muted)}.board-notices{display:grid;gap:8px;width:100%}.board-notices:empty{display:none}.board-notices>:is(.queue-banner,.offer-banner,.update-banner,.wake-banner,.connection-notice,.live-stack){position:static;left:auto;right:auto;bottom:auto;transform:none;width:100%;max-width:none;box-shadow:var(--shadow-sm)}.board-notices>:is(.queue-banner,.update-banner,.wake-banner,.connection-notice){justify-content:center;white-space:normal}.board-notices .queue-banner-spacer{display:none}.report-row{display:flex;justify-content:flex-end}.player-report{width:min(460px,calc(100vw - 32px));max-height:calc(100dvh - 32px);padding:0;border:var(--border-sm) solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--text);box-shadow:var(--shadow-md)}.player-report::backdrop{background:color-mix(in srgb,var(--bg) 60%,transparent);backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px)}.player-report-body{display:grid;gap:14px;padding:20px}.player-report-body .hint,.player-report-body .btn-row{margin:0}.player-report-title{margin:0;font-family:var(--font-display);font-size:21px;overflow-wrap:anywhere}.player-report-reasons{display:grid;gap:6px;min-width:0;margin:0;padding:0;border:0}.player-report-reasons legend{margin-bottom:6px;padding:0}.player-report-reason{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 12px;border:1px solid var(--faint);border-radius:var(--radius-sm);cursor:pointer}.player-report-reason:has(input:checked){border-color:var(--primary);background:var(--surface-2);font-weight:600}.player-report-reason input{width:18px;height:18px;margin:0;accent-color:var(--primary)}.after-game{display:block}.after-game-summary{display:flex;align-items:center;min-height:44px;cursor:pointer;list-style:none}.after-game-summary::-webkit-details-marker{display:none}.after-game-summary:after{content:"";width:8px;height:8px;margin-left:auto;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);transition:transform .15s}.after-game[open]>.after-game-summary:after{transform:rotate(225deg)}.after-game-title{margin:0;font-family:var(--font-display);font-size:19px}.after-game-part{display:grid;gap:6px;margin-top:16px}.after-game-part h3{margin:0;font-size:14.5px}.after-game-part p{margin:0;font-size:14px;line-height:1.5}.after-count-list,.after-mistakes{margin:0;padding:0;list-style:none;display:grid;gap:4px}.after-count-list li{display:flex;align-items:center;gap:8px;font-size:14px;font-variant-numeric:tabular-nums}.after-mistake{width:100%;min-height:44px;display:grid;grid-template-columns:4.6em minmax(0,1fr);align-items:center;gap:8px;padding:6px 10px;border:var(--border-sm) solid var(--line);border-radius:8px;background:none;color:inherit;font:inherit;font-size:14px;line-height:1.4;text-align:left;cursor:pointer}.after-mistake:hover{background:var(--surface-2)}.after-mistake.is-on{border-color:var(--coral);box-shadow:0 0 0 1px var(--coral)}.after-mistake-move{font-weight:600;font-variant-numeric:tabular-nums}.after-mistake-reason{display:block;margin-top:2px;color:var(--muted)}.after-mistake-more{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.after-game-row{display:grid;gap:8px;justify-items:start}.board-explain:empty{display:none}.board-explain-text{margin:0;padding:8px 12px;border:1px solid var(--line);border-left:3px solid var(--coral);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:14px;line-height:1.35}.ko-mark rect{fill:none;pointer-events:all}.ko-mark rect.reason-mark-under{stroke-width:.11}.ko-mark rect:not(.reason-mark-under){stroke:var(--coral);stroke-width:.06}.board-flash{animation:board-flash .5s ease-in-out 3 both}.board-flash .reason-mark-under{stroke-width:.12}.board-flash circle:not(.reason-mark-under,.board-flash-ghost){stroke:var(--coral);stroke-width:.08}.board-flash-ghost{opacity:.45}@keyframes board-flash{50%{opacity:.1}}.captures-up{display:inline-block;font-weight:700;color:var(--text);animation:captures-up .22s ease-out}@keyframes captures-up{0%{transform:scale(1.3)}}@media(prefers-reduced-motion:reduce){.board-flash,.captures-up{animation:none}}.explain-live:empty{display:none}.explain-card{display:flex;align-items:center;gap:12px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font-size:14px;line-height:1.35}.explain-card p{flex:1;margin:0}.explain-card .btn{flex:none}.reason-marks .reason-stone circle:not(.reason-mark-under){stroke-dasharray:.14 .09;stroke-linecap:round}.reason-marks .reason-liberty circle:not(.reason-mark-under),.board-marker.is-target .target-dot{fill:var(--yellow);stroke:var(--board-line);stroke-width:.06}.board-marker .target-ring{fill:none;stroke:var(--coral);stroke-width:.06;transform-box:fill-box;transform-origin:center;animation:target-ring 1.8s ease-out infinite}.board-marker .target-ring.is-late{animation-delay:.9s}@keyframes target-ring{0%{transform:scale(.6);opacity:.9}to{transform:scale(2.1);opacity:0}}@media(prefers-reduced-motion:reduce){.board-marker .target-ring{animation:none;opacity:.8;transform:scale(1.35)}.board-marker .target-ring.is-late{display:none}}.bot-faces{display:inline-flex;flex:none}.bot-faces>svg+svg{margin-left:-10px}.player-card{gap:12px;padding:8px 12px;border:var(--border-sm) solid var(--line);border-radius:16px;box-shadow:none}.player-card.is-active{border-width:var(--border-md);border-color:var(--line);background:var(--yellow);color:var(--on-color);box-shadow:4px 4px 0 var(--shadow-ink)}.player-card.is-active:before{display:none}.player-card.is-active .offline-label,.player-card.is-active .player-meta{color:var(--on-color)}.player-name{font-weight:800}.clock{padding:3px 12px;border:var(--border-sm) solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--text)}.clock-time{font-size:20px;line-height:1.15;font-weight:800}.clock-sub{font-size:11px;font-weight:600}.clock.is-running{border-color:#22201c;background:#22201c;color:#fff3df}.clock.is-critical{border-color:var(--line);background:var(--coral);color:var(--on-color)}.status-line>.toast-slot .toast-inline{padding:2px 12px;border-radius:var(--radius-sm)}.side-col>.panel{gap:8px;padding:12px 14px}@media(min-width:901px){.side-col{padding:0 8px 8px 0;gap:10px}.side-col .btn{min-height:38px}}.explain-card{border:var(--border-md) solid var(--line);border-radius:var(--radius-md);background:var(--mint)}.home{--panel-h: clamp(440px, calc(100dvh - 152px) , 600px);--panel-board: min(256px, calc(var(--panel-h) - 240px));display:grid;grid-template-columns:minmax(0,540px) minmax(0,580px);gap:var(--space-18) var(--space-56);justify-content:center;align-items:start}.home-board{grid-column:1;grid-row:1;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:8px;height:var(--panel-h);padding:20px 26px;border:var(--border-md) solid var(--line);border-radius:var(--radius-xl);background:var(--mint);overflow:hidden}.home-actions{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:var(--space-18);min-width:0}.home-stage{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:0;height:100%}.home-kiri{position:absolute;left:0;bottom:calc(var(--panel-board) * .2 + 106px);width:calc(var(--panel-board) * .46);height:auto}.home-board-box{position:absolute;right:12px;bottom:126px;width:var(--panel-board);transform:rotate(4deg)}.home-board-box .board-frame{min-width:0}.home-board-caption{position:relative;min-height:84px}.home-board-caption>.btn{position:absolute;right:0;bottom:0}.home-board-caption:has(>.btn) .home-board-note{padding-right:140px}.home-board-text{flex:1;min-width:0}.home-board-over{color:var(--mint-text)}.home-board-title{font-size:30px;line-height:1.1;font-weight:900}.home-board-note{margin-top:4px;font-size:15px;line-height:1.35}.home-board-note.is-wrong{color:var(--warn);font-weight:600}.home-board-note.is-ok{color:var(--mint-text)}.home-first-next{position:relative;margin-top:8px}.home-board>.board-notices{grid-row:2}.kiri-bubble{position:relative;padding:14px 16px;border:var(--border-md) solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--text);box-shadow:var(--shadow-md)}.kiri-bubble-title{display:block;font-family:var(--font-display);font-size:19px;line-height:1.2;font-weight:900}.home-invite{position:absolute;z-index:2;left:0;top:0;width:min(292px,100%)}.home-invite-actions{display:flex;align-items:center;gap:8px;margin-top:10px}.tour-hop{animation:tour-hop 2.6s ease-in-out infinite}@keyframes tour-hop{0%,72%,to{transform:translateY(0)}80%{transform:translateY(-6px)}88%{transform:translateY(0)}94%{transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){.tour-hop{animation:none}}.home-queue{display:flex;flex-direction:column;gap:14px;padding:20px 24px;border:var(--border-strong) solid var(--line);border-radius:var(--radius-lg);background:var(--yellow);color:var(--on-color);box-shadow:var(--shadow-lg)}.home-queue-head,.home-queue-foot{display:flex;align-items:center;justify-content:space-between;gap:12px}.home-queue-title{display:block;font-family:var(--font-display);font-size:40px;line-height:1;font-weight:900}.home-queue-sub{display:block;margin-top:4px;font-size:15.5px;line-height:1.4;font-weight:600}.home-row-text{display:grid;min-width:0}.home-chip{min-width:0}.home-chip>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-chip .action-end{flex:none;transition:transform .12s}.home-chip[aria-expanded=true] .action-end{transform:rotate(180deg)}.home-chip-detail{display:none}.home-row-btn.btn{flex:none;min-height:60px;padding:0 40px;border-color:var(--on-color);border-radius:var(--radius-pill);background:var(--on-color);color:#fff3df;font-family:var(--font-display);font-size:24px;line-height:1;font-weight:900;box-shadow:none}.home-row-btn.btn:hover:not(:disabled){box-shadow:none;transform:translate(-1px,-1px)}.home-row-btn.btn:active:not(:disabled){box-shadow:none;transform:translate(1px,1px)}.home-queue.is-searching{flex-direction:row;flex-wrap:wrap;align-items:center}.home-queue.is-searching .home-row-text{flex:1 1 200px}.home-queue.is-searching .home-queue-title{font-size:30px}.home-row-sub{font-size:14px;font-weight:600}.home-row-actions{display:flex;gap:8px}.home-queue .btn-quiet{color:var(--on-color)}.home-search-dot{flex:none;width:14px;height:14px;border:var(--border-sm) solid var(--on-color);border-radius:50%;background:var(--coral);animation:queue-pulse 1.6s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.home-search-dot{animation:none}}.home-queue-fields{margin-top:12px}.home-queue-fields[hidden]{display:none}.home-second{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.home-second-card{display:flex;align-items:center;gap:12px;min-height:66px;padding:10px 16px;border-radius:var(--radius-md);background:var(--surface);color:var(--text);font:inherit;text-align:left;text-decoration:none}.home-second-card.is-friend{background:var(--coral);color:var(--on-color)}.home-second-title{font-family:var(--font-display);font-size:19px;line-height:1.1;font-weight:800}.home-second-form{order:1;grid-column:1 / -1}.home-second-form[hidden]{display:none}.home-practice{display:grid;gap:10px}.home-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.home-tiles-pair{display:grid;grid-column:span 2;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.home-tile{display:flex;flex-direction:column;gap:8px;min-height:112px;padding:14px;border-width:var(--border-sm);border-radius:18px;background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm);text-decoration:none}.home-tile:hover{box-shadow:4px 4px 0 var(--shadow-ink);transform:translate(-1px,-1px)}.home-tile:active{box-shadow:var(--shadow-pressed);transform:translate(2px,2px)}.home-tile.is-learn{background:var(--lilac);color:var(--on-color)}.home-tile.is-learn .progress-bar{background:var(--stone-white);border-color:var(--on-color)}.home-tile.is-learn .progress-bar>span{background:var(--on-color)}.home-tile.is-daily{background:var(--surface-2)}.home-tile-top{display:flex;align-items:center;justify-content:space-between;gap:6px}.home-tile-num{font-size:12.5px;font-weight:800}.home-tile-title{font-family:var(--font-display);font-size:19px;line-height:1.1;font-weight:800}.home-tile-sub{font-size:13px;line-height:1.3;font-weight:600;color:var(--muted)}.home-tile-end{margin-top:auto}.home-fact{display:flex;align-items:center;gap:12px;padding:11px 16px;border:var(--border-sm) dashed var(--line);border-radius:18px;font-size:14.5px;line-height:1.35}.home-fact svg{flex:none}@media(min-width:901px)and (max-height:760px){.home-actions{gap:12px}.home-queue{gap:8px;padding:14px 20px}.home-queue-title{font-size:32px}.home-queue-sub{font-size:14px;margin-top:2px}.home-stones{width:40px;height:40px}.home-row-btn.btn{min-height:48px;font-size:20px}.home-second-card{min-height:54px}.home-practice{gap:6px}.home-tile{min-height:88px;padding:9px 12px;gap:4px}.home-tile-sub{font-size:12px}.home-fact{padding:6px 12px;font-size:13px}.home-board-title{font-size:25px}.home-board-note{font-size:14px}}@media(max-width:900px){.home{grid-template-columns:minmax(0,1fr)}.home-board,.home-actions{grid-column:1;grid-row:auto}.home-board{height:auto;padding:16px;border-radius:28px}.home-stage{height:auto;display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;align-items:center}.home-invite{position:static;grid-column:1 / -1;width:auto}.home-kiri{position:static;width:100%}.home-board-box{position:static;width:auto}.home-board-caption,.home-first-next{grid-column:1 / -1;min-height:0}.home-board-title{font-size:24px}.home-queue{padding:18px}.home-queue-title{font-size:32px}.home-row-btn.btn{padding:0 28px;min-height:52px}.home-second-title{font-size:17px}.home-second-card .bot-faces>svg:nth-child(n+4){display:none}.home-board-caption>.btn{position:static;margin-top:8px}.home-board-caption:has(>.btn) .home-board-note{padding-right:0}.home-second-card{padding:10px 12px}.home-tile-title{font-size:16px}.home-tile{padding:11px}.home-tiles,.home-tiles-pair{gap:8px}}.tour{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100}.tour-dim,.tour-spot{position:fixed}.tour-dim{top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,#22201c 60%,transparent)}.tour-spot{border:var(--border-strong) solid var(--yellow);border-radius:var(--radius-md);box-shadow:0 0 0 100vmax color-mix(in srgb,#22201c 60%,transparent);pointer-events:none;transition:left .12s ease,top .12s ease,width .12s ease,height .12s ease}.tour-bubble{position:fixed;display:flex;gap:12px;align-items:flex-start;width:min(480px,calc(100vw - 24px));padding:14px 16px;border:var(--border-md) solid var(--line);border-radius:var(--radius-md);background:var(--mint);color:var(--text);box-shadow:var(--shadow-md)}.tour-kiri{flex:none}.tour-body{display:grid;gap:6px;min-width:0}.tour-body .overline{color:var(--mint-text)}.tour-title{font-size:19px;line-height:1.2;font-weight:900}.tour-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.tour-actions .btn-quiet{color:var(--text)}@media(prefers-reduced-motion:reduce){.tour-spot{transition:none}}.side-explain:not(:has(.explain-card)){position:absolute;width:0;height:0}.explain-title{display:flex;align-items:center;gap:6px;margin:0;color:var(--mint-text);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.explain-card{flex-wrap:wrap}.explain-card>.explain-title{flex:1 1 100%}.status-line{position:relative;min-height:28px}.status-line>.toast-slot{top:0;right:0;bottom:0;left:0}.status-line>.toast-slot .toast-inline{min-height:100%;font-size:13px}.history-bar.history-section{border-top:2px dashed var(--faint)}@media(min-width:901px){.side-explain .explain-card{align-items:flex-start;padding:12px 14px}.side-explain .explain-card>p{flex:1 1 100%}.side-col .status-panel{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.side-col .status-panel>*{flex:1 1 100%;min-width:0}.side-col .status-panel>.btn-row{display:contents}.side-col .status-panel>.btn-row>*,.side-col .status-panel>.estimate{flex:1 1 auto;width:auto}.side-col .status-panel>.estimate:has(.estimate-result){flex-basis:100%}.side-col .status-panel>.estimate>.btn{width:100%;min-height:38px}.side-col .status-panel .btn{padding:0 10px;font-size:14px}.side-col .status-panel .meta-line{font-size:12px}}:root[data-theme=dark] .stone-icon circle:last-child{stroke:var(--line)}.player-card.is-active .stone-icon circle:last-child{stroke:var(--on-color)}textarea,select{border:var(--border-sm) solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text)}input[type=file]::file-selector-button{margin-right:10px;padding:6px 14px;border:var(--border-sm) solid var(--line);border-radius:var(--radius-pill);background:var(--surface);color:var(--text);font:inherit;font-weight:700;cursor:pointer}.home-queue,.player-card.is-active,.learn-head,.home-tile.is-learn,.home-second-card.is-friend,.btn-main,.btn-danger{--focus: var(--on-color)}.home-tile.is-learn:focus-visible,.home-second-card.is-friend:focus-visible,.btn-main:focus-visible,.btn-danger:focus-visible{outline-offset:-7px}.ai-setup .create-card{grid-column:1;grid-row:1}.ai-preview{grid-column:2;grid-row:1;display:grid;gap:14px;align-self:start;position:sticky;top:12px}.ai-preview-board{width:min(100%,320px);justify-self:center}.ai-preview-board .board-frame{min-width:0}.ai-preview-bot{display:flex;align-items:center;gap:12px}.ai-preview-bot>svg{flex:none}.ai-preview-name{font-size:19px;line-height:1.2;font-weight:900}.ai-preview-rules{display:grid;gap:6px;margin:0;padding:12px 14px;border:var(--border-md) solid var(--line);border-radius:var(--radius-md);background:var(--mint)}.ai-preview-rules dt{display:inline;font-weight:800}.ai-preview-rules dd{display:inline;margin:0}@media(max-width:900px){.ai-setup .create-card,.ai-preview{grid-column:1;grid-row:auto}.ai-preview{position:static}}.boot{display:grid;place-items:center;min-height:100dvh;font-family:var(--font-display);font-size:30px;font-weight:900;letter-spacing:-.02em}.explain-actions{display:flex;gap:6px}.explain-more[aria-expanded=true] svg{transform:rotate(180deg)}@media(min-width:901px)and (max-height:760px){.side-explain{position:relative;min-height:50px}.side-explain .explain-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin:0;padding:5px 10px}.side-explain .explain-title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.side-explain .explain-card>p{display:-webkit-box;overflow:hidden;font-size:12.5px;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}.side-explain .explain-card .btn{min-height:32px;margin:0;padding:0 10px;font-size:13px}.side-explain .explain-card.is-open{position:absolute;z-index:5;top:0;left:0;right:0;box-shadow:var(--shadow-md)}.side-explain .explain-card.is-open>p{display:block}}.stone-dot{border:var(--border-sm) solid var(--line)}.game-row.is-my-turn{border-color:var(--line)}.segmented button.is-on .stone-icon circle:last-child{stroke:var(--on-primary)}.me-side .panel:has(>.panel-title:only-child){display:none}.lang-select select,.settings-select{min-height:44px;max-width:100%;padding:0 10px;border:var(--border-sm) solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font:inherit;font-weight:650;cursor:pointer}.settings-select{width:min(100%,190px)}.lang-select{position:relative}.nav-lang,.nav-legal{display:none}@media(min-width:761px)and (pointer:fine){.lang-select select{min-height:28px;padding:0 6px;font-size:12.5px}}:root:lang(ja),:root:lang(ko),:root:lang(zh-Hans){font-style:normal}:root:lang(ja){--font-display: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, "Noto Sans CJK JP", "Noto Sans JP", system-ui, sans-serif;--font-sans: var(--font-display);line-break:strict}:root:lang(ko){--font-display: "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans CJK KR", "Noto Sans KR", system-ui, sans-serif;--font-sans: var(--font-display);word-break:keep-all;overflow-wrap:anywhere}:root:lang(zh-Hans){--font-display: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans CJK SC", "Noto Sans SC", system-ui, sans-serif;--font-sans: var(--font-display);line-break:strict}:root:lang(ja) :is(em,i),:root:lang(ko) :is(em,i),:root:lang(zh-Hans) :is(em,i){font-style:normal}.settings-row,.home-queue-head,.home-queue-foot{flex-wrap:wrap}.settings-label,.settings-control,.home-queue-foot>*{min-width:0;max-width:100%}.settings-control{flex-shrink:1}.settings-control .segmented{flex-wrap:wrap;max-width:100%}.panel-title{overflow-wrap:anywhere}@media(max-width:760px){.topbar-nav .nav-legal{display:flex;flex-wrap:wrap;gap:0 16px;font-size:14px;font-weight:600}.topbar-nav .nav-legal a{display:inline-flex;align-items:center;min-height:44px}}.auth-consent{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;align-items:start;min-height:44px;font-weight:600;cursor:pointer}.auth-consent input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--coral)}.auth-consent-links{display:flex;flex-wrap:wrap;gap:4px 16px;margin:0;font-size:14px}.auth-consent-links a{display:inline-flex;align-items:center;min-height:44px;color:inherit}.admin-contact-text{white-space:pre-wrap;overflow-wrap:anywhere}.analysis-card .btn-primary{justify-self:start}.analysis-card-summary{list-style:none;margin:0;padding:0;display:grid;gap:4px}.analysis-card-summary li{display:flex;align-items:center;gap:8px}:root{--av-bar: 52px;--av-nav: 44px;--chart-bg: var(--surface-2);--chart-b: color-mix(in srgb, var(--stone-black) 36%, transparent);--chart-w: color-mix(in srgb, var(--stone-white) 95%, transparent);--chart-line: color-mix(in srgb, var(--text) 75%, transparent);--lvl-inaccuracy: #7d6200;--lvl-inaccuracy-bg: color-mix(in srgb, var(--lvl-inaccuracy) 18%, transparent);--lvl-mistake: #a3440a;--lvl-mistake-bg: color-mix(in srgb, var(--lvl-mistake) 16%, transparent);--lvl-blunder: #a3123f;--lvl-blunder-bg: color-mix(in srgb, var(--lvl-blunder) 13%, transparent)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--chart-b: color-mix(in srgb, var(--stone-black) 6%, transparent);--chart-w: color-mix(in srgb, var(--stone-white) 42%, transparent);--chart-line: color-mix(in srgb, var(--text) 8%, transparent);--lvl-inaccuracy: #e6c35a;--lvl-inaccuracy-bg: color-mix(in srgb, var(--lvl-inaccuracy) 14%, transparent);--lvl-mistake: #f29a5c;--lvl-mistake-bg: color-mix(in srgb, var(--lvl-mistake) 14%, transparent);--lvl-blunder: #ff86ab;--lvl-blunder-bg: color-mix(in srgb, var(--lvl-blunder) 14%, transparent)}}:root[data-theme=dark]{--chart-b: color-mix(in srgb, var(--stone-black) 6%, transparent);--chart-w: color-mix(in srgb, var(--stone-white) 42%, transparent);--chart-line: color-mix(in srgb, var(--text) 8%, transparent);--lvl-inaccuracy: #e6c35a;--lvl-inaccuracy-bg: color-mix(in srgb, var(--lvl-inaccuracy) 14%, transparent);--lvl-mistake: #f29a5c;--lvl-mistake-bg: color-mix(in srgb, var(--lvl-mistake) 14%, transparent);--lvl-blunder: #ff86ab;--lvl-blunder-bg: color-mix(in srgb, var(--lvl-blunder) 14%, transparent)}html.is-analysis-open,html.is-analysis-open body{overflow:hidden}html.is-analysis-open .app{height:100dvh;min-height:0;overflow:hidden}.analysis-view{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:var(--bg);color:var(--text)}.av-bar{flex:none;height:var(--av-bar);display:flex;align-items:center;gap:12px;padding:0 max(16px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));border-bottom:1px solid var(--faint);background:var(--surface)}.av-bar .btn{gap:6px}.av-title{margin:0;font-size:16px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.av-body{flex:1;min-height:0;display:grid;grid-template-columns:auto clamp(300px,30vw,400px);justify-content:center;gap:24px;padding:14px max(16px,env(safe-area-inset-right)) 14px max(16px,env(safe-area-inset-left))}.av-board{min-height:0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.av-board-box,.av-nav,.av-focus{width:min(calc(100vw - 76px - clamp(300px,30vw,400px)),calc(100dvh - var(--av-bar) - var(--av-nav) - 56px))}.av-board-box .board-frame{min-width:0}.av-nav{flex:none;height:var(--av-nav);display:flex;align-items:center;justify-content:center;gap:6px}.av-nav .btn{min-width:44px;padding:0 10px}.av-pos{min-width:9em;text-align:center;font-variant-numeric:tabular-nums;color:var(--muted)}.av-focus{flex:none;min-height:var(--av-nav);display:flex;align-items:center;justify-content:space-between;gap:8px 12px;padding:4px 6px 4px 12px;border-radius:var(--radius-sm);border:var(--border-sm) solid var(--line);border-left:4px solid var(--lvl);background:var(--surface);font-size:14px}.av-focus.is-inaccuracy{--lvl: var(--lvl-inaccuracy)}.av-focus.is-mistake{--lvl: var(--lvl-mistake)}.av-focus.is-blunder{--lvl: var(--lvl-blunder)}.av-focus-text{display:flex;align-items:center;gap:8px;min-width:0}.av-focus-text>span{min-width:0;line-height:1.3}.av-focus-hint{color:var(--muted)}.av-focus-actions{display:flex;gap:6px;flex:none}.av-short{display:none}.av-side{min-height:0;min-width:0;display:flex;flex-direction:column;gap:12px}.av-summary{flex:none;display:grid;gap:2px;font-size:14px}.av-summary-row{margin:0;display:flex;align-items:center;gap:8px}.av-result{margin:2px 0 0;color:var(--muted);font-size:13px}.av-start,.av-progress{display:grid;gap:8px}.av-start p{margin:0}.av-start .btn{justify-self:start}.av-progress-row{display:flex;align-items:center;gap:10px}.av-progress-row progress{flex:1;min-width:40px}.av-chart{flex:none;margin:0}.av-chart-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px;min-height:26px}.av-readout{font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.av-toggle{display:inline-flex;flex:none;border:var(--border-sm) solid var(--line);border-radius:999px;padding:2px}.av-toggle button{border:0;background:none;color:var(--muted);font:inherit;font-size:12px;padding:1px 9px;border-radius:999px;cursor:pointer}.av-toggle button.is-on{background:var(--primary);color:var(--on-primary)}.av-plot{position:relative;height:128px;border-radius:var(--radius-sm);overflow:hidden;background:var(--chart-bg)}.av-plot svg{display:block;cursor:crosshair;touch-action:none}.av-band{fill:transparent}.av-area.is-b{fill:var(--chart-b)}.av-area.is-w{fill:var(--chart-w)}.av-grid{stroke:var(--line);stroke-dasharray:2 4}.av-zero{stroke:var(--text);stroke-opacity:.55;stroke-width:1.25}.av-line{fill:none;stroke:var(--chart-line);stroke-width:1.5;stroke-linejoin:round}.av-over{fill:var(--muted)}.av-cursor{stroke:var(--coral);stroke-width:2}.av-selected{fill:var(--coral);fill-opacity:.28}.av-dot{stroke:var(--coral);stroke-width:2}.av-dot.is-B{fill:var(--stone-black)}.av-dot.is-W{fill:var(--stone-white)}.av-dot.is-on{stroke-width:3}.av-label{position:absolute;left:6px;font-size:11px;line-height:1;padding:2px 5px;border-radius:4px;background:var(--surface);color:var(--muted);pointer-events:none}.av-label.is-top{top:5px}.av-label.is-bottom{bottom:5px}.av-list-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px}.av-list-title{margin:0;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.av-filter{display:inline-flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}.av-list{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;display:grid;align-content:start;gap:10px;padding-right:2px}.av-group-title{display:flex;align-items:center;gap:6px;margin:0 0 4px;font-size:13px;font-weight:600}.av-you{font-weight:400;color:var(--muted)}.av-you:before{content:"· "}.av-group ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}.av-empty{margin:0;font-size:13px;color:var(--muted)}.av-mistake{width:100%;min-height:36px;display:grid;grid-template-columns:4.6em minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 10px;border:1px solid transparent;border-radius:8px;background:none;color:inherit;font:inherit;font-size:14px;text-align:left;cursor:pointer}.av-mistake:hover{background:var(--surface-2)}.av-mistake.is-on{background:var(--surface);border-color:var(--coral);box-shadow:0 0 0 1px var(--coral)}.av-reason{grid-column:1 / -1;font-size:13px;line-height:1.35;color:var(--muted)}.av-reason-more{margin:2px 0 4px 10px}.av-move{font-variant-numeric:tabular-nums}.av-level{justify-self:start;display:inline-flex;align-items:center;gap:5px;padding:1px 8px 1px 6px;border-radius:999px;font-size:12.5px;color:var(--lvl);background:var(--lvl-bg)}.av-level b{font-weight:800;min-width:1.3em;text-align:center}.av-level.is-inaccuracy{--lvl: var(--lvl-inaccuracy);--lvl-bg: var(--lvl-inaccuracy-bg)}.av-level.is-mistake{--lvl: var(--lvl-mistake);--lvl-bg: var(--lvl-mistake-bg)}.av-level.is-blunder{--lvl: var(--lvl-blunder);--lvl-bg: var(--lvl-blunder-bg)}.av-loss{font-variant-numeric:tabular-nums;color:var(--muted)}.av-all{justify-self:start}@media(orientation:landscape)and (min-height:900px){.av-plot{height:170px}}@media(orientation:portrait),(max-width:760px){:root{--av-bar: 46px;--av-nav: 40px}.av-body{display:flex;flex-direction:column;gap:10px;padding:10px max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left))}.av-board{flex:none;gap:10px}.av-board-box,.av-nav{width:min(100%,calc(100dvh - var(--av-bar) - var(--av-nav) - 310px))}@media(max-height:720px){.av-board-box,.av-nav{width:min(100%,calc(100dvh - var(--av-bar) - var(--av-nav) - 350px))}}.av-focus{width:100%;padding:2px 4px 2px 10px;font-size:13px}.av-focus-hint{display:none}.av-focus .btn{min-height:30px;padding:0 10px}.av-long{display:none}.av-short{display:inline}.av-side{flex:1;gap:8px}.av-plot{height:76px}.av-summary{font-size:13px}.av-result{display:none}}@media(orientation:portrait)and (min-width:600px){.av-board-box,.av-nav{width:min(100%,calc(100dvh - var(--av-bar) - var(--av-nav) - 420px))}.av-plot{height:100px}.av-result{display:block}}.board-marker.is-cross path{fill:none;stroke:var(--coral);stroke-width:.12;stroke-linecap:round}:root[data-theme=dark] .analysis-view .stone-icon circle:last-child,:root[data-theme=dark] .analysis-card .stone-icon circle:last-child{stroke:var(--faint);stroke-width:1.6}.wake-banner{position:fixed;left:50%;top:calc(12px + env(safe-area-inset-top));transform:translate(-50%);z-index:60;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:10px 16px;border-radius:999px;background:var(--surface);border:var(--border-sm) solid var(--line);box-shadow:var(--shadow-md);font-size:14px}.av-modes{display:grid;grid-template-columns:1fr 1fr;gap:6px}.av-modes button{display:grid;gap:1px;padding:6px 10px;border-radius:var(--radius-sm);border:var(--border-sm) solid var(--line);background:var(--surface);color:var(--text);font:inherit;font-size:13px;text-align:left;cursor:pointer}.av-modes button span{color:var(--muted);font-size:12px}.av-modes button.is-on{border-color:var(--text);box-shadow:0 0 0 1px var(--text)}
