:root{--panel-w:348px;--lobby-w:clamp(600px, 52vw, 900px);--bg:#120d09;--glass:#16110cb8;--glass-strong:#1a140ff2;--glass-soft:#ffffff0b;--glass-hover:#ffffff16;--line:#ffe4b91c;--line-strong:#ffe4b938;--text:#f5ecdd;--muted:#b2a38b;--faint:#7f725f;--kaya:#e2b265;--kaya-deep:#b8843f;--accent:#a083d6;--accent-deep:#5d4392;--good:#8fdc9c;--danger:#ef7a64;--vermilion:#d2452f;--paper:#fbf6ea;--ink:#2b2340;--radius:16px;--radius-sm:10px;--shadow:0 18px 50px #0000006b;--font:"Inter", "Noto Sans Thai", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Leelawadee UI", "Segoe UI", system-ui, sans-serif;--font-display:"Noto Serif Thai", "Noto Serif JP", "Noto Sans KR", "Noto Sans SC", "Leelawadee UI", serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:15px;overflow:hidden}#app{position:fixed;inset:0}#scene{touch-action:none;width:100%;height:100%;display:block}.muted{color:var(--muted)}[hidden]{display:none!important}.glass{background:var(--glass);-webkit-backdrop-filter:blur(16px)saturate(1.25);border:1px solid var(--line);box-shadow:var(--shadow)}.vignette{pointer-events:none;background:radial-gradient(ellipse 72% 78% at calc(50% + (var(--inset-left,0px) - var(--inset,0px)) / 2) 50%, transparent 55%, #0a07048c);transition:background .4s;position:absolute;inset:0}.icon{vertical-align:-3px;flex:none;width:18px;height:18px}button{font:inherit;color:var(--text);border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--glass-soft);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:7px;padding:9px 14px;transition:background .15s,border-color .15s,color .15s,transform 80ms,box-shadow .15s;display:inline-flex}button:hover:not(:disabled){background:var(--glass-hover);border-color:var(--line-strong)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.42;cursor:default}button:focus-visible,select:focus-visible,input:focus-visible,.segmented input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}button.primary{background:linear-gradient(160deg, var(--accent), var(--accent-deep));box-shadow:0 6px 18px color-mix(in srgb, var(--accent-deep) 45%, transparent);border-color:#0000;font-weight:600}button.primary:hover:not(:disabled){background:linear-gradient(160deg, color-mix(in srgb, var(--accent) 85%, white), color-mix(in srgb, var(--accent-deep) 85%, white))}button.danger{color:#f6ab9b}button.danger:hover:not(:disabled){background:#ef7a641f;border-color:#ef7a6466}button.danger.confirm,button.danger.solid{background:var(--vermilion);color:#fff;border-color:#0000}button.ghost{color:var(--muted);background:0 0;border-color:#0000}button.ghost:hover:not(:disabled){background:var(--glass-hover);color:var(--text);border-color:#0000}button.icon-only{padding:8px}button.small{border-radius:9px;padding:6px 11px;font-size:13px}button.small .icon{width:15px;height:15px}button.link{color:var(--muted);text-underline-offset:3px;background:0 0;border:0;padding:0;text-decoration:underline}button.link:hover{color:var(--text);background:0 0}select,input:not([type]),input[type=text],input[type=number],input[type=search],input[type=password]{width:100%;font:inherit;color:var(--text);border-radius:var(--radius-sm);border:1px solid var(--line);background:#ffffff0d;padding:9px 11px;transition:border-color .15s,background .15s}select:hover,input:hover{border-color:var(--line-strong)}select option{color:var(--text);background:#221a13}input::placeholder{color:var(--faint)}input[type=checkbox],input[type=range]{accent-color:var(--accent)}.search{align-items:center;display:flex;position:relative}.search .icon{color:var(--faint);pointer-events:none;position:absolute;left:11px}.search input{padding-left:36px}.switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:9px;font-size:13.5px;display:inline-flex}.switch input{opacity:0;pointer-events:none;position:absolute}.switch .track{background:#ffffff24;border-radius:10px;flex:none;width:34px;height:20px;transition:background .2s;position:relative}.switch .track:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0006}.switch input:checked+.track{background:var(--accent)}.switch input:checked+.track:after{transform:translate(14px)}.switch input:focus-visible+.track{outline:2px solid var(--accent);outline-offset:2px}.badge-count{background:var(--vermilion);color:#fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;line-height:1;display:inline-grid}.count-pill{background:var(--glass-soft);border:1px solid var(--line);min-width:22px;color:var(--muted);font:600 12px var(--font);text-align:center;vertical-align:3px;border-radius:999px;padding:1px 8px;display:inline-block}.ring{animation:.9s ease-in-out 2 ring}.chip-btn{color:var(--muted);border-radius:999px;padding:6px 11px;font-size:12.5px}.chip-btn .icon{width:15px;height:15px}.chip-btn:hover:not(:disabled){color:var(--text)}.stone-icon{border-radius:50%;flex:none;width:26px;height:26px;display:inline-block;box-shadow:0 2px 5px #00000080}.stone-icon.black{background:radial-gradient(circle at 35% 30%,#5a5a5a,#101010 62%)}.stone-icon.white{background:radial-gradient(circle at 35% 30%,#fff,#d8d2c4 72%)}.stone-icon.small{width:14px;height:14px}.user-dot{background:linear-gradient(var(--hair,#555) 0 44%, var(--skin,#f6d3b8) 44% 62%, var(--top,#888) 62%);border:2px solid #ffffff29;border-radius:50%;flex:none;width:30px;height:30px;display:inline-block;box-shadow:0 2px 6px #00000059}.user-dot.cat{background:radial-gradient(circle at 50% 62%, var(--skin) 0 26%, var(--hair) 27% 100%)}img.user-pic{object-fit:cover;background:#2a2230}.user-dot.big{border-width:3px;width:84px;height:84px}.brand-mark{background:linear-gradient(145deg, #ecc277, var(--kaya-deep));color:#2a1a08;width:44px;height:44px;font:700 25px var(--font-display);border-radius:12px;flex:none;place-items:center;display:grid;box-shadow:0 6px 20px #00000059,inset 0 1px #fff6}img.brand-mark{object-fit:contain}.brand-mark.big{border-radius:16px;width:64px;height:64px;font-size:37px}.lang-picker{align-items:center;display:inline-flex;position:relative}.lang-picker.corner{z-index:2;position:absolute;top:14px;right:14px}.lang-button{border-color:var(--line);background:0 0;gap:8px;padding:6px 9px 6px 8px;font-size:13px}.lang-button .lang-chevron{width:13px;height:13px;color:var(--muted);transition:transform .15s;transform:rotate(90deg)}.lang-button[aria-expanded=true] .lang-chevron{transform:rotate(-90deg)}.lang-menu{z-index:40;border:1px solid var(--line-strong);background:var(--glass-strong);min-width:168px;box-shadow:var(--shadow);border-radius:12px;margin:0;padding:5px;list-style:none;animation:.12s ease-out menu-in;position:absolute;top:calc(100% + 6px)}.lang-menu.end{right:0}.lang-menu.start{left:0}.lang-menu li{white-space:nowrap;cursor:pointer;border-radius:8px;outline:none;align-items:center;gap:10px;padding:7px 10px;font-size:13.5px;display:flex}.lang-menu li:hover,.lang-menu li:focus-visible,.lang-menu li:focus{background:var(--glass-hover)}.lang-menu li[aria-selected=true]{color:var(--kaya);font-weight:600}.lang-menu .lang-check{width:15px;height:15px;margin-left:auto}.lang-flag{background:#5b5348 50%/cover no-repeat;border-radius:3px;flex:none;width:21px;height:14px;display:inline-block;box-shadow:0 0 0 1px #00000059,0 1px 3px #0000004d}.lang-flag[data-flag=th]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Crect width='30' height='20' fill='%23a51931'/%3E%3Crect y='3.33' width='30' height='13.34' fill='%23f4f5f8'/%3E%3Crect y='6.67' width='30' height='6.66' fill='%232d2a4a'/%3E%3C/svg%3E")}.lang-flag[data-flag=gb]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 40'%3E%3Crect width='60' height='40' fill='%23012169'/%3E%3Cpath d='M0 0l60 40M60 0L0 40' stroke='%23fff' stroke-width='8'/%3E%3Cpath d='M0 0l60 40M60 0L0 40' stroke='%23c8102e' stroke-width='3'/%3E%3Cpath d='M30 0v40M0 20h60' stroke='%23fff' stroke-width='13'/%3E%3Cpath d='M30 0v40M0 20h60' stroke='%23c8102e' stroke-width='7'/%3E%3C/svg%3E")}.lang-flag[data-flag=jp]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Crect width='30' height='20' fill='%23fff'/%3E%3Ccircle cx='15' cy='10' r='6' fill='%23bc002d'/%3E%3C/svg%3E")}.lang-flag[data-flag=cn]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Crect width='30' height='20' fill='%23de2910'/%3E%3Cpolygon fill='%23ffde00' points='5.5,2 6.32,4.37 8.83,4.42 6.83,5.93 7.56,8.33 5.5,6.9 3.44,8.33 4.17,5.93 2.17,4.42 4.68,4.37'/%3E%3Cg fill='%23ffde00'%3E%3Ccircle cx='10.5' cy='2' r='0.8'/%3E%3Ccircle cx='12' cy='4' r='0.8'/%3E%3Ccircle cx='12' cy='6.6' r='0.8'/%3E%3Ccircle cx='10.5' cy='8.6' r='0.8'/%3E%3C/g%3E%3C/svg%3E")}.lang-flag[data-flag=kr]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Crect width='30' height='20' fill='%23fff'/%3E%3Ccircle cx='15' cy='10' r='5' fill='%230047a0'/%3E%3Cpath d='M10 10a5 5 0 0 1 10 0a2.5 2.5 0 0 1-5 0a2.5 2.5 0 0 0-5 0z' fill='%23cd2e3a'/%3E%3Cg stroke='%23000' stroke-width='1.1'%3E%3Cpath d='M4.2 6.2l3-3.2M5.2 7.1l3-3.2M6.2 8l3-3.2M20.8 3l3 3.2M21.8 4l1 1.1M23.5 5.9l1 1.1M22.8 4l3 3.2M4.2 13.8l3 3.2M5.2 12.9l1 1.1M6.9 14.8l1 1.1M6.2 12l3 3.2M20.8 17l3-3.2M21.8 16.1l3-3.2M22.8 17.9l3-3.2'/%3E%3C/g%3E%3C/svg%3E")}.profile-lang .lang-button{background:#ffffff0d;justify-content:flex-start;width:100%;padding:9px 11px}.profile-lang .lang-button .lang-chevron{margin-left:auto}.profile-lang{display:flex}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}}.loading-screen{color:var(--muted);background:radial-gradient(circle at 50% 45%,#281e1499,#0a0704eb);flex-direction:column;justify-content:center;align-items:center;gap:18px;display:none;position:absolute;inset:0}#app[data-screen=loading]:not(.creating) .loading-screen{display:flex}.spinner{border:3px solid #ffffff1f;border-top-color:var(--kaya);border-radius:50%;width:30px;height:30px;animation:.9s linear infinite spin}#app:not([data-screen=room]) #panel,#app:not([data-screen=room]) #character,#app:not([data-screen=room]) #result,#app:not([data-screen=room]) .brand{display:none}#app.pvp #character,#app.pvp .ai-only{display:none!important}#app[data-screen=login] .vignette{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a070480}#app[data-screen=lobby] .vignette{background:linear-gradient(90deg,#0000 30%,#0a07048c),radial-gradient(60% 80% at 25% 55%,#0000 50%,#0a070480)}.login{flex-direction:column;padding:16px;display:flex;position:absolute;inset:0;overflow-y:auto}.login-card{text-align:center;background:var(--glass-strong);border-radius:22px;width:min(410px,100%);margin:auto;padding:40px 30px 28px;position:relative}.login-card .login-brand{margin:0 0 12px;line-height:0}.login-brand img{object-fit:contain;border-radius:16px;width:96px;height:96px}.login-legal{flex-wrap:wrap;justify-content:center;gap:6px 14px;margin-top:16px;font-size:12px;display:flex}.login-legal a{color:var(--muted);text-underline-offset:3px}.login-legal a:hover,.login-legal a:focus-visible{color:var(--kaya)}.login-panel{background:var(--glass-strong);border-radius:26px;grid-template-columns:minmax(0,1fr) 400px;width:min(1360px,100%,177.778vh - 35.5555px);margin:auto;display:grid;position:relative}.login-panel .login-card{background:0 0;border-radius:0;align-self:center;width:auto;margin:0;padding:34px 32px 20px}.login-panel .login-brand img{width:68px;height:68px}.tutorial-pane{border-right:1px solid var(--line);background:radial-gradient(120% 90% at 0 0,#a083d629,#0000 60%),radial-gradient(90% 80% at 100% 100%,#e2b2651a,#0000 60%);border-radius:26px 0 0 26px;flex-direction:column;justify-content:center;min-width:0;padding:36px 40px;display:flex}.tutorial-pane h2{font:700 clamp(24px, 2.3vw, 32px) / 1.25 var(--font-display);margin:0 0 6px}.tutorial-pane>p.muted{max-width:64ch;margin:0 0 20px;font-size:14.5px;line-height:1.6}.tutorial-features{flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none;display:flex}.tutorial-features li{border:1px solid var(--line);background:var(--glass-soft);color:var(--muted);border-radius:999px;align-items:center;gap:7px;padding:6px 12px;font-size:13px;display:inline-flex}.tutorial-features .icon{width:15px;height:15px;color:var(--kaya)}.tutorial-kicker{color:var(--kaya);letter-spacing:.04em;background:#e2b2651a;border:1px solid #e2b26559;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;margin:0 0 12px;padding:4px 11px 4px 9px;font-size:12px;font-weight:600;display:inline-flex}.tutorial-kicker .icon{width:13px;height:13px}.tutorial-video{aspect-ratio:16/9;border:1px solid var(--line-strong);background:#000;border-radius:16px;margin:0;position:relative;overflow:hidden;box-shadow:0 16px 40px #00000073}.tutorial-video video{object-fit:contain;background:#000;width:100%;height:100%;display:block}.tutorial-video:not([data-playing]):after{content:"";pointer-events:none;background:radial-gradient(circle,#0000000d,#00000073);position:absolute;inset:0}.tutorial-play{z-index:1;background:linear-gradient(160deg, var(--accent), var(--accent-deep));border:2px solid #ffffffd9;border-radius:50%;width:76px;height:76px;padding:0;transition:transform .15s;animation:2.2s ease-out infinite play-pulse;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 30px #00000080,0 0 #a083d68c}.tutorial-play:hover{transform:translate(-50%,-50%)scale(1.07)}.tutorial-play .icon{width:30px;height:30px;margin-left:4px}.tutorial-video[data-playing] .tutorial-play{display:none}@keyframes play-pulse{70%{box-shadow:0 10px 30px #00000080,0 0 0 18px #a083d600}to{box-shadow:0 10px 30px #00000080,0 0 #a083d600}}dialog.wide.tutorial{width:min(920px,100vw - 32px,177.778vh - 287.778px)}dialog.tutorial .tutorial-video{border-radius:12px}@media (width<=1180px){.login-panel{grid-template-columns:minmax(0,1fr) 360px;width:min(1360px,100%,177.778vh - 73.7778px)}.tutorial-pane{padding:30px 32px}.login-panel .login-card{padding:34px 26px 20px}}@media (width<=960px){.login-panel{grid-template-columns:minmax(0,1fr);width:min(720px,100%)}.login-panel .login-brand img{width:80px;height:80px}.tutorial-pane{border-right:0;border-bottom:1px solid var(--line);border-radius:26px 26px 0 0;padding:30px 28px 26px}.login-panel .login-card{justify-self:center;width:min(420px,100%);padding:26px 24px}}@media (width<=600px){.login{padding:10px}.login-panel{border-radius:22px}.tutorial-pane{border-radius:22px 22px 0 0;padding:22px 16px 20px}.tutorial-pane h2{font-size:22px}.tutorial-pane>p.muted{margin-bottom:14px;font-size:13.5px}.tutorial-features{gap:6px;margin-top:14px}.tutorial-features li{padding:5px 10px;font-size:12px}.tutorial-video{border-radius:12px}.tutorial-play{width:60px;height:60px}.tutorial-play .icon{width:24px;height:24px}.login-panel .login-card{padding:22px 16px}dialog.wide.tutorial{padding:16px}}@media (prefers-reduced-motion:reduce){.tutorial-play{animation:none}}.account-delete{border-top:1px solid #e6646440;margin-top:16px;padding-top:12px}.providers{gap:10px;margin-top:24px;display:grid}.provider{color:#fff;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:10px;padding:12px 14px;font-weight:600;text-decoration:none;transition:filter .15s,transform 80ms;display:flex}.provider.google{color:#1f1f1f;background:#fff;border-color:#dadce0}.provider.facebook{background:#1877f2}.provider.discord{background:#5865f2}.provider.discord .logo{width:22px;height:22px}.provider:hover{filter:brightness(1.06)}.provider:active{transform:translateY(1px)}.provider .logo{flex:none;width:20px;height:20px}.captcha{gap:6px;margin:0 0 12px;display:grid}.captcha-label{color:var(--muted);font-size:12.5px;font-weight:600}.captcha-row{align-items:center;gap:6px;display:flex}.captcha-img{background:#f4ecd8;border-radius:10px;width:210px;max-width:100%;height:auto;display:block}.captcha input{letter-spacing:.25em;text-transform:uppercase;font-weight:600}.captcha input::placeholder{letter-spacing:normal;text-transform:none;font-weight:400}.captcha-widget{justify-content:center;min-height:65px;display:flex}.login-or{color:var(--faint);align-items:center;gap:10px;margin:6px 0 0;font-size:12.5px;display:flex}.login-or:before,.login-or:after{content:"";background:var(--line);flex:1;height:1px}.login-tabs{justify-content:stretch;margin-top:4px}.login-tabs button{flex:1}.auth-form{text-align:left;gap:2px;display:grid}.auth-form .field{margin-bottom:10px}.auth-form .hint{margin:-4px 0 10px;font-size:12px;line-height:1.45}.auth-form button.primary{margin-top:2px;padding:11px 14px}.dev-login{border-top:1px solid var(--line);text-align:left;gap:8px;margin-top:8px;padding-top:16px;font-size:13px;display:grid}.dev-login .muted{text-align:center}.login-note{color:#f6ab9b;min-height:1em;margin:14px 0 0;font-size:13.5px}.install-banner{border-radius:var(--radius);background:var(--glass-strong);flex:none;align-items:center;gap:12px;padding:8px 8px 8px 10px;display:flex}.install-banner img{border-radius:10px;flex:none;width:40px;height:40px}.install-banner-text{flex:1;min-width:0;margin:0;line-height:1.35;display:grid}.install-banner-text b{font-size:14px}.install-banner-text span{font-size:12.5px}#login .install-banner{width:min(720px,100%);margin:0 auto 10px}dialog.install{width:min(440px,100vw - 24px)}.install-app{border:1px solid var(--line);background:var(--glass-soft);border-radius:14px;align-items:center;gap:12px;margin:14px 0 12px;padding:10px 12px;display:flex}.install-app img{border-radius:12px;flex:none;width:52px;height:52px}.install-app div{line-height:1.3;display:grid}.install-app b{font:700 17px var(--font-display)}.install-host{-webkit-user-select:all;user-select:all;font-size:12.5px}dialog p.install-why{margin:0 0 14px;font-size:13.5px}.install-steps{counter-reset:step;gap:12px;margin:0;padding:0;list-style:none;display:grid}.install-steps li{counter-increment:step;grid-template-columns:22px 40px minmax(0,1fr);align-items:center;gap:10px;font-size:14px;line-height:1.45;display:grid}.install-steps li:before{content:counter(step);background:var(--kaya);color:#1a120a;border-radius:50%;place-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:grid}.install-key{border:1px solid var(--line-strong);color:#5aa9ff;background:#ffffff12;border-radius:11px;place-items:center;width:40px;height:40px;display:grid}.install-key .icon{width:21px;height:21px}dialog p.install-note{margin:16px 0 4px;font-size:12.5px}#lobby{pointer-events:none;flex-direction:column;gap:14px;padding:14px;display:flex;position:absolute;inset:0}#lobby .topbar,#lobby .install-banner,#lobby .lobby-panel,#lobby .lobby-chat,#lobby .stage-hint{pointer-events:auto}.stage-hint .hint-sep{background:var(--line-strong);width:1px;height:14px;margin:0 3px}.topbar{z-index:1;border-radius:var(--radius);background:var(--glass-strong);align-items:center;gap:12px;padding:8px 10px 8px 8px;display:flex;position:relative}.me-chip{text-align:left;background:0 0;border-color:#0000;border-radius:999px;gap:10px;padding:5px 14px 5px 6px}.me-text{line-height:1.25;display:grid}.me-name{font:700 16px var(--font-display)}.me-account{font-size:12px}.me-account:empty{display:none}.topnav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;margin-left:auto;display:flex}.topnav .badge-count{margin-left:2px}.lobby-body{grid-template-columns:auto minmax(0, 1fr) var(--lobby-w);pointer-events:none;flex:1;gap:14px;min-height:0;display:grid}.lobby-stage{pointer-events:none;position:relative;container-type:inline-size}.stage-hint{color:var(--muted);box-shadow:none;border-radius:999px;align-items:center;gap:9px;margin:0;padding:9px 14px;font-size:13px;display:flex;position:absolute;bottom:4px;left:4px}@container (width<=640px){.stage-hint{border-radius:14px;grid-template-columns:auto minmax(0,1fr);gap:5px 8px;padding:9px 13px;font-size:12.5px;display:grid;right:4px}.stage-hint .hint-sep{display:none}}@container (width<=420px){.stage-hint{display:none}}.lobby-panel{pointer-events:auto;border-radius:var(--radius);background:var(--glass-strong);grid-template-columns:1fr 250px;min-height:0;display:grid;overflow:hidden}.lobby-panel h2{font:700 18px var(--font-display);margin:0}.rooms{flex-direction:column;min-height:0;padding:18px;display:flex}.rooms-head{align-items:center;gap:10px;margin-bottom:12px;display:flex}.rooms-head h2{margin-right:auto}.rooms-tools{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.rooms-tools .search{flex:200px}.filter-tabs{border:1px solid var(--line);background:#00000038;border-radius:11px;gap:2px;padding:3px;display:flex}.filter-tabs button{color:var(--muted);background:0 0;border:0;border-radius:8px;padding:6px 11px;font-size:13px}.filter-tabs button.active{background:var(--glass-hover);color:var(--text);box-shadow:0 1px 4px #0000004d}.room-list{flex:1;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));align-content:start;gap:12px;min-height:0;padding:2px 4px 2px 0;display:grid;overflow-y:auto}.empty-state{color:var(--muted);text-align:center;grid-column:1/-1;justify-items:center;gap:10px;padding:48px 12px;display:grid}.empty-state .icon{opacity:.6;width:34px;height:34px}.room-card{border:1px solid var(--line);background:linear-gradient(170deg,#ffffff0e,#ffffff05);border-radius:14px;gap:9px;padding:14px 14px 12px;transition:border-color .15s,transform .15s,background .15s;display:grid;position:relative}.room-card:hover{border-color:var(--line-strong);transform:translateY(-1px)}.room-card[data-status=waiting]{border-color:#e2b26566}.room-card header{align-items:center;gap:7px;min-width:0;display:flex}.room-card h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15.5px;font-weight:600;overflow:hidden}.room-card .lock{color:var(--kaya)}.room-card .lock .icon{width:15px;height:15px}.status-badge{white-space:nowrap;color:var(--muted);background:#ffffff14;border-radius:999px;align-items:center;gap:5px;margin-left:auto;padding:2px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.status-badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.status-badge[data-status=waiting]{color:var(--kaya);background:#e2b2652e}.status-badge[data-status=playing]{color:var(--good);background:#8fdc9c26}.status-badge[data-status=playing]:before{animation:1.2s infinite alternate pulse}.status-badge[data-status=practice],.status-badge[data-status=review]{background:color-mix(in srgb, var(--accent) 20%, transparent);color:color-mix(in srgb, var(--accent) 55%, white)}.versus{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 8px;font-size:14px;display:grid}.versus .side{grid-column:1;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;display:grid}.versus .side:first-child{grid-row:1}.versus .side:last-child{grid-row:2}.versus .side .ranked-name-text{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.versus .side.open span{color:var(--faint);font-style:italic;font-weight:400}.versus .vs{color:var(--faint);letter-spacing:.08em;grid-area:1/2/3;font-size:10px;font-weight:700}.versus .user-dot{border-width:1.5px;width:22px;height:22px}.room-facts{flex-wrap:wrap;gap:5px;display:flex}.fact{color:var(--muted);background:#ffffff0d;border-radius:7px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;display:inline-flex}.fact .icon{width:13px;height:13px}.fact.moves{color:var(--text);font-weight:600}.fact.rules .rules-label{gap:5px}.fact.rules .rules-flag{width:16px;height:11px}.room-actions{justify-content:flex-end;gap:8px;margin-top:2px;display:flex}.online{border-left:1px solid var(--line);background:#00000024;flex-direction:column;min-height:0;padding:18px 14px;display:flex}.online .user-list{flex:1;min-height:0;margin-top:12px;overflow-y:auto}.user-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.user-row{border-radius:11px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:3px 4px;transition:background .15s;display:grid}.user-row:hover{background:var(--glass-soft)}.user-who{text-align:left;white-space:normal;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr);justify-content:stretch;align-items:center;gap:10px;min-width:0;padding:4px;display:grid}button.user-who:hover:not(:disabled){background:0 0}button.user-who:hover .user-name{text-underline-offset:3px;text-decoration:underline}.user-row .user-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.user-text{min-width:0}.user-meta{flex-wrap:wrap;align-items:center;gap:3px 6px;min-width:0;margin-top:2px;display:flex}.user-meta .rank-badge,.versus .rank-badge{margin-inline-start:0}.user-meta .user-status{min-width:0;max-width:100%}.online .user-actions button{min-width:0;padding:5px 7px}.user-row .user-status{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;font-size:12px;display:flex;overflow:hidden}.user-row .user-status:before{content:"";background:var(--faint);border-radius:50%;flex:none;width:7px;height:7px}.user-row[data-status=lobby] .user-status:before{background:#7fb6e8}.user-row[data-status=waiting] .user-status:before{background:var(--kaya)}.user-row[data-status=playing] .user-status{color:var(--good)}.user-row[data-status=playing] .user-status:before{background:var(--good);animation:1.2s infinite alternate pulse}.user-row[data-status=watching] .user-status:before{background:var(--accent)}.user-row.me .user-name:after{content:attr(data-you);color:var(--muted);margin-left:6px;font-size:11px;font-weight:500}.challenge-list{max-height:50vh;margin:4px 0 8px;overflow-y:auto}.lobby-chat{--lc-w:clamp(264px, 24vw, 340px);width:var(--lc-w);border-radius:var(--radius);background:var(--glass-strong);flex-direction:column;min-height:0;display:flex;position:relative;overflow:hidden;container-type:inline-size}.lobby-chat:not([data-open]){width:56px}.lobby-chat:not([data-open]) .lc-body,.lobby-chat[data-open] .lc-rail{display:none}.lc-body{flex-direction:column;flex:1;min-height:0;display:flex}.lc-rail{border-radius:inherit;width:100%;color:var(--muted);background:0 0;border:0;flex-direction:column;flex:1;justify-content:flex-start;gap:12px;padding:16px 0}.lc-rail:hover:not(:disabled){background:var(--glass-hover);color:var(--text);border-color:#0000}.lc-rail .icon{width:22px;height:22px}.lc-rail .lc-rail-icon{color:var(--kaya)}.lc-rail-text{writing-mode:vertical-rl;white-space:nowrap;gap:10px;font-size:13px;font-weight:600;display:flex}.lc-rail-room{color:var(--faint);font-weight:500}.lc-rail .badge-count{order:-1;margin-bottom:-6px}.lc-head{align-items:center;gap:10px;padding:14px 10px 10px 14px;display:flex}.lc-mark{border:1px solid color-mix(in srgb, var(--kaya) 35%, transparent);background:linear-gradient(160deg, color-mix(in srgb, var(--kaya) 28%, transparent), #ffffff08);width:36px;height:36px;color:var(--kaya);border-radius:11px;flex:none;place-items:center;display:grid}.lc-mark .icon{width:20px;height:20px}.lc-titles{flex:1;min-width:0}.lc-titles h2{font:700 17px/1.25 var(--font-display);margin:0}.lc-online{color:var(--muted);align-items:center;gap:7px;margin:2px 0 0;font-size:12px;display:flex}.lc-online:before{content:"";background:var(--good);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, var(--good) 20%, transparent);border-radius:50%;flex:none}.lc-channels{scrollbar-width:none;border-bottom:1px solid var(--line);gap:5px;padding:2px 10px 10px;display:flex;overflow-x:auto}.lc-channels::-webkit-scrollbar{display:none}.lc-chan{color:var(--muted);background:#00000038;border-radius:999px;flex:none;gap:5px;padding:5px 8px 5px 7px;font-size:12.5px;position:relative}.lc-chan .icon{width:15px;height:15px}.lc-chan .flag{margin:0}.lc-chan.mine:not(.active){border-color:var(--line-strong)}.lc-chan.active{color:var(--text);border-color:color-mix(in srgb, var(--kaya) 55%, transparent);background:color-mix(in srgb, var(--kaya) 18%, transparent)}.lc-chan.active .icon{color:var(--kaya)}.lc-chan-name{text-overflow:ellipsis;max-width:9em;overflow:hidden}.lc-chan-count{text-align:center;background:#ffffff14;border-radius:9px;min-width:16px;padding:0 4px;font-size:11px;font-weight:600;line-height:16px}.lc-chan-dot{background:var(--vermilion);width:8px;height:8px;box-shadow:0 0 0 2px var(--glass-strong);border-radius:50%;position:absolute;top:1px;right:2px}.lc-more{border-style:dashed;margin-left:auto}.lc-channels.tight .lc-chan:not(.active,.lc-more) .lc-chan-name,.lc-channels.tighter .lc-more .lc-chan-name{display:none}.lc-more.open{color:var(--text);border-style:solid;border-color:var(--line-strong);background:var(--glass-hover)}.lc-picker{z-index:2;background:linear-gradient(var(--glass-strong), var(--glass-strong)), var(--bg);flex-direction:column;animation:.14s ease-out pop-in;display:flex;position:absolute;inset:0}.lc-log-wrap:has(.lc-picker:not([hidden]))>:not(.lc-picker){visibility:hidden}.lc-picker-bar{align-items:center;gap:6px;padding:10px 8px 6px 10px;display:flex}.lc-picker-bar .search{flex:1;min-width:0}.lc-picker-list{overscroll-behavior:contain;flex:1;grid-template-columns:repeat(auto-fill,minmax(126px,1fr));align-content:start;gap:6px;min-height:0;padding:4px 10px 12px;display:grid;overflow-y:auto}.lc-picker-label{color:var(--faint);letter-spacing:.03em;grid-column:1/-1;margin:8px 2px 0;font-size:11.5px;font-weight:600}.lc-picker-empty{color:var(--muted);text-align:center;grid-column:1/-1;margin:0;padding:28px 8px;font-size:13.5px}.lc-tile{background:#00000038;border-radius:11px;justify-content:flex-start;gap:8px;min-width:0;padding:9px 10px;font-size:13px;position:relative}.lc-tile .flag{width:22px;height:16.5px;margin:0}.lc-tile .icon{width:18px;height:18px;color:var(--kaya)}.lc-tile-name{text-overflow:ellipsis;text-align:left;flex:1;min-width:0;overflow:hidden}.lc-tile-online{color:var(--good);align-items:center;gap:4px;font-size:11.5px;font-weight:600;display:inline-flex}.lc-tile-online:before{content:"";background:var(--good);border-radius:50%;width:6px;height:6px}.lc-tile.mine:not(.active){border-color:var(--line-strong)}.lc-tile.active{border-color:color-mix(in srgb, var(--kaya) 60%, transparent);background:color-mix(in srgb, var(--kaya) 18%, transparent)}.lc-log-wrap{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.lc-log{overscroll-behavior:contain;flex-direction:column;flex:1;gap:1px;min-height:0;margin:0;padding:8px 6px 10px 8px;list-style:none;display:flex;overflow-y:auto}.lc-day{color:var(--faint);background:#0000003d;border-radius:999px;align-self:center;margin:8px 0 4px;padding:2px 10px;font-size:11px}.lc-line{border-radius:10px;grid-template-columns:32px minmax(0,1fr) auto;column-gap:9px;padding:6px 4px 4px 6px;display:grid;position:relative}.lc-line:hover{background:var(--glass-soft)}.lc-line.cont{padding-top:0}.lc-line.mine{background:color-mix(in srgb, var(--accent) 8%, transparent)}.lc-line.mine:hover{background:color-mix(in srgb, var(--accent) 13%, transparent)}.lc-line.cont .lc-main{grid-column:2}.lc-avatar{background:0 0;border:0;border-radius:50%;align-self:start;padding:0}.lc-avatar:hover:not(:disabled){filter:brightness(1.12);background:0 0}.lc-avatar .user-dot{width:32px;height:32px}.lc-main{min-width:0}.lc-meta{align-items:center;gap:6px;min-width:0;display:flex}.lc-name{min-width:0;color:var(--kaya);background:0 0;border:0;gap:0;padding:0;font-size:13.5px;font-weight:700}.lc-name:hover:not(:disabled){text-underline-offset:3px;background:0 0;text-decoration:underline}.lc-name-text{text-overflow:ellipsis;min-width:0;overflow:hidden}.lc-line.mine .lc-name{color:color-mix(in srgb, var(--accent) 60%, white)}.lc-meta .rank-badge{margin:0}.lc-time{color:var(--faint);font-variant-numeric:tabular-nums;flex:none;margin-left:auto;font-size:11px}.lc-text{overflow-wrap:anywhere;margin:1px 0 0;font-size:14px;line-height:1.5}.lc-translate,.lc-own{color:var(--muted);opacity:0;grid-area:1/3;align-self:start;padding:4px}:is(.lc-translate,.lc-own) .icon{width:16px;height:16px}.lc-line:hover :is(.lc-translate,.lc-own),:is(.lc-translate,.lc-own):focus-visible,:is(.lc-translate,.lc-own).on{opacity:1}.lc-translate.on{color:#9cc9f0}.lc-own.on{color:var(--text);background:var(--glass-hover)}@media (hover:none){:is(.lc-translate,.lc-own){opacity:.7}}.lc-edited{color:var(--faint);white-space:nowrap;margin-left:6px;font-size:11px}.lc-actions{flex-wrap:wrap;gap:4px;margin:4px 0 2px;display:flex}.lc-actions button{padding:4px 9px;font-size:12.5px}.lc-actions .icon{width:14px;height:14px}.lc-line.editing{background:color-mix(in srgb, var(--kaya) 14%, transparent);box-shadow:inset 3px 0 0 var(--kaya)}.lc-editing{border-top:1px solid var(--line);background:color-mix(in srgb, var(--kaya) 10%, transparent);color:var(--kaya);align-items:center;gap:8px;padding:7px 12px;font-size:12.5px;font-weight:600;display:flex}.lc-editing .icon{width:15px;height:15px}.lc-editing span{flex:1;min-width:0}.lobby-chat[data-editing] .lc-form{border-top:0}.lc-tr{background:#7fb6e817;border-left:3px solid #7fb6e8b3;border-radius:4px 9px 9px 4px;margin:6px 0 2px;padding:7px 10px;font-size:13.5px}.lc-tr-text{overflow-wrap:anywhere;margin:0;line-height:1.5}.lc-tr-by{color:var(--faint);align-items:center;gap:5px;margin-top:4px;font-size:11px;display:flex}.lc-tr-by .icon{width:12px;height:12px}.lc-tr.loading,.lc-tr.note{color:var(--muted);align-items:center;gap:8px;font-size:12.5px;display:flex}.lc-tr.error{border-left-color:var(--danger);color:#f6ab9b;background:#ef7a6414;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:12.5px;display:flex}.lc-state{color:var(--muted);text-align:center;justify-content:center;align-items:center;gap:10px;margin:auto 0;padding:28px 14px;font-size:13.5px;line-height:1.5;display:flex}.lc-spin{border:2px solid var(--line-strong);border-top-color:var(--kaya);border-radius:50%;flex:none;width:15px;height:15px;animation:.8s linear infinite spin}.lc-jump{border-color:var(--line-strong);background:var(--glass-strong);border-radius:999px;gap:6px;position:absolute;bottom:10px;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #0006}.lc-jump .lc-jump-arrow{transform:rotate(90deg)}.lc-jump:active:not(:disabled){transform:translate(-50%)translateY(1px)}.lc-emoji{max-height:150px}.lc-form{border-top:1px solid var(--line);align-items:center;gap:6px;padding:10px;display:flex}.lc-form input{flex:1;min-width:0}@container (width<=320px){.lc-time{display:none}.lc-meta .rank-badge[data-rank=new]{padding:1px}.lc-meta .rank-badge[data-rank=new] .rank-label{display:none}}.brand{pointer-events:none;box-shadow:none;border-radius:16px;align-items:center;gap:12px;padding:6px 16px 6px 6px;display:flex;position:absolute;top:16px;left:16px}.brand h1{font:700 19px/1.1 var(--font-display);letter-spacing:.02em;margin:0}.engine-status{color:var(--muted);align-items:center;gap:7px;margin:4px 0 0;font-size:12.5px;display:flex}.engine-status .dot{background:#777;border-radius:50%;width:8px;height:8px}.engine-status[data-status=ready] .dot{background:var(--good);box-shadow:0 0 8px #8fdc9c8c}.engine-status[data-status=loading] .dot{background:var(--kaya);animation:1s infinite alternate pulse}.engine-status[data-status=error] .dot,.engine-status[data-status=offline] .dot{background:var(--vermilion)}.panel{width:calc(var(--panel-w) - 28px);overscroll-behavior:contain;border-radius:var(--radius);scrollbar-width:thin;flex-direction:column;gap:14px;padding:16px;display:flex;position:absolute;top:14px;bottom:14px;right:14px;overflow-y:auto}.panel>section{flex:none}.room-head{border-bottom:1px solid var(--line);gap:9px;padding-bottom:12px;display:grid}.room-head-top{align-items:center;gap:10px;min-width:0;display:flex}.room-head h2{min-width:0;font:700 17px/1.3 var(--font-display);flex:1;align-items:center;gap:6px;margin:0;display:flex}.room-head h2 .icon{width:15px;height:15px;color:var(--kaya);flex:none}.room-name-text{text-overflow:ellipsis;-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.room-head-buttons{flex:none;align-items:center;gap:6px;display:flex}.room-head-buttons .leave{color:#f6ab9b}.room-head-buttons .leave:hover:not(:disabled){background:#ef7a641f;border-color:#ef7a6466}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.room-meta{flex-wrap:wrap;gap:5px;display:flex}.meta-tag{color:var(--muted);white-space:nowrap;background:#ffffff0e;border:1px solid #ffe4b912;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:12px;line-height:1.35;display:inline-flex}.meta-tag .icon{width:13px;height:13px}.meta-tag .rules-label{gap:6px}.meta-tag .rules-flag{width:16px;height:11px}.meta-tag.kind{color:color-mix(in srgb, var(--accent) 55%, white);background:color-mix(in srgb, var(--accent) 18%, transparent);border-color:#0000;font-weight:600}.daytime{border:1px solid var(--line);background:#00000040;border-radius:12px;grid-template-columns:repeat(3,1fr);gap:2px;padding:3px;display:grid}.daytime button{color:var(--muted);background:0 0;border:0;border-radius:9px;gap:5px;padding:6px 4px;font-size:12.5px}.daytime button .icon{width:15px;height:15px}.daytime button[aria-checked=true]{background:var(--glass-hover);color:var(--text);box-shadow:0 1px 4px #00000059}.daytime button[aria-checked=true][data-time=day]{color:#ffd98a}.daytime button[aria-checked=true][data-time=evening]{color:#ffae7a}.daytime button[aria-checked=true][data-time=night]{color:#b9c8ff}.daytime.locked button:not([aria-checked=true]){opacity:.45}.daytime.locked button{cursor:default}.camera-modes{border:1px solid var(--line);background:#00000040;border-radius:12px;grid-template-columns:1fr 1fr;gap:2px;padding:3px;display:grid}.camera-modes button{color:var(--muted);background:0 0;border:0;border-radius:9px;gap:6px;padding:6px 4px;font-size:12.5px}.camera-modes button .icon{width:15px;height:15px}.camera-modes button[aria-checked=true]{background:var(--glass-hover);color:var(--text);box-shadow:0 1px 4px #00000059}#panel[data-role=spectator] .actions,#panel[data-role=spectator] [data-action=creator],#panel[data-role=spectator] [data-action=settings],#panel:not([data-role=owner]) .daytime,#panel:not([data-role=owner]) label.switch.ai-only{display:none!important}.players{gap:7px;display:grid}.player{background:var(--glass-soft);border:1px solid #0000;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px 12px;transition:border-color .2s,background .2s;display:grid}.player.turn{background:#e2b26517;border-color:#e2b2658c}.player .name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.player.me .name:after{content:attr(data-you);color:var(--muted);margin-left:6px;font-size:11px;font-weight:500}.player .role,.player .caps{color:var(--muted);font-size:12px}.player .caps b{color:var(--text);font-size:14px}.side-info{text-align:right}.clock{font:600 14px var(--font);font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}.clock.running{color:var(--text)}.clock.low{color:#ff8a73}.section-head{letter-spacing:.02em;color:var(--muted);justify-content:space-between;align-items:baseline;margin-bottom:8px;font-size:12.5px;font-weight:600;display:flex}.winrate-bar{--black:50%;background:#efe9dc;border-radius:5px;height:9px;position:relative;overflow:hidden}.winrate-bar:before{content:"";width:var(--black);background:linear-gradient(90deg,#0e0e0e,#2c2c2c);transition:width .45s;position:absolute;inset:0 auto 0 0}.winrate-bar.unknown{opacity:.5}.wr-legend{justify-content:space-between;margin-top:7px;font-size:12.5px;font-weight:600;display:flex}.wr-legend>span{align-items:center;gap:6px;display:flex}.wr-legend .stone-icon{width:12px;height:12px}.winrate-graph{background:var(--glass-soft);border-radius:8px;width:100%;height:50px;margin-top:8px}.winrate-graph .mid{stroke:#ffffff2e;stroke-dasharray:2 2;stroke-width:.4px}.winrate-graph .line{fill:none;stroke:var(--kaya);stroke-width:1.2px;vector-effect:non-scaling-stroke}.winrate-graph .area{fill:#e2b2651f}.status-line{font:600 16.5px var(--font-display);min-height:1.5em;line-height:1.4}.status-line.pending{color:color-mix(in srgb, var(--accent) 60%, white)}.status-line.busy:after{content:"";text-align:left;width:1.4em;animation:1.2s steps(4,end) infinite dots;display:inline-block}.move-info{margin-top:3px;font-size:12.5px}.move-info b{color:var(--text);font-weight:600}.actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.actions button{gap:5px;min-width:0;height:100%;min-height:44px;padding:8px;font-size:12px;line-height:1.4}.actions{grid-auto-rows:1fr}.undo-dialog{width:min(360px,100vw - 24px);padding:20px}.undo-dialog h2{font-size:18px}.undo-dialog p{margin-top:10px}.undo-dialog .dialog-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.undo-dialog .dialog-actions button{min-width:0;min-height:44px}.actions button span{white-space:normal;overflow-wrap:anywhere;min-width:0}.actions button .icon{width:16px;height:16px}.actions .wide{grid-column:1/-1}.members .member-list{gap:3px;margin:0;padding:0;list-style:none;display:grid}.member{border-radius:9px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:6px;padding:3px 4px;font-size:13px;display:grid}.member-who{text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(0,1fr) auto;justify-content:stretch;align-items:center;gap:9px;min-width:0;padding:2px;font-size:13px;display:grid}button.member-who:hover:not(:disabled){background:0 0}button.member-who:hover .member-name{text-underline-offset:3px;text-decoration:underline}.member-tools{gap:3px;display:flex}.member-tools button{padding:4px}.member-tools button .icon{width:14px;height:14px}.member-tools button.on{color:var(--danger)}.muted-mark{color:var(--danger);display:inline-flex}.muted-mark .icon{width:14px;height:14px}.member .user-dot{border-width:1.5px;width:24px;height:24px}.member .member-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.member.me .member-name{font-weight:700}.member.offline{opacity:.55}.role-tag{white-space:nowrap;color:var(--muted);background:#ffffff12;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600}.role-tag[data-role=owner]{color:var(--kaya);background:#e2b26529}.role-tag[data-role=guest],.role-tag[data-role=ai]{background:color-mix(in srgb, var(--accent) 22%, transparent);color:color-mix(in srgb, var(--accent) 55%, white)}.toggles{border-top:1px solid var(--line);flex-wrap:wrap;gap:10px 18px;padding-top:12px;display:flex}.links{flex-wrap:wrap;gap:6px;display:flex}.engine-label{margin:-4px 0 0;font-size:11.5px}.engine-label:empty{display:none}.panel .toggles{margin-top:auto}.review{background:linear-gradient(170deg,#e2b26514,#ffffff05);border:1px solid #e2b2654d;border-radius:14px;grid-template-columns:minmax(0,1fr);gap:9px;padding:12px;display:grid}.review-head{align-items:center;gap:10px;display:flex}.review-head>.icon{width:22px;height:22px;color:var(--kaya)}.review-titles{min-width:0}.review-title{font:700 15.5px var(--font-display);overflow-wrap:anywhere;margin:0}.review-kind{text-overflow:ellipsis;white-space:nowrap;margin:1px 0 0;font-size:12px;overflow:hidden}.review-kind:empty{display:none}.review-players{flex-wrap:wrap;align-items:center;gap:4px 14px;font-size:13px;font-weight:600;display:flex}.review-players>span{align-items:center;gap:6px;min-width:0;display:inline-flex}.review-result{color:var(--kaya);margin-left:auto}.review-details{border-radius:var(--radius-sm);background:var(--glass-soft);grid-template-columns:auto 1fr;gap:3px 12px;margin:0;padding:8px 10px;font-size:12px;display:grid}.review-details>div{display:contents}.review-details dt{color:var(--muted);white-space:nowrap}.review-details dd{overflow-wrap:anywhere;min-width:0;margin:0;font-weight:600}.review-gc{white-space:pre-wrap;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.nav-buttons{align-items:center;gap:6px;display:flex}.nav-buttons button{flex:none;padding:8px 10px}.review-move{text-align:center;font-variant-numeric:tabular-nums;flex:1;font-weight:600}.review-slider{width:100%;accent-color:var(--kaya)}.review-variations{flex-wrap:wrap;align-items:center;gap:5px;font-size:12px;display:flex}.review-caps,.review-info{margin:0;font-size:12px}.review-info b{color:var(--text)}.review-comment{border-radius:var(--radius-sm);background:var(--glass-soft);white-space:pre-wrap;min-height:44px;max-height:140px;padding:9px 11px;font-size:13px;line-height:1.5;overflow-y:auto}.review-comment:empty:before{content:attr(data-empty);color:var(--faint)}.review-actions{flex-wrap:wrap;gap:6px;display:flex}.review-actions>button{white-space:nowrap;flex:auto;justify-content:center;min-width:0}.review-actions>button span{text-overflow:ellipsis;min-width:0;overflow:hidden}.review-actions .end-review{white-space:normal;flex-basis:100%}.review[data-owner=false] .owner-review,.review[data-copy] .end-review{display:none}.review-graph{gap:5px;display:grid}.review-graph-svg{background:var(--glass-soft);cursor:crosshair;touch-action:none;border-radius:8px;width:100%;height:56px}.review-graph-svg .mid{stroke:#ffffff2e;stroke-dasharray:2 2;stroke-width:.4px}.review-graph-svg .line{fill:none;stroke:var(--kaya);stroke-width:1.4px;vector-effect:non-scaling-stroke}.review-graph-svg .area{fill:#e2b26521}.review-graph-svg .marks{fill:none;stroke:#ff6f59;stroke-width:4px;stroke-linecap:round;vector-effect:non-scaling-stroke}.review-graph-svg .cursor{stroke:var(--text);stroke-width:1.5px;vector-effect:non-scaling-stroke}.review-graph-svg .hover{stroke:#ffffff59;stroke-width:1px;stroke-dasharray:2 2;vector-effect:non-scaling-stroke}.review-graph-info{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:12px;display:flex}.review-graph-info .wr-side{align-items:center;gap:5px;font-weight:600;display:inline-flex}.review-graph-info .wr-side.white{margin-left:auto}.review-graph-info .wr-delta{text-align:center;flex:1;font-weight:600}.review-graph-info .wr-delta.bad{color:#ff8a73}.review-graph-info .wr-delta.poor{color:#f2b56b}.review-graph-info .wr-delta.good{color:var(--good)}.review-graph-info .wr-progress{text-align:center;flex-basis:100%;font-size:11.5px}.review[data-personal]{border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.review[data-personal] .review-kind{color:color-mix(in srgb, var(--accent) 60%, white);white-space:normal}.review-note{margin:0;font-size:12px}.review[data-copy] .review-note{color:color-mix(in srgb, var(--accent) 55%, white)}#panel[data-review] .players,#panel[data-review] .winrate,#panel[data-review] .status{display:none}.ready-box{gap:8px;display:grid}.ready-box .section-head{margin-bottom:0}.ready-rows{gap:5px;display:grid}.ready-row{background:var(--glass-soft);border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:6px 9px;font-size:13px;display:grid}.ready-row .user-dot{border-width:1.5px;width:24px;height:24px}.ready-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.ready-state{color:var(--faint);align-items:center;gap:4px;font-size:12px;display:inline-flex}.ready-state .icon{width:14px;height:14px}.ready-row.ready{background:#8fdc9c1a}.ready-row.ready .ready-state{color:var(--good);font-weight:600}.ready-box .wide{width:100%}.ready-note{margin:0;font-size:12px}.ready-note:empty{display:none}.ready-unrated{color:var(--kaya);background:#e2b2651a;border-radius:10px;align-items:flex-start;gap:6px;margin:0;padding:7px 9px;font-size:12px;display:flex}.ready-unrated .icon{flex:none;width:14px;height:14px;margin-top:1px}#panel:not([data-role=owner]) .owner-only,#panel:not([data-idle]) .idle-only,#panel[data-hidden] .members,#panel[data-hidden] .ready-box,#panel[data-hidden] [data-action=challenge],#panel[data-hidden] [data-action=letters],#panel[data-hidden] [data-action=roomSettings],#panel[data-hidden] .daytime{display:none!important}.chat-dock{z-index:4;pointer-events:none;flex-direction:column;align-items:flex-start;gap:8px;display:flex;position:absolute;bottom:16px;left:16px}.chat-dock>*{pointer-events:auto}#app:not([data-screen=room]) .chat-dock{display:none}.dock-buttons{gap:8px;display:flex}.dock-btn{background:var(--glass-strong);border-radius:999px;padding:10px 13px;position:relative;box-shadow:0 8px 24px #00000059}.dock-btn .icon{width:20px;height:20px}.dock-btn .badge-count{position:absolute;top:-4px;right:-4px}:is(#app:has(#tools:not([hidden])) .chat-panel,#app:has(#tools:not([hidden])) .greet-menu,#app:has(.scoring:not([hidden])) .chat-panel,#app:has(.scoring:not([hidden])) .greet-menu){width:300px}.chat-panel{background:var(--glass-strong);border-radius:16px;flex-direction:column;width:min(340px,100vw - 32px);display:flex;overflow:hidden}.chat-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:8px 8px 8px 14px;font-size:14px;font-weight:600;display:flex}.chat-head .icon{color:var(--kaya)}.chat-log{align-content:start;gap:6px;height:220px;margin:0;padding:10px 12px;font-size:13.5px;list-style:none;display:grid;overflow-y:auto}.chat-line{overflow-wrap:anywhere;line-height:1.45}.chat-name{color:var(--kaya);margin-right:6px;font-weight:600}.chat-line.greet .chat-text{color:color-mix(in srgb, var(--accent) 50%, white);font-style:italic}.chat-empty{text-align:center;padding:24px 0}.chat-form{border-top:1px solid var(--line);align-items:center;gap:6px;padding:8px;display:flex}.chat-form input{flex:1;min-width:0}.emoji-picker{border-top:1px solid var(--line);grid-template-columns:repeat(8,1fr);gap:2px;max-height:170px;padding:8px;display:grid;overflow-y:auto}.emoji-picker button{background:0 0;border:0;border-radius:8px;padding:5px 0;font-size:19px}.emoji-picker button:hover{background:var(--glass-hover)}.greet-menu{background:var(--glass-strong);border-radius:16px;gap:4px;width:min(300px,100vw - 32px);padding:8px;display:grid}.greet-phrase{text-align:left;white-space:normal;justify-content:flex-start;font-size:13.5px}.greet-wait{text-align:center;margin:2px 4px 0;font-size:12px}.greet-toggle span{font-size:13px;font-weight:600}.bubbles{pointer-events:none;z-index:3;position:absolute;inset:0;overflow:hidden}#app:not([data-screen=room]) .bubbles{display:none}.speech{background:var(--paper);max-width:240px;color:var(--ink);text-align:center;overflow-wrap:anywhere;opacity:0;border-radius:14px;padding:8px 12px;font-size:14px;line-height:1.45;transition:opacity .18s,transform .25s cubic-bezier(.2,1.4,.4,1);position:absolute;transform:translate(-50%,calc(-100% - 8px))scale(.9);box-shadow:0 8px 22px #00000059}.speech.show{opacity:1;transform:translate(-50%,calc(-100% - 8px))}.speech:after{content:"";border:7px solid #0000;border-top-color:var(--paper);border-bottom:0;margin-left:-7px;position:absolute;bottom:-7px;left:50%}.speech[data-kind=greet]{background:#fff4d6;font-weight:600}.speech[data-kind=greet]:after{border-top-color:#fff4d6}.pager{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;margin-top:10px;display:flex}.pager button{border-radius:8px;min-width:32px;padding:5px 8px;font-size:13px}.pager button .icon{width:15px;height:15px}.pager button.active{background:color-mix(in srgb, var(--accent) 30%, transparent);border-color:var(--accent);font-weight:700}.pager .gap{color:var(--faint);padding:0 2px}.character{pointer-events:none;width:180px;position:absolute;bottom:20px;left:20px}.portrait{border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);background:radial-gradient(circle at 50% 35%, #ffffff29, transparent 60%), linear-gradient(170deg, color-mix(in srgb, var(--accent-deep) 80%, #222), #231a37);border-radius:18px 18px 6px 6px;height:216px;overflow:hidden;box-shadow:0 14px 40px #00000073}.portrait img{object-fit:contain;object-position:bottom;transform-origin:50% 100%;width:100%;height:100%;display:block}.character[data-mood=thinking] .portrait img{animation:2.4s ease-in-out infinite sway}.character[data-mood=happy] .portrait img,.character[data-mood=confident] .portrait img{animation:.5s ease-out 2 hop}.character[data-mood=surprised] .portrait img{animation:.35s ease-out jolt}.character[data-mood=sad] .portrait img{filter:saturate(.75)brightness(.92)}.character.no-portrait .portrait,.character.no-portrait .nameplate{display:none}.character.floating{width:auto;inset:0}.character.floating .bubble{border-radius:16px 16px 16px 4px;position:fixed;bottom:auto;transform:translateY(calc(6px - 100%))scale(.96)}.character.floating .bubble.show{transform:translateY(-100%)}.character.floating .bubble:before{border:7px solid #0000;border-top-color:var(--paper);border-bottom:0;bottom:-7px;left:10px}.nameplate{text-align:center;font:700 15px var(--font-display);letter-spacing:.08em;border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);background:linear-gradient(#2a2140,#1b1529);border-radius:6px 6px 12px 12px;margin-top:-2px;padding:6px 0}.bubble{background:var(--paper);width:max-content;max-width:300px;color:var(--ink);opacity:0;transform-origin:0 100%;border-radius:16px 16px 16px 4px;padding:12px 16px;font-size:15px;line-height:1.55;transition:opacity .2s,transform .25s cubic-bezier(.2,1.4,.4,1);position:absolute;bottom:120px;left:calc(100% + 14px);transform:translateY(6px)scale(.96);box-shadow:0 10px 30px #00000059}.bubble.show{opacity:1;transform:none}.bubble:before{content:"";border:7px solid #0000;border-right-color:var(--paper);border-left:0;position:absolute;bottom:10px;left:-7px}.result-banner{top:20px;left:calc((100% - var(--panel-w)) / 2);text-align:center;border-radius:var(--radius);background:var(--glass-strong);padding:12px 30px;animation:.35s ease-out drop-in;position:absolute;transform:translate(-50%)}.result-banner .headline{font:700 24px var(--font-display)}.result-banner .detail{color:var(--muted);font-size:14px}.result-banner .rating-note{color:var(--kaya);margin-top:3px;font-size:12px}.result-banner .rating-note:empty{display:none}.result-banner[data-outcome=win]{border-color:#e2b265b3}.result-banner[data-outcome=win] .headline{color:var(--kaya)}.result-banner[data-outcome=lose] .headline{color:#f6ab9b}.confirm-move{bottom:14px;left:calc(var(--inset-left,0px) + (100% - var(--inset,0px) - var(--inset-left,0px)) / 2);z-index:7;background:var(--glass-strong);white-space:nowrap;border-color:#e2b2658c;border-radius:999px;align-items:center;gap:10px;padding:8px 8px 8px 16px;font-weight:600;animation:.2s ease-out drop-in;display:flex;position:absolute;transform:translate(-50%);box-shadow:0 10px 28px #0006}.confirm-move .confirm-move-ok{border-radius:999px;min-height:36px;padding:6px 16px}.confirm-move .confirm-move-cancel{border-radius:999px;min-width:36px;min-height:36px}#app:not([data-screen=room]) .confirm-move,#panel[data-role=spectator] .switch.player-only{display:none!important}#panel:not([data-free]) .switch.free-only{display:none}.toast{bottom:24px;left:calc(var(--inset-left,0px) + (100% - var(--inset,0px) - var(--inset-left,0px)) / 2);background:var(--glass-strong);border:1px solid var(--line-strong);max-width:min(560px,100vw - 32px);box-shadow:var(--shadow);z-index:5;border-radius:12px;align-items:center;gap:10px;padding:11px 18px;font-size:14px;display:flex;position:absolute;transform:translate(-50%)}#app:has(#confirmMove:not([hidden])) .toast{bottom:72px}.toast[data-kind=error]{border-color:#ef7a648c}.toast[data-kind=error] .icon{color:var(--danger)}.toast .icon{color:var(--kaya)}.toast.show{animation:.25s ease-out drop-in}.record-update-notice{z-index:120;left:50%;bottom:max(28px, env(safe-area-inset-bottom));width:max-content;max-width:calc(100vw - 32px);color:var(--text);pointer-events:none;border:1px solid #e2b26573;border-radius:14px;align-items:center;gap:10px;padding:11px 16px;font-size:13px;line-height:1.4;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 30px #0000004d}.record-update-mark{width:26px;height:26px;color:var(--kaya);background:#e2b26524;border-radius:50%;flex:none;place-items:center;display:grid}.record-update-mark svg{width:17px;height:17px}.record-update-message{overflow-wrap:anywhere;min-width:0}.record-update-notice.show{animation:3s both record-updated}@keyframes record-updated{0%{opacity:0}10%,72%{opacity:1}to{opacity:0}}dialog{width:min(450px,100vw - 32px);max-height:calc(100vh - 32px);color:var(--text);background:var(--glass-strong);border:1px solid var(--line-strong);border-radius:20px;padding:22px 24px;overflow-y:auto;box-shadow:0 30px 80px #0009}dialog[open]{animation:.22s cubic-bezier(.2,1.2,.4,1) pop-in}dialog.wide{width:min(560px,100vw - 32px)}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0806038c}dialog h2{font:700 21px var(--font-display);align-items:center;gap:9px;margin:0;display:flex}dialog p{margin:4px 0 18px;font-size:13px;line-height:1.5}dialog p.note{margin:-6px 0 14px}dialog p:empty{display:none}.dialog-head{align-items:center;gap:10px;margin-bottom:4px;display:flex}.dialog-head .close{margin-left:auto;margin-right:-8px}fieldset{border:0;min-width:0;margin:0 0 16px;padding:0}legend,.field>span{color:var(--muted);margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.field{min-width:0;margin-bottom:16px;display:block}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.field-row.three{grid-template-columns:1fr 1fr .7fr}.field-row:has(>.field[hidden]){grid-template-columns:1fr}.field-row:not(:has(>.field:not([hidden]))){display:none}.segmented{flex-wrap:wrap;gap:6px;display:flex}.segmented legend{width:100%}.segmented label{cursor:pointer;flex:1;min-width:0}.segmented input{opacity:0;pointer-events:none;position:absolute}.segmented label>span{text-align:center;border-radius:var(--radius-sm);border:1px solid var(--line);background:#ffffff09;justify-content:center;align-items:center;gap:6px;padding:9px 6px;font-size:13.5px;transition:border-color .15s,background .15s;display:flex}.segmented label:hover>span{border-color:var(--line-strong)}.segmented input:checked+span{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, transparent)}.segmented input:disabled+span{opacity:.4;cursor:default}.segmented .icon{width:16px;height:16px}.dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:10px;display:flex}.dialog-actions button{min-width:108px}dialog.modal{text-align:center;width:min(400px,100vw - 32px);padding:26px 26px 22px}dialog.modal h2{justify-content:center;font-size:19px}dialog.modal p{color:var(--muted);margin:8px 0 18px;font-size:14px}dialog.modal .dialog-actions{justify-content:center}.modal-icon{background:color-mix(in srgb, var(--accent) 20%, transparent);width:48px;height:48px;color:color-mix(in srgb, var(--accent) 60%, white);border-radius:50%;place-items:center;margin:0 auto 12px;display:grid}.modal-icon .icon{width:24px;height:24px}dialog.modal[data-kind=danger] .modal-icon,dialog.modal[data-kind=error] .modal-icon{color:var(--danger);background:#ef7a6426}.envelopes{gap:10px;max-height:55vh;margin:14px 0 6px;display:grid;overflow-y:auto}.envelope{text-align:left;color:#3a2a1c;white-space:normal;background:linear-gradient(160deg,#f6ebd3,#e6d2a8);border:1px solid #c9ad7a;grid-template-columns:auto 1fr auto;justify-content:stretch;align-items:center;gap:12px;padding:16px 14px;display:grid;position:relative;overflow:hidden}.envelope:before{content:"";pointer-events:none;background:linear-gradient(to bottom right,#0000 49.5%,#7855282e 50%) 0/50% 100% no-repeat,linear-gradient(to bottom left,#0000 49.5%,#7855282e 50%) 100%/50% 100% no-repeat;height:50%;position:absolute;inset:0 0 auto}.envelope:hover:not(:disabled){background:linear-gradient(160deg,#fbf2dd,#ecd9b2);border-color:#b9975e}.envelope .seal{color:#fbe9d0;width:34px;height:34px;font:700 16px var(--font-display);background:radial-gradient(circle at 35% 30%,#d5513f,#9e2a1f);border-radius:50%;place-items:center;display:grid;box-shadow:0 2px 4px #0000004d}.envelope .from{text-overflow:ellipsis;font-weight:700;overflow:hidden}.envelope .when{color:#6b5636;font-size:12px}.letter{color:#2b2018;font-family:var(--font-display);background:#f8f0dc url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M0 39.5h40' stroke='%23c9b28a' stroke-width='0.6' opacity='0.5'/%3E%3C/svg%3E");border:1px solid #c9ad7a;border-radius:6px;margin:14px 0 6px;padding:22px 24px;box-shadow:inset 0 0 40px #966e322e}.letter p{color:#2b2018;margin:6px 0;font-size:15px}.letter-title{text-align:center;font:700 30px "Noto Serif JP", var(--font-display);letter-spacing:.3em;color:#7a1f17;margin:0 0 10px}.letter .terms{font-family:var(--font);margin:10px 0;padding-left:20px;font-size:14px}.letter .signature{text-align:right;font-weight:700}.letter .warn{color:#7a6448;font-family:var(--font);font-size:13px}.letter-actions{font-family:var(--font);flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.letter-actions button:not(.primary):not(.danger){color:#2b2018;background:#0000000f;border-color:#00000026}.letter-actions .danger{color:#9e2a1f;background:#9e2a1f14;border-color:#9e2a1f4d}dialog.library{width:min(680px,100vw - 32px)}dialog.library[data-tab=pro]{width:min(860px,100vw - 32px)}.library-tabs{margin:10px 0 4px}.library-tabs button{flex:1;gap:6px}.library-tabs .icon{width:15px;height:15px}.library-tools{align-items:center;gap:8px;margin:10px 0 2px;display:flex}.library-tools .search{flex:1;min-width:0}.fav-filter{flex:none;gap:6px;padding:8px 13px}.fav-filter.active{color:var(--text);background:#e2b2651f;border-color:#e2b2658c}.fav-filter.active .icon,.fav-btn.on .icon{fill:currentColor}.fav-filter.active .icon{color:#e8b866}.fav-btn{color:var(--faint)}.fav-btn:hover:not(:disabled),.fav-btn.on{color:#e8b866}.shelf-source{flex:none}.shelf-source button{gap:6px;padding:6px 10px;font-size:12.5px}.shelf-source .icon{width:14px;height:14px}.import-tag{color:#bfd2f3;cursor:help;background:#4f6a8f4d;border:1px solid #7c9ed673;border-radius:999px;align-items:center;gap:4px;padding:0 7px;font-weight:600;display:inline-flex}.import-tag .icon{width:12px;height:12px}.library .library-note{min-height:1.2em;margin:6px 0 10px}.pro-eras{margin:8px 0 2px}.pro-eras button{flex:1;justify-content:center;gap:8px}.pro-eras button.active .count-pill{color:var(--text);border-color:#e2b26580}.library-body{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}dialog.library[data-tab=pro]:not([data-favorites]) .library-body{grid-template-columns:200px minmax(0,1fr)}.pro-players{flex-direction:column;gap:6px;display:flex}.pro-player-search input{padding-top:7px;padding-bottom:7px;font-size:13px}.pro-player-list{flex-direction:column;gap:4px;max-height:calc(58vh - 44px);padding-right:2px;display:flex;overflow-y:auto}.pro-player{text-align:left;background:0 0;flex:none;justify-content:space-between;gap:8px;padding:8px 10px;font-size:13.5px}.pro-player.active{color:var(--text);background:#e2b2651f;border-color:#e2b2658c}.pro-player-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.pro-player-none{margin:6px 4px;font-size:12.5px}@media (width<=640px){dialog.library[data-tab=pro]:not([data-favorites]) .library-body{grid-template-columns:minmax(0,1fr)}.pro-player-list{flex-direction:row;max-height:none;padding-bottom:4px;overflow-x:auto}.pro-player-none{white-space:nowrap}.library-tools{flex-wrap:wrap}.shelf-source{flex:100%;order:1}.shelf-source button{flex:1;gap:4px;min-width:0;padding:6px}.shelf-source button span{text-overflow:ellipsis;min-width:0;overflow:hidden}}@media (width<=380px){.shelf-source .icon{display:none}}.shelf-item.last-viewed{background:linear-gradient(90deg,#e2b2652b,#ffffff08);border-color:#e2b265b3;box-shadow:0 0 0 1px #e2b26559,0 0 18px #e2b26529}.shelf-item.last-viewed.flash{animation:1.6s ease-out shelf-flash}.last-viewed-tag{color:#f3d39b;background:#e2b26533;border-radius:999px;padding:0 8px;font-weight:600}@keyframes shelf-flash{0%,30%{box-shadow:0 0 0 2px #f0c478e6,0 0 26px #f0c47873}to{box-shadow:0 0 0 1px #e2b26559,0 0 18px #e2b26529}}@media (prefers-reduced-motion:reduce){.shelf-item.last-viewed.flash{animation:none}}.shelf{gap:8px;max-height:58vh;padding-right:2px;display:grid;overflow-y:auto}.shelf-item{border:1px solid var(--line);background:linear-gradient(90deg,#ffffff0d,#ffffff05);border-radius:12px;grid-template-columns:6px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 12px 12px 0;display:grid;overflow:hidden}.shelf-item .spine{background:var(--spine,var(--kaya-deep));align-self:stretch;margin:-12px 0}.shelf-item[data-outcome=win]{--spine:#c9a24a}.shelf-item[data-outcome=lose]{--spine:#8a4a3e}.shelf-item[data-outcome=open]{--spine:#4f7a5a}.shelf-item[data-outcome=file]{--spine:#4f6a8f}.shelf-item .file-name{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.shelf-item .title{align-items:center;gap:8px;min-width:0;font-weight:600;display:flex}.shelf-item .title span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.shelf-item .meta{color:var(--muted);flex-wrap:wrap;gap:4px 12px;margin-top:4px;font-size:12px;display:flex}.shelf-item .result{color:var(--kaya);font-weight:600}.shelf-item .result.lose{color:#f6ab9b}.shelf-item .result.open{color:var(--good)}.shelf-item .buttons{align-items:center;gap:6px;display:flex}.shelf .empty-state{padding:36px 12px}.keep-mark{width:31px;color:var(--faint);place-items:center;display:inline-grid}.keep-mark .icon{width:15px;height:15px}.check{color:var(--muted);cursor:pointer;align-items:center;gap:8px;margin:-6px 0 14px;font-size:13px;display:inline-flex}.check input{accent-color:var(--accent)}dialog.profile{width:min(640px,100vw - 32px)}.profile-card{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin:10px 0 6px;display:grid}.profile-pic-wrap{position:relative}.profile-change{background:var(--glass-strong);border-color:var(--line-strong);border-radius:50%;padding:6px;position:absolute;bottom:-4px;right:-4px}.profile-change .icon{width:15px;height:15px}.profile-main{min-width:0}.profile-name{font:700 22px var(--font-display);overflow-wrap:anywhere;margin:0}.profile-status{color:var(--muted);align-items:center;gap:6px;margin:4px 0 0;font-size:13px;display:flex}.profile-status:before{content:"";background:var(--faint);border-radius:50%;width:8px;height:8px}.profile-status[data-online=true]{color:var(--good)}.profile-status[data-online=true]:before{background:var(--good)}.profile-status:empty{display:none}dialog .profile-since{margin:2px 0 0;font-size:12px}.profile-buttons{flex-direction:column;gap:6px;display:flex}dialog .profile-bio{background:var(--glass-soft);white-space:pre-wrap;border-radius:10px;margin:6px 0 14px;padding:10px 12px;font-size:14px}.profile-tabs{margin-bottom:14px}.profile-tabs button{flex:1;gap:6px}.profile-tabs .icon{width:15px;height:15px}.stat-tiles{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:6px;display:grid}dialog .stat-note{margin:0 0 10px;font-size:11.5px;line-height:1.45}.stat{background:var(--glass-soft);border:1px solid var(--line);border-radius:12px;justify-items:center;gap:2px;padding:12px 6px;display:grid}.stat b{font:700 24px var(--font-display)}.stat span{color:var(--muted);font-size:12px}.stat.win b{color:var(--kaya)}.stat.lose b{color:#f6ab9b}.stat-line{border-radius:10px;grid-template-columns:minmax(0,1fr) auto auto 52px;align-items:center;gap:12px;padding:9px 12px;font-size:13.5px;display:grid}.stat-line:nth-of-type(odd){background:#ffffff08}.stat-label{font-weight:600}.stat-rate{text-align:right;color:var(--kaya);font-weight:700}.history-list{max-height:46vh}.profile-section{border-bottom:1px solid var(--line);margin-bottom:14px;padding:4px 0 14px}.profile-section:last-child{border-bottom:0;margin-bottom:0}.profile-section h3{color:var(--muted);margin:0 0 10px;font-size:14px}.profile-section .switch{margin:4px 16px 8px 0}.profile-section>p{margin:0 0 10px;font-size:12.5px}.pic-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.pic-row .check{margin:0 0 0 4px}.profile-bio-input,.mail-input{width:100%;font:inherit;color:var(--text);border-radius:var(--radius-sm);border:1px solid var(--line);resize:vertical;background:#ffffff0d;padding:9px 11px}.profile-save{justify-content:flex-end;margin-top:6px;display:flex}.pref-toggles{flex-wrap:wrap;margin-bottom:8px;display:flex}.password-form{grid-template-columns:repeat(3,1fr);align-items:end;gap:8px;display:grid}.password-form .field{margin-bottom:0}.password-form button{grid-column:1/-1;justify-self:start}dialog.mail{width:min(600px,100vw - 32px)}.mail-tabs{margin:10px 0 12px}.mail-tabs button{flex:1;gap:6px}.mail-tabs .icon{width:15px;height:15px}.mail-list{gap:6px;max-height:52vh;display:grid;overflow-y:auto}.mail-row{text-align:left;white-space:normal;grid-template-columns:auto minmax(0,1fr) auto;justify-content:stretch;align-items:center;gap:11px;padding:9px 12px;display:grid}.mail-row.unread{background:#e2b26514;border-color:#e2b26580}.mail-row.unread b:after{content:"";background:var(--vermilion);vertical-align:2px;border-radius:50%;width:7px;height:7px;margin-left:7px;display:inline-block}.mail-who{gap:2px;min-width:0;display:grid}.mail-snippet{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.mail-when{color:var(--faint);white-space:nowrap;font-size:12px}.mail-letter header{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;font-size:13px;display:flex}.mail-person{border-radius:999px;gap:8px;padding:4px 10px 4px 4px}.mail-person .user-dot{width:26px;height:26px}dialog .mail-text{background:var(--paper);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:12px;max-height:46vh;margin:0 0 8px;padding:14px 16px;font-size:14.5px;line-height:1.6;overflow-y:auto}.mail-write .field{margin-bottom:12px}.mail-count-chars{text-align:right;margin-top:4px;font-size:12px;display:block}.mail-filters{flex-wrap:wrap;gap:6px;margin:-2px 0 12px;display:flex}.mail-filters button{color:var(--muted);border-radius:999px;gap:6px;padding:5px 12px;font-size:12.5px}.mail-filters button .icon{width:14px;height:14px}.mail-filters button.active{color:var(--text);background:#e2b2651f;border-color:#e2b2658c}.mail-who-line{align-items:center;gap:8px;min-width:0;display:flex}.mail-who-line b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mail-kind{color:var(--kaya);background:#e2b26521;border-radius:999px;flex:none;align-items:center;gap:4px;padding:1px 7px;font-size:11px;font-weight:600;display:inline-flex}.mail-kind .icon{width:12px;height:12px}.mail-kind[data-kind=invite]{color:color-mix(in srgb, var(--accent) 60%, white);background:color-mix(in srgb, var(--accent) 18%, transparent)}.mail-kind[data-kind=record]{color:#9fd3c7;background:#78c8b421}.mail-letter>button.primary{margin:2px 0 10px}.suggest-wrap{position:relative}.suggest-wrap input{width:100%}.suggest-list{z-index:5;border:1px solid var(--line-strong);background:var(--glass-strong);max-height:260px;box-shadow:var(--shadow);border-radius:12px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.suggest-row{cursor:pointer;border-radius:9px;align-items:center;gap:10px;min-width:0;padding:6px 8px;display:flex}.suggest-row.active,.suggest-row:hover{background:var(--glass-hover)}.suggest-row.disabled{opacity:.5;cursor:default}.suggest-row .user-dot{width:28px;height:28px}.suggest-who{flex:1;gap:1px;min-width:0;display:grid}.suggest-who b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.suggest-meta{flex-wrap:wrap;align-items:center;gap:6px;font-size:11.5px;display:flex}.suggest-status{color:var(--faint);white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.suggest-status:before{content:"";background:var(--faint);border-radius:50%;flex:none;width:7px;height:7px}.suggest-status[data-online=true]{color:var(--good)}.suggest-status[data-online=true]:before{background:var(--good)}.suggest-tag{color:var(--muted);background:#ffffff12;border-radius:6px;padding:0 6px}.suggest-tag.closed{color:#f6ab9b}.suggest-empty{padding:10px;font-size:13px}.rules-label{vertical-align:middle;align-items:center;gap:7px;display:inline-flex}.rules-label .rules-flag{width:18px;height:12px}dialog.side-dialog{width:calc(var(--panel-w) - 28px);max-height:calc(100dvh - 28px);box-shadow:var(--shadow);margin:0;padding:18px;animation:.25s ease-out slide-in;position:fixed;inset:14px 14px 14px auto}#app.creating .panel,#app.creating #lobby{visibility:hidden}.creator-tabs{border:1px solid var(--line);background:#00000040;border-radius:11px;gap:2px;margin-bottom:14px;padding:3px;display:flex}.creator-tabs button{color:var(--muted);background:0 0;border:0;border-radius:8px;flex:1;padding:6px 4px;font-size:12.5px}.creator-tabs button.active{background:var(--glass-hover);color:var(--text)}.creator-group[hidden]{display:none}.option-grid{grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:6px;margin-bottom:14px;display:grid}.option-grid legend{grid-column:1/-1}.option-grid label{cursor:pointer}.option-grid input{opacity:0;pointer-events:none;position:absolute}.option-grid label>span{border:1px solid var(--line);text-align:center;background:#ffffff09;border-radius:9px;justify-content:center;align-items:center;min-height:36px;padding:6px 4px;font-size:12.5px;line-height:1.2;display:flex}.option-grid input:checked+span{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, transparent)}.option-grid label[hidden]{display:none}.option-grid.coats{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.option-grid.coats label>span{text-align:left;justify-content:flex-start;gap:7px;padding:6px 8px}.coat-dot{border:1.5px solid #ffffff59;border-radius:50%;flex:none;width:20px;height:20px;box-shadow:0 1px 3px #0006}.option-grid input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.color-field{align-items:center;gap:10px;margin-bottom:10px;display:flex}.color-field>span{width:64px;color:var(--muted);flex:none;font-size:12.5px;font-weight:600;line-height:1.25}.swatches{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.swatch{background:var(--c);border:2px solid #ffffff2e;border-radius:50%;width:22px;height:22px;padding:0}.swatch:hover:not(:disabled){background:var(--c);border-color:#ffffff80}.swatch.selected{border-color:var(--text);box-shadow:0 0 0 2px var(--accent)}.swatches input[type=color]{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:6px;width:28px;height:24px;padding:0}.creator-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;display:grid}.creator-actions [data-creator=random]{grid-column:1/-1}.creator-actions button{padding:9px 8px;font-size:14px}@keyframes pulse{to{opacity:.35}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}@keyframes sway{0%,to{transform:rotate(-1.5deg)}50%{transform:rotate(1.5deg)}}@keyframes hop{40%{transform:translateY(-8px)}}@keyframes jolt{30%{transform:translateY(-6px)scale(1.03)}}@keyframes drop-in{0%{opacity:0;transform:translate(-50%,-8px)}}@keyframes pop-in{0%{opacity:0;transform:scale(.96)translateY(6px)}}@keyframes slide-in{0%{opacity:0;transform:translate(16px)}}@keyframes ring{20%{transform:rotate(-8deg)scale(1.08)}40%{transform:rotate(7deg)scale(1.08)}60%{transform:rotate(-4deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (width<=1280px){.lobby-panel{grid-template-columns:1fr 220px}.topnav button span:not(.badge-count){display:none}.topnav button{padding:8px}}@media (width<=1100px){.lobby-body{grid-template-columns:auto minmax(0,1fr)}.lobby-stage{display:none}#app[data-screen=lobby] .vignette{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a07048c}#app[data-screen=lobby].creating .vignette{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}}@media (width<=900px){.panel{gap:8px;width:auto;max-height:32dvh;padding:10px;inset:auto 10px 10px}.winrate-graph,.engine-label,#panel:not([data-others]) .members{display:none}.actions{grid-template-columns:repeat(auto-fit,minmax(min(110px,100%),1fr))}.character{width:92px;top:78px;bottom:auto;left:12px}.portrait{height:110px}.nameplate{padding:3px 0;font-size:12px}.bubble{max-width:min(260px,100vw - 140px);font-size:14px;top:0;bottom:auto}.result-banner,.toast{left:50%}.toast{bottom:calc(44vh + 22px)}.confirm-move{gap:8px;max-width:calc(100% - 20px);padding:5px 5px 5px 14px;font-size:14px;bottom:calc(44vh + 74px);left:50%}.confirm-move .confirm-move-text{text-overflow:ellipsis;min-width:0;overflow:hidden}.confirm-move .confirm-move-ok{min-height:38px;padding:6px 14px}.confirm-move .confirm-move-cancel{min-width:38px;min-height:38px}.chat-dock{bottom:calc(44vh + 20px);left:10px}.chat-log{height:150px}.stat-tiles{grid-template-columns:repeat(2,1fr)}.password-form{grid-template-columns:1fr}#app[data-screen=lobby] .toast{bottom:20px}.lobby-chat{--lc-w:clamp(280px, 38vw, 320px)}dialog.side-dialog{width:auto;max-height:56vh;inset:auto 10px 10px}#lobby{gap:10px;padding:10px}.topbar{flex-wrap:wrap}.lobby-panel{grid-template-rows:1fr auto;grid-template-columns:1fr}.online{border-left:0;border-top:1px solid var(--line);max-height:30vh}.field-row.three{grid-template-columns:1fr 1fr}.brand{top:10px;left:10px}}@media (width<=599px){.lobby-body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.lobby-chat,.lobby-chat:not([data-open]){width:auto}.lobby-chat[data-open]{height:min(46dvh,420px)}#lobby:has(.lobby-chat[data-open]){overscroll-behavior:contain;pointer-events:auto;overflow-y:auto}#lobby:has(.lobby-chat[data-open]) .lobby-body{flex:none;grid-template-rows:auto calc(100dvh - 20px)}.lc-rail{flex-direction:row;gap:10px;padding:11px 14px}.lc-rail-text{writing-mode:horizontal-tb;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.lc-rail .badge-count{order:0;margin:0}.lc-rail .lc-rail-arrow,.lc-fold .icon{transform:rotate(90deg)}.lc-head{padding:10px 8px 8px 12px}.lc-mark{border-radius:9px;width:30px;height:30px}.lc-mark .icon{width:17px;height:17px}.lc-titles h2{font-size:15.5px}.lc-channels{padding:0 10px 8px}.lc-form{padding:8px}}@media (width<=520px){.room-list{grid-template-columns:1fr}.rooms{padding:14px}.field-row{grid-template-columns:1fr}.shelf-item{grid-template-columns:6px minmax(0,1fr)}.shelf-item .buttons{grid-column:2}.me-account{display:none}.profile-card{grid-template-columns:auto minmax(0,1fr)}.profile-buttons{flex-direction:row;grid-column:1/-1}.stat-line{grid-template-columns:minmax(0,1fr) auto 44px}.stat-line .muted{display:none}.dialog-actions button{flex:auto;min-width:0}}.practice-save{width:min(340px,90vw);padding:18px}.practice-save .field{margin:10px 0}#app.ai-disabled #character,#app.ai-disabled .ai-only{display:none!important}.practice-controls{gap:6px;min-width:0;display:grid}.practice-controls .review-comment{resize:vertical;box-sizing:border-box;width:100%;min-height:76px;max-height:180px;font:13px/1.6 var(--font);color:var(--text);caret-color:var(--kaya);background:linear-gradient(135deg, var(--glass-hover), var(--glass-soft));border:1px solid var(--line);border-radius:12px;outline:none;margin:0;padding:10px 12px;transition:border-color .15s,box-shadow .15s;display:block;box-shadow:inset 0 1px 4px #0000001f}.practice-controls .review-comment::placeholder{color:var(--faint)}.practice-controls .review-comment:focus:not([readonly]){border-color:var(--kaya);box-shadow:0 0 0 2px #e2b2651f}.practice-controls .review-comment[readonly]{cursor:default}.comment-state{color:var(--faint);overflow-wrap:anywhere;margin:0 2px;font-size:11px;line-height:1.45}.comment-state[data-state=saved],.comment-state[data-state=saving]{text-align:right}.comment-state[data-state=saved]:before{content:"✓ ";color:var(--kaya)}.comment-state[data-state=saving]{color:var(--muted)}.mail-record-note{align-items:center;gap:6px;display:flex}.mail-record-note .icon{width:16px;height:16px;color:var(--kaya);flex:none}.user-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.user-actions button{white-space:nowrap;min-width:96px;padding:7px 10px;font-size:12px}.challenge-list .user-row{grid-template-columns:minmax(0,1fr) auto;padding:6px 4px}.mail-invitation-details{border:1px solid var(--line);background:var(--glass-soft);border-radius:12px;padding:12px 14px;font-size:13px}.mail-invitation-details h3{color:var(--kaya);margin:0 0 8px;font-size:15px}.mail-invitation-details p{margin:6px 0}.mail-invitation-details .terms{margin:9px 0 0;padding-left:18px;line-height:1.8}.mail-invitation-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.mail-event-label{color:var(--muted);grid-column:1/-1;font-size:12px}.mail-invitation-actions button{width:100%;min-width:0}.member.offline:has(.disconnected){opacity:1}.member-name.disconnected,#panel .player.disconnected .name{color:var(--danger);font-variant-numeric:tabular-nums}#panel .player.disconnected{border-color:var(--danger)}@media (width<=480px){.user-actions{flex-wrap:wrap;max-width:110px}.user-actions button{width:100%;min-width:0}}.reconnect-countdown{color:var(--danger);font-variant-numeric:tabular-nums;white-space:normal;font-size:11px;line-height:1.5}.rank-badge{--rh:30;--rs:6%;--rl:62%;vertical-align:middle;border:1px solid hsl(var(--rh) var(--rs) var(--rl) / .5);background:linear-gradient(90deg, hsl(var(--rh) var(--rs) var(--rl) / .24), hsl(var(--rh) var(--rs) var(--rl) / .1));color:hsl(var(--rh) var(--rs) clamp(70%, calc(var(--rl) + 26%), 92%));font:700 10.5px/1.45 var(--font);letter-spacing:.01em;white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:3px;margin-inline-start:6px;padding:1px 6px 1px 2px;display:inline-flex}.rank-badge .rank-emblem{filter:drop-shadow(0 1px 1px #00000073);flex:none;width:15px;height:15px}.rank-badge[data-rank=new]{color:var(--muted);background:#a5a9ae14;border-color:#a5a9ae4d;font-weight:600}.rank-badge[data-rank=ai]{color:color-mix(in srgb, var(--accent) 50%, white);border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 14%, transparent)}.rank-badge.provisional{border-style:dashed}:is(.member,.ready-row,#panel .player,.versus) .rank-badge[data-rank=new]{padding:1px}:is(.member,.ready-row,#panel .player,.versus) .rank-badge[data-rank=new] .rank-label{display:none}.rank-badge.big{gap:5px;padding:2px 10px 2px 3px;font-size:13px}.rank-badge.big .rank-emblem{width:22px;height:22px}.ranked-name-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.user-name:has(.rank-badge){align-items:center;display:flex}#panel .player .name:has(.rank-badge){align-items:center;display:flex}.profile-name:has(.rank-badge){align-items:center;display:flex}.ready-name:has(.rank-badge){align-items:center;display:flex}.member-identity{align-items:center;min-width:0;display:flex}.member-identity .member-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.letter .rank-badge{color:hsl(var(--rh) var(--rs) 26%);background:hsl(var(--rh) var(--rs) var(--rl) / .16)}.letter .rank-badge[data-rank=new]{color:#68625b}.flag{vertical-align:-1px;background:#ffffff14;border-radius:2.5px;flex:none;width:16px;height:12px;margin-inline-end:6px;display:inline-block;position:relative;overflow:hidden;box-shadow:0 1px 2px #0006}.flag img{object-fit:cover;width:100%;height:100%;display:block}.flag:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(#ffffff42,#fff0 50%,#0000001f);position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff29}.me-name .flag{vertical-align:-1.5px;width:18px;height:13.5px;margin-inline-end:7px}.profile-name .flag{border-radius:3.5px;width:26px;height:19.5px;margin-inline-end:10px}:is(.letter,.envelope) .flag{box-shadow:0 0 0 1px #3c281438,0 1px 2px #3c281440}dialog.rankings{width:min(1240px,100vw - 32px)}.rank-boards{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:6px;display:grid}.rank-board{border:1px solid var(--line);background:linear-gradient(170deg,#ffffff0d,#ffffff04);border-radius:16px;align-content:start;gap:10px;min-width:0;padding:14px;display:grid}.rank-board-head{align-items:center;gap:10px;min-width:0;display:flex}.rank-board-head>div{min-width:0}.rank-board-icon{width:34px;height:34px;color:var(--kaya);background:radial-gradient(circle at 35% 28%,#e2b26552,#e2b26514 70%);border-radius:11px;flex:none;place-items:center;display:grid;box-shadow:inset 0 0 0 1px #e2b26561,0 2px 4px #00000059}.rank-board-icon .icon{width:19px;height:19px}.rank-scroll{max-height:min(56vh,520px)}.rank-scroll,.rank-list-body{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#e2b26573 transparent;margin-right:-4px;padding-right:4px;overflow-y:auto}:is(.rank-scroll,.rank-list-body)::-webkit-scrollbar{width:6px}:is(.rank-scroll,.rank-list-body)::-webkit-scrollbar-thumb{background:#e2b26573;border-radius:3px}.rank-board:has(>.rank-view-all){grid-template-rows:auto 1fr auto;align-content:stretch}.rank-view-all{width:100%;min-width:0;color:var(--kaya);background:#e2b26514;border-color:#e2b26559}.rank-view-all:hover:not(:disabled){background:#e2b26529;border-color:#e2b26599}.rank-view-all span{text-overflow:ellipsis;min-width:0;overflow:hidden}.country-row{grid-template-columns:24px 30px minmax(0,1fr)}.country-trophy{color:#f3c34d;filter:drop-shadow(0 0 5px #ffc44066);place-items:center;width:24px;height:24px;display:grid}.country-trophy .icon{vertical-align:0;fill:currentColor;fill-opacity:.28;width:21px;height:21px}.country-flag{place-items:center;display:grid}.country-flag .flag{border-radius:4px;width:30px;height:22.5px;margin:0}.country-line{align-items:baseline;gap:6px;min-width:0;display:flex}.country-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.country-players{font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:3px;font-size:11px;display:inline-flex}.country-players .icon{width:12px;height:12px}.country-row .rank-line{gap:6px}.country-row .rank-line .user-dot{flex:none;width:20px;height:20px}.country-row .rank-line .rank-name{min-width:0;color:var(--muted);flex:0 auto;font-size:12.5px;font-weight:500}.country-row .rank-badge{flex:none}.soon-badge{font:700 11px/1 var(--font);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;color:#2b1d06;background:linear-gradient(135deg, #f6dc9f, var(--kaya));border-radius:999px;margin-bottom:8px;padding:5px 11px;display:table;box-shadow:0 0 14px #e2b26552}.soon-text{color:var(--muted);margin:0 0 12px;font-size:12.5px;line-height:1.55}.bracket{grid-template-columns:25% 25% 25% 10%;column-gap:5%;height:228px;display:grid;position:relative}.bracket-lines{pointer-events:none;position:absolute;inset:0}.bracket-lines svg{width:100%;height:100%;display:block;overflow:visible}.bracket-lines path{fill:none;stroke:#e2b26561;stroke-width:1.3px;vector-effect:non-scaling-stroke}.bracket-round{flex-direction:column;justify-content:space-around;min-width:0;display:flex}.bracket-match{box-shadow:inset 0 0 0 1px var(--line);background:#ffffff09;border-radius:8px;gap:6px;padding:7px 6px;display:grid}.bracket-match .ghost-line{height:6px}.bracket-round:nth-child(3) .bracket-match{opacity:.8}.bracket-round:nth-child(4) .bracket-match{opacity:.65}.bracket-champion{color:#f3c34d;filter:drop-shadow(0 0 6px #ffc44073);place-items:center;display:grid}.bracket-champion .icon{fill:currentColor;fill-opacity:.28;width:22px;height:22px}.ghost-line{background:linear-gradient(90deg,#ffffff0d,#ffeccd21,#ffffff0d) 0 0/220% 100%;border-radius:4px;height:8px;animation:2.6s ease-in-out infinite ghost-shimmer}.ghost-line.short{width:55%}@keyframes ghost-shimmer{0%{background-position:110% 0}to{background-position:-110% 0}}@media (prefers-reduced-motion:reduce){.ghost-line{animation:none}}.rank-board-head .rank-emblem{filter:drop-shadow(0 2px 3px #00000080);flex:none;width:34px;height:34px}.rank-board-head h3{font:700 16px var(--font-display);margin:0}.rank-board-head p{margin:1px 0 0;font-size:12px}.rank-rows{align-content:start;gap:5px;margin:0;padding:0;list-style:none;display:grid}.rank-row{text-align:left;white-space:normal;background:#ffffff08;border-radius:12px;grid-template-columns:24px auto minmax(0,1fr);justify-content:stretch;align-items:center;gap:9px;width:100%;padding:7px 9px;display:grid}.rank-row .user-dot{width:30px;height:30px}.rank-who{gap:3px;min-width:0;line-height:1.3;display:grid}.rank-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.rank-line{align-items:center;gap:7px;min-width:0;display:flex}.rank-rating{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.rank-row .rank-badge{margin:0}.rank-place{width:24px;height:24px;font:700 12px var(--font);color:var(--muted);background:#ffffff0f;border-radius:50%;place-items:center;display:grid}.rank-place[data-medal=gold]{color:#3a2600;background:radial-gradient(circle at 35% 30%,#fff1b0,#e2a92c 70%);box-shadow:0 0 10px #ffc44059}.rank-place[data-medal=silver]{color:#22262e;background:radial-gradient(circle at 35% 30%,#fff,#a9b1bf 70%)}.rank-place[data-medal=bronze]{color:#2e1708;background:radial-gradient(circle at 35% 30%,#ffd2a8,#b06a34 70%)}.rank-board-empty{color:var(--faint);text-align:center;justify-items:center;gap:8px;padding:22px 8px;font-size:13px;display:grid}.rank-board-empty .icon{opacity:.6;width:28px;height:28px}.rank-board-note{margin:10px 0;font-size:13px}dialog.rank-list{width:min(720px,100vw - 32px);max-height:calc(100dvh - 32px);padding:20px 22px 14px;overflow:hidden}dialog.rank-list[open]{flex-direction:column;display:flex}dialog.rank-list[data-paged]{height:min(610px,100dvh - 32px)}.rank-list form{flex-direction:column;flex:1;min-height:0;display:flex}.rank-list .dialog-head{flex:none;margin-bottom:12px}.rank-list-emblem{flex:none;display:grid}.rank-list-emblem .rank-emblem{filter:drop-shadow(0 2px 3px #00000080);width:38px;height:38px}.rank-list-title{min-width:0}.rank-list-title h2{font-size:19px;line-height:1.25}dialog .rank-list-title p{font-variant-numeric:tabular-nums;margin:1px 0 0;font-size:12.5px}.rank-list-body{flex:1;min-height:0}.rank-list-body .rank-rows{transition:opacity .15s}.rank-list-body[aria-busy=true] .rank-rows{opacity:.55}.rank-list-body .rank-board-empty{padding:40px 8px}.rank-list .rank-row{grid-template-columns:44px auto minmax(0,1fr);padding:5px 12px 5px 4px}.rank-list .rank-place{font-variant-numeric:tabular-nums;border-radius:12px;justify-self:center;width:auto;min-width:24px;padding:0 6px}.rank-list .rank-who{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}.rank-list .rank-line{grid-template-columns:62px 160px;gap:8px;display:grid}.rank-list .rank-rating{text-align:right;white-space:nowrap}.rank-list-pager{flex:none}@media (width<=1179px){.rank-boards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.rank-boards{gap:10px}.rank-line{flex-wrap:wrap;gap:3px 7px}.country-row .rank-line{flex-wrap:nowrap}.rank-rating{white-space:normal;overflow-wrap:anywhere}}@media (width<=599px){.rank-boards{grid-template-columns:minmax(0,1fr)}.rank-scroll{max-height:340px}dialog.rank-list{border-radius:16px;width:calc(100vw - 16px);max-width:none;max-height:calc(100dvh - 16px);padding:14px 12px 10px}dialog.rank-list[data-paged]{height:calc(100dvh - 16px)}.rank-list-emblem .rank-emblem{width:32px;height:32px}.rank-list-title h2{font-size:17px}.rank-list .rank-row{grid-template-columns:38px auto minmax(0,1fr);gap:7px;padding:7px 6px 7px 2px}.rank-list .rank-who{grid-template-columns:minmax(0,1fr);gap:3px}.rank-list .rank-line{flex-wrap:nowrap;display:flex}.rank-list .rank-rating{text-overflow:ellipsis;text-align:left;min-width:0;overflow:hidden}}@media (width<=520px){dialog.rankings{border-radius:16px;max-height:calc(100dvh - 24px);padding:16px 12px}.rank-board{border-radius:12px;padding:10px}.rank-board-head{gap:8px}.rank-board-head .rank-emblem,.rank-board-icon{width:28px;height:28px}.rank-row{gap:7px;padding:7px 6px}}@media (pointer:coarse),(width<=599px){.rank-view-all{min-height:40px}.rank-list-pager{gap:3px}.rank-list-pager button{min-width:38px;min-height:40px;padding:5px 6px}}@media (width<=420px){.rank-list-pager button{min-width:30px;padding:5px 3px}.rank-list-pager .gap{padding:0}}@media (width<=340px){.rank-list-pager{gap:2px}.rank-list-pager button{min-width:25px}}.rating-chart{border:1px solid var(--line);background:linear-gradient(170deg,#e2b26512,#ffffff05 60%);border-radius:14px;min-width:0;margin-bottom:14px;padding:14px 14px 10px}.rating-chart-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 12px;display:flex}.rating-chart h3{margin:0;font-size:14px}dialog .rating-chart-note{color:var(--muted);margin:2px 0 0;font-size:11.5px}.rating-chart-now{align-items:center;gap:8px;display:flex}.rating-chart-now .rank-badge{margin:0}.rating-chart-value{font:700 22px/1 var(--font)}.rating-chart-change{font-variant-numeric:tabular-nums;color:var(--muted);font-size:12px;font-weight:700}.rating-chart-change.up{color:var(--good)}.rating-chart-change.down{color:#f6ab9b}.rating-chart-facts{color:var(--muted);flex-wrap:wrap;gap:4px 14px;margin:8px 0 2px;font-size:12px;display:flex}dialog .rating-chart-empty{color:var(--muted);margin:16px 0 6px;font-size:12.5px}.rating-frame{margin-top:6px;position:relative}.rating-svg{touch-action:pan-y;cursor:crosshair;outline:none;width:100%;height:auto;display:block;overflow:visible}.rating-svg:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}.rating-tick{fill:var(--muted);font:10px var(--font);font-variant-numeric:tabular-nums}.rating-grid{stroke:#ffe4b914;stroke-width:1px}.rating-rank{stroke:#e2b26547;stroke-width:1px}.rating-rank-label{fill:#e2b265cc;font:600 9.5px var(--font)}.rating-axis{stroke:#ffe4b938;stroke-width:1px}.rating-band{fill:#e2b26512}.rating-area{fill:#e2b2651a}.rating-line{fill:none;stroke:var(--kaya);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.rating-end,.rating-dot{fill:var(--kaya);stroke:#1a140f;stroke-width:2px}.rating-end-label{fill:var(--text);font:700 11px var(--font);font-variant-numeric:tabular-nums}.rating-cross{stroke:#ffeccd73;stroke-width:1px}.rating-tip{border:1px solid var(--line-strong);pointer-events:none;background:#140f0bf0;border-radius:10px;min-width:128px;padding:8px 10px;font-size:12px;position:absolute;top:6px;box-shadow:0 10px 26px #00000073}.rating-tip-value{align-items:center;gap:6px;display:flex}.rating-tip-value b{font-variant-numeric:tabular-nums;font-size:15px}.rating-tip-value .rank-badge{margin:0}.rating-tip-meta{color:var(--muted);white-space:nowrap;margin-top:3px}.scoring{z-index:6;width:300px;max-height:calc(100% - 114px - var(--dock-h,44px));border-radius:var(--radius);background:var(--glass-strong);scrollbar-width:thin;border-color:#e2b26573;flex-direction:column;gap:12px;padding:14px 14px 12px;display:flex;position:absolute;top:88px;left:16px;overflow-y:auto}.scoring.pulse{animation:.35s cubic-bezier(.2,1.2,.4,1) scoring-in}#app:not([data-screen=room]) .scoring{display:none}.scoring-head,.scoring-actions{flex:none}.scoring-head{align-items:center;gap:10px;display:flex}.scoring-mark{width:36px;height:36px;color:var(--kaya);background:#e2b26529;border-radius:11px;flex:none;place-items:center;display:grid}.scoring-mark .icon{width:21px;height:21px}.scoring-titles{flex:1;min-width:0}.scoring-title{font:700 17px/1.25 var(--font-display);margin:0}.scoring-rules{color:var(--kaya);margin:1px 0 0;font-size:12px;font-weight:600}.scoring-timer{font:600 12.5px var(--font);font-variant-numeric:tabular-nums;color:var(--muted);background:#ffffff12;border-radius:999px;padding:3px 9px}.scoring-timer.low{color:#ffb19f;background:#ef7a6429}.scoring-body{overscroll-behavior:contain;scrollbar-width:thin;gap:10px;min-height:0;display:grid;overflow-y:auto}.scoring-text{color:var(--muted);margin:0;font-size:13.5px;line-height:1.55}.scoring-wait{color:var(--muted);align-items:center;gap:10px;padding:8px 2px;font-size:13.5px;display:flex}.spinner.small{border-width:2px;width:18px;height:18px}.scoring-table{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;width:100%;font-size:13px}.scoring-table th,.scoring-table td{text-align:right;border-bottom:1px solid var(--line);padding:6px 8px}.scoring-table th[scope=row]{text-align:left;color:var(--muted);font-weight:500}.scoring-table thead th{border-bottom-color:var(--line-strong);vertical-align:bottom;padding-top:0}.scoring-table thead th>span{vertical-align:middle}.scoring-table thead .stone-icon{margin-right:5px}.scoring-name{text-overflow:ellipsis;white-space:nowrap;max-width:84px;font-weight:600;display:inline-block;overflow:hidden}.scoring-table td[title]{cursor:help}.scoring-table tr.total th,.scoring-table tr.total td{color:var(--text);border-bottom:0;padding-top:8px;font-size:15px;font-weight:700}.scoring-table[data-winner="0"] tr.total td:first-of-type,.scoring-table[data-winner="1"] tr.total td:nth-of-type(2){color:var(--kaya)}.scoring-verdict{text-align:center;background:#ffffff0d;border-radius:12px;gap:1px;padding:10px 12px;display:grid}.scoring-verdict b{font:700 17px var(--font-display)}.scoring-verdict span{font-size:12px}.scoring-verdict[data-outcome=win]{background:#e2b26524}.scoring-verdict[data-outcome=win] b{color:var(--kaya)}.scoring-verdict[data-outcome=lose] b{color:#f6ab9b}.scoring-agree{gap:4px;margin:0;padding:0;list-style:none;display:grid}.scoring-agree li{background:var(--glass-soft);border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 9px;font-size:13px;display:grid}.scoring-who{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.scoring-state{color:var(--faint);align-items:center;gap:4px;font-size:12px;display:inline-flex}.scoring-state .icon{width:14px;height:14px}.scoring-agree li.agreed{background:#8fdc9c1a}.scoring-agree li.agreed .scoring-state{color:var(--good);font-weight:600}.scoring-hint{gap:7px;margin:0;font-size:12px;line-height:1.5;display:flex}.scoring-hint .icon{width:15px;height:15px;color:var(--kaya);flex:none;margin-top:1px}.scoring-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.scoring-actions button{min-width:0;padding:9px 8px;font-size:13px}.scoring-actions button span{white-space:normal;line-height:1.25}.scoring-watch{text-align:center;grid-column:1/-1;margin:0;font-size:12.5px}.scoring-actions[data-agreed]{grid-template-columns:1fr}.scoring-waiting{border-radius:var(--radius-sm);color:var(--good);background:#8fdc9c14;justify-content:center;align-items:center;gap:9px;margin:0;padding:8px;font-size:13px;font-weight:600;display:flex}@keyframes scoring-in{0%{opacity:0;transform:translate(-12px)scale(.98)}}.rules-flag{background-size:cover;border-radius:3px;flex:none;width:21px;height:14px;display:inline-block;box-shadow:0 0 0 1px #00000059,0 1px 3px #00000059}.rules-flag[data-rules=japanese]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Crect width='30' height='20' fill='%23fff'/%3E%3Ccircle cx='15' cy='10' r='6' fill='%23bc002d'/%3E%3C/svg%3E")}.rules-flag[data-rules=chinese]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Crect width='30' height='20' fill='%23de2910'/%3E%3Cpolygon fill='%23ffde00' points='5.5,2 6.32,4.37 8.83,4.42 6.83,5.93 7.56,8.33 5.5,6.9 3.44,8.33 4.17,5.93 2.17,4.42 4.68,4.37'/%3E%3Cg fill='%23ffde00'%3E%3Ccircle cx='10.5' cy='2' r='0.8'/%3E%3Ccircle cx='12' cy='4' r='0.8'/%3E%3Ccircle cx='12' cy='6.6' r='0.8'/%3E%3Ccircle cx='10.5' cy='8.6' r='0.8'/%3E%3C/g%3E%3C/svg%3E")}.rules-flag[data-rules=korean]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 20'%3E%3Crect width='30' height='20' fill='%23fff'/%3E%3Ccircle cx='15' cy='10' r='5' fill='%230047a0'/%3E%3Cpath d='M10 10a5 5 0 0 1 10 0a2.5 2.5 0 0 1-5 0a2.5 2.5 0 0 0-5 0z' fill='%23cd2e3a'/%3E%3Cg stroke='%23000' stroke-width='1.1'%3E%3Cpath d='M4.2 6.2l3-3.2M5.2 7.1l3-3.2M6.2 8l3-3.2M20.8 3l3 3.2M21.8 4l1 1.1M23.5 5.9l1 1.1M22.8 4l3 3.2M4.2 13.8l3 3.2M5.2 12.9l1 1.1M6.9 14.8l1 1.1M6.2 12l3 3.2M20.8 17l3-3.2M21.8 16.1l3-3.2M22.8 17.9l3-3.2'/%3E%3C/g%3E%3C/svg%3E")}dialog p.rules-note{margin:-8px 0 16px;font-size:12.5px}.estimate-card .estimate-close{margin-left:auto}.estimate-verdict{text-align:center;background:#ffffff0d;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 12px;display:flex}.estimate-verdict b{font:700 16px var(--font-display)}.estimate-verdict[data-side=black]{background:#0a0a0a73;box-shadow:inset 0 0 0 1px #ffffff0f}.estimate-verdict[data-side=white]{background:#f7f3ea1f}.estimate-note{margin:0;font-size:11.5px;line-height:1.5}.estimate-count{font-size:11.5px;line-height:1.5}.estimate-count>summary{cursor:pointer;color:var(--muted)}.actions [data-action=estimate].on,.tool.on{color:var(--kaya);background:#e2b26533;border-color:#e2b265a6}.tool-reply{color:var(--kaya);background:#e2b2651f;border-color:#e2b26580}.tools{top:88px;left:16px;bottom:calc(26px + var(--dock-h,44px));z-index:6;border-radius:var(--radius);background:var(--glass-strong);overscroll-behavior:contain;scrollbar-width:thin;border-color:#e2b2654d;flex-direction:column;gap:10px;width:300px;min-width:0;padding:12px;animation:.3s ease-out scoring-in;display:flex;position:absolute;overflow:hidden auto}#app:not([data-screen=room]) .tools,#app:not([data-screen=room]) .tools-tab{display:none}.tools-head{flex-shrink:0;align-items:center;gap:8px;display:flex}.tools-head .scoring-title{font:600 14px/1.4 var(--font);overflow-wrap:anywhere}.tools-head .scoring-mark{border-radius:9px;width:30px;height:30px}.tools-head .tools-fold{margin-left:auto}.tools-bar{flex-wrap:wrap;flex-shrink:0;gap:6px;display:flex}.tool{white-space:normal;text-align:left;border-radius:8px;align-items:center;gap:6px;min-width:0;max-width:100%;min-height:32px;padding:6px 8px;font-size:12px;display:inline-flex}.tool span{overflow-wrap:anywhere;min-width:0}.tool .icon{width:16px;height:16px}.tools-edit{flex-shrink:0;gap:6px;display:grid}.tools-edit[hidden],#tools[data-live] .tools-edit{display:none}.tools-edit .section-head{margin:0}.edit-row{box-shadow:inset 0 0 0 1px var(--line);background:#ffffff0a;border-radius:10px;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;padding:4px;display:grid}.edit-tool{min-width:0;height:36px;min-height:0;color:var(--text);background:0 0;border:1px solid #0000;border-radius:7px;place-items:center;padding:0;font-size:12px;line-height:1;transition:background .15s,border-color .15s;display:grid}.edit-tool:hover{background:#ffffff14}.edit-tool:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.edit-tool[aria-pressed=true]{color:var(--kaya);background:#e2b26538;border-color:#e2b265b3}.edit-tool svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.et-erase svg{stroke:#e0605a}.et-pass{white-space:nowrap;text-overflow:ellipsis;grid-column:span 2;padding:0 6px;font-weight:600;overflow:hidden}.et-glyph{font:700 16px/1 var(--font)}.et-stone{border-radius:50%;width:20px;height:20px;box-shadow:0 1px 2px #0000008c}.et-black{background:radial-gradient(circle at 35% 30%,#5d5955,#141210 70%)}.et-white{background:radial-gradient(circle at 35% 30%,#fff,#d6cebd 75%)}.et-alt{background:linear-gradient(90deg,#141210 50%,#f4efe4 50%);box-shadow:0 0 0 1px #fff6,0 1px 2px #0000008c}.edit-hint{overflow-wrap:anywhere;margin:0;font-size:11px;line-height:1.5}.tools-estimate{min-width:0;box-shadow:inset 0 0 0 1px var(--line);background:#ffffff09;border-radius:10px;flex-shrink:0;grid-template-columns:minmax(0,1fr);gap:10px;padding:10px;transition:opacity .15s;display:grid}.tools-estimate[data-working]{opacity:.55}.tools-estimate>*{min-width:0}.tools-estimate .estimate-verdict{text-align:left;border-radius:8px;justify-content:flex-start;padding:9px 10px}.tools-estimate .estimate-verdict b{min-width:0;font:600 13px/1.5 var(--font);overflow-wrap:anywhere}.tools-estimate .scoring-table{table-layout:fixed;font-size:12px}.tools-estimate .scoring-table th,.tools-estimate .scoring-table td{overflow-wrap:anywhere;padding:6px 4px}.tools-estimate .scoring-table th:first-child{width:36%}.tools-estimate .scoring-table thead .stone-icon{margin:0 0 5px auto;display:block}.tools-estimate .scoring-name{white-space:normal;overflow-wrap:anywhere;max-width:none;font-size:11px;line-height:1.4;display:block}.tools-estimate .scoring-table tr.total th,.tools-estimate .scoring-table tr.total td{font-size:13px}.tools-estimate .scoring-hint span,.tools-estimate .estimate-note{overflow-wrap:anywhere}.tools-estimate .estimate-note{border-top:1px solid var(--line);padding-top:8px}:root{--q-best:#45b4ea;--q-good:#4fc683;--q-inaccuracy:#e8c14a;--q-mistake:#f08c43;--q-blunder:#e5564e}[data-q=best]{--q:var(--q-best)}[data-q=good]{--q:var(--q-good)}[data-q=inaccuracy]{--q:var(--q-inaccuracy)}[data-q=mistake]{--q:var(--q-mistake)}[data-q=blunder]{--q:var(--q-blunder)}.tool-analyzer.on{color:#a6def7;background:#45b4ea2b;border-color:#45b4ea9e}.tools-analyzer{--az-row:25px;--az-cols:18px minmax(24px, 1fr) 38px 43px 31px 23px;min-width:0;box-shadow:inset 0 0 0 1px var(--line);background:#ffffff09;border-radius:10px;flex-shrink:0;gap:7px;padding:9px 10px;display:grid}.tools-analyzer[data-noscore]{--az-cols:18px minmax(24px, 1fr) 42px 48px 26px}.tools-analyzer[data-noscore] :is(.az-score,.az-col-score){display:none}.tools-analyzer>*{min-width:0}.az-summary{gap:6px;min-width:0;display:grid}.az-summary>*{min-width:0}.az-move{height:32px;box-shadow:inset 3px 0 0 var(--q,#ffffff1f);background:#0003;border-radius:8px;align-items:center;gap:7px;padding:0 8px 0 10px;display:flex}.az-move-name{min-width:0;font:600 13px/1.4 var(--font);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.az-chip{font:700 11.5px/1.25 var(--font);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--q);background:color-mix(in srgb, var(--q) 15%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--q) 55%, transparent);border-radius:999px;flex:none;padding:3px 8px}.az-chip.az-pending{--q:var(--muted);text-align:center;min-width:30px}.az-best{white-space:nowrap;text-overflow:ellipsis;height:17px;margin:-2px 0 0;font-size:11.5px;line-height:17px;overflow:hidden}.az-bar{background:#efe8da;border-radius:4px;height:8px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #00000059}.az-bar-black{background:linear-gradient(90deg,#121110,#3a352f);transition:width .35s;position:absolute;inset:0 auto 0 0}.az-bar-labels{height:16px;font:600 11.5px var(--font);font-variant-numeric:tabular-nums;white-space:nowrap;justify-content:space-between;align-items:center;gap:8px;margin-top:-2px;display:flex}.az-bar-labels>span{align-items:center;gap:5px;display:inline-flex}.az-bar-labels>.az-lead{text-overflow:ellipsis;flex:0 auto;min-width:0;font-size:11px;font-weight:500;display:block;overflow:hidden}.az-bar,.az-bar-labels{transition:opacity .2s}.tools-analyzer:not([data-state=ready]) :is(.az-bar,.az-bar-labels){opacity:.5}.az-table{gap:2px;min-width:0;display:grid;position:relative}.az-cols,.az-cand{grid-template-columns:var(--az-cols);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;column-gap:5px;padding:0 6px;display:grid}.az-cols{height:15px;font-size:10px}.az-cols>span{text-overflow:ellipsis;cursor:default;overflow:hidden}.az-cols>span:first-of-type{text-align:left}.az-next{grid-column:1;justify-self:center}.az-cols>span:first-of-type{grid-column:2}.az-list{grid-auto-rows:var(--az-row);gap:2px;min-width:0;margin:0;padding:0;list-style:none;display:grid}.az-list>li{min-width:0;display:grid}.az-cand{width:100%;min-width:0;height:100%;min-height:0;box-shadow:none;background:#ffffff08;border:1px solid #0000;border-radius:6px;font-size:11.5px}.az-cand:disabled{opacity:1;background:#ffffff03}.az-cand:hover:not(:disabled),.az-cand.on{background:#45b4ea1c;border-color:#45b4ea73}.az-cand:active:not(:disabled){transform:none}.az-rank{width:18px;height:18px;font:700 10.5px/1 var(--font);color:#0b1620;background:var(--q,transparent);border-radius:50%;place-items:center;display:grid}.az-coord{min-width:0;font:700 12px var(--font);text-align:left;text-overflow:ellipsis;overflow:hidden}.az-wr{font-weight:600}.az-delta{color:var(--muted);font-weight:600}.az-delta[data-sign=up]{color:#7fd8a4}.az-delta[data-sign=down]{color:#efa58e}.az-visits{font-size:10.5px}.tools-analyzer[data-state=working] .az-cand[data-empty]{background:linear-gradient(100deg,#ffffff06 30%,#ffffff17 50%,#ffffff06 70%) 0 0/220% 100%;animation:1.3s linear infinite ghost-shimmer}@media (prefers-reduced-motion:reduce){.tools-analyzer[data-state=working] .az-cand[data-empty]{animation:none}}.az-message{text-align:center;color:var(--muted);overflow-wrap:anywhere;border-radius:6px;place-items:center;margin:0;padding:4px 10px;font-size:12px;line-height:1.5;display:grid;position:absolute;inset:17px 0 0;overflow:hidden}.az-message.az-error{color:#f2aaa3}.az-foot{overflow-wrap:anywhere;margin:0;font-size:10.5px;line-height:1.45}.vt .vt-node[data-q] .vt-stone{stroke:var(--q);stroke-width:2.6px}.vt .vt-node:is([data-q=best],[data-q=good]) .vt-stone{stroke-width:1.8px}@media (width>=901px) and (height<=900px){.az-foot,#tools[data-analyzing] .tools-edit :is(.section-head,.edit-hint){display:none}}@media (width>=901px) and (height<=800px){.tools-analyzer{--az-row:22px;gap:5px;padding:7px 8px}.az-summary{gap:4px}.az-move{height:28px}#tools[data-analyzing] .edit-tool{height:30px}#tools[data-analyzing] .tools-edit{gap:4px}#tools[data-analyzing] .edit-row{padding:2px}#tools[data-analyzing] .tools-bar{flex-wrap:nowrap}#tools[data-analyzing] .tool{flex:auto;justify-content:center}#tools[data-analyzing] .tool:not(.on) span{display:none}#tools[data-analyzing] .tool.on{flex-grow:3}}@media (width<=900px){#tools[data-analyzing] .tools-analyzer{order:-1}#tools[data-analyzing] .tools-edit{order:0}.tools-analyzer{gap:6px;padding:8px}.az-foot{display:none}}@media (width>=600px) and (width<=900px){.tools-analyzer{--az-row:28px;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;column-gap:12px}}@media (width<=599px){.az-best,.az-cols{display:none}.az-summary{gap:5px}.az-move{height:30px}.az-list{--az-row:42px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.az-list>li:nth-child(n+4):not(:has(.on)){display:none}.az-list:has(>li:nth-child(n+4) .on)>li:nth-child(3){display:none}.az-cand{grid-template:"rank coord win"1fr"rank delta score"1fr/18px minmax(0,1fr) auto;column-gap:4px;padding:2px 5px;font-size:11px}.az-rank{grid-area:rank}.az-coord{grid-area:coord}.az-wr{grid-area:win;font-weight:500}.az-cand>.az-delta{text-align:left;grid-area:delta}.az-cand>.az-score{text-align:right;grid-area:score}.az-visits{display:none}.az-message{inset:0}}.az-labels{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:hidden}#app:not([data-screen=room]) .az-labels,#app.creating .az-labels{display:none}.az-label{will-change:transform;font-size:9.5px;position:absolute;top:0;left:0}.az-tag{width:2.94em;height:2.94em;font-family:var(--font);font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap;color:#050505;background:var(--az-color);border-radius:50%;align-content:center;justify-items:center;animation:.18s ease-out az-pop;display:grid;position:relative;box-shadow:0 1px 3px #0009,inset 0 0 0 1px #0000004d}.az-tag>b{font-weight:700;line-height:.96}.az-tag>span{font-size:.74em;font-weight:500;line-height:.98}.az-label[data-ring=blue] .az-tag{box-shadow:0 1px 3px #0009,inset 0 0 0 2px #1230d8}.az-label[data-ring=red] .az-tag{box-shadow:0 1px 3px #0009,inset 0 0 0 2px #d81c12}.az-label-rank{font:800 1em/1 var(--font);font-style:normal;display:none}.az-labels[data-size=small] .az-tag{width:2.35em;height:2.35em}.az-labels[data-size=small] .az-tag>:is(span,b:last-child){display:none}.az-labels[data-size=rank] .az-tag{width:1.5em;height:1.5em}.az-labels[data-size=rank] .az-tag>:is(span,b){display:none}.az-labels[data-size=rank] .az-label-rank{display:block}@keyframes az-pop{0%{opacity:0;scale:.55}}@media (prefers-reduced-motion:reduce){.az-tag{animation:none}}.tools-tree{flex-direction:column;flex:1 0 190px;min-width:0;min-height:190px;display:flex}.tools-tree .section-head{margin-bottom:6px}.tools-keys,.tools-note{overflow-wrap:anywhere;margin:6px 0 0;font-size:11px;line-height:1.5}.tools-tab{z-index:6;border-radius:12px;align-items:center;gap:1px;padding:9px 7px;display:inline-flex;position:absolute;top:88px;left:16px}.tools-tab .icon{width:18px;height:18px}.tools-live-note{overflow-wrap:anywhere;margin:0;font-size:11.5px;line-height:1.5}#tools:not([data-live]) .live-tool,#tools:not([data-live]) .tools-live-note,#tools[data-live] .owner-tool,#tools[data-live] [data-tool=share],#tools[data-live] .tools-tree{display:none}#tools[data-live]{bottom:auto}@media (width>=901px){#tools[data-live]{max-height:calc(100% - 114px - var(--dock-h,44px))}}.vt-scroll{overscroll-behavior:contain;scrollbar-width:thin;background:linear-gradient(160deg,#d6aa681f,#b080420f);border-radius:8px;flex:1;min-width:0;min-height:140px;overflow:auto;box-shadow:inset 0 0 0 1px #e2b26538}.vt{display:block}.vt-edge{fill:none;stroke:#ffeed28c;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.vt-edge[data-lane="1"]{stroke:#e2b265}.vt-edge[data-lane="2"]{stroke:#6fc2b4}.vt-edge[data-lane="3"]{stroke:#e0788d}.vt-edge[data-lane="4"]{stroke:#a08cf2}.vt-edge[data-lane="5"]{stroke:#74ade6}.vt-edge[data-lane="6"]{stroke:#b8c96a}.vt-edge.off{opacity:.28}.vt-node.off{opacity:.36}.vt.enabled .vt-node{cursor:pointer}.vt-stone{stroke-width:1.2px}.vt-node.black .vt-stone{fill:#1c1a18;stroke:#ffeccdb3}.vt-node.white .vt-stone{fill:#f4efe4;stroke:#8f8370}.vt-node.vt-pass .vt-stone{stroke-dasharray:3 2}.vt-number{font:700 10px var(--font);pointer-events:none}.vt-number.small{font-size:8.5px}.vt-node.black .vt-number{fill:#f4efe4}.vt-node.white .vt-number{fill:#1c1a18}.vt-root circle{fill:none;stroke:var(--muted);stroke-width:2px}.vt-setup rect{fill:#ffffff29;stroke:var(--muted)}.vt-comment{fill:var(--kaya);stroke:#0000008c;stroke-width:1px}.vt-cursor{fill:color-mix(in srgb, var(--accent) 32%, transparent);stroke:var(--accent);stroke-width:2px}.vt.enabled .vt-node:hover .vt-stone{stroke:var(--kaya);stroke-width:2.4px}@media (width<=900px){.tools{top:max(8px, env(safe-area-inset-top));left:max(8px, env(safe-area-inset-left));right:max(8px, env(safe-area-inset-right));border-radius:12px;gap:6px;width:auto;max-height:26dvh;padding:10px;bottom:auto}.tools-head{z-index:1;background:var(--glass-strong);border-bottom:1px solid var(--line);margin:-10px -10px 0;padding:6px 10px;position:sticky;top:-10px}.tools-head .tools-fold{min-width:40px;min-height:40px}.tools-edit{order:-1}.tools-head{order:-2}.panel .room-head{z-index:3;background:var(--glass-strong);gap:5px;margin:-10px -10px 0;padding:8px 10px;position:sticky;top:-10px}.panel .room-head h2{font-size:14px}.panel .room-head-buttons button{min-height:36px}.panel .review{scroll-margin-top:80px}.chat-dock{bottom:calc(32dvh + 20px)}.toast{bottom:calc(32dvh + 22px)}.confirm-move{bottom:calc(32dvh + 18px)}#app:has(#confirmMove:not([hidden])) .toast{bottom:calc(32dvh + 74px)}.tools-bar .tool{flex:auto;justify-content:center;min-height:40px}.edit-tool{height:40px}.tools-edit .section-head{display:none}.review-actions>button{min-height:40px}.tools .scoring-mark{display:none}.tools-tree{flex-basis:160px;min-height:160px}.vt-scroll{min-height:100px}.tools-tab{top:8px;left:8px}.scoring{top:max(8px, env(safe-area-inset-top));left:max(8px, env(safe-area-inset-left));right:max(8px, env(safe-area-inset-right));gap:8px;width:auto;max-height:34dvh;padding:10px 12px}.scoring-mark{display:none}.scoring-title{font-size:15px}.scoring-actions{order:1}.scoring-body{order:2;gap:8px}.scoring-table th,.scoring-table td{padding:3px 6px}.scoring-verdict{padding:6px 10px}.scoring-verdict b{font-size:15px}}@media (width<=359px){.confirm-move{left:calc(50% + 24px)}}@media (width<=900px) and (height<=500px){.confirm-move{animation:none;left:auto;right:10px;transform:none}}@media (width>=600px) and (width<=900px){.tools-edit{grid-template-columns:repeat(2,minmax(0,1fr))}.edit-hint{grid-column:1/-1}#scoring .scoring-body:has(>.scoring-table){grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-content:start;column-gap:14px}#scoring .scoring-body>.scoring-table{grid-row:span 3;align-self:start}#scoring .scoring-name{max-width:150px}}@media (width<=599px){#scoring .scoring-verdict{order:-1}}@media (width>=901px) and (height<=800px){.scoring{gap:9px;padding:11px 12px 10px}.scoring-mark{border-radius:9px;width:30px;height:30px}.scoring-table th,.scoring-table td{padding:4px 8px}.scoring-verdict{padding:7px 10px}.scoring-agree li{padding:4px 9px}}#app:has(#scoring:not([hidden])) :is(.tools,.tools-tab){top:var(--scoring-bottom,88px)}#app:has(#scoring:not([hidden])):has(#tools:not([hidden])) .scoring{max-height:36%}#app:has(#scoring:not([hidden])) .tools{max-height:calc(100% - var(--scoring-bottom,88px) - var(--dock-h,44px) - 26px)}.panel .result-banner{flex-shrink:0;padding:10px 12px;position:static;transform:none}.panel .result-banner .headline{font-size:18px}@media (width<=900px){.brand{left:auto;right:max(8px, env(safe-area-inset-right));top:max(8px, env(safe-area-inset-top));border-radius:10px;gap:6px;padding:4px 8px 4px 4px}.brand .brand-mark{border-radius:7px;width:26px;height:26px}.brand h1{font-size:13px}.brand .engine-status{gap:4px;margin-top:2px;font-size:10px}#app:has(:is(#tools,#scoring,#estimate):not([hidden])) .brand{display:none}.dock-btn{min-width:40px;min-height:40px;padding:8px 10px}.dock-btn .icon{width:18px;height:18px}.dock-buttons{gap:6px}#app:has(#scoring:not([hidden])):has(#tools:not([hidden])) .scoring{max-height:24dvh}#app:has(#scoring:not([hidden])) .tools{max-height:18dvh}.panel .result-banner .headline{font-size:16px}.panel .result-banner .detail{font-size:12px}}.history-filter{flex-wrap:wrap;align-items:center;gap:6px;margin:2px 0 12px;display:flex}.history-filter .history-filter-button{color:#b9aa94;min-width:60px;min-height:34px;box-shadow:none;background:0 0;border:1px solid #cab28b29;border-radius:18px;padding:5px 14px;font-size:12px;line-height:1.4}.history-filter .history-filter-button:hover{color:#f0e6d5;background:#cab28b14}.history-filter .history-filter-button[aria-pressed=true]{color:#f0e6d5;background:#cab28b26;border-color:#cab28b6b}.history-filter .history-filter-button:focus-visible{outline-offset:2px;outline:2px solid #bda5df}@media (pointer:coarse){.history-filter .history-filter-button{min-height:40px}}.bot-badge{white-space:nowrap;border:1px solid;border-radius:4px;padding:2px 6px;font-size:11px}#createRoom #aiFields,#createRoom #aiFields .field{min-width:0}#createRoom #aiFields select{text-overflow:ellipsis;width:100%;min-width:0}#createRoom #aiFields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#createRoom #aiFields:has(>.field[hidden]){grid-template-columns:minmax(0,1fr)}#createRoom #aiFields .field>span{font-size:12px}#createRoom #aiFields select{min-height:38px;font-size:13px}@media (width<=480px){#createRoom #aiFields{grid-template-columns:minmax(0,1fr);gap:8px}}@media (width<=600px){.stat-line{grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;font-size:12px}.stat-line .muted{display:block}.stat-line .stat-rate{text-align:right}}.kata-panel{min-width:0}.kata-panel h4{color:var(--muted);margin:12px 0 7px;font-size:12px}.kata-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0;display:grid}.kata-facts>div{border:1px solid var(--line);background:var(--glass-soft);border-radius:8px;padding:8px 10px}.kata-facts small,.kata-game small,.kata-result small{color:var(--muted);font-size:10px;display:block}.kata-facts strong{font-variant-numeric:tabular-nums;margin-top:4px;font-size:16px;display:block}.kata-graph{width:100%;margin:10px 0 4px;display:block}.kata-mean{stroke:#f4cf87;stroke-width:1.4px;stroke-dasharray:5 4;opacity:.85}.kata-mean-label{fill:#f4cf87;font:700 11px var(--font)}.kata-opp-dot{fill:none;stroke:#f5ecdd8c;stroke-width:1.4px}.kata-legend{color:var(--muted);flex-wrap:wrap;gap:4px 14px;margin:0 0 10px;font-size:11px;display:flex}.kata-legend span{align-items:center;gap:5px;display:inline-flex}.kata-legend i{border-radius:50%;flex:none;width:9px;height:9px;padding:0;display:inline-block}.kata-legend i.key-player{background:var(--kaya)}.kata-legend i.key-opponent{box-sizing:border-box;border:1.4px solid #f5ecdd8c}.kata-legend i.key-mean{border-top:1.6px dashed #f4cf87;border-radius:0;width:16px;height:0}.kata-samples{gap:4px;display:grid}.kata-sample{background:var(--glass-soft);border-radius:7px;grid-template-columns:24px minmax(0,1fr) 54px 54px 44px;align-items:center;gap:7px;padding:7px 9px;font-size:12px;display:grid}.kata-stone{border-radius:50%;place-items:center;width:22px;height:22px;font-size:10px;font-weight:700;display:grid;box-shadow:0 2px 4px #0005}.kata-stone.b{color:#eee;background:#20242c;border:1px solid #626875}.kata-stone.w{color:#252933;background:#eceeea}.kata-game{min-width:0}.kata-game b{font-weight:500}.kata-result,.kata-confidence{text-align:right;font-variant-numeric:tabular-nums}.kata-confidence{color:var(--muted);font-size:11px}@media (width<=480px){.kata-panel .rating-chart-head{align-items:flex-start;gap:8px}.kata-facts>div{padding:7px}.kata-facts strong{font-size:14px}.kata-sample{gap:6px;padding:7px}}.kata-model{color:var(--muted);overflow-wrap:anywhere;margin-top:6px;font-size:10px;display:block}.unrank-label{color:#c3aa73;border:1px solid #c3aa734d;border-radius:4px;padding:1px 5px;font-size:10px}.game-rank-pair{color:#abc4be;font-size:10px}@media (width<=480px){.kata-sample{grid-template-columns:20px minmax(0,1fr) 43px 43px;gap:5px}.kata-confidence{text-align:left;grid-column:2/-1;font-size:10px}.kata-result small{overflow-wrap:anywhere;font-size:9px}}#profile [data-ppane=stats],.kata-panel,.style-card{box-sizing:border-box;min-width:0;max-width:100%}.kata-result{min-width:0}.kata-result small{white-space:normal;overflow-wrap:anywhere}.style-card,.bot-card,.bot-hero,.pro-bar{--c-territory:#6cc28a;--c-moyo:#5ea6e8;--c-classic:#c9b48a;--c-novel:#a98be3;--c-calm:#93b8a0;--c-fighting:#e8795c;--c-safe:#9fb0c8;--c-shinogi:#dc7393}.style-card{border:1px solid var(--line);background:#ffffff06;border-radius:14px;margin:0 0 14px;padding:14px;font-size:12.5px;position:relative}.style-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.style-head h3{margin:0;font-size:14px}dialog .style-sub{color:var(--muted);margin:2px 0 0;font-size:11.5px}.style-type{border:1px solid var(--line-strong);border-left:3px solid var(--c);cursor:help;background:#ffffff08;border-radius:8px;outline:none;gap:1px;min-width:120px;padding:6px 12px;display:grid}.style-type:focus-visible{border-color:var(--c)}.style-type small{color:var(--muted);font-size:10.5px}.style-type b{color:var(--c);font-size:14px}.style-type em{color:var(--muted);font-size:11px;font-style:normal}dialog .style-empty{color:var(--muted);margin:12px 0 2px;font-size:12.5px}.style-radar{width:100%;max-width:360px;height:auto;margin:6px auto 0;display:block;overflow:visible}.style-radar-ring{fill:none;stroke:#ffe4b91a}.style-radar-pro{fill:none;stroke:#ffe4b952;stroke-dasharray:4 4}.style-radar-axis{stroke-width:1.5px;opacity:.55}.style-radar-scale{fill:var(--faint);font:9px var(--font)}.style-radar-scale.pro{fill:var(--muted)}.style-radar-shape{fill:#f5ecdd21;stroke:#f5ecddbf;stroke-width:1.6px;stroke-linejoin:round}.style-radar-dot{stroke:#14100c;stroke-width:1.5px}.style-radar-label{cursor:help;outline:none}.style-radar-label text{font:600 11px var(--font)}.style-radar-label text.value{fill:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.style-radar-label:focus-visible text{text-decoration:underline}dialog .style-few{color:#e9c98f;margin:8px 0 0;font-size:11.5px}.style-axes-title{margin:12px 0 6px;font-size:13px}.style-axes{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.style-axis{border:1px solid var(--line);border-top:2px solid var(--lean);background:#ffffff05;border-radius:10px;min-width:0;padding:10px}.style-axis-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 8px;display:flex}.style-axis-head b{cursor:help;border-bottom:1px dotted var(--muted);outline:none}.style-lean{color:var(--lean);font-size:11.5px;font-weight:700}.style-meter{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;margin:8px 0 4px;font-size:10.5px;display:grid}.style-pole.left{color:var(--left)}.style-pole.right{color:var(--right)}.style-track{background:linear-gradient(90deg, var(--left), #ffffff14 50%, var(--right));border-radius:4px;height:8px;position:relative}.style-track:after{content:"";background:#ffffff59;width:1px;position:absolute;top:-2px;bottom:-2px;left:50%}.style-marker{z-index:1;border:3px solid var(--lean);box-sizing:border-box;background:#f5ecdd;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;position:absolute;top:50%;box-shadow:0 0 0 2px #00000059}dialog .style-explain{color:var(--text);margin:6px 0;font-size:11.5px;line-height:1.5}dialog .style-meaning{border-left:2px solid var(--c-shinogi);color:var(--muted);background:#dc73930f;margin:0 0 6px;padding:5px 8px;font-size:11px;line-height:1.45}.style-lines{color:var(--muted);gap:4px;margin:4px 0 6px;font-size:10.5px;display:grid}.style-lines-bar{border-radius:5px;height:9px;display:flex;overflow:hidden}.style-lines-bar i{cursor:help;outline:none;min-width:2px}.style-lines-legend{flex-wrap:wrap;gap:2px 10px;display:flex}.style-lines-legend span{align-items:center;gap:4px;display:inline-flex}.style-lines-legend b{border-radius:2px;width:8px;height:8px}.style-facts{gap:2px;margin:0;padding:0;font-size:11px;list-style:none;display:grid}.style-facts li{cursor:help;border-radius:5px;outline:none;grid-template-columns:minmax(0,1fr) auto auto;align-items:baseline;gap:6px;padding:2px 4px;display:grid}.style-facts li:hover,.style-facts li:focus-visible{background:#ffffff0d}.style-facts li>span{color:var(--muted)}.style-facts b{font-variant-numeric:tabular-nums}.style-facts small{color:var(--faint);font-size:10px}.style-games{margin-top:12px;font-size:12px}.style-games summary{cursor:pointer;color:var(--muted)}.style-games ul{gap:3px;margin:6px 0 0;padding:0;list-style:none;display:grid}.style-games li{background:#ffffff08;border-radius:6px;grid-template-columns:14px auto minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:4px 6px;display:grid}.style-stone{border-radius:50%;width:12px;height:12px}.style-stone.black{background:radial-gradient(circle at 35% 30%,#666,#111 70%);box-shadow:0 0 0 1px #ffffff40}.style-stone.white{background:radial-gradient(circle at 35% 30%,#fff,#cfc8bb 75%)}dialog .style-foot{color:var(--muted);margin:10px 0 0;font-size:11px;line-height:1.5}dialog.profile[data-tab=stats]{width:min(1240px,100vw - 32px)}.profile-stats-cols{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.profile-rank-col,.profile-style-col{min-width:0}.profile-record{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:6px 12px;margin-bottom:14px;display:grid}.profile-record .stat-tiles{gap:6px;margin:0}.profile-record .stat{border-radius:9px;gap:0;padding:6px 4px}.profile-record .stat b{font:700 17px var(--font);font-variant-numeric:tabular-nums}.profile-record .stat span{font-size:10.5px}.profile-record .stat.rate b{color:var(--good)}.profile-record .stat-lines{gap:2px;display:grid}.profile-record .stat-line{grid-template-columns:minmax(0,1fr) auto auto 40px;gap:8px;padding:5px 10px;font-size:12px}.profile-record .stat-note{grid-column:1/-1;margin:0;font-size:11px}@media (width<=900px){.profile-record{grid-template-columns:minmax(0,1fr)}}.profile-rank-col .rating-chart,.profile-style-col .style-card{margin-bottom:14px}@media (width<=900px){.profile-stats-cols{grid-template-columns:minmax(0,1fr);gap:0}.profile-style-col{order:-1}}.style-tip{z-index:5;max-width:min(280px,100% - 16px);color:var(--text);box-shadow:var(--shadow);pointer-events:none;background:#1d1610;border:1px solid #f4cf8766;border-radius:8px;padding:7px 10px;font-size:11.5px;line-height:1.45;position:absolute}.profile-style-col{container-type:inline-size}@container (width<=520px){.style-axes{grid-template-columns:1fr}.style-games li{grid-template-columns:14px auto minmax(0,1fr) auto}.style-games li>:last-child{display:none}}.style-chip{white-space:nowrap;color:var(--c);background:color-mix(in srgb, var(--c) 16%, #0c09068c);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c) 45%, transparent);border-radius:999px;align-items:center;padding:2px 9px;font-size:12px;font-weight:700;display:inline-flex}.shelf-col{align-content:start;gap:8px;min-width:0;display:grid}.pro-bar{border:1px solid var(--line);background:linear-gradient(170deg,#e2b26517,#ffffff04);border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:7px 8px 7px 14px;display:flex}.pro-bar[hidden]{display:none}.pro-bar-name{min-width:0;font:700 15px var(--font-display);text-overflow:ellipsis;white-space:nowrap;flex:1 1 0;overflow:hidden}.pro-bar-type{display:inline-flex}.pro-bar-type:empty{display:none}.pro-bar-style{color:var(--kaya);background:#e2b2651a;border-color:#e2b26566;flex:none}.pro-bar-style:hover:not(:disabled){background:#e2b26533;border-color:#e2b265b3}dialog.library[data-tab=pro] .shelf-col .shelf{max-height:calc(58vh - 54px)}@media (width<=640px){.pro-bar{padding:7px 8px 7px 12px}.pro-bar-name{flex-basis:100%}.pro-bar-style{margin-inline-start:auto}}dialog.pro-style{width:min(780px,100vw - 32px)}dialog .pro-style-era{margin:2px 0 12px}.pro-style-body{container-type:inline-size}.pro-style-body .style-card{margin-bottom:0}dialog .style-updating{color:var(--kaya);background:#e2b2651a;border-radius:9px;margin:0 0 10px;padding:7px 11px;font-size:12.5px}.style-against{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.style-games.with-view li{grid-template-columns:14px auto minmax(0,1fr) auto auto auto}.style-games.with-view li button{padding:4px}.style-games.with-view li button .icon{width:14px;height:14px}@container (width<=520px){.style-games.with-view li{grid-template-columns:14px auto minmax(0,1fr) auto auto}.style-games.with-view li>:nth-child(4){display:none}.style-games.with-view li>:last-child{display:inline-flex}}@media (width<=520px){dialog.pro-style{border-radius:16px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:14px 12px}}#app.ai-disabled [data-lobby=bots]{display:none}dialog.bots{width:min(1240px,100vw - 32px)}.bot-roster{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.bot-roster>.empty-state,.bot-roster>.bot-note{flex:100%}.bot-card{--bot:var(--kaya);aspect-ratio:3/4;border:1px solid var(--line-strong);text-align:start;white-space:normal;color:#fff7ea;background:#17120d;border-radius:16px;flex:0 calc(20% - 9.6px);min-width:0;padding:0;transition:transform .18s,box-shadow .18s,border-color .18s;display:block;position:relative;overflow:hidden;box-shadow:0 8px 22px #00000059}.bot-card:hover:not(:disabled),.bot-card:focus-visible{border-color:var(--bot);box-shadow:0 12px 30px #00000073, 0 0 0 1px var(--bot), 0 0 28px color-mix(in srgb, var(--bot) 38%, transparent);background:#17120d;transform:translateY(-3px)}.bot-pic{object-fit:cover;object-position:var(--fx,50%) 0;width:100%;height:100%;transition:transform .35s;display:block}.bot-card:hover .bot-pic{transform:scale(1.04)}.bot-pic-blank{width:100%;height:100%;font:700 64px var(--font-display);color:#fff7ea;background:radial-gradient(circle at 40% 30%, color-mix(in srgb, var(--bot) 72%, #fff), color-mix(in srgb, var(--bot) 55%, #000));place-items:center;display:grid}.bot-card-text{background:linear-gradient(#0000 0%,#0c0906d6 42%,#0c0906f2 100%);gap:6px;padding:46px 12px 12px;display:grid;position:absolute;inset:auto 0 0}.bot-card-name{font:700 20px/1.2 var(--font-display);text-shadow:0 1px 3px #000}.bot-card-tags{flex-wrap:wrap;align-items:center;gap:5px;min-height:24px;display:flex}.bot-card-tags .rank-badge{margin:0}.bot-card-record{color:#fff0dccc;font-variant-numeric:tabular-nums;font-size:12px}.bot-card-go{top:10px;color:#fff7ea;opacity:0;background:#0c090699;border-radius:50%;width:26px;height:26px;padding:5px;transition:opacity .18s;position:absolute;inset-inline-end:10px}.bot-card:hover .bot-card-go,.bot-card:focus-visible .bot-card-go{opacity:1}@media (hover:none){.bot-card-go{opacity:1}}@media (width<=860px){.bot-card{flex-basis:calc(33.3333% - 8px)}}@media (width<=560px){dialog.bots{border-radius:16px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:14px 12px}.bot-roster{gap:8px}.bot-card{flex-basis:calc(50% - 4px)}.bot-card:last-child:nth-child(odd){aspect-ratio:16/10;flex-basis:100%}.bot-card:last-child:nth-child(odd) .bot-pic{object-position:var(--fx,50%) var(--fy,15%)}.bot-card-name{font-size:17px}.bot-card-text{gap:4px;padding:36px 9px 9px}}@media (prefers-reduced-motion:reduce){.bot-card,.bot-pic{transition:none}.bot-card:hover:not(:disabled),.bot-card:focus-visible,.bot-card:hover .bot-pic{transform:none}}dialog.bot-detail{--bot:var(--kaya);width:min(1320px,100vw - 32px)}.bot-detail .dialog-head{margin-bottom:10px}.bot-switch{scrollbar-width:none;gap:6px;min-width:0;margin-inline:auto;padding:2px;display:flex;overflow-x:auto}.bot-switch::-webkit-scrollbar{display:none}.bot-thumb{border:2px solid var(--line-strong);opacity:.72;background:#17120d;border-radius:50%;flex:none;width:40px;height:40px;padding:0;display:block;overflow:hidden}.bot-thumb:hover:not(:disabled){opacity:1;border-color:var(--bot);background:#17120d}.bot-thumb.active{opacity:1;border-color:var(--bot);box-shadow:0 0 12px color-mix(in srgb, var(--bot) 55%, transparent)}.bot-thumb .bot-pic{transform-origin:var(--fx,50%) var(--fy,15%);transform:scale(2.3)}.bot-thumb .bot-pic-blank{font-size:18px}.bot-page{grid-template:"hero style rank""hero style games"1fr/290px minmax(0,1fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}.bot-hero{border:1px solid var(--line);background:linear-gradient(180deg, color-mix(in srgb, var(--bot) 16%, transparent), #ffffff05 50%);border-radius:18px;grid-area:hero;display:grid;position:sticky;top:0;overflow:hidden}.bot-hero-pic{background:#17120d;height:min(46vh,387px);overflow:hidden}.bot-hero-text{align-content:start;gap:8px;min-width:0;padding:12px 14px 14px;display:grid}.bot-hero-name{font:700 24px/1.2 var(--font-display);margin:0}.bot-hero-tags{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.bot-hero-tags .rank-badge{margin:0}dialog .bot-hero-about{margin:0;font-size:13px}dialog .bot-hero-engine{align-items:center;gap:6px;margin:0;font-size:11.5px;display:flex}.bot-hero-engine .icon{flex:none;width:14px;height:14px}.bot-hero .stat-tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:2px 0 0}.bot-hero .stat{border-radius:9px;gap:0;padding:6px 2px}.bot-hero .stat b{font:700 17px var(--font);font-variant-numeric:tabular-nums}.bot-hero .stat span{text-align:center;font-size:10.5px}.bot-hero .stat.rate b{color:var(--good)}dialog .bot-hero .stat-note{margin:0;font-size:11px}.bot-play{justify-content:center;width:100%;margin-top:2px}.bot-style{grid-area:style}.bot-style .style-card{margin-bottom:0}.bot-rank{grid-area:rank;min-width:0}.bot-rank .rating-chart{margin:0}.bot-games{grid-area:games;min-width:0}.bot-games-head h3{font:700 15px var(--font-display);margin:0}dialog .bot-games-head p{margin:2px 0 8px;font-size:11.5px}.bot-game-list{gap:8px;display:grid}dialog .bot-note{margin:10px 0}@media (width<=1180px){.bot-page{grid-template-rows:auto auto 1fr;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"hero hero""style rank""style games"}.bot-hero{grid-template-columns:240px minmax(0,1fr);position:static}.bot-hero-pic{height:320px}}@media (width<=900px){.bot-page{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-template-areas:"hero""style""rank""games"}}@media (width<=599px){dialog.bot-detail{border-radius:16px;width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:14px 12px}.bot-hero{grid-template-columns:minmax(0,1fr)}.bot-hero-pic{height:min(52vw,240px)}.bot-hero-pic .bot-pic{object-position:var(--fx,50%) var(--fy,15%)}.bot-thumb{width:34px;height:34px}.bot-detail .dialog-head h2 span{display:none}}.sheet-toggle,.sheet-handle,.more-toggle{display:none}.handheld .sheet-toggle{display:inline-flex}.handheld .sheet-toggle .icon{transition:transform .2s}.handheld #panel[data-sheet-open] .sheet-toggle .icon{transform:rotate(180deg)}.handheld #panel:not([data-sheet-open]) .room-meta,.handheld #panel:not([data-sheet-open])>:is(.daytime,.camera-modes,.members,.toggles,.links,.engine-label),.handheld #panel:not([data-sheet-open]) .winrate>:not(.winrate-bar),.handheld #panel:not([data-sheet-open]) .review>:is(.review-head,.review-players,.review-details,.review-gc,.review-caps,.review-info,.practice-controls,.review-graph){display:none!important}.handheld #panel>:is(.daytime,.winrate,.camera-modes,.members,.toggles,.links,.engine-label){order:1}.handheld #panel:not([data-sheet-open]) .winrate{order:0}.handheld #panel:not([data-sheet-open]) .winrate-bar{height:5px}.handheld #panel:not([data-sheet-open]) .winrate:has(.winrate-bar.unknown){display:none!important}.handheld .room-head-buttons [data-action=roomSettings],.handheld .actions>:is([data-action=estimate],[data-action=invite],[data-action=freeBoard]){display:none!important}.handheld .more-toggle{display:inline-flex}.handheld .more-toggle[aria-expanded=true]{color:var(--kaya);background:#e2b2651f;border-color:#e2b2658c}.handheld .room-head{border-bottom:0;gap:6px;padding-bottom:0}.handheld #panel[data-sheet-open] .room-head{border-bottom:1px solid var(--line);padding-bottom:8px}.handheld .room-head h2{font-size:14.5px}.handheld .room-name-text{-webkit-line-clamp:1}.handheld .room-head-buttons{gap:4px}.handheld .room-head-buttons button{border-radius:11px;justify-content:center;width:36px;height:36px;padding:0}.handheld .room-head-buttons button .icon{width:18px;height:18px}.handheld .more-menu{z-index:30;background:var(--glass-strong);border-color:var(--line-strong);overscroll-behavior:contain;scrollbar-width:thin;border-radius:16px;min-width:228px;max-width:min(320px,100vw - 16px);padding:6px;animation:.16s ease-out pop-in;display:grid;position:fixed;overflow-y:auto}#app.handheld:not([data-screen=room]) .more-menu{display:none}.handheld .more-item{text-align:left;white-space:normal;background:0 0;border:0;border-radius:10px;justify-content:flex-start;gap:12px;width:100%;min-height:44px;padding:8px 10px 8px 12px;font-size:14px}.handheld .more-item:active:not(:disabled){background:var(--glass-hover);transform:none}.handheld .more-item .icon{width:19px;height:19px;color:var(--muted)}.handheld .more-item[aria-checked=true] .icon{color:var(--kaya)}.handheld .more-label{flex:1;min-width:0;line-height:1.3}.handheld .more-state{flex:none;position:relative}.handheld .more-state.switch{background:#ffffff29;border-radius:10px;width:34px;height:20px;transition:background .15s}.handheld .more-state.switch:after{content:"";background:#d9cfbf;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px}.handheld .more-item[aria-checked=true] .more-state.switch{background:var(--accent)}.handheld .more-item[aria-checked=true] .more-state.switch:after{background:#fff;transform:translate(14px)}.handheld .more-state.radio{border-radius:50%;width:18px;height:18px;box-shadow:inset 0 0 0 2px #ffffff4d}.handheld .more-item[aria-checked=true] .more-state.radio{box-shadow:inset 0 0 0 5px var(--accent)}.handheld .more-line{border:0;border-top:1px solid var(--line);width:auto;margin:4px 10px}.handheld label>select{pointer-events:none}.handheld label:has(>select){cursor:pointer}.handheld .pick-list{z-index:60;overscroll-behavior:contain;scrollbar-width:thin;border:1px solid var(--line-strong);background:var(--glass-strong);box-shadow:var(--shadow);border-radius:14px;margin:0;padding:5px;list-style:none;animation:.12s ease-out menu-in;position:fixed;overflow-y:auto}.handheld .pick-option{cursor:pointer;border-radius:9px;outline:none;align-items:center;gap:10px;min-height:44px;padding:8px 12px;font-size:14.5px;line-height:1.3;display:flex}.handheld .pick-option:active,.handheld .pick-option:focus-visible{background:var(--glass-hover)}.handheld .pick-option>span{overflow-wrap:anywhere;flex:1;min-width:0}.handheld .pick-option[aria-selected=true]{color:var(--kaya);background:#e2b2651a;font-weight:600}.handheld .pick-option[aria-disabled=true]{opacity:.45;cursor:default}.handheld .pick-check{flex:none;width:16px;height:16px}.handheld .pick-group{letter-spacing:.04em;color:var(--muted);padding:8px 12px 4px;font-size:11.5px;font-weight:700}.handheld .players{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.handheld .player{border-width:1.5px;border-radius:12px;grid-template-columns:auto minmax(0,1fr);gap:0 8px;padding:5px 8px}.handheld .player>.stone-icon{grid-row:1/span 2;width:21px;height:21px}.handheld .player .name{font-size:13.5px}.handheld .player .who{min-width:0}.handheld .player .role{display:none}.handheld .player.me .name:after{content:none}.handheld .player .side-info{text-align:left;align-items:center;gap:9px;min-width:0;display:flex}.handheld .player .clock{font-size:13.5px}.handheld .player .clock:empty{display:none}.handheld .player .caps{align-items:center;gap:4px;display:inline-flex}.handheld .player .caps>span{display:none}.handheld .player .caps:before{content:"";border-radius:50%;width:10px;height:10px}.handheld .player[data-color="1"] .caps:before{background:#f1ebde;box-shadow:inset 0 0 0 1px #00000059}.handheld .player[data-color="2"] .caps:before{background:#141414;box-shadow:inset 0 0 0 1px #ffffff4d}.handheld .player.turn{box-shadow:0 0 0 1px #e2b26540,0 0 14px #e2b2652e}.handheld .status{justify-content:space-between;align-items:baseline;gap:8px;min-width:0;display:flex}.handheld .status-line{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;min-height:0;font-size:13.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.handheld .move-info{white-space:nowrap;flex:none;margin:0;font-size:11.5px}.handheld .actions{flex-wrap:wrap;gap:6px;display:flex}.handheld .actions>button{border-radius:12px;flex:1 1 0;min-width:52px;min-height:42px;padding:5px 4px}.handheld .actions>button.primary{flex:3 auto;font-size:14px}.handheld :is(.actions,.review-actions)>button:not(.primary)>span:not(.badge-count){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.handheld .actions>button:not(.primary) .icon{width:21px;height:21px}.handheld .actions>button[aria-pressed=true]{color:var(--kaya);background:#e2b2651f;border-color:#e2b2658c}.handheld .ready-box{gap:6px}.handheld .ready-box .section-head{display:none}.handheld .ready-rows{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.handheld .ready-row{gap:6px;padding:5px 8px;font-size:12.5px}.handheld .ready-state{font-size:0}.handheld .ready-state .icon{width:16px;height:16px}.handheld .ready-box [data-action=ready]{min-height:44px;font-size:15px}.handheld .review{border-radius:14px;gap:7px;padding:7px}.handheld .nav-buttons{gap:6px}.handheld .nav-buttons button{border-radius:12px;flex:1 1 0;justify-content:center;min-height:42px;padding:5px}.handheld .nav-buttons .icon{width:21px;height:21px}.handheld .review-move{flex:none;min-width:48px;font-size:15px}.handheld .review-slider{height:24px;margin:0}.handheld .review-actions>button{flex:1 1 0;justify-content:center;min-height:40px}.handheld .review-actions>button:not(.primary) .icon{width:20px;height:20px}.handheld .review-actions .end-review{flex:2 auto}.handheld #panel:not([data-sheet-open]) .review-actions>:is([data-review=pass],[data-review=cut],[data-review=export]){display:none!important}.handheld .result-banner{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0 10px;padding:7px 12px;display:flex}.handheld .result-banner .headline{font-size:18px}.handheld .result-banner .detail{font-size:13px}.handheld .result-banner .rating-note{flex-basis:100%;margin-top:1px;font-size:11.5px}.tool-section{display:none}.handheld .tool-section[aria-pressed=true]{color:var(--kaya);background:#e2b26533;border-color:#e2b265a6}.handheld .tools :is(.tools-live-note,.tools-keys){display:none!important}.handheld .tools-bar{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.handheld .tools-bar .tool{flex:1 1 0;justify-content:center;min-width:36px;min-height:40px;padding:5px 4px}.handheld .tools-bar .tool>span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.handheld .tools-bar .tool .icon{width:21px;height:21px}@media (width<=900px){.handheld .panel{left:8px;right:8px;bottom:max(8px, env(safe-area-inset-bottom));border-radius:20px;gap:8px;max-height:62dvh;padding:0 10px 10px}.handheld #panel[data-sheet-open]{max-height:84dvh}.handheld .sheet-handle{cursor:pointer;background:0 0;border:0;flex:none;width:100%;height:20px;margin:0 0 -6px;padding:0;display:block}.handheld .sheet-handle:before{content:"";background:#ffeccd61;border-radius:3px;width:44px;height:5px;margin:8px auto 0;display:block}.handheld .brand{display:none}.handheld .character{top:10px}.handheld .chat-dock{left:var(--sheet-left,18px);bottom:var(--sheet-head,0px);z-index:6}.handheld #panel .room-head-top{padding-left:calc(var(--dock-w,0px) + 6px)}.handheld .toast{bottom:calc(var(--sheet,0px) + 12px)}.handheld .confirm-move{bottom:calc(var(--sheet,0px) + 10px)}#app.handheld:has(#confirmMove:not([hidden])) .toast{bottom:calc(var(--sheet,0px) + 68px)}.handheld .tools{gap:6px;padding:8px}.handheld .tools-head{padding:2px 8px}.handheld .tools-head .scoring-title{font-size:13px}.handheld #tools:is([data-show-edit],[data-show-tree]){max-height:44dvh}}.handheld .dock-buttons{gap:4px}.handheld .dock-btn{min-width:36px;height:36px;min-height:36px;box-shadow:none;border-radius:11px;justify-content:center;align-items:center;padding:0 8px;display:inline-flex}.handheld .dock-btn .icon{width:18px;height:18px}.handheld .greet-toggle>span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=900px),(orientation:landscape) and (height<=600px){.handheld .tools .tool-section{display:inline-flex}.handheld #tools:not([data-show-edit]) .tools-edit,.handheld #tools:not([data-show-tree]) .tools-tree,.handheld #tools[data-live] .tool-section[data-section=tree]{display:none!important}}#app.handheld.creating .vignette{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}#app.handheld.creating :is(.tools,.tools-tab,.scoring,.chat-dock,.character,.bubbles){visibility:hidden}.handheld #creator[open]{border-radius:20px;flex-direction:column;padding:12px 14px;display:flex;overflow:hidden}.handheld #creator form{flex-direction:column;flex:1;min-height:0;display:flex}.handheld #creator h2{font-size:17px}.handheld #creator:not([data-required]) #creatorNote{display:none}.handheld #creatorNote{margin:3px 0 2px;font-size:12px;line-height:1.45}.handheld #creator .field{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;margin:8px 0;display:grid}.handheld #creator .field>span{margin:0}.handheld #creator .field input{padding:7px 10px}.handheld .creator-tabs{flex:none;margin-bottom:8px}.handheld .creator-tabs button{min-height:34px}.handheld #creatorFields{overscroll-behavior:contain;scrollbar-width:thin;flex:auto;min-height:0;margin-right:-8px;padding-right:8px;overflow-y:auto}.handheld #creator .option-grid{gap:5px;margin-bottom:10px}.handheld #creator .option-grid label>span{min-height:34px}.handheld .creator-actions{flex:none;grid-template-columns:auto minmax(0,1fr) minmax(0,1fr);margin-top:10px}.handheld .creator-actions [data-creator=random]{grid-column:auto;padding:9px 12px}.handheld .creator-actions [data-creator=random]>span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.handheld .creator-actions [data-creator=cancel][hidden]+[data-creator=save]{grid-column:span 2}@media (orientation:portrait){.handheld #creator{inset:auto 8px max(8px, env(safe-area-inset-bottom)) 8px;width:auto;height:min(50dvh,470px);max-height:none}}@media (orientation:landscape){.handheld #creator{inset:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) auto auto;width:clamp(300px,42vw,400px);height:calc(100dvh - 16px);max-height:none}}.handheld #tools[data-tree-across] .tools-tree{flex:none;min-height:0}.handheld #tools[data-tree-across] .tools-tree>.section-head{display:none}.handheld #tools[data-tree-across] .vt-scroll{flex:none;min-height:0;max-height:132px}@media (width>=901px){.handheld #panel:not([data-sheet-open]){max-height:calc(100% - 28px);bottom:auto}}@media (orientation:landscape){#app.handheld{--col-w:clamp(280px, calc(100vw - 100dvh - 16px), 420px)}.handheld .panel{top:max(8px, env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right));width:var(--col-w);border-radius:18px;gap:7px;max-height:calc(100% - 16px);padding:8px 10px 10px;bottom:auto;left:auto}.handheld #panel[data-sheet-open]{bottom:max(8px, env(safe-area-inset-bottom));z-index:8;max-height:none}.handheld .sheet-handle{display:none}.handheld .panel .room-head{margin:-8px -10px 0;padding:8px 10px}.handheld .brand{display:none}.handheld .character{top:max(8px, env(safe-area-inset-top));left:max(8px, env(safe-area-inset-left))}.handheld :is(.tools,.scoring){top:calc(var(--panel-bottom,88px) + 8px);right:max(8px, env(safe-area-inset-right));width:var(--col-w);max-height:calc(100% - var(--panel-bottom,88px) - 16px);border-radius:16px;bottom:auto;left:auto}.handheld #tools{grid-template-columns:minmax(0,1fr) auto;align-content:start;gap:7px 6px;padding:8px;display:grid}.handheld #tools>*{grid-column:1/-1}.handheld .tools-head{display:contents}.handheld .tools-head>:not(.tools-fold){display:none}.handheld #tools>.tools-bar{grid-area:1/1;gap:4px}.handheld .tools-bar .tool{min-width:0;padding:5px 2px}.handheld .tools-fold{grid-area:1/2;align-self:center;min-width:36px;min-height:36px}.handheld .tools-fold .icon{transform:rotate(180deg)}.handheld .tools-note{display:none}.handheld .review{grid-template-columns:minmax(0,1fr) auto;grid-auto-flow:dense;align-items:center}.handheld .review>*{grid-column:1/-1}.handheld .review>.review-slider{grid-column:1}.handheld .review>.review-actions{flex-wrap:nowrap;grid-column:2}.handheld #panel[data-sheet-open] .review>:is(.review-slider,.review-actions){grid-column:1/-1}.handheld #panel[data-sheet-open] .review-actions>button{flex:1 1 0}.handheld .review-actions>button,.handheld .review-actions .end-review{flex:none;min-width:44px;padding:0 12px}.handheld .review-actions .end-review>span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.handheld #tools[data-analyzing] .tools-analyzer{order:0}.handheld #tools .tools-edit{order:1}.handheld #tools .tools-tree{order:2}.handheld .tools-tab{top:calc(var(--panel-bottom,88px) + 8px);right:max(8px, env(safe-area-inset-right));left:auto}.handheld .tools-tab .icon:last-child{transform:rotate(180deg)}.handheld .chat-dock{top:var(--sheet-top,16px);left:var(--sheet-left,auto);z-index:9;flex-direction:column-reverse;bottom:auto}.handheld :is(.chat-panel,.greet-menu){width:calc(var(--col-w) - 20px)}.handheld .chat-log{height:min(150px,100dvh - 190px)}.handheld #panel .room-head-top{padding-left:calc(var(--dock-w,0px) + 6px)}.handheld :is(.toast,.confirm-move){left:auto;right:max(8px, env(safe-area-inset-right));max-width:var(--col-w);transform:none}.handheld .toast{bottom:8px}.handheld .toast.show{animation:.2s ease-out pop-in}.handheld .confirm-move{animation:none;bottom:8px}#app.handheld:has(#confirmMove:not([hidden])) .toast{bottom:66px}}
