:root{--material-piece-edge:#a17b48;--material-piece-face:#f2dfb5;--material-piece-rim:#f9e9c9;--z-board:0;--z-board-lines:1;--z-piece:2;--z-move:60;--z-interaction:65;--z-skill:70;--z-overlay:80;--z-skill-title:90;--z-modal:100;--z-checkmate:220}.app.app{--muted:#53645c;color:var(--ink);background:radial-gradient(ellipse at 50% 48%,transparent 42%,#12202a10),var(--material-stage-surface)}.app.app .board-frame{background:var(--material-board-frame);border-color:var(--material-board-frame-edge);box-shadow:var(--material-board-outer-shadow),0 var(--material-board-edge-depth) 0 var(--material-board-frame-edge),inset 0 1px 0 var(--material-board-frame-highlight),inset 0 -2px 0 #0003;position:relative}.app.app .board-frame:before{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(var(--material-board-frame-highlight),var(--material-board-frame-highlight)) left top/14px 1px no-repeat, linear-gradient(var(--material-board-frame-highlight),var(--material-board-frame-highlight)) right top/14px 1px no-repeat, linear-gradient(var(--material-board-frame-edge),var(--material-board-frame-edge)) left bottom/14px 1px no-repeat, linear-gradient(var(--material-board-frame-edge),var(--material-board-frame-edge)) right bottom/14px 1px no-repeat;position:absolute;inset:0}.app.app .board{background:var(--material-board-surface-texture),var(--material-board-surface);border-color:var(--material-board-frame-edge);box-shadow:var(--material-board-inner-shadow)}.app.app .board:before{content:"";pointer-events:none;z-index:var(--z-board);background:radial-gradient(at 22% 9%,#fff1,#0000 56%);position:absolute;inset:0}.app.app .board-frame:after{content:"";border-radius:inherit;pointer-events:none;box-shadow:0 0 18px 2px var(--material-board-ambient-glow);position:absolute;inset:-3px}.app.app .board-shell[data-turn=red]{--turn-ambient:#9e472016}.app.app .board-shell[data-turn=black]{--turn-ambient:#465b7916}.app.app .board-shell .board-frame:after{background:linear-gradient(180deg,transparent 96%,var(--turn-ambient))}.app.app .board-lines{z-index:var(--z-board-lines)}.app.app .board-points{z-index:var(--z-piece)}.app.app .board-strokes,.app.app .board-stars{stroke:var(--material-board-line-color)}.app.app .board-lines{filter:drop-shadow(.5px .6px 0 var(--material-board-line-highlight))}.app.app .river-lettering{fill:var(--material-board-line-color);letter-spacing:10px;font-family:KaiTi,STKaiti,"FangSong",SimSun,serif}.app.app .board .scene-art{opacity:.65}.piece.piece.piece{box-shadow:var(--material-piece-shadow,0 3px 0 #201b1933,2px 5px 5px #16202b30)}.piece.piece:before{content:"";pointer-events:none;background:radial-gradient(ellipse at 26% 17%,var(--material-piece-highlight,#fffaf070),transparent 52%);border-radius:50%;position:absolute;inset:4% 5% 8%}.piece.piece[data-visibility=revealed] .piece-depth{fill:var(--material-piece-edge)}.piece.piece[data-visibility=revealed] .piece-face{fill:var(--material-piece-face);stroke:var(--material-piece-edge)}.piece.piece[data-visibility=revealed] .piece-face-rim{fill:var(--material-piece-rim);stroke:var(--material-piece-edge)}.piece.piece .piece-glyph{filter:drop-shadow(.3px .6px #fffa)}.piece.piece .piece-face-ring{stroke-width:1.3px;opacity:.66}.app.app .point>.piece{box-shadow:var(--material-piece-shadow)}.app.app .point--selected>.piece{outline:2px solid var(--board-move);outline-offset:1px;box-shadow:0 0 0 3px var(--material-piece-selected-glow),3px 7px 8px #15212d45,inset 0 1px 0 var(--material-piece-highlight);transform:none}.app.app .point--selected>.piece:before{opacity:1;background:radial-gradient(at 26% 17%,#fff9,#0000 57%)}.app.app .move-dot{width:var(--move-marker-size);box-shadow:0 0 0 3px color-mix(in srgb,var(--board-move) 13%,transparent),0 0 0 4px #fff5}.app.app .point--capture:after{border-width:1.5px;border-color:var(--board-capture);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--board-capture) 10%,transparent);inset:5%}.app.app .point--checked>.piece{outline-color:var(--board-capture);box-shadow:0 0 0 2px color-mix(in srgb,var(--board-capture) 20%,transparent),var(--material-piece-shadow)}.app.app .selection-panel,.app.app .feedback-panel,.app.app .operations-panel,.app.app .event-panel,.app.app .history-panel{border-color:color-mix(in srgb,var(--surface-border) 45%,transparent);box-shadow:0 2px 7px #17202a08}.app.app .captured{background:var(--material-tray-surface);box-shadow:inset 0 2px 4px #201a181c,inset 0 -1px #fff7}.app.app .chat-bubble{box-shadow:0 3px 8px #15212a1c}.app.app[data-terminal-stage=intro] .board-frame:after{background:#0d172516}.presentation-overlay{z-index:var(--z-move)}.interaction-overlay{z-index:var(--z-interaction)}.expanded-skill-overlay{z-index:var(--z-skill)}.special-action-scene{z-index:var(--z-skill-title)}.move-error-toast{z-index:var(--z-overlay)}.checkmate-scene{z-index:var(--z-checkmate)}.flying-token[data-landing=true]>.piece{animation:.1s ease-out both material-land}@keyframes material-land{0%{box-shadow:3px 7px 8px #15212d40}to{box-shadow:var(--material-piece-shadow)}}@media (hover:hover) and (pointer:fine){.app.app .point[data-hover-state=HOVER_SELECTABLE_PIECE]:not(:disabled):hover>.piece{filter:none;box-shadow:var(--material-piece-shadow),inset 0 1px 0 var(--material-piece-hover-glow)}.app.app .point[data-hover-state=HOVER_LEGAL_TARGET]:not(:disabled):hover{background:color-mix(in srgb,var(--board-move) 4%,transparent)}.app.app .point[data-target=capture][data-hover-state=HOVER_LEGAL_TARGET]:not(:disabled):hover{background:color-mix(in srgb,var(--board-capture) 3%,transparent)}.app.app .point[data-target=capture][data-hover-state=HOVER_LEGAL_TARGET]:not(:disabled):hover:after{box-shadow:0 0 0 2px color-mix(in srgb,var(--board-capture) 18%,transparent)}}@media (width<=900px),(pointer:coarse){.app.app .board-frame{--material-board-edge-depth:2px;--material-board-outer-shadow:0 7px 12px -8px #12212a50}.app.app .board-frame:after{box-shadow:0 0 9px var(--material-board-ambient-glow)}.app.app .board-lines,.piece.piece .piece-glyph{filter:none}.app.app .board .scene-art{opacity:.45}.piece.piece.piece,.app.app .point>.piece{box-shadow:0 2px #201b1926,1px 3px 3px #16202b28}.app.app .point--selected>.piece{box-shadow:0 0 0 2px var(--material-piece-selected-glow),1px 4px 4px #15212d36}.app.app .game-sidebar{-webkit-backdrop-filter:none;backdrop-filter:none}}@media (width<=900px) and (height<=670px){.app.app .board-frame:after{box-shadow:none}.app.app .board .scene-art{opacity:.3}}@media (prefers-reduced-motion:reduce){.flying-token[data-landing=true]>.piece{animation:none}}:root{--motion-instant:70ms;--motion-fast:.15s;--motion-normal:.26s;--motion-slow:.48s;--motion-cinematic:1s;--ease-standard:cubic-bezier(.2,.65,.35,1);--ease-emphasized:cubic-bezier(.16,.76,.27,1);--ease-piece:cubic-bezier(.22,.7,.3,1);--ease-panel:cubic-bezier(.2,.8,.25,1);--ease-exit:cubic-bezier(.4,0,1,1);--cinematic-ink:#263c37;--cinematic-surface:#fff9ed;--cinematic-bronze:#a78652;--cinematic-light:#fff8de90;--cinematic-shadow:#15202b35;--cinematic-radius:14px;--fx-intensity:.65;--fx-duration:1s;--fx-impact:.62s;--font-display:"STKaiti","KaiTi","FangSong",serif}[data-board-theme=classic]{--world-reflection:#c7965230;--world-accent:#a27c46;--world-danger:#a54832;--world-texture:repeating-linear-gradient(7deg,#79512607 0 1px,transparent 1px 23px)}[data-board-theme=dark]{--world-reflection:#b2864920;--world-accent:#bb955c;--world-danger:#cb7958;--world-texture:repeating-linear-gradient(91deg,#d4b08605 0 2px,transparent 2px 31px)}[data-board-theme=paper]{--world-reflection:#80816d12;--world-accent:#80704f;--world-danger:#985141;--world-texture:repeating-linear-gradient(137deg,#75827006 0 1px,transparent 1px 7px)}[data-board-theme=modern]{--world-reflection:#587c661b;--world-accent:#587664;--world-danger:#9c5347;--world-texture:linear-gradient(115deg,transparent 43%,#73887807 44%,transparent 45%)}[data-board-theme=cosmos]{--world-reflection:#6b749b28;--world-accent:#9097ba;--world-danger:#b8879d;--world-texture:radial-gradient(circle at 39% 18%,#cad4f52b 0 .7px,transparent 1px),radial-gradient(circle at 81% 59%,#d5cae520 0 .5px,transparent 1px)}[data-board-theme=volcano]{--world-reflection:#b5653929;--world-accent:#bb815d;--world-danger:#d97750;--world-texture:linear-gradient(32deg,transparent 64%,#e79c6b0c 65%,transparent 66%),linear-gradient(147deg,transparent 19%,#ba6c480c 20%,transparent 21%)}[data-board-theme=snow]{--world-reflection:#6f9dae24;--world-accent:#779caa;--world-danger:#846984;--world-texture:linear-gradient(37deg,transparent 56%,#fff5 57%,transparent 58%),linear-gradient(117deg,transparent 27%,#a8c8cc0a 28%,transparent 29%)}.app.app .board:before{background:radial-gradient(ellipse at 18% 8%,#fff2,transparent 52%),radial-gradient(ellipse at 77% 81%,#10191c0c,transparent 50%),var(--world-texture)}.app.app .board-frame{box-shadow:0 18px 32px -18px #101b2766,0 5px 7px -4px #101b2752,0 var(--material-board-edge-depth) 0 var(--material-board-frame-edge),inset 0 1px 0 var(--material-board-frame-highlight),inset -1px -2px 0 #0003}.app.app .board-frame:before{opacity:.72}.app.app .board-shell .board-frame:after{background:linear-gradient(180deg,transparent 95%,var(--world-reflection));box-shadow:0 2px 18px var(--material-board-ambient-glow)}.app.app .river-lettering{font-family:var(--font-display);opacity:.85}.piece.piece:before{background:radial-gradient(ellipse at 26% 17%,var(--material-piece-highlight,#fff8df70),transparent 51%),linear-gradient(135deg,#fff1,transparent 42%,#241a160b)}.piece.piece:after{content:"";pointer-events:none;border-radius:50%;position:absolute;inset:9% 10% 14%;box-shadow:inset 0 1px #fff4,inset -1px -1px #493d291a}.piece.piece .piece-face-ring{opacity:.58;stroke-width:1.25px}.piece.piece .piece-glyph{text-shadow:0 .3px #fff8}.piece.piece .piece-back-ring{opacity:.7;stroke-width:1.2px}.app.app .point--selected>.piece{transition:box-shadow var(--motion-instant) var(--ease-standard),outline-color var(--motion-instant)}.app.app .point--skill-locked>.piece{box-shadow:0 0 0 3px #a5935a1c,var(--material-piece-shadow);outline:1.5px solid #aa9565}.flying-token{filter:none}.cinematic-landing{opacity:0;animation:cinematic-land var(--fx-duration) linear both;pointer-events:none;border:1px solid #bc9a6955;border-radius:50%;position:absolute;inset:-9%}@keyframes cinematic-land{0%,70%{opacity:0;transform:scale(.87)}82%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(1.16)}}.capture-reveal-token[data-phase=in]>.piece{animation:cinematic-reveal-light .38s var(--ease-emphasized) both}.capture-reveal-token[data-phase=hold]>.piece{box-shadow:0 0 0 1px #dbc29799,var(--material-piece-shadow)}.app .point--reveal>.piece[data-visibility=revealed]:before{animation:cinematic-reveal-light var(--motion-slow) var(--ease-emphasized) both}@keyframes cinematic-reveal-light{0%{box-shadow:0 0 #d2b27600}35%{box-shadow:0 0 0 4px #d2b27645}to{box-shadow:var(--material-piece-shadow)}}.board-shell[data-fx=CHECK] .board-frame:after,.board-shell[data-fx=SELF_CHECK] .board-frame:after{animation:.7s ease-out both cinematic-check-ambient}@keyframes cinematic-check-ambient{0%,to{background:#12203200}18%{background:#1220320e}}.app .point--checked>.piece{outline-color:var(--world-danger,var(--board-capture))}.app .board--shaking .point--checked>.piece{animation:.7s ease-out cinematic-danger}@keyframes cinematic-danger{0%,to{outline-offset:2px}32%{outline-offset:3px;box-shadow:0 0 0 3px color-mix(in srgb,var(--world-danger,var(--board-capture)) 18%,transparent),var(--material-piece-shadow)}}.app .board-banner{font-family:var(--font-display);letter-spacing:.14em;text-shadow:0 1px #fff8;-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff5;font-size:clamp(22px,3.1vw,32px)}.special-action-scene{animation:cinematic-dim var(--motion-fast) ease-out both;background:radial-gradient(#0000 20%,#111b2b38)}.special-action-scene .special-action-panel{border-radius:var(--cinematic-radius);border-width:1px;animation-name:cinematic-title;box-shadow:0 20px 45px -16px #080f2066,inset 0 1px #fff2}.special-action-panel i{border-color:#dac38a30;border-radius:8px;inset:7px}.special-action-panel strong{letter-spacing:.08em;line-height:1.25}.special-action-panel .skill-ornament{opacity:.55}@keyframes cinematic-title{0%,12%{opacity:0;transform:translateY(7px)}22%,78%{opacity:1;transform:none}to{opacity:0;transform:translateY(-3px)}}@keyframes cinematic-dim{0%{opacity:0}to{opacity:1}}.cinematic-skill-art{pointer-events:none;color:#c6a96d;isolation:isolate;position:absolute;inset:-25%}.cinematic-skill-sigil{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;opacity:.8;width:100%;height:100%;animation:cinematic-sigil var(--fx-duration) var(--ease-emphasized) both;overflow:visible}.cinematic-skill-burst{animation:cinematic-burst-arrive var(--fx-impact) linear both;position:absolute;top:50%;left:50%}.cinematic-particle{width:3px;height:3px;animation:cinematic-particle var(--motion-slow) var(--ease-standard) var(--fx-impact) both;background:currentColor;border-radius:50%;position:absolute}@keyframes cinematic-particle{0%{opacity:0;transform:translate(0)}15%{opacity:.7}to{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--spin))}}@keyframes cinematic-burst-arrive{0%,99%{visibility:hidden}to{visibility:visible}}@keyframes cinematic-sigil{0%{opacity:0;transform:scale(.7)}24%,65%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(1.05)}}.cinematic-skill-art--strike{color:#ca9c56}.cinematic-skill-art--strike .dragon-rush{stroke-width:3px;stroke-dasharray:210;animation:cinematic-dragon var(--fx-duration) var(--ease-emphasized) both}@keyframes cinematic-dragon{0%{stroke-dashoffset:210px;opacity:0}30%{opacity:1}to{stroke-dashoffset:0;opacity:0}}.cinematic-skill-art--deploy{color:#8ebbc7}.sky-beam{fill:#b6dde917;stroke-width:1px;animation:cinematic-beam var(--fx-duration) ease-out both}@keyframes cinematic-beam{0%,12%{opacity:0}48%{opacity:1}to{opacity:0}}.cinematic-skill-art--retreat,.cinematic-skill-art--return{color:#c4a56a}.cicada-wings{animation:cinematic-wings var(--fx-duration) var(--ease-piece) both;transform-origin:50%}.cinematic-skill-art--return .cicada-wings{animation-direction:reverse}@keyframes cinematic-wings{0%{opacity:0;transform:scaleX(.5)}28%{opacity:.8;transform:scaleX(1)}to{opacity:0;transform:scaleX(1.15)}}.empty-shell{stroke-dasharray:3 4;opacity:.4}.cinematic-skill-art--shift{color:#b5a784}.cinematic-skill-art--shift .cinematic-skill-sigil{animation:cinematic-taiji var(--fx-duration) var(--ease-piece) both}@keyframes cinematic-taiji{0%{opacity:0;transform:rotate(-30deg)scale(.8)}45%{opacity:.6}to{opacity:0;transform:rotate(90deg)scale(1)}}.cinematic-skill-art--thunder{color:#a6b7d7}.thunder-bolt{fill:#dce8fa55;animation:cinematic-thunder var(--fx-duration) linear both}.thunder-charge{stroke-dasharray:2 3;opacity:.5}@keyframes cinematic-thunder{0%,30%{opacity:0}38%,44%{opacity:1}51%,to{opacity:0}}.cinematic-skill-art--convert{color:#bfa875}.cinematic-conversion-face{position:absolute;inset:0}.cinematic-conversion-face>.piece{width:100%;height:100%}.side-flag--red{stroke:#b55d4a;animation:cinematic-flag-red var(--fx-duration) var(--ease-piece) both}.side-flag--black{stroke:#465467;animation:cinematic-flag-black var(--fx-duration) var(--ease-piece) both}@keyframes cinematic-flag-red{0%{opacity:0;transform:translate(-14px)}35%{opacity:.9}to{opacity:0;transform:translate(15px)}}@keyframes cinematic-flag-black{0%{opacity:0;transform:translate(14px)}35%{opacity:.9}to{opacity:0;transform:translate(-15px)}}.cinematic-skill-art--resurrect{color:#81b49c}.soul-fire{fill:#77ae8d22;animation:cinematic-soul var(--fx-duration) var(--ease-piece) both}.soul-circle{stroke-dasharray:4 3}@keyframes cinematic-soul{0%{opacity:0;transform:translateY(12px)}35%{opacity:.8}to{opacity:0;transform:translateY(-8px)}}.cinematic-skill-art--lock{color:#b19a63}.gate-lock{animation:cinematic-gate var(--fx-duration) var(--ease-piece) both;transform-origin:60px 60px}@keyframes cinematic-gate{0%{opacity:0;translate:0 -8px}55%{opacity:.8;translate:0}to{opacity:0;translate:0}}.lock-ring{opacity:.6}.expanded-skill-mark{display:none}.cinematic-skill-art[data-motion=reduced] *{animation:none;transform:none}.cinematic-skill-art[data-motion=reduced] .cinematic-skill-sigil{opacity:.48}.checkmate-scene[data-scene-stage=intro]{animation:4s linear both cinematic-mate-veil}.checkmate-scene[data-scene-stage=intro] .checkmate-scene__art{animation-delay:.28s}.checkmate-scene[data-scene-stage=intro] .checkmate-scene__heading{animation:cinematic-mate-heading 3.4s var(--ease-emphasized) .6s both}@keyframes cinematic-mate-heading{0%{opacity:0;transform:translate(-50%,-50%)translateY(6px)}26%,86%{opacity:1;transform:translate(-50%,-50%)}to{opacity:0;transform:translate(-50%,-50%)}}.checkmate-scene__title{font-family:var(--font-display);letter-spacing:.18em;text-shadow:0 2px 1px #19140d20;padding-left:.18em}.checkmate-scene__general-focus{box-shadow:0 0 0 2px #c0845c66,0 0 16px #653f3820}@keyframes cinematic-mate-veil{0%,7%{opacity:0}19%,88%{opacity:1}to{opacity:0}}.checkmate-scene[data-motion=reduced]{animation:.18s ease-out both checkmate-scene-arrive}.checkmate-scene[data-motion=reduced] .checkmate-scene__art,.checkmate-scene[data-motion=reduced] .checkmate-scene__heading{animation:none}.home,.room-shell,.auth-card,.history-view,.profile-panel,.app.app{animation:cinematic-route var(--motion-normal) var(--ease-panel) both}@keyframes cinematic-route{0%{opacity:0}to{opacity:1}}.modal,.modal.modal--checkmate,.social-panel,.private-skill-panel{animation:cinematic-panel var(--motion-normal) var(--ease-panel) both}@keyframes cinematic-panel{0%{opacity:0}to{opacity:1}}.modal-backdrop{animation:cinematic-dim var(--motion-fast) ease-out both;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--surface-elevated,var(--cinematic-surface));box-shadow:0 20px 48px -12px #111b2755,inset 0 1px #fff6}.app .modal--result{background:linear-gradient(135deg,#fff6,transparent 65%),var(--material-tray-surface);border-color:color-mix(in srgb,var(--material-board-frame-edge) 35%,transparent)}.result-winner{color:var(--ink);justify-items:center;gap:8px;margin:12px 0;display:grid}.result-winner .account-avatar{border:1px solid var(--material-piece-edge);box-shadow:inset 0 1px #fff8,0 3px 5px #15202b20}.button,.ui-icon-button.icon-button{transition:background-color var(--motion-instant),box-shadow var(--motion-instant),border-color var(--motion-instant)}.button:active,.ui-icon-button.icon-button:active{transform:none;box-shadow:inset 0 2px 3px #16202b20}.chat-bubble{animation:cinematic-bubble var(--motion-fast) var(--ease-panel) both;color:var(--chat-text,#111719);background-image:linear-gradient(138deg,#fff4,#0000 65%);box-shadow:0 4px 10px -3px #15202a25,inset 0 1px #fffc}@keyframes cinematic-bubble{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.account-avatar{box-shadow:inset 0 1px #fff5,0 2px 3px #15202a24}.home[data-board-theme=classic]{background:#16211d}.home[data-board-theme=dark]{background:#201c19}.home[data-board-theme=paper]{background:#292a23}.home[data-board-theme=modern]{background:#182b28}.home[data-board-theme=cosmos]{background:#151b2c}.home[data-board-theme=volcano]{background:#291e1a}.home[data-board-theme=snow]{background:#1c2c34}.home .hero-art{box-shadow:0 25px 50px -25px #0005,inset 0 1px #fff2}.room-app[data-board-theme] .room-card{border-color:color-mix(in srgb,var(--lobby-accent) 18%,transparent);box-shadow:0 8px 24px -12px #0005,inset 0 1px #fff1}.identity-auth .auth-card{box-shadow:0 20px 44px -12px #0006,inset 0 1px #fff2}.app[data-cinematic=SPECIAL_TITLE] :is(.game-sidebar,.game-information){opacity:.85;transition:opacity var(--motion-fast)}.app[data-terminal-stage=intro] :is(.game-sidebar,.game-information){opacity:.82;transition:opacity var(--motion-normal)}.profile-bar[data-connected=false] .account-avatar{filter:grayscale(.65)}.friend-badge{animation:cinematic-badge var(--motion-slow) ease-out 1}@keyframes cinematic-badge{0%{box-shadow:0 0 0 3px #b45c3b26}to{box-shadow:0 0 #0000}}[data-kind=WATER] .interaction-projectile:before{content:"";background:linear-gradient(90deg,#0000,#84d5e56b);border-radius:70%;position:absolute;inset:12px 29px 10px -22px}[data-kind=WATER] .interaction-residue{background:radial-gradient(at 30% 20%,#efffff75,#65bed333 62%,#0000 68%);border-radius:46% 55% 52% 39%}[data-kind=ROSE] .interaction-fragment{animation-name:cinematic-petal}@keyframes cinematic-petal{0%{opacity:0;transform:scale(.35)}20%{opacity:.9}65%{transform:translate(calc(var(--dx)*.65),calc(var(--dy)*.4)) rotate(calc(var(--spin)*.6))}to{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--spin)) scale(.7)}}[data-kind=HEART] .interaction-residue{width:48px;height:48px;top:-24px;left:-24px}.interaction-ripple{opacity:.6;border-width:1px}@media (width<=900px),(pointer:coarse){:root{--fx-intensity:.5}.app.app .board-frame{box-shadow:0 8px 14px -9px #101b2755,0 2px 0 var(--material-board-frame-edge),inset 0 1px var(--material-board-frame-highlight)}.app.app .board-frame:after{box-shadow:0 2px 8px var(--material-board-ambient-glow)}.modal-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}.cinematic-particle:nth-child(n+13){display:none}.piece.piece .piece-glyph{filter:none}}@media (prefers-reduced-motion:reduce){.home,.room-shell,.auth-card,.history-view,.profile-panel,.app.app,.modal,.social-panel,.private-skill-panel,.chat-bubble{animation:.1s linear both cinematic-route}.cinematic-particle,.cinematic-landing{display:none}.cinematic-skill-art *,.capture-reveal-token>.piece,.app .point--reveal>.piece:before{animation:none}}.app[data-motion=reduced] .cinematic-landing{display:none}.modal[data-motion=reduced]{animation:.1s linear both cinematic-route}.special-action-scene[data-motion=reduced] .special-action-panel{animation-name:special-title-soft}:root{--game-gold:#d4b478;--game-gold-light:#f0ddac;--game-ink:#14231e;--game-surface:#15231eee;--game-paper:#ede2c9;--game-heading:"KaiTi","STKaiti","FangSong","SimSun",serif;--game-radius:5px;--game-border:#c6a87770;--game-ease:cubic-bezier(.2,.8,.2,1)}[data-board-theme=dark]{--game-surface:#211b17ed;--game-gold:#cda477;--game-paper:#eee1c9}[data-board-theme=paper]{--game-surface:#20261fed;--game-gold:#c6ba92;--game-paper:#f1eddc}[data-board-theme=modern]{--game-surface:#142922ed;--game-gold:#9dc6b3;--game-paper:#e5ebdc}[data-board-theme=cosmos]{--game-surface:#172039ed;--game-gold:#b7bad7;--game-paper:#e5e4ef}[data-board-theme=volcano]{--game-surface:#2a1d17ed;--game-gold:#daa780;--game-paper:#eadbc8}[data-board-theme=snow]{--game-surface:#162b35ed;--game-gold:#acd0da;--game-paper:#e4edef}.premium-environment{z-index:0;pointer-events:none;contain:paint;background:#12201e;position:absolute;inset:0;overflow:hidden}.premium-environment picture,.premium-environment img{width:100%;height:100%;display:block;position:absolute;inset:0}.premium-environment img{object-fit:cover;object-position:50% 50%}.environment-shade{background:linear-gradient(90deg,#07150f30,#09171020 40%,#07131080),linear-gradient(#0a1b1455,#0000 57%,#081710c4);position:absolute;inset:0}[data-scene=hall] .environment-shade{background:linear-gradient(90deg,#090f1770,#0c162020 50%,#090f1780),linear-gradient(#0000 35%,#080f1ad6)}[data-scene=study] .environment-shade{background:linear-gradient(90deg,#17150b30,#17150b24 45%,#15150d70),linear-gradient(#0000 40%,#0d180fe0)}.environment-mist{opacity:.15;background:radial-gradient(at 20% 60%,#f2e3bb44,#0000 35%);animation:12s ease-in-out premium-environment-breathe;position:absolute;inset:25% -5% 5%}.premium-environment[data-opening=true]{animation:.8s ease-out both premium-scene-in}.brand-sigil{width:80px;height:80px;color:var(--game-gold);filter:none;flex:none}.brand-sigil-frame{fill:#18291ed6;stroke:currentColor;stroke-width:1.2px}.brand-sigil-ink{fill:none;stroke:currentColor;stroke-width:3px;stroke-linejoin:round;stroke-linecap:square}.brand-sigil-dot{fill:#a33b2b}.brand-sigil--compact{width:40px;height:40px}.home.home.premium-home{isolation:isolate;color:#f3e9d0;background:#11231c;grid-template-rows:auto 1fr auto;width:100%;max-width:none;height:100dvh;min-height:640px;padding:22px clamp(24px,5vw,80px) 16px;display:grid;position:relative;overflow:auto}.premium-home .home-header,.premium-main-menu,.premium-home .home-footer{z-index:1;position:relative}.premium-home .home-header{border-bottom:1px solid #dac49540;justify-content:space-between;align-items:center;gap:20px;min-height:58px;margin:0;padding:0 0 14px;display:flex}.home-brand{letter-spacing:.14em;color:#eee1bd;align-items:center;gap:12px;font-size:14px;display:flex}.premium-home .home-header nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;font-size:12px;display:flex}.premium-home .home-header nav strong{text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:14px;overflow:hidden}.premium-home .home-header nav small{color:#c4cbbd}.premium-main-menu{grid-template-columns:minmax(320px,1fr) minmax(390px,.92fr);align-items:center;gap:7vw;width:min(1260px,100%);min-height:0;margin:auto;padding:38px 0;display:grid}.premium-brand-copy{text-shadow:0 2px 8px #0008;align-self:center}.premium-brand-copy .hero-kicker{letter-spacing:.32em;color:var(--game-gold-light);font-size:13px}.premium-brand-copy h1{font:500 clamp(58px,6.4vw,96px)/1.04 var(--game-heading);letter-spacing:.12em;color:#fff1cb;margin:20px 0}.premium-brand-copy h1>span{display:block}.premium-brand-copy h1>span:last-child{align-items:center;gap:24px;display:flex}.premium-brand-copy h1 i{font:500 17px/1.4 var(--game-heading);color:#d99b74;letter-spacing:.2em;border:1px solid #b16549;padding:9px 7px;font-style:normal;display:inline-block;box-shadow:inset 0 0 0 3px #271d1540}.premium-brand-copy .hero-subtitle{color:#e5d6b6;margin:16px 0;font-size:15px;line-height:1.7}.premium-brand-copy .hero-description{color:#d6d9ca;margin:22px 0 16px;font-size:15px;line-height:1.9}.premium-brand-rule{max-width:260px;color:var(--game-gold);align-items:center;gap:14px;font-size:12px;display:flex}.premium-brand-rule>span{background:linear-gradient(90deg,transparent,var(--game-gold),transparent);flex:1;height:1px}.premium-menu-actions{border:1px solid var(--game-border);background:linear-gradient(130deg,#13231ef0,#14221bbf);border-radius:4px;padding:22px;position:relative;box-shadow:0 20px 60px #0005,inset 0 0 0 5px #ddc29408}.premium-main-menu--modes .premium-menu-actions{background:linear-gradient(130deg,#0f1d2ad9,#142131e8)}.premium-menu-heading{align-items:center;gap:14px;margin-bottom:20px;display:flex}.premium-menu-heading>span{font:500 30px var(--game-heading);width:52px;height:52px;color:var(--game-gold-light);border:1px solid #dac49566;place-items:center;display:grid}.premium-menu-heading small{color:#b2c1b9;letter-spacing:.12em;font-size:12px}.premium-menu-heading h2{font:500 26px var(--game-heading);letter-spacing:.2em;color:#f8eacb;margin:5px 0 0}.premium-mode-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.premium-utility-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.premium-utility-grid>.game-menu-tile:only-child{grid-column:1/-1}.game-menu-tile.game-menu-tile{text-align:left;border:1px solid var(--game-border);color:#f7edda;cursor:pointer;min-width:0;min-height:92px;font:inherit;background:linear-gradient(130deg,#172b2af2,#0e1c24f2);border-radius:3px;padding:18px;transition:border-color .15s,box-shadow .15s,background .15s;display:block;position:relative;overflow:hidden;box-shadow:inset 0 1px #f4e4b21a,0 5px 8px #0002}.game-menu-tile:before{content:"";pointer-events:none;clip-path:polygon(0 0,24px 0,24px 1px,calc(100% - 24px) 1px,calc(100% - 24px) 0,100% 0,100% 24px,calc(100% - 1px) 24px,calc(100% - 1px) calc(100% - 24px),100% calc(100% - 24px),100% 100%,calc(100% - 24px) 100%,calc(100% - 24px) calc(100% - 1px),24px calc(100% - 1px),24px 100%,0 100%);border:1px solid #d4b47820;position:absolute;inset:5px}.game-menu-tile--mode{height:260px;padding:16px!important}.mode-illustration{transform-origin:50%;width:100%;height:145px;transition:transform .3s var(--game-ease);display:block;position:relative;overflow:visible}.mode-terrain{fill:#0b191a}.mode-table,.mode-player{fill:#263f37;stroke:#c4a372;stroke-width:1.5px;stroke-linejoin:round}.mode-grid{fill:none;stroke:#d8bd87;stroke-width:1.2px;opacity:.7}.mode-copper{fill:#e1c183;stroke:#87683d;stroke-width:1px}.mode-pavilion{fill:#213a39;stroke:#c1aa7b;stroke-width:1.5px}.mode-bridge{fill:none;stroke:#b29c6e;stroke-width:2px}.game-menu-tile[data-cover=online]{background:linear-gradient(125deg,#1b2939,#172e31)}.game-menu-tile:has([data-cover=online]){background:linear-gradient(125deg,#1b2939,#172e31)}.menu-tile-copy{gap:7px;display:grid;position:relative}.menu-tile-index{letter-spacing:.25em;color:#bda982;font-size:10px}.menu-tile-copy strong{font:600 23px var(--game-heading);letter-spacing:.1em;color:#f7e5c1}.menu-tile-description{color:#c4cfbf;font-size:12px;line-height:1.5}.menu-tile-arrow{color:var(--game-gold);font-size:19px;position:absolute;bottom:17px;right:15px}.premium-utility-grid .game-menu-tile{min-height:80px;padding:14px}.premium-utility-grid .menu-tile-index{display:none}.premium-utility-grid strong{font-size:17px}.premium-utility-grid .menu-tile-description{font-size:11px}.premium-guest-tile.game-menu-tile--mode{width:100%;height:220px}.premium-guest-tile .mode-illustration{opacity:.85;width:64%;height:160px;position:absolute;top:10px;right:10px}.premium-guest-tile .menu-tile-copy{position:absolute;bottom:24px;left:22px}.premium-guest-tile strong{font-size:30px}.premium-identity-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:14px;display:grid}.premium-menu-note{color:#c6ccb9;line-height:1.6;margin:16px 0 0!important;font-size:12px!important}.premium-home .home-footer{color:#becbb7;border-top:1px solid #d0b48735;justify-content:space-between;gap:10px;margin:0;padding:12px 0 0;font-size:11px;display:flex}.premium-home[data-opening=true] .premium-brand-copy{animation:.8s 80ms both premium-scene-in}.premium-home[data-opening=true] .premium-menu-actions{animation:.7s .2s both premium-scene-in}.game-button.game-button{border:1px solid var(--game-border);border-radius:var(--game-radius);min-height:44px;font:inherit;color:#eee3c9;cursor:pointer;background:linear-gradient(#263c34,#172a23);justify-content:center;align-items:center;gap:10px;padding:10px 17px;font-size:14px;font-weight:600;line-height:1.3;transition:box-shadow .15s,border-color .15s;display:inline-flex;position:relative;box-shadow:inset 0 1px #fff2,0 3px 4px #0002}.game-button-label{text-align:center;position:relative}.game-button-ornament{color:inherit;opacity:.8;font-size:12px}.game-button--hero.game-button,.game-button--primary.game-button{color:#15221a;letter-spacing:.08em;background:linear-gradient(160deg,#d7bd89,#b29463);border-color:#e5cfa0;box-shadow:inset 0 1px #fff7,inset 0 -3px #62451d42,0 5px 12px #0003}.game-button--hero.game-button{min-height:50px;padding:12px 26px;font-size:17px}.game-button--danger.game-button{color:#f2c8b4;background:#45231f;border-color:#b7766460}.game-button--text.game-button{min-height:40px;box-shadow:none;background:0 0;border-color:#0000;padding:6px 9px;font-size:12px;font-weight:400}.game-button--chip.game-button{min-height:40px;padding:5px 11px}.game-button:hover:not(:disabled),.game-menu-tile:hover:not(:disabled){border-color:var(--game-gold-light);box-shadow:inset 0 1px #fff3,0 5px 15px #0004}.game-menu-tile:hover:not(:disabled) .mode-illustration{transform:scale(1.025)}.game-button:active:not(:disabled),.game-menu-tile:active:not(:disabled){border-color:#b49969;box-shadow:inset 0 3px 8px #0007}.game-button:focus-visible,.game-menu-tile:focus-visible,.theme-thumbnail:focus-visible{outline-offset:4px;outline:3px solid #debe7c}.game-button:disabled,.game-menu-tile:disabled{opacity:.48;cursor:not-allowed}.game-button[aria-busy=true] .game-button-ornament{animation:1s linear infinite premium-loading}.game-button[data-success=true]{background:linear-gradient(#47774c,#274b32);border-color:#9bb890}.premium-room-title{align-items:center;gap:14px;display:flex}.room-app.room-app:not(.room-app--game)>.premium-environment{z-index:0;position:fixed}.room-app.room-app:not(.room-app--game){background:#141d16}.room-app.room-app:not(.room-app--game) .room-shell{z-index:1;max-width:1180px}.room-app.room-app:not(.room-app--game) .room-header{margin-bottom:14px}.room-app.room-app:not(.room-app--game) .room-header h1{font:500 30px var(--game-heading);letter-spacing:.15em}.room-app.room-app:not(.room-app--game) .room-header p{color:#d2c9b4}.room-app.room-app:not(.room-app--game) .room-card{background:var(--game-surface);border:1px solid var(--game-border);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:5px;box-shadow:0 16px 45px #0005,inset 0 0 0 5px #d5b6800a}.room-app.room-app:not(.room-app--game) .room-card h2{font:600 23px var(--game-heading);letter-spacing:.1em;color:#f1dfbb}.room-app.room-app:not(.room-app--game) .room-entry{max-width:780px;margin:5vh auto 0}.room-app.room-app:not(.room-app--game) .room-entry-actions{grid-template-columns:1fr 1fr;gap:16px;display:grid}.room-entry-actions>.game-button{grid-column:1/-1;justify-self:center}.room-app.room-app:not(.room-app--game) .room-entry .game-menu-tile{text-align:left;background:linear-gradient(145deg,#243d32,#15252a);height:275px;padding:16px;display:block}.room-app.room-app:not(.room-app--game) .room-form{grid-template-columns:310px minmax(0,1fr);gap:22px;width:min(100%,1050px);max-width:none;margin:14px auto 0;padding:22px;display:grid}.room-form>h2{grid-column:1/-1;margin-bottom:2px!important}.room-form-preview{background:radial-gradient(at 50% 32%,#3a4f3833,#141f1999);border:1px solid #d6b98545;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-width:0;padding:24px 18px;display:flex;position:relative}.room-form-preview .brand-sigil{width:58px;height:58px}.room-form-preview .hero-kicker{color:#cfb67e;letter-spacing:.1em;font-size:11px}.room-form-preview h3{font:500 22px var(--game-heading);color:#f1ddb0;margin:0}.room-form-preview blockquote{font:400 15px/1.8 var(--game-heading);text-align:center;color:#dfd0b4;overflow-wrap:anywhere;margin:8px}.room-form-preview small{color:#bbc4b0;font-size:11px}.room-app.room-app:not(.room-app--game) .room-form-preview .room-preview{background:0 0;border:0;flex-wrap:wrap;gap:10px;width:100%;min-height:180px;margin:10px 0;padding:0}.room-form-preview .room-board-preview{width:160px;height:177px;box-shadow:0 7px #32281a,0 12px 20px #0005}.room-form-preview .room-back-preview{width:65px;height:65px}.room-app.room-app:not(.room-app--game) .room-form[data-testid=room-join]{width:min(100%,640px);display:block}.room-form-controls{min-width:0}.room-app.room-app:not(.room-app--game) .room-form-fields,.room-app.room-app:not(.room-app--game) .room-settings-fields{gap:12px;margin-bottom:13px}.room-app.room-app:not(.room-app--game) .room-field{gap:7px;font-size:13px}.room-app.room-app:not(.room-app--game) .room-card input:not([type=checkbox]):not([type=range]),.room-app.room-app:not(.room-app--game) .room-card select,.room-app.room-app:not(.room-app--game) .room-card textarea{color:#f5ead5;background:#071a1499;border:1px solid #c1ab805e;border-radius:4px;min-height:44px;padding:9px 12px;box-shadow:inset 0 2px 4px #0003}.room-app.room-app:not(.room-app--game) .room-card input::placeholder{color:#b0b7a6}.room-app.room-app:not(.room-app--game) .room-card :focus-visible{outline-offset:3px;outline:2px solid #ddc595}.room-app.room-app:not(.room-app--game) .room-help{margin:12px 0;font-size:12px;line-height:1.6;color:#bdc5b3!important}.premium-theme-selector{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.room-app.room-app .room-shell .theme-thumbnail.theme-thumbnail{text-align:center;color:#ebdfc5;background:#14251be6;border:1px solid #c5af7645;border-radius:3px;grid-template-rows:52px auto;gap:6px;min-height:86px;padding:6px;font-size:11px;display:grid;position:relative;overflow:hidden}.theme-thumbnail-scene{background:var(--material-board-surface);border:2px solid var(--material-board-frame);box-shadow:0 3px 0 var(--material-board-frame-edge);width:100%;height:52px;display:block;position:relative;overflow:hidden}.theme-thumbnail-scene .scene-art{opacity:.6;width:100%;height:100%;position:absolute;inset:0}.theme-thumbnail-grid{background:repeating-linear-gradient(0deg,transparent 0 6px,var(--material-board-line-color) 6px 7px),repeating-linear-gradient(90deg,transparent 0 8px,var(--material-board-line-color) 8px 9px);opacity:.35;position:absolute;inset:6px}.room-app.room-app .room-shell .theme-thumbnail[aria-pressed=true]{border-color:var(--game-gold-light);background:#36432c;box-shadow:inset 0 0 0 1px #d6b67d50}.theme-thumbnail-check{color:#14231b;background:#d4bc8a;border-radius:50%;width:16px;height:16px;font-size:12px;position:absolute;top:5px;right:5px}.theme-thumbnail-check:empty{display:none}.theme-thumbnail:disabled{opacity:.6}.room-app.room-app:not(.room-app--game) .room-form-controls>.room-actions{gap:9px;margin-top:18px}.room-app.room-app:not(.room-app--game) .room-form-controls .game-button--hero{color:#172519;width:100%;min-height:50px;font:600 17px var(--game-heading);letter-spacing:.2em;background:linear-gradient(160deg,#e2cda1,#b69359);border-color:#e9d6a6;border-radius:3px;flex:100%;position:relative}.room-app.room-app:not(.room-app--game) .room-player-list{gap:40px;position:relative}.room-app.room-app:not(.room-app--game) .room-player-list:after{content:"弈";width:38px;height:38px;font:500 23px var(--game-heading);color:var(--game-gold);border:1px solid var(--game-border);pointer-events:none;background:#12231b;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.room-app.room-app:not(.room-app--game) .room-player{background:linear-gradient(140deg,#29412d44,#10241d);border:1px solid #b9a27455;border-radius:4px;box-shadow:inset 0 -4px #0003}.room-app.room-app:not(.room-app--game) .room-welcome{font-family:var(--game-heading);background:linear-gradient(90deg,#0000,#dbbd6c12,#0000);border-block:1px solid #c5ab7f60;padding:12px 20px}.room-app.room-app:not(.room-app--game) .room-player:not([data-player-id]){animation:none}.room-app.room-app:not(.room-app--game) .room-actions>.room-primary{border-radius:4px;box-shadow:inset 0 1px #fff4,inset 0 -2px #42351950}.room-app.room-app:not(.room-app--game) .room-management-panel{background:#11221c60;border-radius:4px}.identity-auth.identity-auth>.premium-environment{z-index:0;position:absolute}.identity-auth.identity-auth .auth-background{display:none}.identity-auth.identity-auth .auth-stage{z-index:1;position:relative}.identity-auth.identity-auth .auth-card{background:var(--game-surface);border:1px solid var(--game-border);border-radius:5px;box-shadow:inset 0 0 0 5px #d5b68009,0 20px 40px #0005}.identity-auth.identity-auth .auth-introduction{background:0 0}.identity-auth.identity-auth .auth-introduction h2{text-shadow:0 3px 8px #0007}.identity-auth.identity-auth .auth-brand-mark{border:1px solid var(--game-gold);background:#21392a;border-radius:3px;box-shadow:inset 0 0 0 4px #d4b47818}.identity-auth.identity-auth .auth-card input:not([type=file]){background:#11201bcc;border-color:#d8c09066;border-radius:3px}.identity-auth.identity-auth .auth-submit{color:#17251b;background:linear-gradient(150deg,#d9bf91,#b59561);border-color:#e3cd9e;border-radius:3px;box-shadow:inset 0 1px #fff5,inset 0 -3px #56401d33}.board-visual-shell{pointer-events:none;z-index:0;--shell-depth:14px;position:absolute;inset:0}.board-visual-shell>span{pointer-events:none;position:absolute}.board-shell-wall{height:var(--shell-depth);background:repeating-linear-gradient(0deg,#fff1 0 1px,transparent 1px 4px),linear-gradient(90deg,var(--material-board-frame-edge),var(--material-board-frame) 35%,var(--material-board-frame-edge));border:1px solid var(--material-board-frame-edge);border-radius:0 0 8px 8px;top:calc(100% - 2px);left:0;right:0;box-shadow:inset 0 2px #fff2,inset 0 -3px #0005,0 12px 15px -9px #111d2080}.board-shell-bevel{box-shadow:inset 0 2px 0 var(--material-board-frame-highlight),inset 2px 0 0 #fff3,inset -2px -2px 0 #0005;z-index:3;border-radius:7px;inset:0}.board-shell-inlay{background:linear-gradient(90deg,transparent 2%,var(--material-board-frame-highlight) 12%,var(--material-board-frame-highlight) 88%,transparent 98%);opacity:.5;height:2px;top:calc(100% + 4px);left:2%;right:2%}.board-shell-ambient{z-index:-1;background:radial-gradient(at 50% 0,#22332966,#0000 70%);height:25px;top:100%;left:3%;right:3%}.app.app.app .board-frame{box-shadow:0 18px 30px -16px #11201d80,inset 0 1px 0 var(--material-board-frame-highlight);overflow:visible}.app.app.app .board-frame:after{box-shadow:none}.app.app.app .board-frame:before{box-shadow:inset 0 0 0 2px #f4e3be28}.app.app.app .board-coordinates{z-index:1;position:relative}.piece-physical-body .piece-sidewall{fill:var(--material-piece-edge,#947047);stroke:#221c1630;stroke-width:.7px}.piece-sidewall-light{fill:none;stroke:#e0c89966;stroke-width:1.5px}.piece-sidewall-dark{fill:none;stroke:#25241b88;stroke-width:2px}.piece-contact-shadow{fill:#0b151b30}.piece-carved-groove{stroke:#493e2930;stroke-width:1.2px}.piece-bevel-light{stroke:#fff5;stroke-width:1.9px}.piece-bevel-shade{stroke:#4d3f2e6b;stroke-width:1.6px}.piece-polished-reflection{stroke:#fff7;stroke-width:1px;stroke-linecap:round}.piece.piece.piece:before{background:radial-gradient(at 25% 18%,#fffbde22,#0000 55%);inset:3% 6% 10%}.piece.piece.piece .piece-face-rim,.piece.piece.piece .piece-back-rim{stroke-width:1.2px}.piece.piece.piece .piece-glyph{filter:none;paint-order:stroke fill}.back-theme-cosmos .piece-sidewall{fill:#25223b}.back-theme-volcano .piece-sidewall{fill:#372723}.back-theme-snow .piece-sidewall{fill:#67919f}.back-theme-seal .piece-sidewall{fill:#718976}.back-theme-plum .piece-sidewall{fill:#a48b8a}.back-theme-meander .piece-sidewall{fill:#846a3f}.app.app.app .captured{background:linear-gradient(110deg,#ffffff20,transparent),var(--material-tray-surface);border-color:#99805866;border-radius:5px;box-shadow:inset 0 2px 5px #4b412528,inset 0 -3px #aa8e6430,0 2px 2px #111b2212}.app.app.app .captured-heading{letter-spacing:.05em}.app.app.app .board-profile{border-radius:5px;box-shadow:inset 0 -3px #6149291a,0 3px 5px #15211c15}.app.app.app .board-profile .account-avatar{box-shadow:0 3px #7c684840,0 4px 7px #152b1920}.modal.modal,.modal--friends.modal,.history-panel.modal{border:1px solid #baa77a;border-radius:5px;box-shadow:0 22px 65px #0006,inset 0 0 0 5px #b99e6a16}.modal .modal-heading{border-bottom:1px solid #b59a6850;padding-bottom:14px}.modal .modal-heading h2{font-family:var(--game-heading);letter-spacing:.1em}.modal .ui-icon-button{border-radius:4px}.modal.modal .modal-heading .ui-icon-button svg{margin:auto;display:block}.modal.modal::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#071911ad}.modal.modal--result{background:linear-gradient(125deg,#fff5,#fff0),var(--game-paper);border-color:var(--game-gold);color:#172d24}.modal--result .result-emblem{font-family:var(--game-heading);color:#842e25;background:#efe0b8;border:2px double #9b482e;border-radius:4px;box-shadow:inset 0 0 0 4px #a1492820}.modal--result .result-reason{font-family:var(--game-heading);letter-spacing:.15em}.modal--result .button--primary{color:#f7edce;background:linear-gradient(#315a3c,#213d2c);border-color:#466947;border-radius:4px}.result-contestants{border-block:1px solid #bcaa8250;justify-content:center;gap:25px;margin:12px 0;padding:12px;display:flex}.result-contestants>span{justify-items:center;gap:6px;font-size:12px;display:grid}.result-contestants small{color:#607263}.ui-empty-state{background:linear-gradient(100deg,#f4e4be12,#b89f5d12);border:1px solid #baab7c30;border-radius:4px;padding:18px}.ui-empty-state svg{stroke:#8d7954;width:30px;height:30px}.room-seat-toast,.friend-invite-toast{border:1px solid var(--game-border);border-radius:4px;box-shadow:0 8px 18px #0003}.chat-bubble{color:#10221b;background:linear-gradient(100deg,#fff9,#fff2),#f1e6ce;box-shadow:inset 0 1px #fff9,0 4px 12px #28332928}.special-action-panel.special-action-panel{box-shadow:none;background:linear-gradient(90deg,#13201a00,#16261eeb 15%,#172a20eb 85%,#13201a00);border-block:1px solid #c6af795c}.special-action-panel.special-action-panel:before,.special-action-panel.special-action-panel:after{border-color:#d8bd7b77}@keyframes premium-scene-in{0%{opacity:0}to{opacity:1}}@keyframes premium-environment-breathe{0%,to{opacity:.08;transform:none}50%{opacity:.18;transform:translate(1%)}}@keyframes premium-loading{to{transform:rotate(180deg)}}@media (width<=1100px) and (width>=901px){.premium-main-menu{grid-template-columns:1fr 1fr;gap:28px}.premium-mode-grid{gap:8px}.game-menu-tile--mode{height:245px}.premium-utility-grid{grid-template-columns:1fr 1fr}}@media (width<=900px){.home.home.premium-home{padding:max(14px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-left)) max(10px,env(safe-area-inset-bottom));grid-template-rows:auto 1fr auto;height:100dvh;min-height:0;overflow:auto}.premium-home .home-header{flex-wrap:wrap;align-items:flex-start;gap:8px;min-height:42px;padding-bottom:10px}.home-brand{letter-spacing:.08em;gap:8px;font-size:11px}.brand-sigil--compact{width:32px;height:32px}.premium-home .home-header nav{flex:1;justify-content:flex-end;gap:4px;font-size:10px}.premium-home .home-header nav strong{max-width:110px;font-size:12px}.premium-home .home-header nav .account-avatar{width:28px!important;height:28px!important}.premium-home .home-header .game-button--text{min-height:36px;padding:5px 7px;font-size:11px}.premium-home[data-surface=game-hub] .home-header{flex-direction:column}.premium-home[data-surface=game-hub] .home-header nav{justify-content:flex-start;width:100%}.premium-main-menu{flex-direction:column;justify-content:space-between;align-items:stretch;gap:12px;width:100%;margin:0;padding:22px 0 12px;display:flex}.premium-brand-copy h1{letter-spacing:.12em;margin:12px 0;font-size:46px;line-height:1.04}.premium-brand-copy h1>span,.premium-brand-copy h1>span:last-child{display:inline}.premium-brand-copy h1 i{vertical-align:middle;letter-spacing:0;margin-left:10px;padding:4px 3px;font-size:10px}.premium-brand-copy .hero-kicker{letter-spacing:.2em;font-size:11px}.premium-brand-copy .hero-subtitle{color:#eee2bf;margin:10px 0;font-size:12px}.premium-brand-copy .hero-description{color:#dedecb;max-width:80%;margin:10px 0;font-size:12px;line-height:1.8}.premium-brand-rule{display:none}.premium-menu-actions{background:#12221ede;padding:14px}.premium-menu-heading{gap:10px;margin-bottom:12px}.premium-menu-heading>span{width:36px;height:36px;font-size:22px}.premium-menu-heading h2{margin-top:3px;font-size:20px}.premium-menu-heading small{letter-spacing:.06em;font-size:10px}.premium-mode-grid{gap:9px}.game-menu-tile.game-menu-tile--mode{height:195px;padding:12px!important}.mode-illustration{height:98px}.menu-tile-copy{gap:4px}.menu-tile-copy strong{font-size:22px}.menu-tile-index{font-size:9px}.menu-tile-description{max-width:calc(100% - 10px);font-size:11px}.menu-tile-arrow{font-size:16px;bottom:12px;right:12px}.premium-utility-grid{grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:8px}.premium-utility-grid .game-menu-tile{min-height:58px;padding:10px}.premium-utility-grid strong{font-size:14px}.premium-utility-grid .menu-tile-description{font-size:10px}.premium-utility-grid .menu-tile-arrow{display:none}.premium-menu-note{line-height:1.5;margin-top:10px!important;font-size:10px!important}.premium-home .home-footer{justify-content:center;padding-top:10px;font-size:9px}.premium-home .home-footer span:last-child{display:none}.premium-guest-tile.game-menu-tile--mode{height:185px}.premium-guest-tile .mode-illustration{width:70%;height:150px;top:0;right:4px}.premium-guest-tile .menu-tile-copy{bottom:18px;left:16px}.premium-guest-tile strong{font-size:27px}.premium-identity-actions{gap:10px;margin-top:10px}.premium-identity-actions .game-button{min-height:44px}.environment-shade{background:linear-gradient(#0000 30%,#0c201dec),linear-gradient(90deg,#0a1b1240,#0000 80%)}.premium-environment[data-scene=pavilion] img,.premium-environment[data-scene=hall] img{object-position:50% 38%}.premium-environment[data-scene=study] img{object-position:50% 35%}.environment-mist{display:none}.room-app.room-app:not(.room-app--game) .room-header h1{font-size:24px}.room-app.room-app:not(.room-app--game) .room-header p{margin:4px 0 0;font-size:11px;line-height:1.6}.premium-room-title{gap:10px}.room-app.room-app:not(.room-app--game) .room-shell{padding-inline:0}.room-app.room-app:not(.room-app--game) .room-form{gap:0;margin-top:10px;padding:16px;display:block}.room-app.room-app:not(.room-app--game) .room-form>h2{font-size:21px}.room-form-preview{grid-template-columns:60px 1fr;gap:6px 12px;min-height:74px;margin-bottom:14px;padding:10px 12px;display:grid}.room-form-preview>.brand-sigil{grid-row:1/4;align-self:center;width:45px;height:45px}.room-form-preview .hero-kicker{font-size:10px}.room-form-preview h3{font-size:18px}.room-form-preview blockquote{text-align:left;margin:0;font-size:11px;line-height:1.4}.room-form-preview>.room-preview,.room-form-preview>small{display:none}.room-app.room-app:not(.room-app--game) .room-form-fields,.room-app.room-app:not(.room-app--game) .room-settings-fields{gap:9px;margin-bottom:10px}.room-app.room-app:not(.room-app--game) .room-help{margin:8px 0;font-size:10px}.room-app.room-app:not(.room-app--game) .room-field{gap:5px;font-size:11px}.room-app.room-app:not(.room-app--game) .room-card input:not([type=checkbox]):not([type=range]),.room-app.room-app:not(.room-app--game) .room-card select{min-height:42px;padding:9px;font-size:12px}.premium-theme-selector{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:9px 0}.room-app.room-app .room-shell .theme-thumbnail.theme-thumbnail{grid-template-rows:36px auto;gap:4px;min-height:68px;padding:4px;font-size:10px}.theme-thumbnail-scene{height:36px}.room-app.room-app:not(.room-app--game) .room-form-controls>.room-actions{margin-top:12px}.room-app.room-app:not(.room-app--game) .room-form-controls .game-button--hero{min-height:44px;font-size:15px}.room-app.room-app:not(.room-app--game) .room-entry .game-menu-tile{height:200px;padding:12px}.room-app.room-app:not(.room-app--game) .room-entry{margin-top:3vh}.room-app.room-app:not(.room-app--game) .room-entry-actions{gap:10px}.room-app.room-app:not(.room-app--game) .room-player-list{gap:36px}.room-app.room-app:not(.room-app--game) .room-player-list:after{width:28px;height:28px;font-size:19px}.board-visual-shell{--shell-depth:5px}.board-shell-wall{border-radius:0 0 4px 4px;box-shadow:inset 0 1px #fff2,inset 0 -1px #0006,0 5px 7px -5px #111d2080}.board-shell-inlay{height:1px;top:calc(100% + 1px)}.board-shell-ambient{height:9px}.board-shell-bevel{box-shadow:inset 0 1px #fff5,inset -1px -1px #0005}.app.app.app .board-frame{box-shadow:0 9px 15px -9px #111d2066}.premium-theme-selector .scene-art{filter:none}.identity-auth.identity-auth .auth-card{box-shadow:inset 0 0 0 3px #d4b47810,0 6px 14px #0002}.room-app.room-app:not(.room-app--game){padding-block:12px}.room-app.room-app:not(.room-app--game) .room-header{margin-bottom:10px}.room-app.room-app:not(.room-app--game) .room-account-actions{margin-bottom:8px}.room-app.room-app:not(.room-app--game) .room-form{padding:14px}.room-app.room-app:not(.room-app--game) .room-form-fields,.room-app.room-app:not(.room-app--game) .room-settings-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.room-app.room-app:not(.room-app--game) .room-form-fields .room-account-profile{align-self:end;gap:6px;min-height:42px;padding:4px;font-size:12px}.room-app.room-app:not(.room-app--game) .room-form-fields .room-account-profile .account-avatar{width:30px!important;height:30px!important}.room-app.room-app:not(.room-app--game) .room-form-preview{min-height:68px;margin-bottom:6px;padding:8px 10px}.room-app.room-app:not(.room-app--game) .room-form-controls>.room-actions>.game-button--text{min-height:36px}}@media (height<=700px){.home.home.premium-home{height:auto;min-height:100dvh}.premium-main-menu{gap:12px}.premium-brand-copy .hero-description{display:none}.premium-main-menu{padding-block:15px}.premium-menu-actions{padding:12px}.premium-menu-heading{margin-bottom:10px}.premium-brand-copy h1{font-size:38px}.premium-home .home-header nav small{display:none}}@media (prefers-reduced-motion:reduce){.premium-home[data-opening] .premium-brand-copy,.premium-home[data-opening] .premium-menu-actions,.premium-environment[data-opening],.environment-mist{animation:none}.game-menu-tile:hover:not(:disabled) .mode-illustration{transform:none}.game-button,.game-menu-tile,.mode-illustration{transition:none}.game-button[aria-busy=true] .game-button-ornament{animation:none}}[data-motion=reduced] .environment-mist{animation:none}.room-app.room-app:not(.room-app--game) .room-actions>.game-button--hero{color:#15221a;background:linear-gradient(160deg,#d7bd89,#b29463);border-color:#e5cfa0;min-height:44px;font-weight:600}.room-app.room-app:not(.room-app--game) .room-actions>.game-button--text{box-shadow:none;background:0 0;border-color:#0000}:root{--motion-panel:.28s;--quality-bronze:#9a7f53;--quality-ink:#263c37}.app.app.app.app .app-header{background:linear-gradient(100deg,#fff6,transparent 42%),var(--stage-hud-surface);box-shadow:inset 0 -1px var(--stage-accent),0 2px 8px #080e162b}.app.app.app.app .ui-icon-button{background:linear-gradient(155deg,#fff8,transparent 65%),var(--stage-hud-surface);border-color:color-mix(in srgb,var(--stage-accent) 65%,#715739);transition:background var(--motion-fast),box-shadow var(--motion-fast);box-shadow:inset 0 1px #fff9,inset 0 -2px #65502e18,0 2px 3px #14201920}.app.app.app.app .ui-icon-button:active{box-shadow:inset 0 2px 4px #211d2129}.app.app.app.app .board-profile{background:linear-gradient(110deg,#fff4,transparent 60%),var(--stage-hud-surface);border-color:var(--material-tray-edge);box-shadow:inset 0 1px #fff9,inset 0 -2px #60452017,0 3px 8px #070c1530}.app.app.app.app .board-profile-name strong{letter-spacing:.025em}.app.app.app.app .board-profile-name small{color:#526259}.app.app.app.app .board-profile-connection{color:#477563;font-variant-numeric:tabular-nums}.app.app.app.app .board-profile-connection[data-connected=false]{color:#755953}.app.app.app.app .captured{background:linear-gradient(180deg,#3023160d,transparent 28%,#fff3),var(--material-tray-surface);border-color:var(--material-tray-edge);box-shadow:inset 0 2px 5px #29201828,inset 0 -1px #fff8,0 1px 3px #0b151b26}.app.app.app.app .captured-heading{font-variant-numeric:tabular-nums;letter-spacing:.025em}.app.app.app.app .captured-heading>span:last-child{color:#47594f}.app.app.app.app .captured-empty{color:#697063;font-style:normal}.app.app.app.app .room-chat{box-shadow:inset 0 1px #fff8,inset 0 -1px #684e2f26}.app.app.app.app .chat-trigger{background:linear-gradient(135deg,#fff5,transparent 60%),var(--material-tray-surface);border-color:var(--material-tray-edge);box-shadow:inset 0 1px #fff9,inset 0 -2px #3e322426,0 2px 3px #14201b30}.app.app.app.app .chat-sheet{background:linear-gradient(155deg,#fff6,transparent),var(--stage-hud-surface);border-color:var(--material-tray-edge)}.app.app.app.app .chat-quick-messages button{background:var(--material-tray-surface);border-color:var(--material-tray-edge)}.app.app.app.app .chat-bubble{border:1px solid var(--material-tray-edge);background:#fffaf0;box-shadow:0 3px 8px #0a151b20,inset 0 1px #fff}.app.app.app.app .turn-panel{font-variant-numeric:tabular-nums}@media (width>=901px){.app.app.app.app .game-information{background:linear-gradient(180deg,var(--stage-hud-surface) 0 250px,color-mix(in srgb,var(--stage-hud-surface) 86%,transparent));border-color:color-mix(in srgb,var(--stage-accent) 60%,transparent)}.app.app.app.app .history-panel{background:linear-gradient(160deg,var(--stage-hud-surface),color-mix(in srgb,var(--stage-hud-surface) 86%,transparent));border-color:color-mix(in srgb,var(--stage-accent) 70%,transparent);box-shadow:inset 0 1px #fff8,inset 0 -1px #6b543527}.app.app.app.app .board-profile:after{content:"";pointer-events:none;background:linear-gradient(90deg,transparent,var(--stage-accent),transparent);opacity:.4;height:1px;position:absolute;top:88px;left:12px;right:12px}.app.app.app.app .board-profile--self:after{top:72px}}.app.app.app.app .board-frame{box-shadow:0 1px 2px #080c15a0,0 12px 22px -12px var(--material-board-contact-shadow),inset 0 1px var(--material-board-frame-highlight),inset 0 -1px #0005}.board-shell-contact.board-shell-ambient{z-index:-1;background:radial-gradient(ellipse at 50% 0,var(--material-board-contact-shadow,#100d0ba6),transparent 72%);height:20px;top:calc(100% - 1px);left:-2%;right:-2%}.app.app.app.app .board:before{background:radial-gradient(ellipse at 18% 8%,#fff3,transparent 45%),linear-gradient(160deg,transparent 68%,#151b2110),var(--world-texture)}.piece.piece.piece.piece{box-shadow:var(--material-piece-shadow)}.piece-satin-highlight{stroke:var(--material-piece-sheen,#fff8d55c);stroke-width:2.8px;stroke-linecap:round}.piece-satin-grain{stroke:#47391d15;stroke-width:.65px;stroke-linecap:round}.piece.piece.piece.piece .piece-sidewall{stroke:#26180f45;stroke-width:1px}.piece.piece.piece.piece .piece-sidewall-dark{stroke:#211d1c80;stroke-width:2.4px}.piece.piece.piece.piece .piece-contact-shadow{fill:#10151948}.piece.piece.piece.piece .piece-carved-groove{stroke:#43352045;stroke-width:1.35px}.app.app.app.app .point--selected>.piece{box-shadow:0 0 0 3px var(--material-piece-selected-glow),var(--material-piece-shadow)}.capture-contact-ring{pointer-events:none;border:1px solid #dfc593;border-radius:50%;animation:.16s ease-out both quality-contact;position:absolute;inset:-6%}@keyframes quality-contact{0%{opacity:.65;transform:scale(.94)}to{opacity:0;transform:scale(1.18)}}.capture-reveal-token[data-phase=in]:after{content:"";pointer-events:none;border-radius:50%;animation:.32s ease-out both quality-identity;position:absolute;inset:-5%;box-shadow:inset 0 0 0 1px #efd69790}@keyframes quality-identity{0%{opacity:0}45%{opacity:.8}to{opacity:0}}.presentation-overlay .flying-token[data-motion-phase=MOVE]>.cinematic-landing,.presentation-overlay .flying-token[data-motion-phase=CAPTURE_MOVE]>.cinematic-landing{opacity:0;animation:none}.special-action-scene .special-action-panel{box-shadow:0 14px 30px -12px #070e2090,inset 0 1px #fff4,inset 0 -2px #0004}.special-action-scene .skill-title-content strong{text-shadow:0 2px 2px #0005}.interaction-impact .interaction-residue{filter:none}[data-kind=EGG] .interaction-residue{box-shadow:inset 0 1px 2px #fff8,0 2px 3px #2b211f20}[data-kind=WATER] .interaction-residue{box-shadow:inset 0 1px #e2faff99,0 2px 4px #2e95a626}[data-kind=ROSE] .interaction-residue svg{filter:none}.app.app.app.app[data-terminal-stage=intro] .stage-vignette{background:radial-gradient(#0000 20%,#080f2070 95%)}@media (width<=900px){.app.app.app.app .board-frame{box-shadow:0 1px 2px #070e1670,0 6px 12px -7px var(--material-board-contact-shadow),inset 0 1px var(--material-board-frame-highlight)}.piece.piece.piece.piece{box-shadow:0 1px 1px #22190f40,0 2px #201b1930,1px 3px 3px #16202b28}.board-shell-contact.board-shell-ambient{height:9px}.app.app.app.app .self-profile-slot{background:linear-gradient(115deg,#fff5,transparent 70%),var(--stage-hud-surface);box-shadow:inset 0 1px #fff9,inset 0 -1px #65533745}.app.app.app.app .self-player-row>.board-profile{box-shadow:none;background:0 0;border-color:#0000}.app.app.app.app .room-chat{box-shadow:none;background:0 0}.app.app.app.app .self-profile-slot .room-chat{align-items:center;padding:0;display:flex}.app.app.app.app .self-profile-slot .room-chat[data-open=true]{padding:0}}@media (prefers-reduced-motion:reduce){.capture-contact-ring,.capture-reveal-token:after{opacity:0;animation:none}.app.app.app.app .ui-icon-button{transition:none}}.presentation-overlay{z-index:60;pointer-events:none;position:fixed;inset:0}.flying-token{z-index:1;filter:drop-shadow(0 10px 9px #33261740);place-items:center;display:grid;position:absolute}.capture-reveal-token{z-index:3}.capture-reveal-token .piece{transform:scale(1.08)}.flying-token--lost{z-index:4}.point--captured-revealing>.piece{visibility:hidden}.flying-token .piece{width:100%;height:100%;font-size:clamp(20px,3vw,33px)}.point--floating>.piece{visibility:hidden}.presentation-capture-label{color:#654c2d;z-index:6;white-space:nowrap;background:#fff9ed;border-radius:6px;padding:7px 14px;font-size:13px;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #4b361529}.board-banner{z-index:8;pointer-events:none;text-align:center;color:#a82726;text-shadow:0 2px #fff9ed,0 4px 18px #fff9ed;animation:presentation-banner var(--event-ms) ease-out both;font-family:STKaiti,KaiTi,serif;font-size:clamp(32px,5vw,56px);font-weight:800;position:absolute;inset:40% 0 auto}.board-banner--ownership{color:#234e3b;background:#fffffff0;border-radius:8px;margin:0 8%;padding:12px;font-size:clamp(17px,2.2vw,24px);inset:42% 0 auto}.board--shaking{animation:none}.point--self-check .piece{box-shadow:0 0 0 5px #c94035,0 0 22px #b8303055}.board--shaking .point--checked .piece{animation:presentation-danger calc(var(--event-ms) / 2) ease-out 2}.app[data-animating=true] .point{cursor:default}.app[data-animating=true] .point:disabled{opacity:1}.audio-setting{color:#526050;align-items:center;gap:8px;margin-top:8px;font-size:13px;display:flex}.audio-setting input{accent-color:#38674f}.captured-pieces{position:relative}.loss-arrival-anchor{visibility:hidden;flex:0 0 32px;width:32px;height:32px}.loss-arrival-anchor--empty{position:absolute;top:0;left:0}@keyframes presentation-shake{0%,to{transform:translate(0)}25%{transform:translateX(calc(-1 * var(--check-shake-distance)))}60%{transform:translateX(var(--check-shake-distance))}}@keyframes presentation-banner{0%{opacity:0;transform:scale(.78)}20%,65%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.04)}}@keyframes presentation-ownership{0%,to{box-shadow:0 0 #54806200}35%{box-shadow:0 0 0 7px #54806266,0 0 18px #54806244}}@keyframes presentation-danger{0%,to{outline-offset:3px}50%{outline-offset:6px;box-shadow:0 0 0 8px #b93d3833}}@media (prefers-reduced-motion:reduce){.board--shaking,.board-banner,.point--ownership .piece{animation:none}}.app[data-motion=reduced] .board--shaking{animation:none}.point{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.app[data-animating=false] .point:active:not(:disabled){background:#e1b06a22}.app[data-animating=false] .point:disabled{cursor:default}@media (width<=600px),(pointer:coarse){.flying-token{filter:none}.board-frame{isolation:isolate}.scene-nebula{filter:none}.modal::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}}.app .point{cursor:default}.app .point[data-selectable=true]:not(:disabled){cursor:pointer}.move-error-toast{bottom:max(18px, env(safe-area-inset-bottom));z-index:80;color:#fff4dc;pointer-events:none;background:#44372aee;border-radius:10px;max-width:calc(100vw - 24px);padding:12px 18px;animation:3.5s both move-toast;position:fixed;left:50%;transform:translate(-50%)}@keyframes move-toast{0%{opacity:0}8%,85%{opacity:1}to{opacity:0}}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius-small:8px;--radius-medium:12px;--radius-large:18px;--radius-pill:999px;--shadow-sm:0 2px 6px #17202514;--shadow-md:0 8px 24px #17202526;--shadow-overlay:0 20px 60px #0005;--shadow-board:0 14px 28px -18px #17202599;--motion-fast:.15s;--motion-normal:.22s;--motion-panel:.3s;--motion-dramatic:1s;--chat-text:#111719;--chat-surface:#fff9ee;--chat-self-surface:#eff8ef}.ui-topbar{align-items:center;position:relative}.ui-icon-button.icon-button{border:1px solid var(--surface-border,#b9bca7);border-radius:var(--radius-small);width:40px;min-width:40px;height:40px;color:var(--ink,#273c35);background:var(--surface-elevated,#fffaf0);box-shadow:var(--shadow-sm);touch-action:manipulation;flex:none;justify-content:center;align-items:center;gap:6px;padding:0;line-height:1;display:inline-flex;position:relative}.ui-icon-button:has(.ui-icon-label){width:auto;padding-inline:10px}.ui-icon-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px;display:block}.ui-icon-label{white-space:nowrap;font-size:12px;font-weight:600}.ui-icon-button:focus-visible,.ui-topbar button:focus-visible{outline:2px solid var(--board-move,#41745c);outline-offset:3px}.modal .modal-heading{align-items:center;gap:var(--space-3);justify-content:space-between;min-height:44px;display:flex}.modal .modal-heading h2{min-width:0;line-height:1.4}.modal .modal-heading .ui-icon-button{width:40px;min-width:40px;height:40px;margin-left:auto;padding:0}.modal{border-radius:var(--radius-large);box-shadow:var(--shadow-overlay)}.topbar-social-actions{align-items:center;gap:var(--space-1);flex:none;display:flex}.social-floating-shortcuts{z-index:50;flex-direction:column-reverse;align-items:flex-end;gap:8px;display:flex;position:fixed;bottom:12px;right:12px}.social-floating-shortcuts .ui-icon-button.icon-button{z-index:auto;width:auto;padding-inline:10px;position:static;inset:auto}.topbar-social-actions .ui-icon-button.icon-button{z-index:auto;position:relative;inset:auto}.ui-icon-button .friend-badge{pointer-events:none;min-width:17px;max-width:30px;margin:0;font-size:9px;position:absolute;top:-5px;right:-4px;overflow:hidden}.ui-empty-state{align-items:center;gap:var(--space-2);min-height:44px;color:var(--muted,#6d796e);font-size:12px;line-height:1.5;display:flex}.ui-empty-state svg{fill:none;stroke:currentColor;stroke-width:1.5px;opacity:.65;flex:none}.ui-skeleton{gap:var(--space-2);padding:var(--space-3) 0;min-height:100px;display:grid}.ui-skeleton span{border-radius:var(--radius-small);background:color-mix(in srgb,var(--ink,#263c37) 9%,transparent);height:20px}.ui-skeleton span:nth-child(2){width:85%}.ui-skeleton span:nth-child(3){width:65%}.move-number,.friend-badge,.chat-counter,.disconnect-countdown,.room-start-countdown{font-variant-numeric:tabular-nums}@media (width<=900px){.ui-icon-button.icon-button,.modal .modal-heading .ui-icon-button{width:44px;min-width:44px;height:44px}.topbar-social-actions .ui-icon-label{display:none}.social-floating-shortcuts{bottom:80px;right:8px}}@media (prefers-reduced-motion:reduce){.ui-topbar *,.ui-skeleton *{transition:none;animation:none}}.app-back-button.ui-icon-button{width:44px;min-width:44px;height:44px;min-height:44px;color:inherit;touch-action:manipulation;background:linear-gradient(145deg,#fff9ed25,#503d1f0c);border:1px solid #b6a68165;border-radius:8px;flex:none;padding:10px}.app-back-button.ui-icon-button svg{stroke:currentColor;margin:auto;display:block}.app-back-button:focus-visible,.return-hub-button:focus-visible{outline:2px solid var(--accent,#b39964);outline-offset:3px}.app-back-button:active{box-shadow:inset 0 2px 4px #0002}.room-app.room-app:not(.room-app--game) .room-header:has(.app-back-button){grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.room-app .premium-room-title{min-width:0}.room-header .room-network{max-width:150px;font-size:12px}.hub-retained-room{width:100%;margin-bottom:12px}.auth-page>.app-back-button{z-index:4;left:max(16px,env(safe-area-inset-left));top:max(12px,env(safe-area-inset-top));position:fixed}.home,.identity-auth,.room-app:not(.room-app--game) .room-card{animation:.22s ease-out navigation-arrival}@keyframes navigation-arrival{0%{opacity:.7}to{opacity:1}}@media (width<=900px){.room-app.room-app:not(.room-app--game) .room-header:has(.app-back-button){grid-template-columns:44px minmax(0,1fr) auto;gap:8px}.room-header .room-network{font-size:11px}.room-app .room-header .premium-room-title>.brand-sigil{display:none}.app.app.app .header-actions>.app-back-button{display:inline-flex}}@media (prefers-reduced-motion:reduce){.home,.identity-auth,.room-app:not(.room-app--game) .room-card{animation:none}}.scene-audio-controls{gap:14px;min-width:0;padding:8px 0;display:grid}.scene-audio-controls h3{letter-spacing:.07em;margin:0;font-size:16px}.scene-audio-controls>p,.scene-audio-controls small{opacity:.75;margin:0;font-size:12px;line-height:1.7}.scene-audio-controls>label{align-items:center;gap:10px;min-height:32px;font-size:14px;display:flex}.scene-audio-controls .scene-volume{grid-template-columns:minmax(105px,auto) 1fr 40px;display:grid}.scene-volume input{accent-color:#c6a77b;width:100%;min-width:60px}.scene-volume output{text-align:right;font-variant-numeric:tabular-nums;font-size:12px}.scene-audio-controls input[type=checkbox]{accent-color:#c6a77b;width:18px;height:18px}.scene-music-preview{border-top:1px solid #ffffff20;flex-wrap:wrap;align-items:end;gap:10px;padding-top:14px;display:flex}.scene-music-preview label{flex:1;gap:7px;font-size:12px;display:grid}.scene-music-preview select,.scene-audio-controls button{min-height:44px;font:inherit;border:1px solid #8b795750;border-radius:8px;padding:8px 12px}.scene-music-preview select{color:#f3e6cf;background:#20231f}.scene-audio-retry p{font-size:12px;line-height:1.6}.scene-audio-entry{min-height:44px}@media (width<=430px){.scene-audio-controls .scene-volume{grid-template-columns:1fr 40px}.scene-volume input{grid-area:2/1/auto/-1}.scene-volume output{grid-area:1/2}}.special-action-scene{z-index:90;pointer-events:none;background:#14191d35;place-items:center;display:grid;position:fixed;inset:0}.special-action-panel{isolation:isolate;text-align:center;color:#f9e4b9;background:#352b21e6;border:2px solid #e9cc8690;border-radius:36px 8px;justify-content:center;align-items:center;width:min(620px,86vw);height:190px;padding:0;animation:1s ease-in-out both special-title;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 48px #0003}.special-action-panel .scene-art{z-index:-1;opacity:.5;width:100%;height:100%;position:absolute;inset:0}.skill-title-content{z-index:1;grid-template-rows:minmax(0,1fr) auto minmax(0,1fr);width:100%;height:100%;display:grid;position:relative}.special-action-panel p{overflow-wrap:anywhere;align-self:start;margin:6px 50px 0;font-size:14px;position:relative}.special-action-panel strong{font-family:KaiTi,STKaiti,serif;font-size:clamp(28px,6vw,44px);font-weight:900;position:relative}.special-action-panel i{border:1px solid #e9cc8640;border-radius:12px;position:absolute;inset:8px}.skill-ornament{fill:none;stroke:currentColor;stroke-width:2px;opacity:.7;width:100%;height:100%;animation:1s both skill-pattern;position:absolute;inset:0}.skill-dragon{stroke:#ecb557;stroke-width:2.5px}.skill-sky{stroke:#88cbec;stroke-dasharray:4 2}.skill-wings{stroke:#d8b85e;stroke-width:1.5px}.skill-wings circle{opacity:.18;stroke-dasharray:2 8}.special-action-panel[data-effect=STRIKE]{border-color:#e3a34d}.special-action-panel[data-effect=DEPLOY]{border-color:#91cfe0}.special-action-panel[data-effect=RETREAT],.special-action-panel[data-effect=RETURN]{border-color:#d9bc71}.special-action-scene[data-theme=dark] .special-action-panel{background:repeating-linear-gradient(90deg,#20170f 0 12px,#342b1f 13px 14px);border-style:double}.special-action-scene[data-theme=paper] .special-action-panel{border-radius:4px 24px 7px 20px;box-shadow:6px 6px #76512922}.special-action-scene[data-theme=cosmos] .skill-ornament{stroke-dasharray:1 3}.special-action-scene[data-theme=volcano] .skill-corners{stroke-width:4px}.special-action-scene[data-theme=snow] .skill-corners{stroke-dasharray:12 3}.special-action-scene[data-theme=modern] .skill-corners{stroke-width:1px}@keyframes skill-pattern{0%{opacity:0;stroke-dashoffset:40px}25%,80%{opacity:.75}to{opacity:0;stroke-dashoffset:0}}@media (width<=600px){.special-action-panel{border-radius:24px 6px;width:86vw;height:148px}.special-action-panel strong{font-size:clamp(26px,7vw,36px)}.special-action-panel p{margin-inline:32px;font-size:12px}.skill-ornament{opacity:.45}}.special-action-scene[data-motion=reduced] .skill-ornament{animation:none}.special-action-scene[data-theme=cosmos] .special-action-panel{color:#e0eaff;background:#152346df;border-color:#96acf3}.special-action-scene[data-theme=volcano] .special-action-panel{color:#ffd097;background:#3d1718df;border-color:#ef854f}.special-action-scene[data-theme=snow] .special-action-panel{color:#203d51;background:#e1f2efed;border-color:#81afb5}.special-action-scene[data-theme=paper] .special-action-panel{color:#8c2620;background:#f5eddae8;border-color:#b78e4e}.special-action-scene[data-theme=modern] .special-action-panel{color:#284935;background:#edf5f0e8;border-color:#4e7e63}.special-action-scene[data-motion=reduced] .special-action-panel{animation:.45s ease-in-out both special-title-soft}@keyframes special-title{0%{opacity:0;transform:translateY(10px)scale(.96)}22%,78%{opacity:1;transform:none}to{opacity:0;transform:translateY(-4px)}}@keyframes special-title-soft{0%,to{opacity:0}25%,75%{opacity:1}}@media (prefers-reduced-motion:reduce){.special-action-panel{animation:.45s ease-in-out both special-title-soft}.skill-ornament{animation:none}}.board-shell{position:relative}.sanctuary-slots{pointer-events:none;z-index:6;position:absolute;inset:0}.sanctuary-slot{background:#ecd49680;border:2px solid #d3ac59;border-radius:50%;width:36px;height:36px;position:absolute;right:1px;box-shadow:0 0 10px #d9b25555}.sanctuary-slot[data-sanctuary-position=self]{bottom:0}.sanctuary-slot[data-sanctuary-position=opponent]{top:0}.sanctuary-slot[data-active=false]{visibility:hidden}.sanctuary-slot .piece{width:100%;height:100%}.sanctuary-slot small{text-align:center;color:#f6d995;background:#3e332be8;border-radius:3px;font-size:9px;position:absolute;inset:auto 0 -8px}.sanctuary-slot[data-traveling=true] .piece{visibility:hidden}.special-token{z-index:5}.special-token:before{content:"";opacity:.6;border:2px solid #e2c576;border-radius:50%;position:absolute;inset:-15%}.special-token--deploy:after{content:"";z-index:-1;background:linear-gradient(#0000,#e2c57677);height:140px;position:absolute;bottom:50%;left:35%;right:35%}.skill-impact{border:1px solid #e2c57680;border-radius:50%;animation:.85s ease-out both skill-impact;position:absolute;inset:-8%}@keyframes skill-impact{0%,60%{opacity:0;transform:scale(.6)}80%{opacity:.7}to{opacity:0;transform:scale(1.5)}}.app[data-motion=reduced] .skill-impact{animation:none}.app[data-motion=reduced] .special-token:after{display:none}.skill-piece-picker{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.skill-piece-picker p{grid-column:1/-1}.skill-card{text-align:left;background:var(--surface-elevated,#f6edda);color:inherit;border:1px solid #9c8555;border-radius:10px;grid-template-columns:26px 1fr;gap:3px;padding:9px;display:grid}.skill-card>span{grid-row:1/4;align-self:center;font-size:21px}.skill-card strong{font-size:14px}.skill-card small,.skill-card em{font-size:10px;font-style:normal;line-height:1.5}.skill-card:disabled{opacity:.48}.skill-group h3{margin:10px 0 5px;font-size:12px}.skill-cards{grid-template-columns:1fr 1fr;gap:7px;display:grid}.private-skill-panel{overscroll-behavior:contain;width:390px;max-height:min(690px,76svh);overflow:auto}.skill-taiji{stroke:#f1e7c4;stroke-width:3px;transform-origin:300px 90px;animation:1.1s ease-out both taiji-orbit}.skill-thunder{stroke:#c7b9ff;stroke-width:5px}.skill-flags{stroke:#ee7569;stroke-width:3px}.skill-soul{stroke:#80cfb4;stroke-width:2px}.skill-gates{stroke:#ccaf66;stroke-width:3px}.special-action-panel[data-effect=SHIFT]{background:linear-gradient(120deg,#1c2026e8 50%,#8e8264dd 50%);border-color:#e1d6ae}.special-action-panel[data-effect=THUNDER]{background:linear-gradient(#282b4bea,#17142aea);border-color:#bca7ed}.special-action-panel[data-effect=CONVERT]{background:linear-gradient(90deg,#451e23ea,#181e27ea);border-color:#c37567}.special-action-panel[data-effect=RESURRECT]{background:radial-gradient(at bottom,#326952eb,#162b2bea);border-color:#82c7aa}.special-action-panel[data-effect=LOCK]{background:repeating-linear-gradient(45deg,#23271ee8 0 15px,#302d22e8 16px 17px);border-color:#b39a59}.special-action-scene .special-action-panel:is([data-effect=SHIFT],[data-effect=THUNDER],[data-effect=CONVERT],[data-effect=RESURRECT],[data-effect=LOCK]){color:#f9e4b9}.skill-motes{pointer-events:none;position:absolute;inset:0}.skill-motes b{background:currentColor;border-radius:50%;width:3px;height:3px;animation:1s ease-out both skill-mote;position:absolute}@keyframes skill-mote{0%{opacity:0;transform:translateY(14px)}35%{opacity:.6}to{opacity:0;transform:translateY(-18px)}}@keyframes taiji-orbit{0%{opacity:0;transform:rotate(-90deg)}to{opacity:.7;transform:rotate(90deg)}}.app .point--skill-locked>.piece{outline-offset:1px;outline:2px dashed #b19c69}.captured-token--selectable{background:0 0;border:2px solid #649a80;border-radius:50%;padding:0}.special-action-scene[data-motion=reduced] .skill-motes{display:none}.special-action-scene[data-motion=reduced] .skill-taiji{animation:none}@media (width<=900px){.private-skill-panel{inset:auto 6px calc(env(safe-area-inset-bottom,0px) + 60px);width:auto;max-height:72svh;position:fixed}.skill-cards{gap:5px}.skill-card{padding:7px}}.expanded-skill-overlay{z-index:70;pointer-events:none;position:fixed;inset:0}.expanded-skill-token{place-items:center;display:grid;position:absolute}.expanded-skill-token>.piece{width:100%;height:100%}.expanded-skill-mark{fill:none;stroke:#c9b277;stroke-width:2px;opacity:.6;width:124%;height:124%;animation:1.1s ease-out both skill-impact;position:absolute;inset:-12%}.expanded-skill-token--thunder .expanded-skill-mark{stroke:#b3baf8;fill:#d5dcff88;stroke-width:2px;animation:1.1s ease-out both skill-thunder-pulse}.expanded-skill-token--convert .expanded-skill-mark{stroke:#b4382f}.expanded-skill-token--resurrect .expanded-skill-mark{stroke:#6daf8e;stroke-dasharray:5 3}.expanded-skill-token--lock .expanded-skill-mark{stroke:#a9934e;animation:none}@keyframes skill-thunder-pulse{0%{opacity:0}15%,40%{opacity:.8}55%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.expanded-skill-mark{animation:none}}.app.app.app{--stage-gap:8px;--stage-row:60px;--stage-avatar:44px;--stage-hit:44px;--stage-icon:20px;--stage-panel-padding:12px;--stage-radius:12px;--stage-divider:#9a805740;--stage-status:38px;isolation:isolate;background:#17201d;position:relative}.app.app.app .app-header{border-color:var(--stage-divider);background:#eee4d8e8;border-radius:0 0 12px 12px}.app.app.app .header-actions{gap:8px}.app.app.app .ui-icon-button{min-height:var(--stage-hit);min-width:var(--stage-hit);width:var(--stage-hit);height:var(--stage-hit);padding:0}.app.app.app .topbar-social-actions>.ui-icon-button{width:var(--stage-hit);padding:0}.app.app.app .topbar-social-actions .ui-icon-label{display:none}.app.app.app .board-profile{border:1px solid var(--stage-divider);border-radius:var(--stage-radius);background:var(--stage-hud-surface,#f5f0e7f2);min-width:0;margin:0;box-shadow:inset 0 1px #fff9,0 3px 9px #0002}.app.app.app .board-profile-name{visibility:visible;gap:4px;min-width:0}.app.app.app .board-profile-name strong{min-width:0;font-weight:750;line-height:1.3}.app.app.app .board-profile-connection{visibility:visible}.app.app.app .profile-side{color:var(--piece-black-front);font-weight:700}.app.app.app .profile-side[data-side=red]{color:var(--piece-red-front)}.app.app.app .board-profile[data-active=true] .account-avatar{outline:2px solid var(--board-move);outline-offset:2px;animation:.7s ease-out stage-turn-halo}.app.app.app .board-profile[data-connected=false] .account-avatar{filter:grayscale(.9);outline-color:#898b87}.app.app.app .profile-avatar-button{justify-content:center;align-items:center;padding:0;display:flex}.app.app.app .self-player-row{align-items:center;gap:8px;width:100%;min-width:0;display:flex}.app.app.app .self-player-row>.board-profile{flex:1}.app.app.app .captured{background:linear-gradient(160deg,#fff4,transparent),var(--material-tray-surface,#dbc59e);border-radius:var(--stage-radius);border:1px solid #ae9164;box-shadow:inset 0 2px 4px #58412428,inset 0 -2px #fff6,0 2px 5px #0002}.app.app.app .captured-pieces{scrollbar-width:thin;align-items:center}.app.app.app .captured-heading{color:#4b493d;font-weight:600}.app.app.app .section-heading{border-color:var(--stage-divider)}.app.app.app .history-panel{border:1px solid var(--stage-divider);border-radius:var(--stage-radius);background:var(--stage-hud-surface,#f5f0e7f2);padding:12px}.app.app.app .selection-panel,.app.app.app .feedback-panel,.app.app.app .operations-panel{background:var(--stage-hud-surface,#f5f0e7f2);border-color:var(--stage-divider);border-radius:var(--stage-radius)}.room-chat .chat-trigger{color:#2c3029;min-height:44px;font:inherit;touch-action:manipulation;background:linear-gradient(#f4e8cd,#e2cba0);border:1px solid #9c8053;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:inset 0 1px #fff9,0 2px 3px #0002}.room-chat .chat-trigger svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.room-chat .chat-trigger:active{background:#d7bd8d;box-shadow:inset 0 2px 4px #322c2430}.room-chat .chat-trigger:disabled{opacity:.5}.room-chat .chat-sheet{min-width:0}.room-chat .room-chat-panel{color:#263c37;background:#f6f0e5;border-radius:12px;margin:0 0 8px;padding:12px;animation:.18s ease-out stage-panel-fade;position:static;inset:auto;box-shadow:0 6px 20px #0003}.room-chat .room-chat-compose{gap:8px;display:flex}.room-chat .room-chat-compose input{color:#263c37;background:#fffcf5;min-height:44px;padding:8px 10px;font-size:16px}.room-chat .room-chat-compose button{color:#263c37;background:#e9dbbf;min-height:44px;padding:8px 12px}.room-chat .chat-quick-messages{gap:8px}.room-chat .chat-quick-messages button{background:#eee5d3;border-color:#b09b76;min-height:44px;font-weight:600;line-height:1.4}.room-chat .chat-quick-messages button:active{background:#ded0b2}.app.app.app .room-chat{border-color:var(--stage-divider);background:var(--stage-hud-surface,#f5f0e7f2);border-radius:var(--stage-radius)}.app.app.app .room-chat-toolbar{flex-wrap:wrap;gap:8px;padding-top:8px}.app.app.app .chat-bubble{color:var(--chat-text);pointer-events:auto;animation:.18s ease-out chat-appear,.35s ease-in 4.65s forwards chat-disappear}.app.app.app .private-skill-controls{flex:none}.app.app.app .private-skill-controls>button{min-height:44px}.app.app.app .friend-badge{animation:.3s ease-out stage-badge-in}@keyframes stage-turn-halo{0%{box-shadow:0 0 0 7px #d8bd8050}to{box-shadow:0 0 #d8bd8000}}@keyframes stage-panel-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes stage-panel-fade{0%{opacity:0}to{opacity:1}}@keyframes stage-badge-in{0%{opacity:.5;transform:scale(.85)}to{opacity:1;transform:none}}@media (width>=901px){.app.app.app{--board-height:calc(100svh - 92px);--board-width:min(calc(var(--board-height) * .9),calc(100vw - 560px));height:100svh;padding-inline:16px}.app.app.app .app-header{grid-template-columns:minmax(150px,1fr) minmax(240px,1fr) minmax(0,1.8fr);height:52px;min-height:52px;padding-inline:12px}.app.app.app .game-layout{grid-template-columns:minmax(0,1fr) calc(var(--board-width) + 10px) minmax(0,1fr);grid-template-rows:168px minmax(0,1fr) 168px;gap:8px 16px;height:calc(100svh - 72px);padding:4px 0;display:grid}.app.app.app .play-area{display:contents}.app.app.app .table-heading,.app.app.app .board-legend{display:none}.app.app.app .board-shell{grid-area:1/2/4;align-self:center;width:100%}.app.app.app .board-profile--opponent{grid-area:1/1;justify-self:end}.app.app.app .board-profile{grid-template-rows:84px 64px;grid-template-columns:72px minmax(0,1fr);gap:0 12px;width:100%;max-width:360px;height:168px;min-height:168px;padding:8px 12px;display:grid}.app.app.app .board-profile>.account-avatar,.app.app.app .profile-avatar-button{grid-area:1/1}.app.app.app .board-profile .account-avatar{width:72px;height:72px}.app.app.app .board-profile-name{grid-area:1/2}.app.app.app .board-profile-name strong{font-size:18px}.app.app.app .board-profile-connection{font-size:11px;position:absolute;top:74px;left:96px}.app.app.app .board-profile--self{grid-template-rows:64px 84px}.app.app.app .board-profile--self>.account-avatar,.app.app.app .board-profile--self .board-profile-name{grid-row:2}.app.app.app .board-profile--self .board-profile-connection{top:auto;bottom:16px}.app.app.app .board-profile .chat-bubble{width:calc(100% - 20px);max-width:none;max-height:64px;font-size:16px;top:96px;bottom:auto;left:10px;overflow:auto}.app.app.app .board-profile--self .chat-bubble{top:8px;bottom:auto}.app.app.app .self-profile-slot{margin:0;padding:0;display:contents}.app.app.app .self-player-row{grid-area:3/1;justify-self:end;max-width:360px;height:168px}.app.app.app .game-information{grid-area:2/1;justify-self:end;width:100%;max-width:360px;height:100%;max-height:100%;overflow:auto}.app.app.app .game-information .losses-panel{background:0 0;flex-direction:column;order:-1;gap:8px;display:flex}.app.app.app .game-sidebar{grid-area:1/3/3;width:100%;max-width:360px;height:100%;max-height:100%;padding:0;display:flex;position:static;overflow:auto}.app.app.app .room-chat{z-index:30;grid-area:3/3;align-self:end;width:100%;max-width:360px;height:168px;max-height:168px;padding:12px;position:relative;inset:auto}.app.app.app .room-chat>.chat-trigger{position:absolute;bottom:12px;right:12px}.app.app.app .room-chat .chat-sheet{display:block}.app.app.app .room-chat .room-chat-panel{margin:0;position:absolute;bottom:calc(100% + 8px);left:0;right:0}.app.app.app .room-chat-toolbar{padding-right:0}.app.app.app .app-footer{color:#eee5d3;height:20px;padding:2px 0}.app.app.app[data-online=false]{--board-height:min(86svh,calc(100svh - 126px))}.app.app.app[data-online=false] .game-information{grid-row:1/4;max-width:290px}.app.app.app[data-online=false] .game-sidebar{grid-row:1/4;max-width:340px}.app.app.app[data-online=false][data-focus=true]{--board-height:min(90svh,calc(100svh - 92px))}.app.app.app[data-online=false][data-focus=true] .game-sidebar{display:none}}@media (width<=900px){.app.app.app{height:100svh;max-height:100svh;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px);--board-height:calc(100svh - 276px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));--board-width:min(calc(var(--board-height) * .9),calc(100vw - 6px));grid-template-rows:44px minmax(0,1fr);display:grid;position:fixed;inset:0;overflow:hidden}.app.app.app .app-header{justify-content:space-between;align-items:center;gap:8px;height:44px;min-height:44px;padding:0 6px;display:flex}.app.app.app .app-header>.brand{gap:6px;min-width:0;display:flex}.app.app.app .brand-seal{width:28px;height:28px;font-size:20px}.app.app.app .brand h1{letter-spacing:0;white-space:nowrap;font-size:14px}.app.app.app .brand p{display:none}.app.app.app .header-actions{gap:8px}.app.app.app .header-actions[data-tools-open=true]{max-height:80svh;padding:4px;position:absolute;top:0;right:4px;overflow:auto}.app.app.app .game-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:60px minmax(0,1fr) 54px var(--stage-status) var(--stage-row);grid-template-areas:"opponent""board""losses""status""self";align-items:stretch;gap:0;height:100%;min-height:0;padding:0;display:grid}.app.app.app .play-area{display:contents}.app.app.app .board-shell{width:calc(var(--board-width) + 4px);grid-area:board;place-self:center;min-width:0;max-width:100%}.app.app.app .board-frame{padding:1px}.app.app.app .board-coordinates{color:#eadfcb;height:10px;padding:0;line-height:10px}.app.app.app .table-heading,.app.app.app .board-legend,.app.app.app .app-footer{display:none}.app.app.app .board-profile--opponent{grid-area:opponent;align-self:center;margin:0 4px}.app.app.app .board-profile{align-items:center;gap:8px;width:auto;height:56px;min-height:56px;padding:4px 8px;display:flex}.app.app.app .board-profile .account-avatar{width:var(--stage-avatar);height:var(--stage-avatar)}.app.app.app .board-profile-name strong{font-size:13px}.app.app.app .board-profile-name small{font-size:10px}.app.app.app .board-profile-connection{margin-left:auto;font-size:10px;display:block;position:static}.app.app.app .stage-status{height:var(--stage-status);grid-area:status;justify-content:center;align-items:center;min-width:0;padding:0 8px;display:flex}.app.app.app .turn-panel{border:1px solid var(--stage-divider);background:#f3eadcf2;border-radius:10px;grid-template-rows:18px 14px;align-content:center;gap:0;width:100%;max-width:none;height:34px;padding:0 10px;display:grid}.app.app.app .turn-title{justify-content:center;height:18px;min-height:18px;font-size:13px;line-height:18px}.app.app.app .turn-panel .turn-guidance{display:none}.app.app.app .turn-panel p,.app.app.app .turn-panel .online-network-status{text-align:center;white-space:nowrap;text-overflow:ellipsis;height:14px;margin:0;font-size:10px;line-height:14px;overflow:hidden}:is(.app.app.app .turn-panel:has(.check-notice) .online-network-status,.app.app.app .turn-panel:has(.outcome-summary) .online-network-status){display:none}.app.app.app .self-profile-slot{min-width:0;height:var(--stage-row);grid-area:self;align-items:center;gap:8px;margin:0 4px;padding:0;display:flex}.app.app.app .self-player-row{flex:1;gap:4px;min-width:0;height:56px}.app.app.app .self-player-row>.board-profile{height:56px;min-height:56px;margin:0}.app.app.app .self-player-row .board-profile-connection{display:none}.app.app.app .game-information{grid-area:losses;min-width:0;height:54px;max-height:54px;overflow:hidden}.app.app.app .losses-panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:4px;height:54px;padding:0 4px;display:grid}.app.app.app .captured{min-width:0;padding:3px 5px;overflow:hidden}.app.app.app .captured-heading{font-size:9px;line-height:12px}.app.app.app .captured-pieces{flex-wrap:nowrap;height:28px;min-height:28px;margin-top:2px;overflow:auto hidden}.app.app.app .selection-panel,.app.app.app .feedback-panel{display:none}.app.app.app .game-sidebar{z-index:75;background:#f5f0e7;border-radius:12px;width:auto;max-width:none;height:auto;max-height:65svh;padding:12px;display:none;position:fixed;inset:auto 8px 64px;overflow:auto}.app.app.app .game-sidebar[data-tools-open=true]{display:flex}.app.app.app .room-chat{width:auto;max-width:none;height:44px;min-height:44px;box-shadow:none;z-index:56;background:0 0;border:0;flex:none;margin:0;padding:0;position:static;inset:auto}.app.app.app .room-chat>.chat-trigger{gap:6px;height:44px;min-height:44px;padding:0 10px;font-size:12px}.app.app.app .room-chat .chat-sheet{display:none}.app.app.app .room-chat[data-open=true] .chat-sheet{left:8px;right:8px;bottom:calc(var(--chat-keyboard-inset,0px) + env(safe-area-inset-bottom,0px) + 66px);max-height:calc(var(--chat-visible-height,100svh) - 100px);overscroll-behavior:contain;z-index:76;background:#f5f0e7;border:1px solid #b29b73;border-radius:12px;padding:12px;animation:.18s ease-out stage-panel-fade;display:grid;position:fixed;overflow:auto;box-shadow:0 8px 32px #0005}.app.app.app .room-chat[data-open=true] .room-chat-compose{display:flex}.app.app.app .room-chat[data-open=true] .room-chat-compose input,.app.app.app .room-chat[data-open=true] .room-chat-compose button[type=submit]{display:block}.app.app.app .room-chat[data-open=true] .room-chat-toolbar{display:flex}.app.app.app .room-chat .room-chat-panel{box-shadow:none;border:0;margin:0 0 8px;padding:0;position:static;inset:auto}.app.app.app .board-profile .chat-bubble{width:calc(100% - 68px);max-width:calc(100% - 68px);max-height:50px;padding:4px 6px;font-size:13px;line-height:1.4;top:3px;bottom:auto;left:60px;overflow:auto}:is(.app.app.app .board-profile:has(.chat-bubble) .board-profile-name,.app.app.app .board-profile:has(.chat-bubble) .board-profile-connection){visibility:hidden}.app.app.app .private-skill-controls{z-index:55;position:relative;inset:auto}.app.app.app .private-skill-controls>button{min-width:38px;padding:4px}.app.app.app .private-skill-panel{left:auto;right:0}}@media (prefers-reduced-motion:reduce){.app.app.app .account-avatar,.app.app.app .chat-bubble,.app.app.app .friend-badge,.room-chat .chat-sheet,.room-chat .room-chat-panel{animation:none}}.app.app.app[data-motion=reduced] .account-avatar,.app.app.app[data-motion=reduced] .chat-bubble,.app.app.app[data-motion=reduced] .friend-badge,.app.app.app[data-motion=reduced] .chat-sheet,.app.app.app[data-motion=reduced] .room-chat-panel{animation:none}.stage-environment{z-index:-1;pointer-events:none;contain:paint;position:absolute;inset:0;overflow:hidden}.stage-environment picture,.stage-environment img{width:100%;height:100%;display:block;position:absolute;inset:0}.stage-environment img{object-fit:cover;object-position:50% 50%}.stage-vignette{background:radial-gradient(at 50% 48%,#0000 28%,#060e1930 75%,#060d2050),linear-gradient(#0c141a18,#0000 30%,#080e1825);position:absolute;inset:0}.stage-edge-light{background:radial-gradient(ellipse at 6% 8%,color-mix(in srgb,var(--stage-ambient) 12%,transparent),transparent 43%);position:absolute;inset:0}@media (width<=900px){.app.app.app .header-actions>.stage-return-button,.app.app.app .header-actions[data-tools-open=true]>.stage-return-button{display:inline-flex}}@media (width>=901px){.app.app.app .game-information{background:var(--stage-hud-surface);border:1px solid var(--stage-divider);border-radius:var(--stage-radius);padding:8px}.app.app.app .game-information .selection-panel,.app.app.app .game-information .feedback-panel{border:0;border-top:1px solid var(--stage-divider);box-shadow:none;background:0 0;border-radius:0}}.room-chat .chat-quick-messages{animation:.18s ease-out stage-panel-in}@media (prefers-reduced-motion:reduce){.room-chat .chat-quick-messages{animation:none}}.app.app.app[data-motion=reduced] .chat-quick-messages{animation:none}:root{--feedback-press:.11s;--feedback-ease:cubic-bezier(.2,.6,.3,1)}:is(.button,.game-button,.ui-icon-button,.theme-thumbnail,.room-actions button,.friend-card button,.chat-quick-messages button){transition:box-shadow var(--feedback-press) var(--feedback-ease),border-color var(--feedback-press),background-color var(--feedback-press);touch-action:manipulation}:is(.button,.game-button,.ui-icon-button,.theme-thumbnail,.room-actions button,.friend-card button,.chat-quick-messages button):active:not(:disabled){box-shadow:inset 0 2px 4px #17201d35,inset 0 -1px #fff3}:is(.game-button,.room-actions button,.chat-quick-messages button)[aria-busy=true]{cursor:progress}.game-button[data-feedback=pending] .game-button-label{opacity:.8}.game-button[data-feedback=success]{border-color:#5f8761}.theme-thumbnail[aria-pressed=true]{box-shadow:inset 0 1px #fff3,inset 0 -2px var(--stage-accent,#c7ae79)}.app[data-selection-focus=true] :is(.feedback-panel,.history-panel,.event-panel){opacity:.82}.app :is(.feedback-panel,.history-panel,.event-panel){transition:opacity .16s var(--feedback-ease)}.app[data-action-phase=pending] .turn-title{color:#68542e}.app[data-action-phase=pending] .turn-title:after{content:"";background:currentColor;border-radius:50%;flex:none;width:5px;height:5px;animation:1s ease-in-out infinite feedback-wait}@keyframes feedback-wait{50%{opacity:.3}}.action-rejection{z-index:82;color:#703b2a;background:#fff6e9f5;border:1px solid #ad8164;border-radius:10px;align-items:center;gap:8px;max-width:min(520px,100vw - 24px);padding:8px 12px;font-size:13px;line-height:1.5;animation:.12s ease-out feedback-reject-in;display:flex;position:fixed;top:64px;left:50%;transform:translate(-50%);box-shadow:0 3px 12px #080e202b}.action-rejection button{min-height:32px;color:inherit;font:inherit;background:0 0;border:1px solid #b99c7c;border-radius:6px;flex:none;padding:4px 8px}@keyframes feedback-reject-in{0%{opacity:0}to{opacity:1}}.app .stage-edge-light{transition:opacity .22s ease-out}.app[data-match-mood=opening] .stage-edge-light{opacity:1}.app[data-match-mood=steady] .stage-edge-light{opacity:.75}.app[data-match-mood=waiting] .stage-edge-light{opacity:.28}.app[data-match-mood=waiting] .board-profile[data-connected=false]{border-color:#8c897a}.app[data-match-mood=check] .stage-edge-light{animation:.68s ease-out feedback-check-mood}@keyframes feedback-check-mood{0%,to{opacity:.75}45%{opacity:.2}}.app[data-match-mood=skill] .stage-edge-light{opacity:.35}.app[data-match-mood=terminal] .stage-edge-light{opacity:.12}.app[data-match-mood=finished] .stage-edge-light{opacity:.6}.app.app.app.app:is([data-presentation-priority="3"],[data-presentation-priority="4"],[data-presentation-priority="5"],[data-presentation-priority="6"]) .chat-bubble{visibility:hidden;opacity:0;pointer-events:none}.app.app.app.app:is([data-presentation-priority="3"],[data-presentation-priority="4"],[data-presentation-priority="5"],[data-presentation-priority="6"]) .board-profile:has(.chat-bubble) :is(.board-profile-name,.board-profile-connection){visibility:visible}@media (width>=901px){.action-rejection{max-width:min(310px,calc((100vw - var(--board-width,650px) - 58px)/2));top:232px;left:24px;transform:none}}@media (width<=900px){.action-rejection{top:calc(env(safe-area-inset-top,0px) + 108px);width:calc(100vw - 24px);font-size:12px}.app[data-match-mood=check] .stage-edge-light{opacity:.55;animation:none}}@media (prefers-reduced-motion:reduce){:is(.button,.game-button,.ui-icon-button,.theme-thumbnail,.room-actions button,.friend-card button,.chat-quick-messages button),.app .stage-edge-light{transition:none}.app[data-match-mood=check] .stage-edge-light,.app[data-action-phase=pending] .turn-title:after,.action-rejection{animation:none}}.app[data-motion=reduced] .stage-edge-light,.app[data-motion=reduced] .turn-title:after{transition:none;animation:none}.room-app{color:#293d37;background:radial-gradient(at 20% 0,#e5ede0,#0000 55%),#f6f3ec;min-height:100dvh;padding:28px 24px}.room-shell{width:min(1040px,100%);margin:auto}.room-app--game{padding:0}.room-app--game .room-shell{width:100%;max-width:none}.room-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:25px;display:flex}.room-header h1{letter-spacing:.1em;margin:0;font-size:26px}.room-header p{color:#61736a;margin:7px 0 0;font-size:14px}.room-network{white-space:nowrap;color:#66786e;font-size:13px}.room-network[data-connection=connected]{color:#397c58}.room-network[data-connection=disconnected]{color:#a45342}.room-card{background:#fffef9;border:1px solid #dbe0d2;border-radius:18px;padding:25px;box-shadow:0 9px 25px #243d2b07}.room-card h2{margin:0 0 20px;font-size:20px}.room-entry{text-align:center;max-width:680px;margin:8vh auto 0}.room-entry>p{color:#607065;margin-bottom:28px;line-height:1.7}.room-entry-actions,.room-actions,.room-copy-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.room-entry-actions{justify-content:center}.room-shell>:not(.app) button,.room-shell>button{color:#284d37;cursor:pointer;min-height:39px;font:inherit;background:#f9fbf6;border:1px solid #b9c8bc;border-radius:9px;padding:8px 17px}.room-shell>:not(.app) button:hover:not(:disabled),.room-shell>button:hover:not(:disabled){background:#eaf2e4}.room-app .room-primary{color:#fff;background:#335f47;border-color:#335f47}.room-app .room-primary:hover:not(:disabled){background:#294e3b}.room-shell>:not(.app) button:disabled,.room-shell>button:disabled{opacity:.48;cursor:not-allowed}.room-shell>:not(.app) :focus-visible,.room-shell>:focus-visible:not(.app){outline-offset:3px;outline:3px solid #75a57d}.room-form{max-width:740px;margin:auto}.room-field{color:#4b6152;gap:7px;font-size:14px;display:grid}.room-field input,.room-field select{box-sizing:border-box;color:#293d37;width:100%;min-height:40px;font:inherit;background:#fff;border:1px solid #bfcbbf;border-radius:8px;padding:8px 10px}.room-field select:disabled{color:#4b6152;opacity:1;background:#f0f3ed}.room-form-fields,.room-settings-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-bottom:20px;display:grid}.room-field--wide{grid-column:1/-1}.room-message{color:#98462f;background:#fff0e9;border-radius:9px;margin-bottom:18px;padding:11px 14px;font-size:14px}.room-copy-feedback{color:#397c58;font-size:13px}.room-copy-fallback{color:#607065;gap:8px;margin-top:12px;font-size:13px;display:grid}.room-copy-fallback textarea{box-sizing:border-box;resize:vertical;color:#293d37;overflow-wrap:anywhere;width:100%;min-height:64px;font:inherit;background:#fff;border:1px solid #bfcbbf;border-radius:8px;padding:10px}.room-invite-note,.room-rematch-status,.online-rematch-status{color:#45613f;background:#ebf1e6;border-radius:9px;padding:10px 12px;font-size:14px;line-height:1.7}.online-rematch-actions{gap:10px;margin:12px 0;display:grid}.room-lobby{grid-template-columns:minmax(0,1fr) minmax(270px,330px);gap:20px;display:grid}.room-number{color:#284d37;letter-spacing:.13em;font-family:ui-monospace,Consolas,monospace;font-size:29px}.room-room-title{flex-wrap:wrap;align-items:center;gap:15px;margin-bottom:14px;display:flex}.room-room-title h2{margin:0}.room-state-tag{color:#58744e;background:#ebf1e6;border-radius:30px;padding:5px 11px;font-size:12px}.room-player-list{gap:10px;margin:22px 0;padding:0;list-style:none;display:grid}.room-player{background:#f8faf5;border:1px solid #e0e6da;border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:14px;display:flex}.room-player strong{overflow-wrap:anywhere;display:block}.room-player small{color:#798577;margin-top:4px;font-size:12px;display:block}.room-player-state{color:#627655;text-align:right;white-space:nowrap;font-size:13px}.room-player-state[data-ready=true]{color:#237644}.room-password{color:#657560;flex-wrap:wrap;align-items:center;gap:12px;margin:16px 0;font-size:13px;display:flex}.room-password code{font-size:14px}.room-password button{min-height:30px;padding:4px 9px;font-size:12px}.room-preview{background:#f4f6ef;border:1px solid #d4decd;border-radius:12px;justify-content:center;align-items:center;gap:17px;min-height:145px;margin:16px 0 21px;padding:15px;display:flex}.room-board-preview{background:#ebd4ab;border:5px solid #a88c63;border-radius:8px;width:125px;height:138px;position:relative;overflow:hidden}.room-board-preview .scene-art{width:100%;height:100%;position:absolute;inset:0}.room-board-preview:after{content:"";opacity:.45;pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 12px,#7a614b 12px 13px),repeating-linear-gradient(90deg,#0000 0 11px,#7a614b 11px 12px);border:1px solid #7a614b;position:absolute;inset:12px}.room-board-preview[data-scene-theme=dark]{background:#4c4035;border-color:#4a3830}.room-board-preview[data-scene-theme=paper]{background:#f3f0e4;border-color:#9eab95}.room-board-preview[data-scene-theme=modern]{background:#e3ece4;border-color:#83a899}.room-board-preview[data-scene-theme=cosmos]{background:linear-gradient(140deg,#1d2536,#24243e,#1c293a);border-color:#55566c}.room-board-preview[data-scene-theme=volcano]{background:#332626;border-color:#735245}.room-board-preview[data-scene-theme=snow]{background:#d9eef4;border-color:#8faaba}.room-board-preview[data-scene-theme=cosmos]:after,.room-board-preview[data-scene-theme=dark]:after,.room-board-preview[data-scene-theme=volcano]:after{filter:invert()}.room-back-preview{color:#89663b;background:#e4c591;border-radius:50%;width:85px;height:85px;box-shadow:0 3px #b8915f,inset 0 0 0 3px #ae8959}.room-back-preview[data-back-theme=cosmos]{color:#d6d0f5;background:#383d59;box-shadow:0 3px #292941,inset 0 0 0 3px #8784a5}.room-back-preview[data-back-theme=volcano]{color:#f0ae70;background:#3b2927;box-shadow:0 3px #251d1d,inset 0 0 0 3px #9a614b}.room-back-preview[data-back-theme=snow]{color:#6795ad;background:#e3f4f7;box-shadow:0 3px #93b7c5,inset 0 0 0 3px #b4d3df}.room-help{color:#758171;font-size:13px;line-height:1.7}.room-opponent-network{color:#6b7253;margin:4px 0 12px;font-size:14px}.room-retry{margin-bottom:12px}.room-personal-settings{margin-top:20px}.room-personal-settings summary{cursor:pointer;font-size:14px;font-weight:600}.room-personal-controls{gap:14px;margin-top:20px;display:grid}.room-personal-controls label{color:#566d5d;align-items:center;gap:9px;font-size:14px;display:flex}.room-personal-controls input[type=range]{width:60%;min-width:100px}.room-app[data-focus=true] .room-header p,.room-app[data-focus=true] .room-help{display:none}@media (width<=740px){.room-app{padding:20px 14px}.room-lobby{grid-template-columns:1fr}.room-header{align-items:flex-start}.room-header h1{font-size:22px}.room-card{padding:20px}.room-form-fields,.room-settings-fields{grid-template-columns:1fr}}.room-welcome{overflow-wrap:anywhere;background:#e9dabd70;border-left:3px solid #a9844b;border-radius:7px;padding:13px 16px}.room-welcome-form{flex-wrap:wrap;gap:7px;margin:12px 0;display:flex}.room-welcome-form label{flex:1;min-width:150px;font-size:12px}.room-welcome-form input{width:100%;font:inherit;border:1px solid #bca57f;border-radius:7px;margin-top:5px;padding:9px;display:block}.room-welcome-form button{align-self:end;padding:9px}.board-profile{min-width:0;min-height:44px;color:var(--ink,#263c37);background:#e9ede3;border-radius:10px;align-items:center;gap:9px;padding:4px 8px;display:flex;position:relative}.board-profile--opponent{margin:3px 0 6px}.board-profile--self{margin:6px 0 3px}.room-player{position:relative}.board-profile .account-avatar{flex-shrink:0}.board-profile-name{gap:2px;min-width:0;display:grid}.board-profile-name strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.board-profile-name small{opacity:.75;font-size:10px}.board-profile-connection{white-space:nowrap;color:#83b596;margin-left:auto;font-size:10px}.board-profile-connection[data-connected=false]{color:#bd8b73}.chat-bubble{z-index:8;color:#29261f;overflow-wrap:anywhere;white-space:pre-wrap;pointer-events:none;background:#f1e7cd;border:1px solid #b19d71;border-radius:12px 12px 3px;width:max-content;max-width:min(260px,100vw - 48px);padding:9px 12px;font-size:13px;line-height:1.6;animation:.18s ease-out chat-appear,.35s ease-in 4.65s forwards chat-disappear;position:absolute;bottom:calc(100% + 4px);right:8px;box-shadow:0 4px 12px #0002}@keyframes chat-appear{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}@keyframes chat-disappear{to{opacity:0}}.room-chat{min-width:0;padding:4px 0;position:relative}.room-chat-toolbar{justify-content:space-between;align-items:center;gap:8px;display:flex}.room-chat-toolbar label{align-items:center;gap:5px;font-size:11px;display:flex}.room-chat-panel{background:var(--paper,#fcfbf6);border:1px solid #968669;border-radius:12px;margin-top:6px;padding:12px}.chat-quick-messages{grid-template-columns:1fr 1fr;gap:6px;display:grid}.chat-quick-messages button{min-width:0;color:inherit;touch-action:manipulation;background:0 0;border:1px solid #8b7a5c;border-radius:8px;padding:8px;font-size:12px}.room-chat-panel form{align-items:flex-end;gap:6px;min-width:0;margin:10px 0;display:flex}.room-chat-panel label{flex:1;gap:4px;min-width:0;font-size:11px;display:grid}.room-chat-panel input{box-sizing:border-box;width:100%;min-width:0;color:inherit;background:0 0;border:1px solid #9b8a6b;border-radius:7px;padding:9px;font-size:16px}.room-chat-panel button{cursor:pointer;color:inherit}.room-chat-panel form button{white-space:nowrap;background:0 0;border:1px solid #9b8a6b;border-radius:7px;padding:9px 12px}.room-chat-panel small,.chat-counter{opacity:.75;font-size:10px}.chat-counter{padding-bottom:10px}.chat-error{color:#dc9886;font-size:12px}@media (width<=740px){.board-profile{min-height:38px;padding:2px 6px}.board-profile .account-avatar{width:32px;height:32px}.board-profile-name strong{font-size:12px}.chat-bubble{font-size:12px;right:4px}.room-chat-panel{padding:9px}}@media (prefers-reduced-motion:reduce){.chat-bubble{animation:none}}[data-motion=reduced] .chat-bubble{animation:none}.board-profile{min-height:64px;padding:6px 10px}.board-profile-name strong{font-size:16px}.board-profile-name small,.board-profile-connection{font-size:12px}.board-profile .chat-bubble{max-width:calc(100% - 78px);max-height:52px;padding:5px 9px;font-size:14px;left:68px;right:auto;overflow:hidden}.board-profile--opponent .chat-bubble{border-radius:12px 12px 12px 3px;top:18px;bottom:auto}.board-profile--self .chat-bubble{border-radius:3px 12px 12px;top:auto;bottom:18px}.board-profile:has(.chat-bubble) .board-profile-name{visibility:hidden}.board-profile:has(.chat-bubble) .board-profile-connection{visibility:hidden}.room-chat-compose{align-items:center;gap:6px;width:100%;display:flex}.room-chat-compose input{min-width:0;font:inherit;background:var(--paper,#fcfbf6);color:inherit;border:1px solid #9b8a6b;border-radius:8px;flex:1;padding:9px 10px;font-size:16px}.room-chat-compose button{white-space:nowrap;color:#29261f;cursor:pointer;background:#f1e7cd;border:1px solid #9b8a6b;border-radius:8px;padding:9px 10px}.room-chat-panel{z-index:70;margin:0;position:absolute;bottom:calc(100% + 4px);left:0;right:0;box-shadow:0 8px 24px #0003}.room-chat-toolbar{min-height:18px}.chat-counter{padding:0}@media (width<=740px){.board-profile{min-height:52px}.board-profile .account-avatar{width:42px;height:42px}.board-profile-name strong{font-size:14px}.board-profile .chat-bubble{max-width:calc(100% - 68px);font-size:13px;left:58px}.board-profile--opponent .chat-bubble{top:10px}.board-profile--self .chat-bubble{bottom:10px}.room-chat-compose button{padding:9px 6px;font-size:12px}}.board-profile{min-height:72px}.board-profile .chat-bubble{max-height:none;line-height:1.35;top:7px;bottom:auto;overflow:visible}.board-profile--self .chat-bubble{top:auto;bottom:7px}@media (width<=740px){.board-profile{min-height:82px}.board-profile .chat-bubble{font-size:12.5px;line-height:1.3;top:3px}.board-profile--self .chat-bubble{top:auto;bottom:3px}}.room-card,.room-chat,.room-chat-compose{min-width:0;max-width:100%}@media (width>=901px){.room-chat{border:1px solid var(--line,#cbbb9d);border-radius:12px;min-height:128px;padding:12px}.room-chat-compose{flex-wrap:wrap}.room-chat-compose input{flex-basis:65%}.room-chat-panel{font-size:16px;line-height:1.6}.chat-quick-messages button{padding:12px;font-size:15px}}.room-chat-compose input{flex:1 1 0;width:0}@media (width<=740px){.room-lobby{grid-template-columns:minmax(0,1fr)}.room-chat-compose button{flex:none}}.friends-entry{z-index:50;color:#36271c;cursor:pointer;background:#f7ecd4;border:1px solid #988568;border-radius:12px;padding:8px 14px;position:fixed;bottom:12px;right:12px}.notifications-entry{z-index:50;color:#36271c;cursor:pointer;background:#f7ecd4;border:1px solid #988568;border-radius:12px;padding:8px 14px;position:fixed;bottom:62px;right:12px}.friend-badge{color:#fff;text-align:center;background:#8f1723;border-radius:12px;min-width:19px;margin-left:5px;padding:2px 5px;font-size:11px;display:inline-block}.modal--friends{width:min(820px,100vw - 24px)}.modal--friends h3{margin:16px 0 8px;font-size:15px}.friends-list{gap:8px;padding:0;list-style:none;display:grid}.friends-list li{border-bottom:1px solid #cbbb9d;flex-wrap:wrap;align-items:center;gap:7px;padding:9px;display:flex}.friend-profile{flex:1;align-items:center;gap:7px;min-width:100px;display:inline-flex}.friend-profile strong{overflow-wrap:anywhere;font-size:14px}.friends-list button,.modal--friends button{color:#36271c;cursor:pointer;background:#f7ecd4;border:1px solid #aa9878;border-radius:7px;padding:6px 9px}.friends-list span:not(.friend-profile):not(.friend-badge),.social-network{font-size:12px}.friend-invite-toast{z-index:90;color:#36271c;background:#f7ecd4;border:1px solid #988568;border-radius:14px;width:min(310px,100vw - 24px);padding:14px;position:fixed;top:12px;right:12px;box-shadow:0 8px 25px #0003}.friend-invite-toast p{margin:8px 0;font-size:13px}.friend-invite-toast button{margin-right:8px;padding:7px 10px}.direct-messages{flex-direction:column;gap:12px;height:min(430px,48dvh);margin:12px 0;padding:0;font-size:16px;line-height:1.65;list-style:none;display:flex;overflow:auto}.direct-messages li{overflow-wrap:anywhere;white-space:pre-wrap;background:#e6e7d7;border-radius:12px;align-self:flex-start;max-width:90%;padding:8px 12px}.direct-messages li[data-outgoing=true]{background:#ddcba5;align-self:flex-end}.direct-messages p{margin:0}.direct-messages small{opacity:.75;font-size:12px}.direct-compose{align-items:end;gap:8px;display:flex}.direct-compose label{flex:1;min-width:0}.direct-compose textarea{resize:vertical;width:100%;height:68px;font:inherit;border:1px solid #988568;border-radius:8px;padding:8px;display:block}.profile-avatar-button{cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;padding:0}@media (width<=900px){.friends-entry{padding:6px 10px;font-size:12px;bottom:80px;right:8px}.notifications-entry{padding:6px 10px;font-size:12px;bottom:122px;right:8px}.home~.friends-entry{bottom:12px}.modal--friends{max-height:85dvh;overflow:auto}}.room-invite-friends{border:1px solid var(--line,#c9c4b8);border-radius:12px;margin:14px 0;padding:12px}.room-invite-friends h3{margin:0 0 8px;font-size:15px}.room-invite-friends ul{max-height:240px;margin:0;padding:0;list-style:none;overflow:auto}.room-invite-friends li{align-items:center;gap:8px;min-width:0;padding:7px 0;display:flex}.room-invite-friends li strong{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.room-invite-friends li small{white-space:nowrap}.room-invite-friends button{min-width:64px;min-height:36px}.public-player-card{text-align:center;padding:12px}.public-player-card .account-avatar{margin:auto}.public-player-card h3{margin:10px;font-size:21px}.public-player-card dl{justify-content:center;gap:22px;display:flex}.public-player-card dt{color:#736853;font-size:12px}.public-player-card dd{margin:5px 0;font-size:17px;font-weight:700}.recent-form{justify-content:center;gap:5px;margin:8px;display:flex}.recent-form span{background:#eee0c8;border-radius:5px;padding:4px 7px}.recent-form [data-outcome=WIN]{color:#316b49}.recent-form [data-outcome=LOSS]{color:#982637}.match-records{max-height:58dvh;padding:0;list-style:none;overflow:auto}.match-records li{border-bottom:1px solid #cbbb9d;flex-wrap:wrap;align-items:center;gap:8px;padding:14px 0;display:flex}.match-record-detail{flex:1;gap:5px;min-width:160px;display:grid}.match-record-detail span,.match-record-detail small{opacity:.8;font-size:12px}.friend-inspect{text-align:left;flex-direction:column;flex:1;align-items:start;display:flex}.friend-inspect small{margin-left:41px}.history-filters{gap:8px;display:flex}.history-filters [aria-pressed=true]{background:#ddcba5}.modal.modal--social{width:min(940px,100vw - 32px);max-height:88dvh;padding:24px;overflow:auto}.social-center{grid-template-columns:152px minmax(0,1fr);gap:18px;min-height:380px;display:grid}.social-center[hidden]{display:none}.social-center-overview{border-bottom:1px solid #b69a6740;grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.social-center-overview p{color:#c2b7a4;margin:0;font-size:13px}.social-tabs{border-right:1px solid #b69a6736;flex-direction:column;gap:8px;padding-right:12px;display:flex}.modal .social-tabs [role=tab]{text-align:left;white-space:nowrap;color:#e1d6be;background:#111a2280;border:1px solid #0000;min-height:44px;padding:10px}.modal .social-tabs [aria-selected=true]{color:#f5dfa3;background:linear-gradient(100deg,#6d53274d,#b39a5815);border-color:#bfa36b9e}.social-content{min-width:0}.social-connection{color:#bdb6a9;justify-content:space-between;align-items:center;font-size:12px;display:flex}.social-connection [data-connected=true]{color:#8ecfa9}.social-connection button{min-height:36px}.social-error{color:#ecc1bd;background:#96313d18;border:1px solid #ad555f66;border-radius:8px;justify-content:space-between;gap:10px;margin:12px 0;padding:12px;font-size:13px;display:flex}.friend-search{align-items:end;gap:12px;margin:14px 0;display:flex}.friend-search>label:first-child{color:#cfc2a6;flex:1;gap:6px;min-width:0;font-size:12px;display:grid}.friend-search input[type=search]{color:#f3e5cb;width:100%;min-height:42px;font:inherit;background:#0a121b80;border:1px solid #9b87644f;border-radius:8px;padding:10px 12px;font-size:14px}.friend-online-filter{white-space:nowrap;align-items:center;gap:5px;min-height:42px;font-size:12px;display:flex}.friend-cards,.social-contact-rows{gap:10px;margin:12px 0;padding:0;list-style:none;display:grid}.friend-card{background:linear-gradient(125deg,#1d2c3cdd,#12212dd9);border:1px solid #b6a4773b;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;gap:9px;padding:14px;display:grid;position:relative;box-shadow:inset 0 1px #fff1}.modal .friend-card-profile{text-align:left;color:#f2e2c6;background:0 0;border:0;align-items:center;gap:10px;min-width:0;padding:0;display:flex}.friend-card-name{gap:5px;min-width:0;display:grid}.friend-card-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.friend-card-name small{opacity:.68;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.friend-card-presence{color:#afbaae;align-items:center;gap:6px;font-size:12px;display:flex}.friend-card-presence i{background:#777d81;border-radius:50%;width:6px;height:6px}.friend-card[data-presence=ONLINE] .friend-card-presence i{background:#8bd1a1}.friend-card[data-presence=IN_GAME] .friend-card-presence i{background:#cfad62}.friend-card-actions{grid-column:1/-1;justify-content:flex-end;align-items:center;gap:8px;display:flex}.modal .friend-card-actions .friend-primary{color:#fff3d4;background:linear-gradient(145deg,#ad8c51,#81642d);min-height:40px;margin-right:auto}.friend-unavailable{color:#929d9e;margin-right:auto;font-size:12px}.modal .friend-message-button{color:#e0c898;background:#17222e;align-items:center;gap:5px;min-height:44px;display:flex}.friend-message-button svg{fill:none;stroke:currentColor;stroke-width:1.7px}.friend-unread{text-align:center;width:24px;min-width:24px;height:20px;font-size:10px;line-height:20px;display:block}.friend-unread:not(:empty){color:#fff;background:#883a44;border-radius:10px}.modal .friend-card-actions .ui-icon-button{color:#dfccaa;background:#142332;width:44px;height:44px;padding:10px}.friend-more-menu{z-index:8;background:#15232ff7;border:1px solid #ab9367;border-radius:10px;min-width:154px;padding:6px;display:grid;position:absolute;top:calc(100% - 8px);right:12px;box-shadow:0 12px 28px #0007}.modal .friend-more-menu button{text-align:left;color:#eedfc6;background:0 0;border:0;min-height:40px}.modal .friend-more-menu button:hover,.modal .friend-more-menu button:focus-visible{background:#a387523b;outline:1px solid #b99b64}.social-contact-rows li{background:#1a2735bf;border:1px solid #a5936538;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:14px;display:flex}.social-contact-rows .friend-card-name{flex:1}.social-row-state{color:#bdc3b4;gap:4px;font-size:12px;display:grid}.social-row-state small{opacity:.7;font-size:11px}.social-row-actions{gap:8px;display:flex}.social-contact-rows time{opacity:.6;font-size:12px}.social-preference{background:#101b2980;border:1px solid #a5936540;border-radius:10px;padding:14px}.social-preference label{align-items:center;gap:8px;display:flex}.social-preference p{color:#bcb6a5;font-size:12px;line-height:1.7}.social-center .ui-empty-state{background:#14223069;border:1px dashed #b5a37340;border-radius:12px;margin:20px 0;padding:26px 18px;font-size:14px;line-height:1.8}.social-center button:disabled{opacity:.42;cursor:not-allowed}.social-center button,.social-center input{touch-action:manipulation}.social-center button:focus-visible{outline-offset:2px;outline:2px solid #d4b877}@media (width<=700px){.modal.modal--social{width:calc(100vw - 16px);max-height:90dvh;padding:16px 12px}.social-center{grid-template-columns:minmax(0,1fr);gap:12px;min-height:320px}.social-center-overview{grid-column:1;gap:6px}.social-center-overview p{font-size:11px}.social-tabs{border:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:0;display:grid}.modal .social-tabs [role=tab]{text-align:center;white-space:normal;padding:8px 3px;font-size:11px}.social-tabs .friend-badge{min-width:16px;margin:0 0 0 2px;padding:1px 3px;font-size:9px}.friend-card{padding:12px}.friend-search{gap:7px}.friend-card-name strong{font-size:14px}.friend-more-menu{top:auto;bottom:52px}.social-contact-rows li{padding:12px}.social-row-actions{justify-content:flex-end;width:100%}.social-content{overflow-anchor:none}}@media (prefers-reduced-motion:reduce){.social-center *{scroll-behavior:auto}}.conversation-heading{color:#bdb5a2;align-items:center;gap:10px;font-size:12px;display:flex}.social-feedback{color:#94cfa5;border-left:2px solid #73a889;padding:8px;font-size:12px}.social-section-caption{opacity:.7;font-size:12px;line-height:1.8}.notification-cards{gap:10px;padding:0;list-style:none;display:grid}.notification-cards li{background:#142432bd;border:1px solid #b29c6538;border-radius:10px;align-items:center;gap:12px;padding:14px;display:flex}.notification-detail{flex:1;gap:4px;min-width:0;display:grid}.notification-kind{color:#bcb494;font-size:11px}.notification-detail strong{overflow-wrap:anywhere;font-size:14px}.notification-detail p{margin:0;font-size:13px}.notification-detail small{opacity:.55;font-size:11px}.notification-actions{gap:6px;display:flex}.notification-actions button{min-height:40px}.modal[hidden]{display:none!important}@media (width<=700px){.notification-cards li{flex-wrap:wrap;padding:12px}.notification-actions{justify-content:flex-end;width:100%}.modal--notifications .history-filters{gap:4px}.modal--notifications .history-filters button{padding:8px;font-size:11px}}.interaction-overlay{z-index:65;pointer-events:none;contain:strict;position:fixed;inset:0;overflow:hidden}.interaction-projectile{text-align:center;color:#b42d54;will-change:transform,opacity;width:36px;height:36px;font-size:29px;line-height:36px;position:absolute;top:0;left:0}.interaction-petal{color:#c43662;opacity:0;font-size:17px;animation:.6s ease-out forwards interaction-petal;position:absolute}@keyframes interaction-petal{20%{opacity:.9}to{opacity:0;transform:translateY(-24px)scale(.6)}}.profile-interactions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0;display:grid}.profile-interactions button{cursor:pointer;background:#f7edda;border:1px solid #bca57f;border-radius:9px;padding:10px}.room-seat-toast{z-index:80;pointer-events:none;color:#fff0cf;background:#34291fe8;border-radius:12px;padding:10px 18px;animation:1.6s both seat-toast;position:fixed;top:12px;left:50%;transform:translate(-50%)}@keyframes seat-toast{0%,to{opacity:0}15%,85%{opacity:1}}@media (prefers-reduced-motion:reduce){.interaction-petal{display:none}.room-seat-toast{animation:none}}.interaction-projectile{width:48px;height:48px}.interaction-effect svg{width:100%;height:100%;overflow:visible}.interaction-impact{width:0;height:0;position:absolute}.interaction-residue{width:56px;height:56px;animation:.9s ease-out both interaction-hit;position:absolute;top:-28px;left:-28px}[data-kind=EGG] .interaction-residue{background:radial-gradient(#ffd647 35%,#ffedab95 40%,#fff4d9bd 72%,#0000 74%);border-radius:43% 55% 38% 48%;width:62px;height:39px;top:-18px;left:-31px}[data-kind=EGG] .interaction-residue svg{opacity:.18;transform:scale(.7,.4)}[data-kind=WATER] .interaction-residue{background:#6bd6f430;border:1px solid #b1f2ff99;border-radius:40%;animation:1s ease-out both water-film}[data-kind=WATER] .interaction-residue svg{opacity:.2}[data-kind=ROSE] .interaction-residue{animation:1s ease-out both rose-bloom}[data-kind=HEART] .interaction-residue{animation:1.1s ease-out both heart-lift}.interaction-ripple{border:2px solid #ffcdb170;border-radius:50%;width:56px;height:56px;animation:.6s ease-out both interaction-ring;position:absolute;inset:-28px}[data-kind=WATER] .interaction-ripple{border-color:#96e8ff;animation-duration:.9s}[data-kind=ROSE] .interaction-ripple{border-color:#ee86b55c}[data-kind=HEART] .interaction-ripple{border-color:#ff98bd70}.interaction-fragment{width:14px;height:14px;animation:interaction-fragment 1s cubic-bezier(.16,.55,.5,1) var(--delay) both;will-change:transform,opacity;position:absolute;top:-7px;left:-7px}[data-kind=WATER] .interaction-fragment{width:10px;height:14px}[data-kind=ROSE] .interaction-fragment{animation-duration:1.1s}[data-kind=HEART] .interaction-fragment{width:16px;height:16px;animation-duration:1.1s}[data-stage=fade] .interaction-impact{opacity:0;transition:opacity .3s}@keyframes interaction-fragment{0%{opacity:0;transform:scale(.1)}15%{opacity:1}to{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--spin)) scale(.7)}}@keyframes interaction-hit{0%{opacity:.2;transform:scale(1.3,.6)}18%{opacity:1;transform:scale(.9,1.08)}75%{opacity:.85}to{opacity:0;transform:scale(1.08)}}@keyframes interaction-ring{0%{opacity:0;transform:scale(.2)}15%{opacity:1}to{opacity:0;transform:scale(1.65)}}@keyframes water-film{0%{opacity:0;transform:scale(.4)}20%{opacity:1;transform:scale(1.1,.9)}to{opacity:0;transform:scale(1.05,1.3)}}@keyframes rose-bloom{0%{opacity:0;transform:scale(.6)rotate(-15deg)}25%{opacity:1;transform:scale(1.08)}to{opacity:0;transform:translateY(8px)rotate(12deg)}}@keyframes heart-lift{0%{opacity:0;transform:scale(.65)}20%{opacity:1;transform:scale(1.12)}to{opacity:0;transform:translateY(-25px)scale(.9)}}.room-offline-badge{color:#665f58;background:#eee6da;border-radius:6px;padding:3px 7px;font-size:12px}.interaction-overlay[data-motion=reduced] .interaction-residue{opacity:.75;animation:none}.interaction-overlay[data-motion=reduced] .interaction-ripple{display:none}@media (prefers-reduced-motion:reduce){.interaction-fragment{display:none}}.room-app[data-board-theme]{isolation:isolate;--lobby-ink:#f4e8ce;--lobby-accent:#d6ad67;--lobby-base:#201b17;min-height:100dvh;position:relative}.room-app[data-board-theme=cosmos]{--lobby-base:#101326;--lobby-accent:#b9b7fa}.room-app[data-board-theme=snow]{--lobby-base:#172b38;--lobby-accent:#9ad6ec}.room-app[data-board-theme=volcano]{--lobby-base:#281515;--lobby-accent:#edaf79}.room-app[data-board-theme=paper]{--lobby-base:#26271f;--lobby-accent:#d9c394}.room-app[data-board-theme=modern]{--lobby-base:#15272a;--lobby-accent:#94cfc7}.room-lobby-background{z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 50% 20%,color-mix(in srgb,var(--lobby-accent) 16%,var(--lobby-base)),var(--lobby-base) 75%);position:fixed;inset:0;overflow:hidden}.room-lobby-background .scene-art{opacity:.26;width:100%;height:100%}.lobby-table{background:repeating-linear-gradient(0deg,#0000 0 69px,#d6ad6710 70px 71px),repeating-linear-gradient(90deg,#0000 0 69px,#d6ad6710 70px 71px);border:2px solid #d6ad6730;border-radius:45%;position:absolute;inset:54% -20% -60%;transform:perspective(500px)rotateX(48deg)}.room-shell{max-width:1100px;color:var(--lobby-ink);margin:auto;position:relative}.room-app[data-board-theme] .room-card{background:color-mix(in srgb,var(--lobby-base) 87%,transparent);border:1px solid color-mix(in srgb,var(--lobby-accent) 30%,transparent);color:var(--lobby-ink);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);border-radius:20px;box-shadow:0 24px 64px #0005}.room-header p,.room-help,.room-app[data-board-theme] .room-card p,.room-field,.room-app[data-board-theme] .room-card legend,.room-app[data-board-theme] .room-card label{color:inherit}.room-app[data-board-theme] .room-card button,.room-entry button{color:var(--lobby-ink);background:#fff1;border:1px solid #fff3;border-radius:10px}.room-app[data-board-theme] .room-card .room-primary{background:var(--lobby-accent);color:#201916;border-color:var(--lobby-accent)}.room-app[data-board-theme] .room-card input:not([type=checkbox]):not([type=range]),.room-app[data-board-theme] .room-card select,.room-app[data-board-theme] .room-card textarea{color:var(--lobby-ink);background:#0b0c1199;border:1px solid #fff4}.room-app[data-board-theme] .room-card option{background:var(--lobby-base)}.room-form{width:min(100%,760px);margin:1.25rem auto}.room-form-fields{align-items:center}.room-player-list{gap:1rem;margin:1.5rem 0}.room-player-card{background:linear-gradient(150deg,#ffffff0d,#ffffff03);border-color:#ffffff25}.room-player-card .account-avatar{box-shadow:0 0 0 5px #ffffff09,0 10px 28px #0003}.room-player-card--empty{animation:4s ease-in-out infinite lobby-seat-breathe}.room-join-preview{border:1px solid #ffffff20;border-radius:14px;grid-template-columns:auto 1fr;align-items:center;gap:.7rem;padding:1rem;display:grid}.room-join-preview .room-theme-preview,.room-join-preview p{grid-column:1/-1}.room-management-panel{border:1px solid #fff2;border-radius:12px;gap:.8rem;margin:1rem 0;padding:1rem;display:grid}.room-management-panel form,.room-removed-member{flex-wrap:wrap;align-items:center;gap:.7rem;display:flex}.room-management-panel .button--danger{color:#ffbeb9;background:#7e28282b;border-color:#bf6b68}.room-welcome-form{margin-bottom:1rem}.room-app--game .room-lobby-background{opacity:.25}.room-start-countdown{z-index:85;color:#fff0cf;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:all;background:#0d141acc;flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex;position:fixed;inset:0}.room-start-countdown strong{text-shadow:0 5px 24px #deb47766;font:800 clamp(84px,18vw,150px)/1.1 serif;animation:.8s ease-out both lobby-count}.room-start-countdown p{font-size:22px}@keyframes lobby-count{0%{opacity:0;transform:scale(1.13)}to{opacity:1;transform:scale(1)}}[data-motion=reduced] .room-start-countdown strong{animation:none}@keyframes lobby-seat-breathe{50%{border-color:var(--lobby-accent)}}@media (width<=600px){.room-app:not(.room-app--game) .room-shell{padding:0 max(10px,env(safe-area-inset-left))}.room-app[data-board-theme] .room-card{-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:16px}.room-player-list{gap:.6rem}.room-lobby-background .scene-art{opacity:.18}.room-management-panel{padding:.65rem}}@media (prefers-reduced-motion:reduce){.room-player-card--empty{animation:none}}[data-motion=reduced] .room-player-card--empty{animation:none}.room-app[data-board-theme]{background:var(--lobby-base);color:var(--lobby-ink)}.room-app[data-board-theme] .room-lobby-background{z-index:0;position:absolute;inset:0}.room-app[data-board-theme] .room-shell{z-index:1}.room-app[data-board-theme] .room-header p,.room-app[data-board-theme] .room-entry>p{color:#e2d3b9}.room-app[data-board-theme] .room-player-list{grid-template-columns:repeat(2,minmax(0,1fr))}.room-app[data-board-theme] .room-player{text-align:center;background:linear-gradient(145deg,#fff1,#ffffff04);border-color:#fff3;flex-direction:column;justify-content:center;min-width:0;padding:18px 10px}.room-app[data-board-theme] .room-player strong{color:var(--lobby-ink);font-size:18px}.room-app[data-board-theme] .room-player small{color:#c8bfae}.room-app[data-board-theme] .room-player-state[data-ready=true]{color:#a7d9b2}.room-app[data-board-theme] .room-number{color:var(--lobby-accent)}.room-app[data-board-theme] .room-primary{background:var(--lobby-accent);color:#201916}.room-app[data-board-theme] .room-player:not([data-player-id]){animation:4s ease-in-out infinite lobby-seat-breathe}.room-app[data-board-theme] .room-player[data-connected=false] .account-avatar{filter:grayscale(.8);opacity:.6}.room-player[data-seat-arriving=true] .account-avatar{animation:.5s ease-out both room-seat-in}@keyframes room-seat-in{0%{opacity:0;transform:translateY(8px)scale(.94)}to{opacity:1;transform:none}}[data-motion=reduced] .room-player[data-seat-arriving=true] .account-avatar{animation:.25s linear both room-seat-in-fade}@keyframes room-seat-in-fade{0%{opacity:0}to{opacity:1}}.room-app[data-board-theme] .room-theme-preview{background:#fff0;border-color:#fff2}.room-app[data-board-theme] .room-card .button--danger{color:#ffc2b9;background:#732c2c55;border-color:#ba817366}@media (width<=600px){.room-app[data-board-theme]{padding:16px 8px}.room-app[data-board-theme].room-app--game{padding:0}.room-app[data-board-theme] .room-card{-webkit-backdrop-filter:none;backdrop-filter:none;padding:16px}.room-app[data-board-theme] .room-player strong{font-size:15px}.room-app[data-board-theme] .room-header{margin-bottom:16px}}[data-motion=reduced] .room-player:not([data-player-id]){animation:none}.room-seat-departure{z-index:84;pointer-events:none;color:#ecdcc1;justify-items:center;gap:4px;animation:.5s ease-in forwards room-seat-out;display:grid;position:fixed;transform:translate(-50%,-50%)}.room-seat-departure[data-motion=reduced]{animation:.25s linear forwards room-seat-fade}@keyframes room-seat-out{to{opacity:0;transform:translate(-50%,-75%)scale(.96)}}@keyframes room-seat-fade{to{opacity:0}}.room-app:not(.room-app--game) .room-header{border-bottom:1px solid #ffffff1c;padding-bottom:7px}.room-app:not(.room-app--game) .room-account-actions{min-width:0}.room-app:not(.room-app--game) .room-account-actions>strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.room-social-actions{margin-left:auto}.room-social-actions:empty{display:none}.room-form-intro{opacity:.8;grid-column:1/-1;margin:0 0 12px;font-size:13px;line-height:1.6}.room-form .room-form-controls{min-width:0}.room-form .account-profile{background:#ffffff05;border:1px solid #ffffff20;border-radius:12px;gap:10px;padding:12px 14px}.room-field small{opacity:.7;font-size:12px;line-height:1.6}.room-lookup{border-left:2px solid var(--lobby-accent);background:#ffffff05;padding:10px 14px;font-size:13px}.room-invitation-number{border:1px solid color-mix(in srgb,var(--lobby-accent) 35%,transparent);background:linear-gradient(100deg,#ffffff06,#0000);border-radius:13px;grid-template-columns:1fr auto;align-items:center;gap:7px 14px;padding:16px;display:grid}.room-invitation-number>span{letter-spacing:.14em;opacity:.8;font-size:12px}.room-invitation-number>strong{letter-spacing:.13em;grid-row:span 2;font-size:clamp(24px,4vw,32px)}.room-invitation-number>small{opacity:.7;font-size:12px}.room-state-tag[data-status=READY]{color:#b4ebcc;background:#3e765942;border:1px solid #75b99455}.room-state-tag[data-status=PLAYING]{color:#f5d29b;background:#aa865531}.room-copy-actions{border-bottom:1px solid #ffffff12;padding-bottom:12px}.room-management-panel h3{letter-spacing:.08em;margin:0;font-size:14px}.room-management-panel p{opacity:.75;margin:0;font-size:12px;line-height:1.7}.room-management-danger{border-top:1px solid #bf6b6850;flex-wrap:wrap;gap:9px;padding-top:16px;display:flex}.room-management-danger>h3,.room-management-danger>p{flex-basis:100%}.room-management-panel input:not([type=checkbox]){box-sizing:border-box;border-radius:8px;max-width:100%;min-height:44px;padding:9px 12px}.room-app:not(.room-app--game) .room-shell button{touch-action:manipulation;min-height:44px}.room-app:not(.room-app--game) .room-actions{gap:10px;padding-top:10px}.room-app.room-app:not(.room-app--game) .room-form-controls>.room-actions>.game-button--hero{flex:1 1 0;width:auto}.room-form-controls>.room-actions>.game-button--text{white-space:nowrap}.room-management-card>h2{margin-top:22px}.room-personal-settings{border-top:1px solid #ffffff20;padding-top:18px}.room-personal-settings>summary{align-items:center;min-height:44px;display:flex}@media (width<=600px){.room-app:not(.room-app--game) .room-account-actions{gap:6px}.room-app:not(.room-app--game) .room-account-actions>.account-avatar{width:30px!important;height:30px!important}.room-app:not(.room-app--game) .room-account-actions>strong{flex:1;font-size:12px}.room-app:not(.room-app--game) .room-account-actions>.button{flex:none;min-height:44px;padding-inline:8px;font-size:12px}.room-social-actions{gap:4px;margin-left:0}.room-app:not(.room-app--game) .room-header{flex-wrap:wrap;gap:10px;padding-bottom:7px}.room-form-intro{margin:0 0 8px;font-size:11px;line-height:1.5}.room-form .account-profile{gap:6px;min-height:42px;padding:4px;font-size:12px}.room-form .account-profile .account-avatar{width:30px!important;height:30px!important}.room-app:not(.room-app--game) .room-network{margin-left:auto}.room-invitation-number{gap:6px 10px;padding:12px}.room-copy-actions>button{flex:1}}.identity-auth.auth-page{--auth-accent:#c8a66b;--auth-ground:#12221e;--auth-card:#1c2e28;--auth-input:#10201a;--auth-text:#f5ebd6;inset:0;top:var(--auth-viewport-top,0px);height:var(--auth-viewport-height,100svh);min-height:0;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:radial-gradient(ellipse at 30% 34%,color-mix(in srgb,var(--auth-accent) 12%,transparent),transparent 62%),radial-gradient(ellipse at center,transparent 25%,#050e1480),var(--auth-ground);color:var(--auth-text);position:fixed;overflow:hidden}body:has(.identity-auth){overscroll-behavior:none;height:100svh;overflow:hidden}.identity-auth[data-board-theme=dark]{--auth-ground:#201814;--auth-card:#332721;--auth-input:#241813;--auth-accent:#cfac7e}.identity-auth[data-board-theme=paper]{--auth-ground:#272820;--auth-card:#34382d;--auth-input:#23261e;--auth-accent:#d9c69a}.identity-auth[data-board-theme=modern]{--auth-ground:#132827;--auth-card:#203938;--auth-input:#122a2a;--auth-accent:#9bc6b3}.identity-auth[data-board-theme=cosmos]{--auth-ground:#111427;--auth-card:#20233c;--auth-input:#11172a;--auth-accent:#a5acdf}.identity-auth[data-board-theme=volcano]{--auth-ground:#251715;--auth-card:#382721;--auth-input:#291b17;--auth-accent:#e5a16c}.identity-auth[data-board-theme=snow]{--auth-ground:#192c37;--auth-card:#263f4b;--auth-input:#172d3b;--auth-accent:#a4d4df}.auth-background{opacity:.11;pointer-events:none;width:75%;height:140%;position:absolute;inset:-20% 40% -20% -10%}.auth-background g{fill:none;stroke:var(--auth-accent);stroke-width:2px}.auth-background circle{fill:var(--auth-ground);stroke-width:3px}.auth-stage{grid-template-columns:1fr minmax(350px,440px);align-items:center;gap:64px;width:min(100%,1000px);height:100%;max-height:740px;display:grid;position:relative}.auth-introduction{padding:24px}.auth-brand-mark{border:1px solid var(--auth-accent);width:44px;height:44px;color:var(--auth-accent);border-radius:8px;flex:none;place-items:center;font:30px KaiTi,STKaiti,serif;display:grid}.auth-introduction>.hero-kicker{margin-top:32px}.auth-introduction h2{letter-spacing:.1em;margin:16px 0 24px;font:700 clamp(54px,6vw,80px)/1.25 KaiTi,STKaiti,serif}.auth-introduction>p:last-of-type{color:#d1d2c4;font-size:16px;line-height:1.9}.auth-introduction-rule{border-top:1px solid color-mix(in srgb,var(--auth-accent) 24%,transparent);color:var(--auth-accent);margin-top:32px;padding-top:20px;font-size:12px;display:block}.identity-auth .auth-card{overscroll-behavior:contain;scrollbar-width:thin;background:var(--auth-card);width:100%;max-height:100%;color:var(--auth-text);border:1px solid color-mix(in srgb,var(--auth-accent) 32%,transparent);border-radius:18px;gap:12px;padding:24px;scroll-padding:16px;overflow-y:auto;box-shadow:0 20px 60px #0004,inset 0 1px #fff1}.auth-card-heading{align-items:center;gap:12px;margin-bottom:4px;display:flex}.identity-auth .auth-card h1{margin:4px 0 0;font:700 28px/1.3 KaiTi,STKaiti,serif}.identity-auth .hero-kicker{letter-spacing:.1em;color:var(--auth-accent);font-size:11px}.identity-auth .auth-card label{gap:5px;font-size:12px}.identity-auth .auth-card input:not([type=file]){height:44px;color:var(--auth-text);background:var(--auth-input);border-color:color-mix(in srgb,var(--auth-accent) 38%,transparent);padding:10px 12px;font-size:16px;line-height:22px}.identity-auth input:focus-visible{outline:2px solid var(--auth-accent);outline-offset:2px}.identity-auth input:-webkit-autofill{-webkit-text-fill-color:var(--auth-text);box-shadow:0 0 0 100px var(--auth-input) inset}.identity-auth .nickname-availability{white-space:nowrap;height:18px;color:var(--auth-accent);text-overflow:ellipsis;margin-top:-8px;font-size:11px;line-height:18px;overflow:hidden}.identity-auth .auth-card legend{margin-bottom:6px;font-size:12px}.identity-auth .avatar-picker{gap:8px}.identity-auth .avatar-picker button{background:var(--auth-input);border-radius:8px;gap:2px;padding:5px}.identity-auth .avatar-picker .account-avatar{width:36px;height:36px}.identity-auth .avatar-picker button[aria-pressed=true]{background:color-mix(in srgb,var(--auth-accent) 20%,var(--auth-input));border-color:var(--auth-accent)}.identity-auth .auth-upload{border:1px dashed color-mix(in srgb,var(--auth-accent) 40%,transparent);cursor:pointer;border-radius:8px;flex-direction:row;align-items:center;gap:8px;min-height:34px;padding:6px 10px;display:flex;position:relative;overflow:hidden}.identity-auth .auth-upload input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.identity-auth .auth-upload small{text-overflow:ellipsis;white-space:nowrap;color:#bac4be;font-size:10px;overflow:hidden}.identity-auth .auth-upload:focus-within{outline:2px solid var(--auth-accent);outline-offset:2px}.auth-feedback{color:#bec9c0;align-items:center;height:38px;font-size:12px;line-height:18px;display:flex;overflow:auto}.identity-auth .auth-submit{color:#fff4df;background:#8d302e;border:1px solid #f2e4c726;border-radius:8px;width:100%;height:44px;font-size:16px}.identity-auth .auth-submit:disabled{opacity:.7}.identity-auth .auth-links{gap:8px}.identity-auth .auth-links button{color:#e3d5b8;min-height:32px;padding:4px 0;font-size:12px}.identity-auth .auth-card .auth-guest-note{text-align:center;color:#bac4be;font-size:11px}@media (width<=760px){.auth-stage{grid-template-columns:minmax(0,1fr);gap:0;max-width:420px}.auth-introduction{display:none}.auth-background{opacity:.08;width:180%;height:110%;inset:-5% -40%}.identity-auth .auth-card{gap:10px;padding:20px}}@media (height<=640px){.identity-auth .auth-card{gap:8px;padding:14px 18px}.identity-auth .auth-card-heading{margin-bottom:0}.identity-auth .auth-card .auth-guest-note{display:none}}.home,.auth-page,.room-app:not(.room-app--game),.room-form,.room-lobby{animation:.24s ease-out both page-arrival}@keyframes page-arrival{0%{opacity:0}to{opacity:1}}.modal--profile{width:min(580px,100vw - 24px)}.modal.modal--friends,.modal.modal--profile{color:#f0e5cf;background:linear-gradient(135deg,#1b2a37,#101d28);border-color:#a99164;box-shadow:0 24px 64px #0007,inset 0 0 0 5px #b99e6a12}.modal.modal--friends .modal-heading h2,.modal.modal--profile .modal-heading h2{color:inherit}.modal.modal--friends>p,.modal.modal--profile>p{color:#c7baa0}.modal.modal--friends button,.modal.modal--profile button{color:#e8d8b9;background:#142330;border-color:#a28c6350}.modal.modal--friends .social-tabs [aria-selected=true]{color:#ffe0a3;background:linear-gradient(110deg,#705a324d,#a9935020);border-color:#c1a46b90}.modal.modal--friends .friend-search input{color:#eadfc7;background:#0e1924}.modal.modal--friends .friend-card-actions .friend-primary{color:#fff3d4;background:linear-gradient(145deg,#ad8c51,#81642d)}.modal.modal--social .direct-messages li{color:#f2e9d6;background:#21384a}.modal.modal--social .direct-messages li[data-outgoing=true]{color:#f3e4c3;background:#3b4439}.modal.modal--social .direct-compose textarea{color:#f0e5cf;background:#0e1b27;border-color:#a28c6360}.modal--profile .public-player-card{background:linear-gradient(135deg,#ffffff06,#0000);border:1px solid #b99b6745;border-radius:13px;padding:18px}.modal--profile .public-player-card h3{letter-spacing:.08em;font-size:23px}.modal--profile .public-player-card dt{color:#c4b697}.modal--profile>button,.modal--profile .profile-interactions>button{touch-action:manipulation;min-height:44px;margin:5px 4px}.profile-social-caption{opacity:.75;padding:0 8px;font-size:12px;line-height:1.7}.modal--history{width:min(880px,100vw - 24px)}.modal--history .match-records{gap:12px}.modal--history .match-records>li{background:linear-gradient(115deg,#ffffff08,#0000);border:1px solid #a9926340;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;padding:16px;display:flex}.modal--history .match-record-detail{flex:1;gap:5px;min-width:180px;display:grid}.modal--history .match-record-detail>span,.modal--history .match-record-detail>small{opacity:.75;font-size:12px;line-height:1.6}.modal--history .history-filters,.modal--notifications .history-filters{border-bottom:1px solid #b99b672a;flex-wrap:wrap;gap:8px;padding:10px 0;display:flex}.modal--history button,.modal--notifications button{touch-action:manipulation;min-height:44px}.history-filters [aria-pressed=true]{background:#9c79453d;border-color:#b6a071}.scene-audio-controls{border-bottom:1px solid #b99b672a;padding:16px 0}.home-header nav{flex-wrap:wrap}.scene-audio-entry{white-space:nowrap;font-size:12px}.room-app:not(.room-app--game) .room-account-actions>.button,.room-app:not(.room-app--game) .room-header .app-back-button{color:var(--lobby-ink);background:#ffffff0b;border-color:#b69a6760}.modal--social .social-row-actions button,.modal--social .friend-primary{min-height:44px}.notification-cards .notification-kind{letter-spacing:.05em;padding-bottom:4px}.modal--social .friend-card{transition:border-color .18s,background-color .18s}.modal--social .friend-card:hover{border-color:#bba47170}@media (width<=600px){.home-header nav .scene-audio-entry{padding:7px 10px}.modal--history .match-records>li{gap:8px;padding:12px}.modal--history .match-record-detail{min-width:150px}.modal--history .match-records>li>button:not([aria-label]){flex:1;font-size:12px}.modal--profile>button{font-size:13px}}@media (prefers-reduced-motion:reduce){.home,.auth-page,.room-app:not(.room-app--game),.room-form,.room-lobby{animation:none}.modal--social .friend-card{transition:none}}[data-motion=reduced].room-app,.room-app[data-motion=reduced] .room-form,.room-app[data-motion=reduced] .room-lobby{animation:none}:root{color:#263c37;font-synthesis:none;text-rendering:optimizelegibility;--ink:#263c37;--muted:#7a837a;--red:#a23c3b;--paper:#fcfbf6;--line:#dcded3;background:#f3f2ea;font-family:Microsoft YaHei,PingFang SC,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:340px;margin:0}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible{outline-offset:4px;outline:3px solid #497e77}button,a{-webkit-tap-highlight-color:transparent}.app{max-width:1240px;margin:0 auto;padding:0 40px}.app-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;min-height:108px;display:flex}.brand{align-items:center;gap:16px;display:flex}.brand-seal{color:#f8f7eb;background:var(--ink);border-radius:6px 16px;place-items:center;width:48px;height:48px;font-family:SimSun,serif;font-size:28px;display:grid}h1,h2,p{margin:0}.brand h1{letter-spacing:3px;font-family:SimSun,Songti SC,serif;font-size:27px;font-weight:700}.brand p{letter-spacing:3px;color:var(--muted);margin-top:7px;font-size:11px}.header-actions{align-items:center;gap:12px;display:flex}.local-badge{color:var(--muted);white-space:nowrap;margin-right:15px;font-size:12px}.local-badge i{vertical-align:middle;background:#70907e;border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block}.button{background:0 0;border:1px solid #0000;border-radius:6px;padding:10px 17px;font-size:13px;font-weight:600;transition:background .15s}.button--quiet:hover{background:#e6e8df}.button--outline{background:var(--paper);border-color:#c8cfc2}.button--outline:hover{background:#ecefe5}.button--primary{color:#fffdf5;background:#2c5149}.button--primary:hover{background:#193f35}.button--danger{color:#fffaf2;background:var(--red)}.game-layout{grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:42px;padding:28px 0 24px;display:grid}.play-area{min-width:0}.table-heading{color:var(--muted);letter-spacing:2px;justify-content:space-between;max-width:630px;margin:0 auto 18px;font-size:11px;display:flex}.board-shell{width:min(100%,600px,90dvh - 234px);min-width:350px;margin:0 auto}.board-orientation,.board-bottom-label{letter-spacing:1px;color:#7c887c;justify-content:space-between;align-items:center;margin:0 3px 10px;font-size:10px;display:flex}.board-orientation span:first-child,.board-bottom-label span:first-child{color:var(--ink);font-size:11px;font-weight:700}.board-bottom-label span:first-child,.board-orientation[data-player-side=red] span:first-child{color:var(--red)}.board-bottom-label[data-player-side=black] span:first-child{color:var(--ink)}.board-frame{background:#e8d9b9;border:1px solid #baaa8b;border-radius:5px;padding:8px;box-shadow:0 15px 26px -20px #30372a80,inset 0 0 0 3px #f4ebd7}.board{aspect-ratio:9/10;background:linear-gradient(100deg,#efdfbf 0%,#f4e7cf 48%,#ecddbe 100%);border:1px solid #bcaa89;position:relative;container-type:inline-size}.board-lines{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.board-strokes{stroke:#766647;stroke-width:2px;fill:none}.board-stars{stroke:#837154;stroke-width:2px;fill:none}.river-lettering{fill:#867050;letter-spacing:8px;text-anchor:middle;font-family:SimSun,Songti SC,serif;font-size:35px}.board-points{grid-template-rows:repeat(10,minmax(0,1fr));grid-template-columns:repeat(9,minmax(0,1fr));display:grid;position:absolute;inset:0}.point{background:0 0;border:0;border-radius:50%;place-items:center;width:100%;min-width:0;height:100%;min-height:0;padding:0;transition:none;display:grid;position:relative}.point:focus-visible{z-index:2;outline-offset:-2px;border-radius:7px}.piece{aspect-ratio:1;-webkit-user-select:none;user-select:none;background:#fff5dc;border:2px solid #e7d2a9;border-radius:50%;place-items:center;width:82%;font-family:SimSun,Songti SC,serif;font-size:clamp(20px,5.2cqw,34px);font-weight:700;line-height:1;display:grid;position:relative;box-shadow:0 2px #c4ac80,0 3px 5px #4c3e232b,inset 0 0 0 2px #f7ebd0}.piece:after{content:"";opacity:.38;border:1px solid;border-radius:50%;position:absolute;inset:10%}.piece--concealed{color:#dbdcc6;background:repeating-linear-gradient(45deg,#2c4940 0 2px,#29433b 2px 6px);border-color:#c9b38e;font-size:clamp(15px,3.6cqw,25px);box-shadow:0 2px #ad9973,0 3px 5px #28362c32,inset 0 0 0 2px #718572}.piece--concealed:after{opacity:.55;border-color:#b7c0a0;inset:13%}.piece-back{opacity:.85;font-weight:400}.point--selected .piece{outline-offset:3px;z-index:1;outline:3px solid #497d66;transform:translateY(-2px)}.point--capture:after{content:"";pointer-events:none;border:3px solid #b94847;border-radius:50%;position:absolute;inset:0%}.point--checked .piece{outline-offset:3px;outline:3px solid #bd4441}.point--last:before{content:"";pointer-events:none;background:#6f90712e;border-radius:9px;position:absolute;inset:3%}.move-dot{aspect-ratio:1;background:#477866;border-radius:50%;width:21%;box-shadow:0 0 0 5px #eff9db75}.board-coordinates{color:#a2977e;text-align:center;grid-template-columns:repeat(9,1fr);padding:10px 8px 0;font-size:9px;display:grid}.board-bottom-label{margin-top:8px;margin-bottom:0}.board-legend{color:#7c8377;justify-content:center;align-items:center;gap:22px;margin-top:21px;font-size:11px;display:flex}.board-legend span{align-items:center;gap:7px;display:inline-flex}.legend-dot{background:#477866;border-radius:50%;width:7px;height:7px}.legend-ring{border:2px solid #b94847;border-radius:50%;width:11px;height:11px}.game-sidebar{flex-direction:column;gap:18px;min-width:0;display:flex}.turn-panel{background:var(--paper);border:1px solid var(--line);border-top:3px solid #9f4841;border-radius:8px;padding:21px 22px 12px}.turn-panel--black{border-top-color:#304a42}.panel-eyebrow{letter-spacing:2px;color:var(--muted);margin-bottom:14px;font-size:10px}.turn-title{align-items:center;gap:10px;font-size:25px;font-weight:600;display:flex}.side-dot{border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 4px #b6b3a014}.side-dot--red{background:var(--red)}.side-dot--black{background:#263c37}.turn-guidance,.outcome-summary{color:var(--muted);margin-top:10px;font-size:11px;line-height:1.9}.online-network-status{color:var(--muted);margin-top:6px;font-size:11px;line-height:1.6}.check-notice{color:var(--red);background:#a23c3b0c;border-radius:4px;margin-top:12px;padding:8px;font-size:12px}.selection-summary{color:#58806d;justify-content:space-between;align-items:center;margin:10px 0;font-size:10px;display:flex}.selection-summary button{color:#46694b;background:0 0;border:0;padding:3px 0;font-size:10px;text-decoration:underline}.resign-button{color:#8b8678;text-align:left;background:0 0;border:0;border-top:1px solid #e8e9df;width:100%;margin-top:15px;padding:12px 0 0;font-size:11px}.resign-button:disabled{opacity:.45}.losses-panel{border:1px solid var(--line);background:#f8f8f0;border-radius:8px;overflow:hidden}.captured+.captured{border-top:1px solid #e1e3d8}.captured-heading{color:#718071;justify-content:space-between;font-size:10px;display:flex}.captured--red .captured-heading span:first-child{color:#9f4745}.captured-pieces{flex-wrap:wrap;align-items:center;gap:5px;min-height:26px;margin-top:9px;display:flex}.captured-empty{color:#a7ac9e;font-size:10px}.captured-token .piece{border-width:1px;width:100%;font-size:16px}.history-panel{min-width:0}.section-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:3px 0 10px;display:flex}.section-heading h2,.event-panel h2{font-size:12px;font-weight:600}.section-heading span{color:#899180;font-size:10px}.history-empty{text-align:center;color:#8a9384;padding:33px 5px 26px}.history-empty>span{opacity:.65;border:1px dashed #cbd3c2;border-radius:50%;place-items:center;width:36px;height:36px;margin-bottom:13px;font-family:SimSun,serif;font-size:22px;display:inline-grid}.history-empty small{color:#a1a897;margin-top:9px;font-size:9px;display:block}.history-list{scrollbar-width:thin;max-height:270px;margin:0;padding:0;list-style:none;overflow-y:auto}.history-list li{border-bottom:1px solid #e3e5da;gap:12px;padding:13px 0;display:flex}.move-number{color:#b0b6a8;font-variant-numeric:tabular-nums;padding-top:2px;font-size:10px}.move-title{align-items:center;gap:6px;font-size:11px;display:flex}.move-side{background:#e9eddf;border-radius:3px;place-items:center;padding:2px 3px;font-size:9px;display:inline-grid}.move-side--red{color:#ac4541;background:#f1e4dd}.history-list p{color:#888e80;margin-top:7px;font-size:9px;line-height:1.7}.history-state{color:#a34641;margin-top:6px;font-size:9px;display:inline-block}.event-panel{background:#eef0e6;border:1px solid #dbe1d3;border-radius:7px;padding:15px 17px}.event-panel ol{color:#677762;margin:12px 0 0;padding-left:18px;font-size:10px;line-height:2}.event-panel p{color:#486753;margin-top:8px;font-size:10px}.app-footer{border-top:1px solid var(--line);color:#a0a78f;letter-spacing:2px;justify-content:space-between;align-items:center;padding:18px 0 22px;font-family:SimSun,serif;font-size:11px;display:flex}.app-footer button{letter-spacing:0;color:#748570;background:0 0;border:0;font-family:Microsoft YaHei,sans-serif;font-size:10px}.modal{color:var(--ink);background:var(--paper);border:1px solid #d0d5c7;border-radius:14px;width:min(520px,100% - 36px);max-height:min(85vh,760px);padding:25px;overflow-y:auto;box-shadow:0 25px 80px #10241b35}.modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#152b266b}.modal-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.modal-heading h2{font-family:SimSun,Songti SC,serif;font-size:25px}.icon-button{color:#677764;background:#eef0e7;border:0;border-radius:50%;width:28px;height:28px;font-size:20px}.modal>p{color:#71806a;font-size:13px;line-height:1.9}.modal-actions{justify-content:flex-end;gap:12px;margin-top:25px;display:flex}.result-emblem{color:#40654e;border:1px solid #bcccbc;border-radius:50%;place-items:center;width:58px;height:58px;margin:0 auto 12px;font-family:SimSun,serif;font-size:34px;display:grid;box-shadow:inset 0 0 0 5px #eaf0e1}.modal .result-reason{text-align:center;color:#456247;margin-bottom:18px;font-weight:600}.rules-list{color:#65725f;margin:0;padding-left:20px;font-size:12px;line-height:1.7}.rules-list li{padding:5px 0}.rules-tip{background:#edf1e6;border-radius:6px;margin-top:18px;padding:12px;font-size:11px!important}@media (width>=1000px) and (height<=800px){.app-header{min-height:84px}.game-layout{gap:30px;padding-top:18px}.board-shell{width:min(100%,560px,90dvh - 189px)}.history-empty{padding:20px 5px}}@media (width<=1000px){.app{padding:0 24px}.game-layout{grid-template-columns:minmax(0,1fr) 270px;gap:24px}.board-shell{width:100%;min-width:300px}.local-badge{display:none}.brand h1{font-size:23px}}@media (width<=740px){.app{padding:0 16px}.app-header{gap:10px;min-height:92px}.brand{gap:10px}.brand-seal{width:34px;height:38px;font-size:22px}.brand h1{letter-spacing:1px;font-size:18px}.brand p{letter-spacing:1px;font-size:8px}.header-actions{gap:2px}.header-actions .button{padding:8px 9px;font-size:11px}.game-layout{flex-direction:column;gap:25px;padding-top:20px;display:flex}.play-area,.game-sidebar{width:100%}.board-shell{min-width:0;max-width:540px}.board-bottom-label{font-size:8px}.game-sidebar{grid-template-columns:1fr 1fr;gap:16px;display:grid}.history-panel,.event-panel{grid-column:1/-1}.turn-panel{padding:16px 12px 12px}.turn-title{font-size:19px}.captured{padding:10px}.board-legend{gap:13px;font-size:10px}.selection-summary{display:block}.selection-summary button{margin-top:7px;display:block}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}}.app{max-width:1680px;padding:0 28px}.app-header{grid-template-columns:1fr minmax(240px,1.2fr) 1fr;gap:24px;min-height:84px;display:grid}.brand-seal{width:42px;height:44px;font-size:27px}.brand p{letter-spacing:2px;font-size:11px}.header-actions{justify-content:flex-end;gap:10px}.turn-panel{text-align:center;background:0 0;border:0;border-radius:0;padding:10px 0}.turn-title{justify-content:center;font-size:26px;line-height:1.3}.turn-panel--red .turn-title{color:#a13b39}.turn-guidance{margin-top:5px;font-size:12px}.check-notice{background:0 0;margin-top:5px;padding:0;font-size:13px;font-weight:600}.outcome-summary{color:#637166;margin-top:5px;font-size:12px;line-height:1.6}.game-information{scrollbar-width:thin;flex-direction:column;gap:14px;min-width:0;max-height:calc(100dvh - 166px);display:flex;overflow-y:auto}.game-information>*{flex-shrink:0}.game-sidebar{gap:14px;height:calc(100dvh - 166px);max-height:calc(100dvh - 166px)}.selection-panel,.feedback-panel,.operations-panel{background:#fcfbf6;border:1px solid #d9dfd1;border-radius:8px;padding:16px}.section-heading{padding:0 0 10px}.selection-summary{margin:13px 0 0;font-size:13px;line-height:1.6;display:block}.selection-summary button{margin-top:6px;padding:4px 0;font-size:12px;display:block}.selection-empty{color:#607364;margin-top:12px;font-size:13px;line-height:1.8}.interaction-tip{color:#7d8879;margin-top:12px;font-size:11px;line-height:1.8}.table-heading{letter-spacing:1px;max-width:min(100%,640px,90dvh - 250.2px);margin-bottom:12px;font-size:12px;line-height:18px}.board-shell{width:min(100%,640px,90dvh - 250.2px);min-width:0}.board-orientation{margin-bottom:6px;line-height:14px}.board-frame{border-color:#ad9770;box-shadow:0 12px 24px -19px #30372a90,inset 0 0 0 3px #f4ebd7}.piece{border-color:#ddc69c;font-size:clamp(20px,5.5cqw,38px)}.piece--concealed{color:#e1e1cb;border-color:#b8a580;font-size:clamp(17px,3.9cqw,27px)}.point--selected .piece{outline-offset:2px;outline:3px solid #2e7957;transform:none;box-shadow:0 0 0 6px #f2f7da,0 2px 5px #324b3430}.point--capture:after{border-width:3px;border-color:#b63938;inset:0}.point--capture .piece:before{content:"吃";color:#fff8e6;z-index:3;background:#ac3d38;border-radius:50%;place-items:center;width:19px;height:19px;font:10px Microsoft YaHei,sans-serif;display:grid;position:absolute;top:-11%;right:-15%}.point--checked .piece{outline-color:#b93d38;box-shadow:0 0 0 6px #fff0d580}.point--last:before{background:#587c6630;border-radius:5px;inset:7%}.point--last-from:before{background:0 0;border:1.5px dashed #52735c}.point--last-to:before{border:1px solid #718b68}.move-dot{background:#357552;width:22%;box-shadow:0 0 0 3px #f5f7db,0 0 0 4px #55827055}.board-coordinates{padding-top:6px;font-size:10px;line-height:12px}.board-bottom-label{margin-top:5px;font-size:10px;line-height:14px}.feedback-panel{background:#f1f3e9}.feedback-panel p{margin-top:9px;font-size:13px;line-height:1.8}.feedback-panel .feedback-empty,.feedback-panel .feedback-note{color:#73836e;font-size:12px}.feedback-panel .feedback-move{color:#566d5d;font-size:12px}.public-identity--red{color:#aa3030}.public-identity--black{color:#20312c}.ownership-notice{background:#e2e9d9;border-left:3px solid #638568;border-radius:0 4px 4px 0;padding:6px 9px}.feedback-panel--fresh{animation:.35s ease-out feedback-arrive}.captured-pieces{gap:6px;min-height:32px}.captured-token{width:32px;height:32px}.captured-token .piece{font-size:20px}.history-panel{flex-direction:column;flex:1;min-height:140px;display:flex}.history-list{flex:1;min-height:0;max-height:none;overflow-y:auto}.history-list li>div{min-width:0}.move-title{align-items:baseline;font-size:13px;line-height:1.6}.move-side{flex-shrink:0;font-size:11px}.history-list p{font-size:12px;line-height:1.8}.history-state{background:#a3464110;border-radius:3px;margin-right:5px;padding:2px 5px;font-size:11px}.history-result{color:#9e4540;border-top:1px solid #ddd;padding-top:10px;font-size:12px}.history-empty{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:20px 5px;display:flex}.history-empty small{font-size:11px}.event-panel{padding:14px 16px}.event-panel ol{margin-top:10px;font-size:12px;line-height:1.8}.operations-panel{padding:12px 14px}.operation-buttons{gap:10px;display:flex}.operation-buttons .button{flex:1;padding:8px 10px;font-size:12px}.resign-button{text-align:center;color:#a14841;border:1px solid #d9c9bb;border-radius:6px;width:auto;margin:0;padding:8px 10px}.motion-setting{color:#6a7966;cursor:pointer;align-items:center;gap:7px;margin-top:12px;font-size:12px;display:flex}.motion-setting input{accent-color:#527554}.operations-panel small{color:#89917f;margin-top:8px;font-size:10px;line-height:1.7;display:block}.modal>p{font-size:14px}.rules-list{font-size:13px;line-height:1.8}.capture-reveal-layer{pointer-events:none;z-index:4;grid-template-rows:repeat(10,1fr);grid-template-columns:repeat(9,1fr);display:grid;position:absolute;inset:0}.capture-reveal{place-items:center;width:100%;height:100%;animation:.26s ease-in forwards capture-reveal-out;display:grid}.capture-reveal .piece{outline-offset:2px;outline:2px solid #f8edd0}.point--reveal>.piece{animation:.3s ease-out both piece-reveal-in}.point--reveal-after-capture>.piece{animation:.3s ease-out .16s both piece-reveal-in}@keyframes piece-reveal-in{0%{opacity:0;transform:rotateY(85deg)scale(.78)}55%{opacity:1;transform:rotateY(-8deg)scale(1.06)}to{opacity:1;transform:none}}@keyframes capture-reveal-out{0%,55%{opacity:1;transform:scale(1.08)}to{opacity:0;transform:scale(.7)}}@keyframes feedback-arrive{0%{box-shadow:0 0 0 3px #a0bd8d60}to{box-shadow:none}}[data-motion=reduced] .capture-reveal-layer{display:none}[data-motion=reduced] .point>.piece,[data-motion=reduced] .feedback-panel{animation:none}@media (width<=1180px){.app{padding:0 20px}.app-header{grid-template-columns:1fr 1fr 1fr;gap:12px}.game-layout{grid-template-columns:190px minmax(0,1fr) 230px;gap:16px}.brand h1{font-size:21px}.brand p{font-size:10px}.local-badge{display:none}.selection-panel,.feedback-panel{padding:12px}.feedback-panel p,.move-title{font-size:12px}.move-title{gap:4px}.event-panel{padding:12px}.table-heading{font-size:11px}.board-bottom-label{font-size:8px}.board-legend{gap:10px;font-size:10px}.turn-title{font-size:23px}}@media (width<=900px){.app-header{grid-template-columns:1fr auto;gap:8px;padding:16px 0 12px}.turn-panel{grid-area:2/1/auto/-1;padding:6px 0 0}.turn-guidance{display:none}.game-layout{grid-template-columns:1fr 1fr;grid-template-areas:"board board""info history";gap:20px;display:grid}.play-area{grid-area:board;width:100%}.game-information{grid-area:info;max-height:none;overflow:visible}.game-sidebar{grid-area:history;height:auto;max-height:none}.table-heading,.board-shell{width:min(100%,500px);max-width:500px}.history-list{max-height:280px}.brand-seal{width:34px;height:36px}.board-bottom-label{font-size:9px}}@media (width<=600px){.app{padding:0 16px}.brand h1{font-size:18px}.brand p{font-size:9px}.header-actions .button{padding:8px 12px}.game-layout{grid-template-columns:1fr;grid-template-areas:"board""info""history"}.game-sidebar{display:flex}.board-legend{font-size:10px}.history-list{max-height:300px}}@media (prefers-reduced-motion:reduce){.point>.piece,.feedback-panel{animation:none!important}.capture-reveal-layer{display:none}}:root{--piece-red-front:#98051b;--piece-black-front:#010202;--piece-front-font-weight:1000}.piece.piece{width:var(--piece-size,82%);aspect-ratio:1;font-size:inherit;-webkit-user-select:none;user-select:none;transform-origin:50%;background:0 0;border:0;border-radius:50%;flex:none;padding:0;line-height:1;display:block;position:relative;box-shadow:0 2px 4px #35271630}.piece:after{content:none}.piece-art{width:100%;height:100%;display:block;overflow:visible}.piece-depth{fill:#9e7845}.piece-face{fill:#f8e8c7;stroke:#c8a06b;stroke-width:1px}.piece-face-rim{fill:#fff0d1;stroke:#e4c598;stroke-width:1.5px}.piece-face-ring{fill:none;stroke:currentColor;stroke-width:1.35px;opacity:.67}.piece-wood-grain{fill:none;stroke:#876443;stroke-width:.7px;opacity:.12}.piece-glyph{fill:currentColor;font-family:KaiTi,STKaiti,"FangSong",SimSun,serif;font-weight:var(--piece-front-font-weight);stroke:currentColor;stroke-width:var(--piece-front-stroke,.65);paint-order:stroke fill}.piece--red{color:var(--piece-red-front)}.piece--black{color:var(--piece-black-front)}.piece--concealed{color:#6b4727;background:0 0}.piece-back-face{fill:#d5b782;stroke:#ae8959;stroke-width:1.2px}.piece-back-rim{fill:#dbc192;stroke:#eed8b4;stroke-width:1.5px}.piece-back-ring{fill:none;stroke:#ad895b;stroke-width:1.3px}.piece-back-pattern{opacity:.86}.piece-back-ornament{opacity:.68}.back-theme-meander{color:#8c6432}.back-theme-meander .piece-back-face{fill:#b99e69;stroke:#846632}.back-theme-meander .piece-back-rim{fill:#e4cf9a;stroke:#f4e6c2}.back-theme-seal{color:#55726c}.back-theme-seal .piece-back-face{fill:#afc1ad;stroke:#718c77}.back-theme-seal .piece-back-rim{fill:#d5dfc8;stroke:#edf0d9}.back-theme-seal .piece-back-ring{stroke:#6c8771}.back-theme-plum{color:#85504f}.back-theme-plum .piece-back-face{fill:#dabec3;stroke:#a78785}.back-theme-plum .piece-back-rim{fill:#f1ddd9;stroke:#fff1e6}.back-theme-plum .piece-back-ring{stroke:#ad8785}.back-theme-cosmos{color:#c1d7ef}.back-theme-cosmos .piece-depth{fill:#25233f}.back-theme-cosmos .piece-back-face{fill:#232b48;stroke:#61658d}.back-theme-cosmos .piece-back-rim{fill:#333556;stroke:#8794bd}.back-theme-cosmos .piece-back-ring{stroke:#a99bbb}.back-theme-cosmos .piece-back-pattern{opacity:.98}.back-theme-volcano{color:#dc9160}.back-theme-volcano .piece-depth{fill:#322625}.back-theme-volcano .piece-back-face{fill:#342c2c;stroke:#796151}.back-theme-volcano .piece-back-rim{fill:#493632;stroke:#ac7c60}.back-theme-volcano .piece-back-ring{stroke:#976956}.back-theme-volcano .piece-back-pattern{opacity:.98}.back-theme-snow{color:#588b9c}.back-theme-snow .piece-depth{fill:#8bafbd}.back-theme-snow .piece-back-face{fill:#b9d8e3;stroke:#7ea6b8}.back-theme-snow .piece-back-rim{fill:#e4f1f1;stroke:#f7ffff}.back-theme-snow .piece-back-ring{stroke:#8bb1bb}.back-theme-cosmos .piece-wood-grain,.back-theme-volcano .piece-wood-grain,.back-theme-snow .piece-wood-grain{display:none}.captured-token .piece,.flying-token .piece{width:100%;font-size:inherit;border-width:0}.piece[data-piece-theme=dark] .piece-face-rim{fill:#e6c99e}.piece[data-piece-theme=paper] .piece-face-rim{fill:#fff8e3}.piece[data-piece-theme=modern] .piece-face-rim{fill:#eff5e5}.piece[data-piece-theme=cosmos] .piece-face-rim{fill:#e7d9ef;stroke:#b2a5c7}.piece[data-piece-theme=volcano] .piece-face-rim{fill:#f6d5b2;stroke:#d3a37d}.piece[data-piece-theme=snow] .piece-face-rim{fill:#edf7f6;stroke:#a7c9cc}@media (width>=900px){:root{--piece-front-stroke:.85}}.app{--left-sidebar-width:clamp(146px, 10vw, 176px);--right-sidebar-width:clamp(158px, 11vw, 190px);--board-height:min(86dvh, calc(100dvh - 140px));--board-width:min(calc(var(--board-height) * .9), calc(100vw - 64px - var(--left-sidebar-width) - var(--right-sidebar-width)));--cell-size:calc(var(--board-width) / 9);--piece-size:calc(var(--cell-size) * .82);--piece-font-size:calc(var(--piece-size) * .54);--lost-piece-size:calc(var(--piece-size) * .5);--move-marker-size:calc(var(--cell-size) * .21);--board-line-width:2.1;--board-frame-fill:#d4b98b;--board-frame-edge:#a18559;--board-frame-inset:#f1dec0;--board-fill:repeating-linear-gradient(2deg, #6b421a04 0 2px, transparent 2px 8px), linear-gradient(104deg, #ebd4ab, #f3e1be 48%, #e9cfa3);--board-edge:#b49a6e;--board-ink:#705b3b;--board-stars:#87704b;--board-river:#8a714c;--board-last:#668167;--board-move:#286e4c;--board-capture:#b83531;width:100%;max-width:none;padding:0 14px}.app[data-board-theme=dark]{--board-frame-fill:#4a3027;--board-frame-edge:#2d211b;--board-frame-inset:#795541;--board-fill:repeating-linear-gradient(4deg, #efcca106 0 2px, transparent 2px 8px), linear-gradient(104deg, #5b3c2e, #694a37 48%, #513529);--board-edge:#94745a;--board-ink:#d1b98e;--board-stars:#c6ab7d;--board-river:#dbc297;--board-last:#bdd3a8;--board-move:#b4dfa8;--board-capture:#ff9584}.app[data-board-theme=paper]{--board-frame-fill:#e2dfd2;--board-frame-edge:#a4a493;--board-frame-inset:#f8f6ee;--board-fill:repeating-linear-gradient(135deg, #948d7703 0 1px, transparent 1px 5px), linear-gradient(112deg, #f5f2e7, #fffdf5 54%, #eeeade);--board-edge:#a7a494;--board-ink:#797b6d;--board-stars:#969486;--board-river:#9a9788;--board-last:#638173;--board-move:#397660;--board-capture:#b83531}.app[data-board-theme=modern]{--board-frame-fill:#d2ddd9;--board-frame-edge:#98aaa3;--board-frame-inset:#edf4ef;--board-fill:linear-gradient(108deg, #e8f0eb, #f3f7f3 55%, #e2ebe5);--board-edge:#a3b6ad;--board-ink:#748e80;--board-stars:#93a99b;--board-river:#80988a;--board-last:#496e5d;--board-move:#25724f;--board-capture:#b83531}.app-header{grid-template-columns:1fr minmax(220px,1fr) 1fr;gap:14px;height:48px;min-height:48px}.brand{gap:8px}.brand-seal{border-radius:4px 10px;width:29px;height:30px;font-size:21px}.brand h1{letter-spacing:1px;font-size:18px}.brand p{letter-spacing:1px;margin-top:2px;font-size:9px}.header-actions{gap:5px}.header-actions .button{white-space:nowrap;padding:6px 9px;font-size:12px}.local-badge{margin-right:2px;font-size:10px}.local-badge i{margin-right:5px}.turn-panel{padding:0}.turn-title{font-size:20px;line-height:1.15}.side-dot{width:8px;height:8px}.turn-guidance,.check-notice,.outcome-summary{margin-top:3px;font-size:10px;line-height:1.35}.outcome-summary{text-wrap:balance;max-width:100%}.game-layout{grid-template-columns:var(--left-sidebar-width) minmax(0, 1fr) var(--right-sidebar-width);gap:12px;padding:5px 0}.game-information,.game-sidebar{gap:8px;height:calc(100dvh - 100px);max-height:calc(100dvh - 100px)}.game-information{overflow-y:auto}.game-sidebar{overflow:hidden}.selection-panel,.feedback-panel,.operations-panel,.event-panel{border-radius:6px;padding:10px}.section-heading{padding-bottom:7px}.section-heading h2,.event-panel h2{font-size:12px}.section-heading>span{font-size:10px}.selection-summary{margin-top:9px;font-size:11px}.selection-summary strong{font-size:13px}.selection-summary button{margin-top:4px;font-size:11px}.selection-empty{margin-top:8px;font-size:11px;line-height:1.65}.interaction-tip{margin-top:8px;font-size:10px;line-height:1.65}.feedback-panel p,.feedback-panel .feedback-empty,.feedback-panel .feedback-note,.feedback-panel .feedback-move{margin-top:6px;font-size:11px;line-height:1.65}.feedback-reveal strong{font-size:14px}.ownership-notice{padding:5px 6px}.captured{padding:9px 10px}.captured-heading{font-size:10px}.captured-pieces{min-height:var(--lost-piece-size);gap:4px;margin-top:7px}.captured-token,.loss-arrival-anchor{width:var(--lost-piece-size);height:var(--lost-piece-size)}.loss-arrival-anchor{flex-basis:var(--lost-piece-size)}.captured-token>.piece{--piece-size:var(--lost-piece-size);width:100%;height:100%}.captured-empty{font-size:10px}.history-panel{min-height:80px}.history-empty{padding:14px 4px}.history-empty>span{width:27px;height:27px;margin-bottom:8px;font-size:18px}.history-empty p{font-size:11px}.history-empty small{margin-top:6px;font-size:10px}.history-list li{gap:6px;padding:8px 0}.move-number{font-size:10px}.move-title{gap:4px;font-size:11px;line-height:1.5}.move-side{font-size:10px}.history-list p,.history-state,.history-result{font-size:10px;line-height:1.6}.event-panel{scrollbar-width:thin;flex-shrink:0;max-height:160px;overflow-y:auto}.event-panel ol{margin-top:6px;padding-left:16px;font-size:10px;line-height:1.7}.event-panel p{font-size:10px}.operations-panel{flex-shrink:0}.operation-buttons{gap:5px}.operation-buttons .button{padding:7px 5px;font-size:11px}.motion-setting,.audio-setting{gap:5px;margin-top:8px;font-size:11px}.operations-panel small{margin-top:7px;font-size:9px;line-height:1.5}.appearance-setting{color:#61745f;grid-template-columns:1fr;gap:4px;margin-top:9px;font-size:11px;display:grid}.appearance-setting select{color:#3e5848;width:100%;min-width:0;font:inherit;background:#fafbf6;border:1px solid #cbd4c6;border-radius:4px;padding:5px}.visual-settings{border-top:1px solid var(--line);gap:7px;margin-top:9px;padding-top:8px;display:grid}.visual-settings label{color:#61745f;grid-template-columns:1fr;gap:3px;font-size:11px;display:grid}.theme-select{color:#3e5848;width:100%;min-width:0;font:inherit;background:#fafbf6;border:1px solid #cbd4c6;border-radius:4px;padding:4px 5px}.table-heading{width:min(100%, calc(var(--board-height) * .9 + 10px));letter-spacing:1px;max-width:none;margin-bottom:3px;font-size:10px;line-height:12px}.board-shell{width:min(100%, calc(var(--board-height) * .9 + 10px));min-width:0;max-width:none}.board-orientation,.board-bottom-label{display:none}.board-frame{background:var(--board-frame-fill);border-color:var(--board-frame-edge);box-shadow:0 8px 22px -18px #24251e99, inset 0 0 0 2px var(--board-frame-inset);padding:4px}.board{--cell-size:calc(100cqw / 9);--piece-size:calc(var(--cell-size) * .82);--piece-font-size:calc(var(--piece-size) * .54);--move-marker-size:calc(var(--cell-size) * .21);--board-line-width:2.1;background:var(--board-fill);border-color:var(--board-edge)}.board-strokes{stroke:var(--board-ink);stroke-width:var(--board-line-width)}.board-stars{stroke:var(--board-stars);stroke-width:var(--board-line-width)}.river-lettering{fill:var(--board-river)}.point>.piece{width:var(--piece-size)}.point--selected>.piece{outline-width:calc(var(--cell-size) * .035);outline-offset:calc(var(--cell-size) * .02);box-shadow:0 0 0 calc(var(--cell-size) * .065) #edf5d9b0, 0 3px 8px #23473230}.point--capture:after{border-color:var(--board-capture);border-width:calc(var(--cell-size) * .035);inset:5%}.point--checked>.piece{outline-width:calc(var(--cell-size) * .035);outline-offset:calc(var(--cell-size) * .025)}.point--last-from:before{border-color:var(--board-last)}.point--last-to:before{border-color:var(--board-last);background:color-mix(in srgb, var(--board-last) 17%, transparent)}.move-dot{width:var(--move-marker-size);background:var(--board-move);box-shadow:0 0 0 calc(var(--cell-size) * .035) #f4f6dca6}.board-coordinates{padding:3px 5px 0;font-size:9px;line-height:10px}.board-legend{gap:12px;margin-top:4px;font-size:10px;line-height:12px}.board-legend span{gap:5px}.legend-dot{background:var(--board-move)}.legend-ring{border-color:var(--board-capture)}.app-footer{padding:4px 0;font-size:10px;line-height:13px}.app-footer button{font-size:10px}.app[data-focus=true]{--left-sidebar-width:78px;--right-sidebar-width:0px;--board-height:min(90dvh, calc(100dvh - 116px))}.app[data-focus=true] .game-layout{grid-template-columns:78px minmax(0,1fr)}.app[data-focus=true] .game-sidebar,.app[data-focus=true] .selection-panel,.app[data-focus=true] .feedback-panel{display:none}.app[data-focus=true] .game-information{height:calc(100dvh - 70px);max-height:calc(100dvh - 70px)}.app[data-focus=true] .losses-panel{background:0 0;border:0}.app[data-focus=true] .captured{padding:6px 4px}.app[data-focus=true] .captured-heading{gap:3px;font-size:9px;display:grid}.app[data-focus=true] .captured-pieces{gap:3px}.app[data-focus=true] .app-footer{display:none}@media (width<=1100px) and (width>=901px){.app{--left-sidebar-width:140px;--right-sidebar-width:154px;padding:0 10px}.game-layout{gap:8px}.brand p,.local-badge{display:none}.app-header{grid-template-columns:1fr minmax(180px,.9fr) 1fr;gap:6px}.brand h1{font-size:16px}.header-actions .button{padding:6px 7px;font-size:11px}}@media (width<=900px){.app{--board-height:min(78dvh, 790px);--board-width:min(calc(var(--board-height) * .9), calc(100vw - 34px));padding:0 12px}.app-header{grid-template-columns:1fr auto;gap:5px;height:auto;min-height:70px;padding:7px 0}.brand p{display:none}.header-actions{gap:2px}.header-actions .button{padding:6px 7px;font-size:11px}.local-badge{display:none}.turn-panel{grid-area:2/1/auto/-1;padding:1px 0}.turn-title{font-size:18px}.turn-guidance{display:none}.game-layout{grid-template-columns:1fr 1fr;grid-template-areas:"board board""info history";gap:12px;padding:7px 0}.play-area{grid-area:board}.game-information{grid-area:info}.game-sidebar{grid-area:history}.game-information,.game-sidebar{height:auto;max-height:none;overflow:visible}.board-shell,.table-heading{width:min(100%, calc(var(--board-height) * .9 + 10px));max-width:none}.history-list{max-height:300px}.app[data-focus=true]{--left-sidebar-width:0px;--board-height:min(83dvh, 850px)}.app[data-focus=true] .game-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"board""info"}.app[data-focus=true] .game-information{height:auto;max-height:none}.app[data-focus=true] .losses-panel{grid-template-columns:1fr 1fr;display:grid}.app[data-focus=true] .captured+.captured{border-top:0;border-left:1px solid var(--line)}}@media (width<=600px){.app{--board-height:100dvh;--board-width:calc(100vw - 30px);padding:0 10px}.brand{gap:5px}.brand-seal{width:25px;height:27px;font-size:18px}.brand h1{font-size:16px}.header-actions .button{padding:6px;font-size:10px}.game-layout{grid-template-columns:1fr;grid-template-areas:"board""info""history";gap:10px}.board-shell,.table-heading{width:100%}.game-sidebar{display:flex}.game-information{grid-template-columns:1fr 1fr;gap:8px;display:grid}.game-information .losses-panel{grid-column:1/-1;grid-template-columns:1fr 1fr;display:grid}.captured+.captured{border-top:0;border-left:1px solid var(--line)}.board-legend{gap:8px;font-size:9px}.board-legend span{gap:4px}.operations-panel{padding:12px}.appearance-setting{grid-template-columns:1fr 1fr;align-items:center}.visual-settings{grid-template-columns:1fr 1fr}.app-footer{letter-spacing:1px;font-size:9px}.app[data-focus=true] .game-information{display:block}}.board .scene-art{z-index:0;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.board .board-lines{z-index:1}.board .board-points{z-index:2}.scene-art--preview{pointer-events:none;width:100%;height:100%;display:block;position:relative;overflow:hidden}.scene-wood-grain{stroke:#624625;opacity:.105}.scene-wood-river{stroke:#a18559;opacity:.5}.scene-edge-ornament{stroke:#9a7950;opacity:.55}.scene-art--dark .scene-wood-grain{stroke:#dfbd8f;opacity:.1}.scene-art--dark .scene-wood-river,.scene-art--dark .scene-edge-ornament{stroke:#e0bc84;opacity:.55}.scene-paper-fibers{stroke:#b8af90;opacity:.23}.scene-ink-wash{fill:#78897e;opacity:.095}.scene-ink-wash path+path{fill:#4b6256;opacity:.75}.scene-paper-bamboo{color:#799181;stroke:currentColor;opacity:.26}.scene-paper-seal{stroke:#a96959;opacity:.28}.scene-modern-lines{stroke:#85a596;opacity:.15}.scene-modern-corners{stroke:#638979;opacity:.37}.scene-nebula ellipse:first-child{fill:#795798;opacity:.13}.scene-nebula ellipse:nth-child(2){fill:#477aaa;opacity:.17}.scene-nebula ellipse:nth-child(3){fill:#9b8dc9;opacity:.13}.scene-stars{fill:#ebecf6;opacity:.7}.scene-cosmic-dust{stroke:#baaddd;opacity:.11}.scene-cosmic-dust path:nth-child(2){stroke:#b0c7e8;opacity:.6}.scene-orbits{stroke:#a1a5c6;opacity:.3}.scene-basalt{fill:#2a2526;stroke:#63504c;stroke-width:1px;opacity:.7}.scene-basalt path:nth-child(3n){fill:#352929}.scene-lava-cracks{stroke:#cf6545;opacity:.32}.scene-lava-fissures{stroke:#f19e5b;opacity:.32}.scene-volcano-horizon{fill:#806156;opacity:.14}.scene-snow-mountains path:first-child{fill:#88b0c3;opacity:.23}.scene-snow-mountains path:nth-child(2){fill:#fcffff;opacity:.77}.scene-snow-mountains path:nth-child(3){fill:#f8ffff;opacity:.57}.scene-ice-cracks{stroke:#84b4c9;opacity:.31}.scene-snow-crystals{stroke:#8fb6c5;opacity:.58}.app[data-board-theme=classic]{--board-fill:radial-gradient(ellipse at 18% 34%, #c7a5741a, transparent 35%), linear-gradient(105deg, #ebd4ab, #f3e1be 48%, #e9cfa3)}.app[data-board-theme=paper]{--board-fill:repeating-linear-gradient(18deg, #a1957805 0 1px, transparent 1px 4px), radial-gradient(ellipse at 60% 40%, #fffdf5, #f0eee3)}.app[data-board-theme=cosmos]{--board-frame-fill:#292a3d;--board-frame-edge:#55566c;--board-frame-inset:#86859b;--board-fill:radial-gradient(ellipse at 26% 40%, #4b3b633b, transparent 48%), radial-gradient(ellipse at 74% 72%, #274a6c70, transparent 52%), linear-gradient(140deg, #1d2536, #24243e 50%, #1c293a);--board-edge:#747d9b;--board-ink:#b9c6dd;--board-stars:#a7b6ce;--board-river:#becce1;--board-last:#adcae4;--board-move:#b4e3d4;--board-capture:#eeb6a8}.app[data-board-theme=volcano]{--board-frame-fill:#41312d;--board-frame-edge:#302629;--board-frame-inset:#99755f;--board-fill:radial-gradient(ellipse at 30% 72%, #743b2a33, transparent 52%), linear-gradient(140deg, #30282b, #3d2e2d 50%, #2c292c);--board-edge:#977664;--board-ink:#dec3a0;--board-stars:#c7ac8a;--board-river:#dfbd94;--board-last:#d7bb8e;--board-move:#c9d4b1;--board-capture:#ffa185}.app[data-board-theme=snow]{--board-frame-fill:#bbced7;--board-frame-edge:#819fac;--board-frame-inset:#eef9fa;--board-fill:radial-gradient(ellipse at 68% 18%, #ffffffb3, transparent 60%), linear-gradient(140deg, #dbeaf0, #edf6f6 50%, #cfdee8);--board-edge:#94afbd;--board-ink:#55778c;--board-stars:#6e8fa0;--board-river:#577c90;--board-last:#658f9b;--board-move:#3b7d85;--board-capture:#b95252}.app[data-board-theme=cosmos] .board-frame,.app[data-board-theme=volcano] .board-frame,.app[data-board-theme=snow] .board-frame{box-shadow:0 8px 22px -18px #24251e99, inset 0 0 0 2px var(--board-frame-inset), inset 0 0 0 4px var(--board-frame-edge)}.theme-preview{background:var(--board-fill);border:1px solid var(--board-edge);overflow:hidden}.checkmate-scene{--scene-accent:#c8a45c;--scene-caption:#62382a;--scene-strong:#702d22;--scene-wash:#1f191b;--scene-veil:#201d2638;z-index:220;isolation:isolate;pointer-events:none;color:var(--scene-accent);background:radial-gradient(ellipse at 50% 48%, transparent 20%, var(--scene-veil) 85%);animation:.52s ease-out both checkmate-scene-arrive;position:fixed;inset:0;overflow:hidden}.checkmate-scene--dark{--scene-accent:#efd5a0;--scene-caption:#efd5a0;--scene-strong:#ae5940;--scene-wash:#211711;--scene-veil:#25190b3d}.checkmate-scene--paper{--scene-accent:#574736;--scene-caption:#574736;--scene-strong:#9e493b;--scene-wash:#373736;--scene-veil:#303a3826}.checkmate-scene--modern{--scene-accent:#e4dbc3;--scene-caption:#365862;--scene-strong:#dbb578;--scene-veil:#22394240}.checkmate-scene--cosmos{--scene-accent:#d9c8ff;--scene-caption:#d9c8ff;--scene-strong:#a897f4;--scene-veil:#09092555}.checkmate-scene--volcano{--scene-accent:#ffd8a5;--scene-caption:#ffd8a5;--scene-strong:#ef814b;--scene-veil:#2f110f50}.checkmate-scene--snow{--scene-accent:#426f85;--scene-caption:#426f85;--scene-strong:#82bac9;--scene-veil:#2c62782b}.checkmate-scene__art{width:100%;height:100%;color:var(--scene-accent);opacity:.83;animation:.58s cubic-bezier(.16,.76,.27,1) both checkmate-pattern-arrive;position:absolute;inset:0}.checkmate-scene__wash{fill:var(--scene-wash);opacity:.15}.checkmate-scene__brush{fill:none;stroke:var(--scene-wash);stroke-width:23px;opacity:.32;stroke-linecap:round}.checkmate-scene__ring{fill:none;stroke:currentColor;stroke-width:2px;opacity:.56}.checkmate-scene__accent{fill:none;stroke:currentColor;stroke-width:2.5px;opacity:.65}.checkmate-scene__seal{fill:var(--scene-strong);opacity:.67}.checkmate-scene__seal-line{fill:none;stroke:#f7e7d3;stroke-width:2.3px;opacity:.77}.checkmate-scene__halo{fill:none;stroke:var(--scene-strong);stroke-width:37px;opacity:.08}.checkmate-scene__orbit{fill:none;stroke:currentColor;stroke-width:1.7px;opacity:.42}.checkmate-scene__nebula{fill:var(--scene-strong);opacity:.11}.checkmate-scene__star{fill:currentColor;opacity:.72}.checkmate-scene__lava{fill:none;stroke:var(--scene-strong);stroke-width:4px;stroke-linejoin:bevel;opacity:.65}.checkmate-scene__lava-detail{fill:none;stroke:var(--scene-strong);stroke-width:1.4px;opacity:.39}.checkmate-scene__ice{fill:none;stroke:currentColor;stroke-width:2.5px;opacity:.6}.checkmate-scene__ice-detail{fill:none;stroke:var(--scene-strong);stroke-width:1.4px;opacity:.48}.checkmate-scene__heading{text-align:center;width:min(90vw,540px);color:var(--scene-caption);text-shadow:0 2px 14px #1115;justify-items:center;gap:9px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.checkmate-scene__eyebrow{letter-spacing:.5em;opacity:.8;font-size:12px}.checkmate-scene__title{letter-spacing:.17em;padding-left:.17em;font-family:KaiTi,STKaiti,"FangSong",serif;font-size:clamp(62px,10vmin,104px);font-weight:400;line-height:1.15}.checkmate-scene__message{letter-spacing:.1em;opacity:.9;margin:0;font-size:14px}.checkmate-scene__general-focus{left:var(--mate-focus-x,50%);top:var(--mate-focus-y,50%);width:var(--mate-focus-size,72px);height:var(--mate-focus-size,72px);border:2px solid var(--scene-accent);box-shadow:0 0 0 7px color-mix(in srgb, var(--scene-accent) 14%, transparent);border-radius:50%;animation:4s ease-out both mate-general-focus;position:absolute;transform:translate(-50%,-50%)}@keyframes mate-general-focus{0%{opacity:.3}35%,75%{opacity:1}to{opacity:.55}}.checkmate-scene[data-scene-stage=result] .checkmate-scene__heading{opacity:.76;gap:4px;top:17%}.checkmate-scene[data-scene-stage=result] .checkmate-scene__title{font-size:clamp(34px,5vmin,48px)}.checkmate-scene[data-scene-stage=result] .checkmate-scene__message{display:none}.checkmate-scene[data-scene-stage=result] .checkmate-scene__art{opacity:.48;animation:none}.modal.modal--checkmate{border-color:#c0a47a;animation:.36s cubic-bezier(.2,.75,.28,1) both checkmate-modal-arrive;box-shadow:0 20px 75px #19252b50}.modal.modal--checkmate::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#10242b15}.checkmate-scene[data-motion=reduced],.checkmate-scene[data-motion=reduced] .checkmate-scene__art,.modal.modal--checkmate[data-motion=reduced]{animation:none}@keyframes checkmate-scene-arrive{0%{opacity:0}to{opacity:1}}@keyframes checkmate-pattern-arrive{0%{opacity:0;transform:scale(.88)}to{opacity:.83;transform:scale(1)}}@keyframes checkmate-modal-arrive{0%{opacity:0;transform:translateY(23px)scale(.985)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.checkmate-scene,.checkmate-scene .checkmate-scene__art,.modal.modal--checkmate{animation:none}}@media (height<=540px){.checkmate-scene[data-scene-stage=result] .checkmate-scene__heading{top:12%}.checkmate-scene[data-scene-stage=result] .checkmate-scene__eyebrow{display:none}.checkmate-scene[data-scene-stage=result] .checkmate-scene__title{font-size:27px}}.checkmate-scene[data-scene-stage=intro] .checkmate-scene__title{animation:4s both mate-calligraphy}.checkmate-scene[data-scene-stage=intro] .checkmate-scene__halo{transform-origin:500px 500px;animation:4s ease-out both mate-halo}.checkmate-scene--cosmos[data-scene-stage=intro] .checkmate-scene__orbit{stroke-dasharray:120 12;animation:4s ease-out both mate-orbit}.checkmate-scene--cosmos[data-scene-stage=intro] .checkmate-scene__star{transform-origin:500px 500px;animation:4s ease-in-out both mate-stars}.checkmate-scene--cosmos[data-scene-stage=intro] .checkmate-scene__nebula{animation:4s both mate-nebula}.checkmate-scene__spark{fill:#ffbd78;opacity:.7}.checkmate-scene--volcano[data-scene-stage=intro] .checkmate-scene__lava{stroke-dasharray:1100;animation:4s both mate-crack}.checkmate-scene--volcano[data-scene-stage=intro] .checkmate-scene__spark{animation:4s ease-out both mate-embers}.checkmate-scene--volcano[data-scene-stage=intro] .checkmate-scene__art{animation:4s both mate-heat}.checkmate-scene__fog{fill:#d4eef1;opacity:.14}.checkmate-scene--snow[data-scene-stage=intro] .checkmate-scene__ice{stroke-dasharray:1200;animation:4s both mate-ice}.checkmate-scene--snow[data-scene-stage=intro] .checkmate-scene__fog{animation:4s both mate-fog}.checkmate-scene--modern[data-scene-stage=intro] .checkmate-scene__ring{stroke-dasharray:140 18;animation:4s both mate-orbit}.checkmate-scene--modern[data-scene-stage=intro] .checkmate-scene__accent{transform-origin:500px 500px;animation:4s both mate-reticle}.checkmate-scene--classic[data-scene-stage=intro] .checkmate-scene__seal{transform-origin:715px 685px;animation:4s both mate-stamp}.checkmate-scene--classic[data-scene-stage=intro] .checkmate-scene__brush{stroke-dasharray:1200;animation:4s both mate-ink}.checkmate-scene__lattice{fill:none;stroke:currentColor;stroke-width:1.2px;opacity:.24}.checkmate-scene--dark[data-scene-stage=intro] .checkmate-scene__lattice{stroke-dasharray:3000;animation:4s both mate-lattice}.checkmate-scene--dark[data-scene-stage=intro] .checkmate-scene__ring{animation:4s both mate-nebula}.checkmate-scene__ink-stream{fill:none;stroke:var(--scene-wash);stroke-width:30px;opacity:.2}.checkmate-scene--paper[data-scene-stage=intro] .checkmate-scene__ink-stream{stroke-dasharray:1800;animation:4s both mate-ink}.checkmate-scene--paper[data-scene-stage=intro] .checkmate-scene__wash{transform-origin:500px 500px;animation:4s both mate-wash}@keyframes mate-calligraphy{0%,12%{opacity:0;transform:translateY(12px)}35%{opacity:.85}78%{opacity:1;transform:translateY(0)}to{opacity:.88}}@keyframes mate-halo{0%{opacity:0;transform:scale(.4)}75%{opacity:.14;transform:scale(1.12)}to{opacity:.08;transform:scale(1)}}@keyframes mate-orbit{0%{stroke-dashoffset:1200px;opacity:0}75%{opacity:.7}to{stroke-dashoffset:0;opacity:.42}}@keyframes mate-stars{0%{opacity:0;transform:scale(1.35)}78%{opacity:.9;transform:scale(.7)}to{opacity:.35;transform:scale(.75)}}@keyframes mate-nebula{0%{opacity:0}75%{opacity:.28}to{opacity:.11}}@keyframes mate-crack{0%{stroke-dashoffset:1100px;opacity:0}70%{stroke-dashoffset:0;opacity:.8}to{stroke-dashoffset:0;opacity:.45}}@keyframes mate-embers{0%{opacity:0;transform:translateY(60px)}70%{opacity:.85}to{opacity:0;transform:translateY(-150px)}}@keyframes mate-heat{0%{opacity:0}45%{opacity:.7;transform:translateY(2px)}80%{opacity:.85;transform:translateY(-2px)}to{opacity:.6;transform:none}}@keyframes mate-ice{0%{stroke-dashoffset:1200px;opacity:0}58%{stroke-dashoffset:0;opacity:.3}80%{opacity:.8}to{stroke-dashoffset:0;opacity:.55}}@keyframes mate-fog{0%{opacity:0;transform:translate(-60px)}75%{opacity:.25}to{opacity:.14;transform:translate(25px)}}@keyframes mate-reticle{0%{opacity:0;transform:scale(1.5)}75%{opacity:.8;transform:scale(.9)}to{opacity:.5;transform:scale(1)}}@keyframes mate-stamp{0%,45%{opacity:0;transform:scale(1.7)}73%{opacity:.9;transform:scale(.95)}to{opacity:.67;transform:scale(1)}}@keyframes mate-ink{0%{stroke-dashoffset:1800px;opacity:0}78%{stroke-dashoffset:0;opacity:.35}to{stroke-dashoffset:0;opacity:.2}}@keyframes mate-lattice{0%{stroke-dashoffset:3000px;opacity:0}78%{stroke-dashoffset:0;opacity:.5}to{stroke-dashoffset:0;opacity:.24}}@keyframes mate-wash{0%{opacity:0;transform:scale(.6)}78%{opacity:.25;transform:scale(1.1)}to{opacity:.15;transform:scale(1)}}.checkmate-scene[data-motion=reduced] *{animation:none!important}.checkmate-scene[data-motion=reduced][data-scene-stage=intro]{animation:1s both mate-reduced}@keyframes mate-reduced{0%{opacity:0}30%,75%{opacity:1}to{opacity:.7}}@media (prefers-reduced-motion:reduce){.checkmate-scene *{animation:none!important}}.point--ownership .piece{animation:ownership-soft var(--event-ms) ease-out 1}@keyframes ownership-soft{0%,to{box-shadow:0 2px 4px #35271630}40%{box-shadow:0 0 0 3px #d8b77744,0 0 13px #eddbaf55,0 2px 4px #35271630}}.theme-setting-row{align-items:center;gap:5px;min-width:0;display:flex}.theme-setting-row select{flex:1;min-width:0}.theme-preview{color:#614529;background:#e7d0a3;border:1px solid #a7a08f;border-radius:5px;flex:0 0 27px;width:27px;height:27px;display:block;position:relative;overflow:hidden}.theme-preview svg{width:100%;height:100%;display:block}.theme-preview--back{background:#dfc392;border-radius:50%}.theme-preview--back.back-theme-cosmos{background:#232b48;border-color:#8794bd}.theme-preview--back.back-theme-volcano{background:#342c2c;border-color:#ac7c60}.theme-preview--back.back-theme-snow{background:#d6e8ed;border-color:#8bb1bb}.theme-preview[data-board-theme=cosmos]{background:#17182d}.theme-preview[data-board-theme=volcano]{background:#342724}.theme-preview[data-board-theme=snow]{background:#e0f0f2}.theme-preview[data-board-theme=paper]{background:#f2eedf}.theme-preview[data-board-theme=dark]{background:#513b2c}.theme-preview[data-board-theme=modern]{background:#e0e9e4}.operations-panel .appearance-setting{gap:3px;margin-top:7px}.operations-panel .appearance-setting select{padding:4px}.event-panel{max-height:112px}.app[data-board-theme=cosmos] .board-banner{color:#f3cf98;text-shadow:0 2px 12px #11152b}.app[data-board-theme=volcano] .board-banner{color:#ffe2b1;text-shadow:0 2px 12px #422c21}.app[data-board-theme=snow] .board-banner{color:#386878;text-shadow:0 2px 8px #fff}@media (prefers-reduced-motion:reduce){.point--ownership .piece{animation:none}}.app[data-motion=reduced] .point--ownership .piece{animation:none}@media (width>=901px){.app{--board-height:min(86dvh,calc(100dvh - 150px));--left-sidebar-width:clamp(210px,17vw,290px);--right-sidebar-width:clamp(250px,19vw,340px);--lost-piece-size:clamp(34px,calc(var(--piece-size) * .65),48px)}.app[data-focus=true]{--board-height:min(90dvh,calc(100dvh - 126px))}.app[data-online=true]{--board-height:calc(100dvh - 330px)}.app[data-online=true] .game-layout{padding-top:0}.game-information,.game-sidebar{gap:10px}.captured{padding:12px}.captured-heading{font-size:13px}.captured-pieces{gap:7px}.section-heading h2,.event-panel h2{font-size:14px}.selection-summary,.feedback-panel p{font-size:13px}.app[data-online=true] .room-chat{width:var(--right-sidebar-width);z-index:30;background:var(--paper,#fcfbf6);border-radius:8px;padding:6px;position:fixed;bottom:16px;right:14px}.app[data-online=true] .game-sidebar{padding-bottom:86px}}.room-app--game .room-header,.room-app--game .room-opponent-network{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.room-app--game .room-account-actions{justify-content:space-between;gap:8px;height:32px;margin:0;padding:4px 10px}.room-app--game .room-account-actions>.account-avatar{display:none}.room-app--game .room-account-actions strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.room-app--game .room-account-actions button{min-height:28px;padding:3px 9px;font-size:12px}.room-app--game .room-retry{right:10px;bottom:max(96px,calc(env(safe-area-inset-bottom) + 96px));z-index:82;margin:0;position:fixed}.room-app--game .room-message,.room-app--game .room-invite-note{left:50%;top:max(3px,env(safe-area-inset-top));z-index:81;pointer-events:none;width:max-content;max-width:calc(100vw - 24px);margin:0;padding:6px 12px;font-size:12px;line-height:1.4;position:fixed;transform:translate(-50%);box-shadow:0 2px 9px #0002}.app-header{height:58px;min-height:58px}.turn-panel{grid-template-rows:23px 17px;align-content:center;gap:2px;min-width:0;display:grid;overflow:hidden}.turn-title{white-space:nowrap;min-width:0;height:23px;font-size:clamp(16px,1.4vw,20px)}.turn-panel .turn-guidance,.turn-panel .check-notice,.turn-panel .outcome-summary{text-overflow:ellipsis;white-space:nowrap;text-wrap:nowrap;height:17px;margin:0;line-height:17px;display:block;overflow:hidden}.app[data-online=true] .turn-panel{grid-template-rows:21px 15px 15px;gap:0}.app[data-online=true] .turn-title{height:21px}.app[data-online=true] .turn-guidance,.app[data-online=true] .check-notice,.app[data-online=true] .outcome-summary,.app[data-online=true] .online-network-status{white-space:nowrap;text-overflow:ellipsis;height:15px;margin:0;font-size:10px;line-height:15px;overflow:hidden}.app[data-online=true] .board-profile{height:64px;min-height:64px}.app[data-online=true] .board-profile .chat-bubble{max-height:61px;overflow:hidden}@media (width<=900px){.room-app.room-app--game{padding:0}.app{--board-height:calc(100dvh - 120px);--board-width:min(calc(var(--board-height) * .9),calc(100vw - 16px));padding-inline:4px}.app-header{grid-template-rows:29px 40px;gap:1px 4px;height:76px;min-height:76px;padding:3px 4px}.app[data-online=true] .app-header{grid-template-rows:29px 52px;height:88px;min-height:88px}.app .turn-panel{grid-template-rows:23px 17px;align-self:stretch;gap:0;padding:0}.app[data-online=true] .turn-panel{grid-template-rows:21px 15px 15px}.app .turn-title{font-size:17px}.app .game-layout{gap:10px;padding:5px 0}.app .table-heading,.app .board-legend,.app .app-footer{display:none}.app .board-shell{width:min(100%,calc(var(--board-height) * .9 + 8px))}.app .board-frame{padding:3px}.app .board-coordinates{padding-top:3px}.app[data-online=true]{--board-height:max(240px,calc(100dvh - 380px - env(safe-area-inset-bottom,0px)))}.app[data-online=true] .board-profile{height:64px;min-height:64px;margin-inline:4px}.app[data-online=true]{padding-bottom:94px;scroll-padding-bottom:94px}.app[data-online=true] .room-chat{left:10px;right:10px;bottom:max(6px,env(safe-area-inset-bottom));z-index:30;background:var(--paper,#fcfbf6);border-radius:8px;width:auto;padding:6px;position:fixed;box-shadow:0 -2px 12px #0001}}@media (width<=600px){.app,.app[data-focus=true]{--board-height:calc(100dvh - 120px);--board-width:calc(100vw - 16px)}.app[data-online=true],.app[data-online=true][data-focus=true]{--board-height:max(240px,calc(100dvh - 380px - env(safe-area-inset-bottom,0px)))}.app .brand h1{font-size:15px}.app .header-actions .button{padding:6px 4px;font-size:10px}.app .header-actions{gap:1px}.app .board-shell{width:100%}}.private-skill-controls{z-index:55;position:fixed;bottom:16px;left:16px}.app .point[data-hover-state=HOVER_LEGAL_TARGET]:not(:disabled){cursor:pointer}.app .point:active:not(:disabled){background:0 0}@media (hover:hover) and (pointer:fine){.app .point[data-hover-state=HOVER_SELECTABLE_PIECE]:not(:disabled):hover>.piece{filter:brightness(1.045)}.app .point[data-hover-state=HOVER_LEGAL_TARGET]:not(:disabled):hover{background:color-mix(in srgb,var(--board-move) 13%,transparent)}.app .point[data-hover-state=HOVER_LEGAL_TARGET]:not(:disabled):hover>.move-dot{box-shadow:0 0 0 calc(var(--cell-size) * .075) color-mix(in srgb,var(--board-move) 25%,transparent)}.app .point[data-hover-state=HOVER_LEGAL_TARGET][data-target=capture]:not(:disabled):hover{background:color-mix(in srgb,var(--board-capture) 14%,transparent)}}.private-skill-controls>button{border-radius:12px;padding:9px 17px}.private-skill-panel{background:var(--panel-bg,#f5ead7);width:246px;max-width:calc(100vw - 32px);color:var(--ink,#231f1b);border:1px solid #80653d;border-radius:14px;padding:16px;position:absolute;bottom:calc(100% + 8px);left:0;box-shadow:0 8px 28px #0005}.private-skill-panel p{font-size:13px;line-height:1.6}@media (width<=900px){.private-skill-controls{bottom:98px;left:12px}}.match-tools-toggle{display:none}.selection-panel{flex:none;height:146px;overflow:auto}.feedback-panel{flex:none;height:144px;overflow:auto}@media (width>=901px){.app[data-online=true]{--board-height:calc(100dvh - 134px);--board-width:min(calc(var(--board-height) * .9),calc(100vw - 358px))}.app[data-online=true] .game-layout{grid-template-rows:64px minmax(0,1fr) minmax(160px,1fr) 64px;grid-template-columns:300px minmax(0,1fr);gap:8px 12px;height:calc(100dvh - 112px)}.app[data-online=true] .play-area{display:contents}.app[data-online=true] .board-shell{grid-area:1/2/5;place-self:center}.app[data-online=true] .table-heading,.app[data-online=true] .board-legend,.app[data-online=true] .app-footer{display:none}.app[data-online=true] .board-profile--opponent{grid-area:1/1;margin:0}.app[data-online=true] .board-profile--self{grid-area:4/1;margin:0}.app[data-online=true] .game-information{grid-area:2/1;gap:6px;height:100%;max-height:100%}.app[data-online=true] .game-sidebar{grid-area:3/1;height:100%;max-height:100%;padding:0;overflow:auto}.app[data-online=true] .feedback-panel{display:none}.app[data-online=true] .selection-panel{height:100px;padding:8px}.app[data-online=true] .interaction-tip{display:none}.app[data-online=true] .losses-panel{flex:1;min-height:70px;overflow:auto}.app[data-online=true] .captured{padding:5px 8px}.app[data-online=true] .captured-pieces{flex-wrap:nowrap;margin-top:3px;overflow-x:auto}.app[data-online=true] .history-panel{flex:none;min-height:80px;max-height:100px;overflow:auto}.app[data-online=true] .event-panel{display:none}.app[data-online=true] .room-chat{grid-area:3/1;align-self:end;width:100%;position:relative;bottom:auto;left:auto;right:auto}.app[data-online=true] .game-sidebar{padding-bottom:78px}.app[data-online=true] .board-profile--self{margin-bottom:0}}@media (width<=900px){.app,.app[data-focus=true]{--board-height:max(240px,calc(100dvh - 204px));--board-width:min(calc(var(--board-height) * .9),calc(100vw - 16px));--lost-piece-size:25px;padding-bottom:0}.app[data-online=true],.app[data-online=true][data-focus=true]{--board-height:max(240px,calc(100dvh - 380px - env(safe-area-inset-bottom,0px)));padding-bottom:70px}.app .game-layout,.app[data-focus=true] .game-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"board""info";gap:4px;padding:3px 0}.app .board-shell{width:min(100%,calc(var(--board-height) * .9 + 8px))}.app .game-information,.app[data-focus=true] .game-information{height:76px;max-height:76px;display:block;overflow:visible}.app .selection-panel,.app .feedback-panel{display:none}.app .losses-panel,.app[data-focus=true] .losses-panel{grid-template-columns:1fr 1fr;height:76px;min-height:0;display:grid;overflow:hidden}.app .captured,.app[data-focus=true] .captured{min-width:0;padding:6px;overflow:hidden}.app .captured-heading{white-space:nowrap;font-size:10px;display:flex}.app .captured-pieces{flex-wrap:nowrap;gap:4px;height:30px;min-height:30px;margin-top:6px;display:flex;overflow:auto hidden}.app .captured-token,.app .loss-arrival-anchor{flex:none}.app .loss-arrival-anchor:not(.loss-arrival-anchor--empty){position:sticky;right:0}.app .game-sidebar,.app[data-focus=true] .game-sidebar{z-index:75;background:var(--paper,#fcfbf6);border:1px solid var(--line);border-radius:14px;height:auto;max-height:55dvh;padding:12px;display:none;position:fixed;inset:auto 8px 80px;overflow:auto;box-shadow:0 8px 28px #0003}.app .game-sidebar[data-tools-open=true]{display:flex}.app .match-tools-toggle{display:inline-block}.app[data-online=true] .board-profile{height:48px;min-height:48px;margin:2px 4px;padding:2px 6px}.app[data-online=true] .board-profile .account-avatar{width:36px;height:36px}.app[data-online=true] .board-profile-name strong{font-size:13px}.app[data-online=true] .board-profile .chat-bubble{max-width:calc(100% - 54px);max-height:44px;padding:3px 7px;font-size:11px;top:2px;bottom:auto;left:46px}.app[data-online=true] .room-chat{bottom:max(4px,env(safe-area-inset-bottom));padding:3px 6px}.app[data-online=true] .room-chat-compose input{padding:6px 8px}.app[data-online=true] .room-chat-compose button{padding:6px}.app .private-skill-controls{bottom:76px}}@media (width>=601px) and (width<=900px){.app[data-online=true],.app[data-online=true][data-focus=true]{--board-height:max(240px,calc(100dvh - 406px - env(safe-area-inset-bottom,0px)))}}@media (width>=901px){.app[data-online=true] .loss-arrival-anchor:not(.loss-arrival-anchor--empty){position:sticky;right:0}}.self-profile-slot{align-items:center;gap:8px;min-width:0;display:flex;position:relative}.self-profile-slot .board-profile{flex:1;min-width:0}.self-profile-slot .private-skill-controls{z-index:55;flex:none;position:relative;inset:auto}.self-profile-slot .private-skill-controls>button{min-height:36px;padding:8px 10px}.self-profile-slot .private-skill-panel{left:auto;right:0}@media (width>=901px){.app[data-online=true],.app[data-online=true][data-focus=true]{--board-height:calc(100dvh - 134px);--board-width:min(calc(var(--board-height) * .9),calc(100vw - 470px))}.app[data-online=true] .game-layout,.app[data-online=true][data-focus=true] .game-layout{grid-template-columns:minmax(0,1fr) calc(var(--board-width) + 10px) minmax(0,1fr);grid-template-rows:64px minmax(0,1fr) 86px 64px;gap:8px 14px}.app[data-online=true] .board-shell{grid-area:1/2/5;width:100%}.app[data-online=true] .game-information{grid-area:2/1/4}.app[data-online=true] .game-sidebar{grid-area:1/3/3;height:100%;padding:0;display:flex;overflow:auto}.app[data-online=true] .history-panel{flex:1;max-height:none}.app[data-online=true] .room-chat{grid-area:3/3/5;align-self:start}.app[data-online=true] .self-profile-slot{grid-area:4/1;align-self:stretch}.app[data-online=true] .self-profile-slot .board-profile{margin:0}.app[data-online=true] .losses-panel{flex-direction:column;gap:8px;display:flex}}@media (width<=900px){.app[data-online=true],.app[data-online=true][data-focus=true]{--board-height:max(240px,calc(100dvh - 312px - env(safe-area-inset-bottom,0px)));--board-width:min(calc(var(--board-height) * .9),calc(100vw - 6px));padding-inline:0;padding-bottom:50px}.app[data-online=true] .board-shell{width:min(100%,calc(var(--board-width) + 6px))}.app[data-online=true] .board-frame{padding:1px}.app[data-online=true] .game-layout{gap:2px;padding:1px 0}.app[data-online=true] .app-header{grid-template-rows:40px;grid-template-columns:minmax(0,1fr) auto;height:44px;min-height:44px;padding:2px 6px;position:relative}.app[data-online=true] .app-header>.brand{display:none}.app[data-online=true] .turn-panel{grid-area:1/1;grid-template-rows:16px 12px 12px}.app[data-online=true] .turn-title{height:16px;font-size:14px}.app[data-online=true] .turn-guidance,.app[data-online=true] .check-notice,.app[data-online=true] .outcome-summary,.app[data-online=true] .online-network-status{height:12px;font-size:10px;line-height:12px}.app[data-online=true] .header-actions{grid-area:1/2;justify-self:end}.app[data-online=true] .header-actions>:not(.match-tools-toggle){display:none}.app[data-online=true] .header-actions[data-tools-open=true]{background:var(--paper,#fcfbf6);border:1px solid var(--line);z-index:80;border-radius:8px;flex-direction:column;align-items:stretch;padding:4px;display:flex;position:absolute;top:2px;right:6px}.app[data-online=true] .header-actions[data-tools-open=true]>button{min-height:36px;padding:8px 12px;display:block}.app[data-online=true] .match-tools-toggle{min-height:36px;padding:8px 10px}.app[data-online=true] .board-profile{height:42px;min-height:42px;margin:1px 4px}.app[data-online=true] .board-profile-name small{font-size:9px}.app[data-online=true] .self-profile-slot{margin-inline:4px}.app[data-online=true] .self-profile-slot .board-profile{margin-inline:0}.app[data-online=true] .room-chat{width:126px;box-shadow:none;padding:3px;left:auto;right:8px}.app[data-online=true] .room-chat-compose{display:block}.app[data-online=true] .room-chat:not([data-open=true]) .room-chat-compose input,.app[data-online=true] .room-chat:not([data-open=true]) .room-chat-compose button[type=submit],.app[data-online=true] .room-chat:not([data-open=true]) .room-chat-toolbar{display:none}.app[data-online=true] .room-chat[data-open=true]{width:auto;padding:6px;left:6px;right:6px}.app[data-online=true] .room-chat[data-open=true] .room-chat-compose{display:flex}.app[data-online=true] .room-chat button{min-height:36px}.app[data-online=true] .game-sidebar{bottom:58px}.room-app--game .room-account-actions{height:26px;padding:2px 6px}.room-app--game .room-account-actions button{min-height:24px;padding:2px 8px}}:root{--motion-fast:.18s;--motion-normal:.26s;--motion-panel:.34s;--motion-dramatic:1.1s;--type-display:28px;--type-title:20px;--type-name:16px;--type-body:14px;--type-secondary:12px;--type-stats:13px;--type-caption:10px;--surface:var(--paper,#fcfbf6);--surface-elevated:color-mix(in srgb,var(--paper,#fcfbf6) 94%,white);--surface-border:color-mix(in srgb,var(--board-frame-edge,#a18559) 55%,transparent);--text-primary:var(--ink,#263c37);--text-secondary:var(--muted,#7a837a);--shadow-panel:0 10px 28px #171f2026;--shadow-piece:0 4px 7px #171f2033}.app .board-frame{box-shadow:0 10px 30px -20px #121c29b0,inset 0 0 0 2px var(--board-frame-inset),inset 0 0 16px #332a1820;border-radius:9px}.app .board,.app .board-shell,.app .board-frame,.app .board-points,.app .point{transition:none;transform:none}.app .point>.piece{transition:none}.app .point--selected>.piece{outline:2px solid var(--board-move);outline-offset:1px;box-shadow:0 0 0 4px color-mix(in srgb,var(--board-move) 18%,transparent),var(--shadow-piece);transform:none}.app .point--last-to:before{background:color-mix(in srgb,var(--board-last) 9%,transparent)}.app .point--capture:after{border-radius:50%;inset:6%}.app .point--capture .piece:before{display:none}.board-profile{border:1px solid var(--surface-border);background:color-mix(in srgb,var(--surface) 86%,transparent);box-shadow:0 2px 6px #171f200d}.board-profile[data-active=true] .account-avatar{outline:2px solid var(--board-move,#447554);outline-offset:2px;animation:2.5s ease-in-out infinite turn-breathe}@keyframes turn-breathe{50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--board-move,#447554) 16%,transparent)}}.app button,.friends-entry,.notifications-entry{touch-action:manipulation}.app .button,.friends-entry,.notifications-entry{border:1px solid var(--surface-border);background:var(--surface-elevated);border-radius:9px;box-shadow:0 1px 4px #171f2014}.friend-badge{pointer-events:none;min-width:17px;margin:0;font-size:9px;position:absolute;top:-5px;right:-4px}@media (width<=900px){body:has(.app){overscroll-behavior:none;height:100svh;overflow:hidden}.room-app--game .room-account-actions{display:none}.app,.app[data-focus=true],.app[data-online=true],.app[data-online=true][data-focus=true]{overscroll-behavior:none;height:100svh;max-height:100svh;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px);--board-height:calc(100svh - 202px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));--board-width:min(calc(var(--board-height) * .9),calc(100vw - 6px));--lost-piece-size:25px;position:fixed;inset:0;overflow:hidden}.app .app-header,.app[data-online=true] .app-header{grid-template-rows:40px;grid-template-columns:minmax(0,1fr) auto;gap:4px;height:44px;min-height:44px;padding:2px 6px;display:grid}.app .app-header>.brand{display:none}.app .turn-panel,.app[data-online=true] .turn-panel{text-align:left;grid-area:1/1;max-width:calc(100vw - 186px)}.app .turn-title{justify-content:flex-start;height:16px;font-size:14px}.app .turn-guidance{display:none}.app .check-notice,.app .outcome-summary,.app .online-network-status{white-space:nowrap;text-overflow:ellipsis;height:12px;font-size:10px;line-height:12px;overflow:hidden}.app .header-actions{grid-area:1/2}.app .header-actions>:not(.match-tools-toggle){display:none}.app .match-tools-toggle{min-width:42px;min-height:36px;display:block}.app .header-actions[data-tools-open=true]{z-index:85;background:var(--surface-elevated);box-shadow:var(--shadow-panel);border-radius:10px;flex-direction:column;padding:4px;display:flex;position:absolute;top:3px;right:5px}.app .header-actions[data-tools-open=true]>button{min-height:36px;display:block}:is(body:has(.app) .friends-entry,body:has(.app) .notifications-entry){top:calc(env(safe-area-inset-top,0px) + 4px);min-height:36px;padding:7px 8px;font-size:11px;bottom:auto}body:has(.app) .friends-entry{right:108px}body:has(.app) .notifications-entry{right:53px}.app .game-layout,.app[data-focus=true] .game-layout,.app[data-online=true] .game-layout{grid-template:42px minmax(0,1fr) 54px 52px/minmax(0,1fr);align-items:stretch;gap:0;height:calc(100% - 44px);padding:0;display:grid}.app .play-area{display:contents}.app .board-shell,.app[data-online=true] .board-shell{width:calc(var(--board-width) + 4px);grid-area:2/1;align-self:center;min-width:0;max-width:100%}.app .board-frame,.app[data-online=true] .board-frame{padding:1px}.app .board-coordinates{height:10px;padding-top:0;line-height:10px}.app .table-heading,.app .board-legend,.app .app-footer{display:none}.app .board-profile--opponent{grid-area:1/1;height:40px;min-height:40px;margin:1px 4px;padding:2px 6px}.app .self-profile-slot{grid-area:4/1;align-self:stretch;height:52px;min-height:52px;margin:0 4px}.app .self-profile-slot .board-profile{height:46px;min-height:46px;margin:0;padding:2px 6px}.app .board-profile .account-avatar{width:32px;height:32px}.app .board-profile-name strong{font-size:13px}.app .board-profile-name small,.app .board-profile-connection{font-size:9px}.app .board-profile .chat-bubble{max-width:calc(100% - 50px);max-height:40px;padding:3px 6px;font-size:11px;top:2px;bottom:auto;left:42px}.app .game-information,.app[data-focus=true] .game-information{grid-area:3/1;min-width:0;height:54px;max-height:54px;overflow:hidden}.app .losses-panel,.app[data-focus=true] .losses-panel{grid-template-columns:1fr 1fr;gap:2px;height:54px;display:grid;overflow:hidden}.app .captured,.app[data-focus=true] .captured{border:1px solid var(--surface-border);border-radius:7px;padding:3px 5px}.app .captured-heading{font-size:9px;line-height:12px}.app .captured-pieces{flex-wrap:nowrap;height:28px;min-height:28px;margin-top:2px;overflow:auto hidden}.app .selection-panel,.app .feedback-panel{display:none}.app .game-sidebar,.app[data-online=true] .game-sidebar{z-index:75;height:auto;max-height:65svh;box-shadow:var(--shadow-panel);padding:12px;display:none;position:fixed;inset:auto 8px 58px;overflow:auto}.app .game-sidebar[data-tools-open=true]{display:flex}.app .room-chat{bottom:calc(env(safe-area-inset-bottom,0px) + 7px);z-index:56;width:122px;box-shadow:none;margin:0;padding:0;position:fixed;left:auto;right:8px}.app:has(.room-chat) .self-profile-slot{padding-right:126px}.app .room-chat:not([data-open=true]) .room-chat-compose input,.app .room-chat:not([data-open=true]) .room-chat-compose button[type=submit],.app .room-chat:not([data-open=true]) .room-chat-toolbar{display:none}.app .room-chat .room-chat-compose{display:block}.app .room-chat[data-open=true]{width:auto;left:6px;right:6px;bottom:calc(env(safe-area-inset-bottom,0px) + 56px);background:var(--surface-elevated);border:1px solid var(--surface-border);border-radius:12px;padding:8px}.app .room-chat[data-open=true] .room-chat-compose{display:flex}.app .private-skill-controls{inset:auto}.app .private-skill-controls>button{min-width:38px;padding:6px}.app .scene-nebula,.app .flying-token{filter:none}.app .modal,.app .game-sidebar{-webkit-backdrop-filter:none;backdrop-filter:none}}@media (height<=670px) and (width<=900px){.app,.app[data-focus=true],.app[data-online=true],.app[data-online=true][data-focus=true]{--board-height:calc(100svh - 196px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}.app .board-profile-connection{display:none}}@media (prefers-reduced-motion:reduce){.board-profile[data-active=true] .account-avatar{animation:none}}.app[data-motion=reduced] .board-profile[data-active=true] .account-avatar{animation:none}.app .board-frame{box-shadow:var(--shadow-board),inset 0 1px 0 #fff7,inset 0 -3px 0 #0002,inset 0 0 0 2px var(--board-frame-inset)}.app .board{box-shadow:inset 0 2px 8px #35281812}.app .point>.piece{box-shadow:0 3px 4px #17202530,inset 0 1px #fff6}.app .point--selected>.piece{box-shadow:0 0 0 4px color-mix(in srgb,var(--board-move) 22%,transparent),0 4px 6px #17202535;transform:none}.app .point--checked>.piece{outline-color:var(--board-capture);box-shadow:0 0 0 3px color-mix(in srgb,var(--board-capture) 18%,transparent)}.app .button--primary,.app .modal .button--primary{color:#fff9e9;background:#315b4c;border-color:#274a3e}.app .button--danger,.app .modal .button--danger{color:#fff8ee;background:#942f35;border-color:#842830}.app .button--outline{background:var(--surface-elevated);color:var(--ink);border-color:var(--surface-border)}.app .button--quiet{color:var(--ink);background:0 0}.app .modal-actions .button{opacity:1;min-height:42px;font-size:14px;font-weight:700}.panel-title-row{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:44px;margin-bottom:var(--space-2);display:flex}.panel-title-row>.ui-icon-button{flex:none;width:40px;height:40px;padding:0}.app .app-header{gap:8px;height:52px;min-height:52px}.app .app-header .header-actions{gap:4px}.app .app-header .ui-icon-button{border-radius:var(--radius-small);min-width:40px;min-height:40px;padding:0}.app .header-actions>.topbar-social-actions{align-items:center;gap:4px;display:flex}.app .topbar-social-actions>.ui-icon-button{z-index:auto;position:relative;inset:auto}.app .topbar-social-actions>.ui-icon-button:has(.ui-icon-label){width:auto;padding:0 8px}.app .turn-panel{font-variant-numeric:tabular-nums}.app .turn-title{transition:color var(--motion-normal)}.app .chat-bubble{color:var(--chat-text);background:var(--chat-surface);text-shadow:none;pointer-events:auto;overscroll-behavior:contain;border-color:#b5a37d;line-height:1.5}.app .board-profile--self .chat-bubble{background:var(--chat-self-surface);border-color:#839e83}.app .captured{background:color-mix(in srgb,var(--surface-elevated) 80%,var(--board-frame-fill));border:1px solid var(--surface-border);border-radius:var(--radius-medium)}.app .captured-heading{font-variant-numeric:tabular-nums}@media (width>=901px){body:has(.app){height:100svh;overflow:hidden}.room-app--game .room-account-actions{clip-path:inset(50%);width:1px;height:1px;position:absolute;top:1px;left:1px;overflow:hidden}.app[data-online=true],.app[data-online=true][data-focus=true]{--board-height:calc(100svh - 92px);--board-width:min(calc(var(--board-height) * .9),calc(100vw - 560px));--lost-piece-size:clamp(36px,2.8vw,48px);height:100svh;padding-inline:16px}.app[data-online=true] .app-header{grid-template-columns:minmax(150px,1fr) minmax(240px,1fr) minmax(0,1.8fr);height:52px;min-height:52px}.app[data-online=true] .brand h1{font-size:17px}.app[data-online=true] .brand p,.app[data-online=true] .header-actions .local-badge{display:none}.app[data-online=true] .game-layout,.app[data-online=true][data-focus=true] .game-layout{grid-template-columns:minmax(0,1fr) calc(var(--board-width) + 10px) minmax(0,1fr);grid-template-rows:168px minmax(0,1fr) 168px;align-items:stretch;gap:8px 16px;height:calc(100svh - 72px);padding:4px 0}.app[data-online=true] .board-shell{grid-area:1/2/4;align-self:center;width:100%}.app[data-online=true] .board-profile--opponent{grid-area:1/1;justify-self:end;margin:0}.app[data-online=true] .self-profile-slot{grid-area:3/1;justify-self:end;width:100%;max-width:360px;height:168px}.app[data-online=true] .game-information{grid-area:2/1;justify-self:end;gap:8px;width:100%;max-width:360px;height:100%;max-height:100%;overflow-y:auto}.app[data-online=true] .game-information .losses-panel{background:0 0;border:0;flex-direction:column;flex:none;order:-1;gap:8px;display:flex}.app[data-online=true] .captured{padding:10px 12px}.app[data-online=true] .captured-pieces{min-height:var(--lost-piece-size);max-height:112px;margin-top:6px;overflow-y:auto}.app[data-online=true] .selection-panel,.app[data-online=true] .feedback-panel{padding:10px 12px}.app[data-online=true] .board-profile{grid-template-rows:84px 64px;grid-template-columns:72px minmax(0,1fr);align-content:center;gap:0 12px;width:100%;max-width:360px;height:168px;min-height:168px;padding:8px 12px;display:grid}.app[data-online=true] .board-profile>.account-avatar,.app[data-online=true] .profile-avatar-button{grid-area:1/1}.app[data-online=true] .board-profile .account-avatar{width:72px;height:72px}.app[data-online=true] .board-profile-name{visibility:visible;grid-area:1/2}.app[data-online=true] .board-profile-name strong{font-size:18px}.app[data-online=true] .board-profile-connection{visibility:visible;font-size:11px;position:absolute;top:74px;left:96px}.app[data-online=true] .board-profile--self{grid-template-rows:64px 84px}.app[data-online=true] .board-profile--self>.account-avatar,.app[data-online=true] .board-profile--self .board-profile-name{grid-row:2}.app[data-online=true] .board-profile--self .board-profile-connection{top:auto;bottom:16px}:is(.app[data-online=true] .board-profile:has(.chat-bubble) .board-profile-name,.app[data-online=true] .board-profile:has(.chat-bubble) .board-profile-connection){visibility:visible}.app[data-online=true] .board-profile .chat-bubble{width:calc(100% - 20px);max-width:none;max-height:64px;padding:6px 10px;font-size:16px;inset:96px auto auto 10px;overflow-y:auto}.app[data-online=true] .board-profile--self .chat-bubble{top:8px;bottom:auto}.app[data-online=true] .game-sidebar{grid-area:1/3/3;justify-self:start;width:100%;max-width:360px;height:100%;padding:0;overflow-y:auto}.app[data-online=true] .room-chat{grid-area:3/3;align-self:end;width:100%;max-width:360px;height:168px;max-height:168px;padding:12px;position:relative;inset:auto}.app[data-online=true] .room-chat-panel{width:100%;font-size:15px}.app[data-online=true] .app-footer{height:20px;padding:2px 0}}@media (width<=900px){.app,.app[data-focus=true],.app[data-online=true],.app[data-online=true][data-focus=true]{--board-height:calc(100svh - 238px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}.app .app-header,.app[data-online=true] .app-header{grid-template-rows:44px;height:44px;min-height:44px;padding:0 6px}.app .game-layout,.app[data-focus=true] .game-layout,.app[data-online=true] .game-layout{grid-template-rows:60px minmax(0,1fr) 54px 60px;height:calc(100% - 44px)}.app .board-profile--opponent,.app[data-online=true] .board-profile--opponent{height:58px;min-height:58px}.app .self-profile-slot{height:60px;min-height:60px}.app .self-profile-slot .board-profile{height:58px;min-height:58px}.app .board-profile .account-avatar,.app[data-online=true] .board-profile .account-avatar{width:40px;height:40px}.app .board-profile .chat-bubble,.app[data-online=true] .board-profile .chat-bubble{max-width:calc(100% - 58px);max-height:52px;padding:4px 6px;font-size:13px;line-height:1.4;top:3px;bottom:auto;left:50px;overflow-y:auto}.app .header-actions>.topbar-social-actions,.app[data-online=true] .header-actions>.topbar-social-actions{display:flex}.app .topbar-social-actions>.ui-icon-button{width:44px;min-width:44px;min-height:44px;padding:0;inset:auto}.app .match-tools-toggle{width:44px;min-height:44px}.app .turn-panel,.app[data-online=true] .turn-panel{max-width:calc(100vw - 164px)}.app .header-actions[data-tools-open=true]>.topbar-social-actions,.app[data-online=true] .header-actions[data-tools-open=true]>.topbar-social-actions{display:none}.app .private-skill-panel .ui-icon-button,.app .room-chat-panel .ui-icon-button{min-width:44px;min-height:44px;padding:0}.app .room-chat[data-open=true]{bottom:calc(env(safe-area-inset-bottom,0px) + 64px)}.app .modal .modal-actions .button{min-height:44px}}.home,.auth-page{color:#f2e4c7;background:radial-gradient(at 78% 45%,#39474455,#0000 55%),radial-gradient(at 12% 30%,#6d2a2635,#0000 48%),#131b1c;min-height:100dvh;font-family:system-ui,Microsoft YaHei,sans-serif}.home-header{letter-spacing:2px;border-bottom:1px solid #c4ac7c24;align-items:center;gap:14px;max-width:1250px;margin:auto;padding:24px 32px;font-size:14px;display:flex}.home-mark{color:#f9dfb0;background:#8e2725;border-radius:4px;place-items:center;width:36px;height:36px;font-family:KaiTi,serif;font-size:26px;display:grid}.home-header nav{letter-spacing:0;align-items:center;gap:14px;margin-left:auto;display:flex}.home button,.auth-links button{color:inherit}.home-header button,.auth-links button{cursor:pointer;background:0 0;border:none;padding:8px;font-size:14px}.hero{grid-template-columns:1fr 1fr;align-items:center;gap:40px;max-width:1200px;min-height:min(740px,100dvh - 160px);margin:auto;padding:35px 40px;display:grid}.hero-kicker{letter-spacing:.28em;color:#c8ad72;font-size:13px}.hero h1{letter-spacing:.07em;color:#f4e0b7;margin:24px 0;font-family:KaiTi,STKaiti,serif;font-size:clamp(46px,5.6vw,78px);font-weight:800}.hero-subtitle{color:#d6c7ad;font-size:clamp(14px,1.3vw,18px);line-height:1.9}.hero-description{color:#b2b7ac;margin:28px 0;font-size:16px;line-height:2}.hero-actions{gap:18px;margin:30px 0 20px;display:flex}.home .button{border-radius:8px;min-width:145px;padding:14px 25px;font-size:17px}.home .button--primary{color:#ffe6c8;background:#992e2a;border:1px solid #ca766052}.home .button--outline{color:#eddcb9;background:#293431;border:1px solid #d4bb855b}.hero-copy small{color:#99a89d;line-height:1.8}.hero-art{filter:drop-shadow(0 22px 28px #0008);max-width:485px;margin:auto;position:relative;transform:perspective(1100px)rotateY(-8deg)rotate(3deg)}.hero-board{width:100%;display:block}.cover-grid{fill:none;stroke:#b7a578;stroke-width:1px;opacity:.38}.cover-river{fill:#af9d72;letter-spacing:5px;font-family:KaiTi,serif;font-size:23px}.cover-piece circle:first-child{fill:#e6ce9d;stroke:#af895b;stroke-width:2px}.cover-piece circle:nth-child(2){fill:none;stroke:currentColor;stroke-width:1.4px}.cover-piece text{fill:currentColor;font-family:KaiTi,serif;font-size:29px;font-weight:900}.cover-piece--red{color:#791c22}.cover-piece--black{color:#101c1b}.cover-piece--hidden{color:#c7ad70}.cover-piece--hidden circle:first-child{fill:#263b38;stroke:#7b947a}.cover-piece--hidden text{font-size:22px}.hero-seal{color:#ca7866;border:2px solid #b15e51;padding:12px;font-family:KaiTi,serif;font-size:26px;line-height:1.25;position:absolute;bottom:5%;right:-8%;transform:rotate(-10deg)}.home-footer{letter-spacing:1px;color:#899890;border-top:1px solid #c4ac7c24;justify-content:space-between;max-width:1200px;margin:auto;padding:22px 32px;font-size:12px;display:flex}.auth-page{place-items:center;padding:28px 16px;display:grid}.auth-card{background:#24302c;border:1px solid #cbb68a38;border-radius:18px;gap:16px;width:min(100%,490px);padding:28px;display:grid;box-shadow:0 18px 60px #0005}.auth-card h1{margin:4px 0;font-family:KaiTi,serif;font-size:36px}.auth-card>p{color:#b8bcae;margin:0;font-size:13px;line-height:1.8}.auth-card label{gap:8px;font-size:14px;display:grid}.auth-card input{color:#ffedcf;font:inherit;box-sizing:border-box;background:#14211e;border:1px solid #cbb68a60;border-radius:8px;width:100%;padding:12px}.auth-card fieldset{border:0;margin:0;padding:0}.auth-card legend{margin-bottom:12px;font-size:14px}.avatar-picker{grid-template-columns:repeat(6,1fr);gap:7px;display:grid}.avatar-picker button{color:#ddd1b6;cursor:pointer;background:#192722;border:1px solid #0000;border-radius:8px;justify-items:center;gap:5px;padding:5px 1px;display:grid}.avatar-picker button[aria-pressed=true]{background:#5d3829;border-color:#d5ad64}.avatar-picker small{font-size:10px}.auth-links{justify-content:space-between;font-size:13px;display:flex}.auth-error{font-size:14px;color:#f1aaa0!important}.account-avatar{vertical-align:middle;color:#8d262b;flex-shrink:0}.avatar-base{fill:#ddc696}.avatar-rim{fill:none;stroke:currentColor;stroke-width:1.4px}.avatar-ornament{fill:none;stroke:currentColor;stroke-width:1px;opacity:.2}.account-avatar text{fill:currentColor;font-family:KaiTi,STKaiti,serif;font-size:32px;font-weight:900}.account-avatar--general,.account-avatar--seal{color:#182220}.account-avatar--star{color:#29376c}.account-avatar--ice{color:#235361}.account-avatar--flame{color:#902d17}.account-avatar--cloud{color:#296057}.account-avatar--mystery{color:#46513c}.account-profile{align-items:center;gap:10px;padding:8px 0;display:flex}.room-player>.account-avatar{margin-right:10px}.room-account-actions{align-items:center;gap:10px;margin-bottom:12px;display:flex}@media (width<=700px){.home-header{letter-spacing:0;flex-wrap:wrap;gap:8px;padding:18px 16px;font-size:11px}.home-header nav{flex-wrap:wrap;justify-content:flex-end;gap:6px}.hero{grid-template-columns:1fr;gap:20px;min-height:auto;padding:35px 24px 12px}.hero h1{margin:18px 0}.hero-description{margin:16px 0;font-size:14px}.hero-actions{flex-wrap:wrap;gap:9px;margin:22px 0 14px}.home .button{flex:1;min-width:0;padding:12px 15px;font-size:15px}.hero-art{filter:none;width:70%;max-width:330px;transform:none}.hero-seal{font-size:19px}.home-footer{flex-direction:column;gap:12px;padding:20px}.auth-card{padding:22px}.avatar-picker{gap:5px}}.avatar-picker{grid-template-columns:repeat(4,1fr)}.account-avatar--upload{object-fit:cover;border:2px solid #c8ad72;border-radius:50%}.guest-nickname{color:#ddcda9;flex-wrap:wrap;align-items:center;gap:10px;margin:18px 0;display:flex}.guest-nickname label{gap:6px;width:100%;max-width:270px;display:grid}.guest-nickname input{font:inherit;color:#f4e0b7;background:#23332d;border:1px solid #c8ad7266;border-radius:6px;padding:10px}.guest-nickname button{background:#344337;border:1px solid #c8ad7266;border-radius:6px;padding:8px}
