:root{color:#17241f;font-synthesis:none;text-rendering:optimizelegibility;--paper:#f5efe3;--paper-strong:#fffaf0;--paper-soft:#ebe2d2;--ink:#17241f;--ink-soft:#58645f;--ink-faint:#8b918c;--jade:#1d5042;--jade-bright:#2d6b59;--jade-pale:#dfe9df;--cinnabar:#a84e3a;--line:#263b3221;--line-strong:#263b3236;--shadow:0 24px 70px #2d271b1f;--shadow-soft:0 10px 30px #2d271b14;background:#f3eddf;font-family:Microsoft YaHei UI,PingFang SC,sans-serif}:root[data-theme=night]{color:#ece8dc;--paper:#121e1a;--paper-strong:#182723;--paper-soft:#1f2c27;--ink:#f1ecdf;--ink-soft:#b7c1ba;--ink-faint:#818e87;--jade:#77ad96;--jade-bright:#8dc2aa;--jade-pale:#263d34;--cinnabar:#d47a64;--line:#e0eae21a;--line-strong:#e0eae22e;--shadow:0 24px 70px #00000047;--shadow-soft:0 10px 30px #00000038;background:#101916}*{box-sizing:border-box}html{background:var(--paper);min-width:320px;min-height:100%}body{background:var(--paper);min-width:320px;min-height:100%;color:var(--ink);margin:0}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb, var(--jade) 35%, transparent);outline-offset:2px}.app-shell{min-height:100svh}.content-width{width:min(1180px,100% - 48px);margin-inline:auto}.home-page{background:linear-gradient(90deg, transparent 0 49.9%, var(--line) 50%, transparent 50.1%) center 0 / 100% 1px no-repeat, radial-gradient(circle at 83% 8%, #48715b1c, transparent 28%), radial-gradient(circle at 8% 42%, #b17a4614, transparent 27%), var(--paper);min-height:100svh;position:relative;overflow:hidden}.home-page:after{content:"";pointer-events:none;opacity:.12;background:repeating-linear-gradient(2deg,#0000 0 15px,#473a2814 16px 17px,#0000 18px 34px);position:absolute;inset:0}:root[data-theme=night] .home-page:after{opacity:.07}.home-page>:not(.landscape){z-index:2;position:relative}.landscape{pointer-events:none;opacity:.2;filter:blur(.2px);position:absolute}.landscape-one{background:radial-gradient(at 50% 100%,#0000 0 46%,#294b3d42 47% 50%,#0000 51%),radial-gradient(at 75% 100%,#0000 0 56%,#294b3d30 57% 60%,#0000 61%);border-radius:50% 0 0;width:540px;height:190px;top:500px;right:-90px;transform:rotate(-5deg)}.landscape-two{background:radial-gradient(at 50% 100%,#0000 0 46%,#76583533 47% 50%,#0000 51%);width:480px;height:150px;top:300px;left:-170px}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:82px;display:flex}.brand{-webkit-user-select:none;user-select:none;align-items:center;gap:11px;display:inline-flex}.brand-mark{border:1px solid var(--jade);border-radius:4px;place-items:center;width:38px;height:38px;display:inline-grid;position:relative;transform:rotate(45deg)}.brand-mark:before,.brand-mark:after{content:"";border-radius:50%;width:15px;height:15px;position:absolute}.brand-mark:before{background:#141817;top:5px;left:5px}.brand-mark:after{background:#eee8db;border:1px solid #c8bca7;bottom:4px;right:4px}.brand-mark i,.brand-mark b{display:none}.brand>span:last-child{flex-direction:column;gap:1px;display:flex}.brand strong{letter-spacing:.15em;font-family:Songti SC,STSong,SimSun,serif;font-size:20px;line-height:1.1}.brand small{letter-spacing:.24em;color:var(--ink-faint);font-size:9px}.brand.compact .brand-mark{width:32px;height:32px}.header-actions,.room-header-actions{align-items:center;gap:9px;display:flex}.icon-button{background:var(--paper-strong);border:1px solid var(--line);cursor:pointer;border-radius:50%;place-items:center;width:40px;height:40px;transition:all .2s;display:inline-grid;position:relative}.icon-button:after{content:"";position:absolute;inset:-2px}.icon-button:hover{border-color:var(--line-strong);box-shadow:var(--shadow-soft);transform:translateY(-1px)}.icon-button.subtle{background:0 0}.connection-pill{border:1px solid var(--line);height:31px;color:var(--ink-soft);background:color-mix(in srgb,var(--paper-strong) 70%,transparent);border-radius:999px;align-items:center;gap:7px;padding:0 11px;font-size:12px;display:inline-flex}.connection-icon{place-items:center;width:16px;height:16px;line-height:0;display:grid;overflow:visible}.connection-icon svg{display:block;transform:translateY(-.5px)}.connection-pill.online .connection-icon{color:var(--jade-bright)}.connection-pill.reconnecting .connection-icon{color:#a77830;animation:1.2s infinite blink}.connection-pill.offline{color:var(--cinnabar)}.hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:80px;min-height:510px;padding-block:46px 58px;display:grid}.eyebrow{color:var(--jade);letter-spacing:.18em;align-items:center;gap:9px;margin:0 0 17px;font-size:12px;font-weight:600;display:flex}.eyebrow span{background:var(--jade);width:28px;height:1px}.hero h1{letter-spacing:.03em;margin:0;font-family:Songti SC,STSong,SimSun,serif;font-size:clamp(48px,5.5vw,76px);font-weight:600;line-height:1.2}.hero h1 em{color:var(--jade);font-style:normal}.hero-lead{max-width:560px;color:var(--ink-soft);letter-spacing:.02em;margin:26px 0 31px;font-size:16px;line-height:1.9}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.primary-button,.secondary-button{cursor:pointer;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:0 21px;font-weight:600;transition:all .2s;display:inline-flex}.primary-button{color:#f8f3e8;background:var(--jade);box-shadow:0 10px 22px #1b493c2e}.primary-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 26px #1b493c40}.primary-button:disabled{opacity:.65;cursor:wait}.secondary-button{background:var(--paper-strong);border-color:var(--line-strong)}.secondary-button:hover{border-color:var(--jade);color:var(--jade)}.trust-line{color:var(--ink-faint);flex-wrap:wrap;gap:22px;margin-top:24px;font-size:12px;display:flex}.trust-line span{align-items:center;gap:5px;display:flex}.trust-line svg{color:var(--jade)}.invite-callout{width:min(100%,520px);color:var(--jade);background:var(--jade-pale);border:1px solid color-mix(in srgb, var(--jade) 20%, transparent);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 18px;padding:12px 14px;display:flex}.invite-callout span{align-items:center;gap:8px;display:flex}.invite-callout strong{letter-spacing:.1em}.hero-visual{aspect-ratio:1;justify-self:end;width:min(100%,490px);padding:29px;position:relative}.hero-visual:before{content:"";border:1px solid var(--line-strong);border-radius:50%;position:absolute;inset:1% 3% 4% 0}.hero-visual:after{content:"";filter:blur(30px);background:#3a5e4d14;border-radius:50%;width:72%;height:72%;position:absolute;top:15%;left:14%}.hero-visual>p{writing-mode:vertical-rl;color:var(--ink-faint);letter-spacing:.35em;margin:0;font-family:Songti SC,STSong,SimSun,serif;font-size:13px;position:absolute;top:88px;right:-16px}.display-board{z-index:2;background:linear-gradient(135deg,#e9c989,#d6a960 58%,#bd8243);border-radius:18px;width:85%;height:85%;margin:7.5%;position:relative;overflow:hidden;transform:rotate(-2.3deg);box-shadow:0 28px 55px #4631183d,inset 0 0 40px #73441929}.display-board:after{content:"";opacity:.18;background:repeating-linear-gradient(3deg,#0000 0 12px,#5c341733 13px 14px,#0000 15px 30px);position:absolute;inset:0}.display-board i{z-index:1;background:#462a17a8;display:block;position:absolute}.display-board i.h{height:1px;left:8%;right:8%}.display-board i.v{width:1px;top:8%;bottom:8%}.display-stone{z-index:3;aspect-ratio:1;border-radius:50%;width:7.3%;position:absolute;transform:translate(-50%,-50%);box-shadow:0 5px 6px #39221259}.display-stone.black{background:radial-gradient(circle at 34% 27%,#56605e,#141918 42%,#050706)}.display-stone.white{background:radial-gradient(circle at 34% 27%,#fffdf6,#eee6d7 62%,#b8ad9b)}.seal{z-index:4;color:#f3e8d8;background:var(--cinnabar);border-radius:2px;place-items:center;width:44px;height:58px;font-family:Songti SC,STSong,SimSun,serif;line-height:1.25;display:grid;position:absolute;bottom:34px;right:9px;box-shadow:0 5px 15px #8030232e}.game-section{border-top:1px solid var(--line);content-visibility:auto;contain-intrinsic-size:700px;padding:65px 0 70px}.section-heading{justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:30px;display:flex}.section-heading h2{margin:0;font:600 30px/1.3 Songti SC,STSong,SimSun,serif}.section-heading>p{max-width:390px;color:var(--ink-soft);margin:0 0 2px;font-size:13px;line-height:1.8}.game-grid{border:1px solid var(--line-strong);background:var(--paper-strong);box-shadow:var(--shadow-soft);border-radius:12px;grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.game-card{border:0;border-right:1px solid var(--line);text-align:left;cursor:default;background:0 0;flex-direction:column;align-items:flex-start;min-height:275px;padding:27px 25px;display:flex;position:relative}.game-card:last-child{border-right:0}.game-card.active{cursor:pointer}.game-card.active:after{content:"";opacity:0;background:linear-gradient(150deg, var(--jade-pale), transparent 70%);transition:opacity .25s;position:absolute;inset:0}.game-card.active:hover:after{opacity:1}.game-card>*{z-index:1;position:relative}.card-number{color:var(--ink-faint);letter-spacing:.1em;font:500 10px/1 monospace}.game-icon{width:54px;height:54px;color:var(--jade);background:var(--jade-pale);border-radius:50%;place-items:center;margin:39px 0 23px;display:grid}.game-name{font:600 22px/1.3 Songti SC,STSong,SimSun,serif}.game-note{color:var(--ink-faint);margin-top:8px;font-size:12px}.game-status{color:var(--ink-faint);align-items:center;gap:8px;margin-top:auto;font-size:12px;display:inline-flex}.game-card.active .game-status{color:var(--jade);font-weight:600}.game-card:not(.active) .game-status{color:var(--ink-soft);background:var(--paper-soft);border-radius:999px;padding:4px 8px}.game-card:disabled{color:inherit;opacity:.64}.lower-section{content-visibility:auto;contain-intrinsic-size:240px;grid-template-columns:1.3fr .7fr;gap:18px;padding-bottom:70px;display:grid}.recent-panel,.install-panel{border:1px solid var(--line);background:color-mix(in srgb, var(--paper-strong) 75%, transparent);border-radius:10px}.mini-heading{color:var(--jade);align-items:center;gap:9px;margin-bottom:12px;display:flex}.mini-heading h3{color:var(--ink);margin:0;font:600 16px Songti SC,STSong,SimSun,serif}.recent-list{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.recent-list button{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;padding:12px 10px;display:flex}.recent-list button:hover{background:var(--paper-soft)}.recent-list button>span:nth-child(2){flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.recent-list strong{white-space:nowrap;font-size:12px}.recent-list small{color:var(--ink-faint);white-space:nowrap;font-size:10px}.recent-empty{min-height:50px;color:var(--ink-soft);align-items:center;gap:11px;display:flex}.recent-empty>span:last-child{flex-direction:column;gap:4px;display:flex}.recent-empty strong{font-size:12px}.recent-empty small{color:var(--ink-faint);font-size:10px}.recent-stone{background:radial-gradient(circle at 35% 28%,#59605e,#0d1110 50%);border-radius:50%;flex:none;width:22px;height:22px;box-shadow:0 3px 5px #00000038}.install-panel{cursor:pointer;text-align:left;border-style:dashed;align-items:center;gap:13px;padding:20px;display:flex}.install-panel.passive{cursor:default}.install-panel>span:nth-child(2){flex-direction:column;flex:1;gap:5px;display:flex}.install-panel strong{font:600 15px Songti SC,STSong,SimSun,serif}.install-panel small{color:var(--ink-faint);line-height:1.5}.install-icon{width:44px;height:44px;color:var(--jade);background:var(--jade-pale);border-radius:10px;place-items:center;display:grid}.site-footer{border-top:1px solid var(--line);min-height:72px;color:var(--ink-faint);content-visibility:auto;contain-intrinsic-size:72px;justify-content:space-between;align-items:center;font-size:11px;display:flex}.room-page{background:radial-gradient(circle at 48% 20%, color-mix(in srgb, var(--jade-pale) 50%, transparent), transparent 37%), var(--paper);flex-direction:column;height:100svh;display:flex;overflow:hidden}.room-header{border-bottom:1px solid var(--line);background:var(--paper-strong);z-index:5;flex:0 0 66px;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 24px;display:grid}.room-header-left{align-items:center;gap:12px;display:flex}.room-header-actions{justify-content:flex-end}.room-exit-button{border:1px solid var(--line);height:38px;color:var(--ink-soft);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:4px;padding:0 11px 0 7px;font-size:11px;display:inline-flex}.room-exit-button:hover{color:var(--cinnabar);border-color:color-mix(in srgb, var(--cinnabar) 45%, var(--line));background:color-mix(in srgb, var(--cinnabar) 5%, transparent)}.room-code{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:8px;height:34px;padding:0 11px;display:inline-flex}.room-header-center{justify-content:center;align-items:center;display:flex}.room-code{position:relative}.room-code:after{content:"";position:absolute;inset:-5px -3px}.room-code span{color:var(--ink-faint);font-size:11px}.connection-banner{z-index:9;color:#fff;box-shadow:var(--shadow);background:#78552d;border-radius:999px;align-items:center;gap:8px;padding:8px 13px;font-size:11px;display:flex;position:absolute;top:73px;left:50%;transform:translate(-50%)}.pulse-dot{background:#fff;border-radius:50%;width:7px;height:7px;animation:1s infinite blink}.game-layout{flex:1;grid-template-columns:minmax(0,1fr) 318px;gap:clamp(18px,3vw,44px);min-height:0;padding:clamp(16px,2.5vh,28px) max(24px,50vw - 590px);display:grid}.board-column{flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex}.board-stage{flex:1;place-items:center;width:100%;min-height:0;display:grid;position:relative}.board-playfield{place-items:center;max-width:100%;max-height:100%;display:grid;position:relative}.board-frame{aspect-ratio:1;background:#73502f;border-radius:23px;width:min(100%,100svh - 170px);max-width:850px;padding:clamp(5px,.8vw,10px);position:relative;box-shadow:0 25px 65px #2c1d0f38,0 3px #5d4029}.board-canvas-stack{background:#d9a95f;border-radius:17px;width:100%;height:100%;position:relative;overflow:hidden}.board-canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.board-static-canvas{pointer-events:none}.board-dynamic-canvas{cursor:crosshair;touch-action:manipulation;-webkit-user-select:none;user-select:none}.board-dynamic-canvas.is-disabled{cursor:default}.xiangqi-frame{aspect-ratio:9/10;background:linear-gradient(135deg,#76502d,#50331f);border-radius:20px;width:min(100%,90svh - 153px);max-width:720px;padding:clamp(7px,1vw,13px);position:relative;box-shadow:0 22px 52px #2c1d0f3d,inset 0 0 0 2px #ffe1a52e}.xiangqi-board{background:repeating-linear-gradient(2deg,#0000 0 14px,#6b411b12 15px 16px,#0000 17px 31px),linear-gradient(135deg,#ebc983,#d5a65d);border:1px solid #6a421f;border-radius:12px;width:100%;height:100%;position:relative;overflow:hidden;box-shadow:inset 0 0 24px #5c35162e}.xiangqi-board:before{content:"";background-image:linear-gradient(#68411f 1.5px,#0000 1.5px),linear-gradient(90deg,#68411f 1.5px,#0000 1.5px);background-size:12.5% 11.111%;position:absolute;inset:5% 6%}.xiangqi-river{z-index:1;color:#704b2b;letter-spacing:.28em;background:linear-gradient(90deg,#e3bb70,#ddb165);border-block:1.5px solid #68411f;justify-content:space-around;align-items:center;height:10%;padding:0 8%;font:600 clamp(15px,2vw,27px) STKaiti,KaiTi,serif;display:flex;position:absolute;top:45%;left:6%;right:6%}.xiangqi-river span{flex:1}.xiangqi-point{z-index:2;aspect-ratio:1;cursor:pointer;background:0 0;border:0;border-radius:50%;width:9.5%;padding:0;position:absolute;overflow:visible;transform:translate(-50%,-50%)}.xiangqi-point b{text-shadow:0 1px #fff5d6bf;background:radial-gradient(circle at 35% 26%,#fff1c5 0,#edcf91 48%,#c99a51 100%);border:2px solid;border-radius:50%;place-items:center;width:100%;height:100%;font:700 clamp(15px,2vw,27px) FZKai-Z03,STKaiti,KaiTi,serif;transition:transform .16s,box-shadow .16s;display:grid;position:relative;box-shadow:0 3px 1px #9e6b35,0 6px 9px #41261147,inset 0 0 0 3px #6f461e2e}.xiangqi-point b:after{content:"";opacity:.45;border:1px solid;border-radius:50%;position:absolute;inset:12%}.xiangqi-point b.red{color:#a43d2e}.xiangqi-point b.dark{color:#263a32}.xiangqi-point.selected{z-index:5}.xiangqi-point.last:after{content:"";background:#3f755f;border-radius:50%;position:absolute;inset:34%}.xiangqi-point.legal:before{content:"";background:#3d846021;border:2px solid #307052cc;border-radius:50%;position:absolute;inset:18%;box-shadow:0 0 0 3px #efd59ea6}.xiangqi-point.capture:before{background:0 0;border:3px dashed #a5392ad9;animation:1.1s ease-in-out infinite winning-pulse;inset:-8%}.legal-dot{background:#397b5e;border-radius:50%;position:absolute;inset:34%;box-shadow:0 0 0 5px #397b5e2e}.junqi-frame{aspect-ratio:5/9.35;background:linear-gradient(145deg,#314a40,#172b24 70%,#10221c);border:1px solid #2c4037;border-radius:28px;height:min(100svh - 174px,850px);padding:12px;position:relative;box-shadow:0 26px 64px #13261e4d,inset 0 0 0 3px #e0c27e29,inset 0 0 0 9px #08191347}.junqi-board{background:repeating-linear-gradient(3deg,#0000 0 20px,#674b270e 21px 22px,#0000 23px 39px),radial-gradient(circle at 50% 46%,#fff2c5a6,#0000 36%),linear-gradient(135deg,#e8d29e,#c9a96e);border:2px solid #86673d;border-radius:17px;grid-template-rows:repeat(12,1fr);grid-template-columns:repeat(5,1fr);width:100%;height:100%;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 36px #4f351a42,0 0 0 3px #ddc07f66}.junqi-board:before{content:"";z-index:0;pointer-events:none;background-image:linear-gradient(#424c3a6b 1px,#0000 1px),linear-gradient(90deg,#424c3a6b 1px,#0000 1px);background-size:25% 9.09%;position:absolute;inset:3.9% 9%;box-shadow:inset 0 0 0 1px #37433266}.junqi-board:after{content:"";z-index:0;opacity:.7;pointer-events:none;background:linear-gradient(90deg,#0000 48%,#46533e38 48% 52%,#0000 52%),linear-gradient(#0000 48%,#46533e2e 48% 52%,#0000 52%);position:absolute;inset:3.9% 9%}.junqi-watermark{z-index:0;color:#48503a0e;letter-spacing:.16em;pointer-events:none;place-items:center;font:900 clamp(42px,8vw,72px) STXingkai,STKaiti,KaiTi,serif;display:grid;position:absolute;inset:0;transform:rotate(-12deg)}.junqi-frontier{z-index:1;color:#2b4536a8;letter-spacing:.55em;pointer-events:none;align-items:center;gap:9px;height:8%;font:800 clamp(12px,1.8vw,18px) STKaiti,KaiTi,serif;display:flex;position:absolute;top:46%;left:4%;right:4%}.junqi-frontier i{background:linear-gradient(90deg,#0000,#2c43348c,#0000);flex:1;height:1px}.junqi-frontier span{padding-left:.55em}.junqi-cell{z-index:2;touch-action:manipulation;background:0 0;border:0;place-items:center;min-width:0;min-height:0;padding:4px;display:grid;position:relative;overflow:visible}.junqi-cell.is-camp:before{content:"";aspect-ratio:1;background:#e0d1a159;border:1px solid #435b4573;border-radius:6px;width:52%;position:absolute;transform:rotate(45deg)}.junqi-cell.is-hq:before{content:"";background:#e5cd9654;border:1px double #53422880;border-radius:3px;position:absolute;inset:17% 12%}.junqi-site-mark{z-index:1;color:#3f4b3657;white-space:nowrap;font:700 clamp(6px,.7vw,9px) STKaiti,KaiTi,serif;position:absolute}.junqi-site-mark.camp{transform:rotate(-45deg)}.junqi-site-mark.hq{bottom:3%}.junqi-cell b{z-index:3;white-space:nowrap;background:linear-gradient(155deg,#f6e9bf,#ddc383 58%,#c29a5c);border:1px solid;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:91%;min-height:75%;transition:transform .16s,box-shadow .16s;display:flex;position:relative;overflow:hidden;box-shadow:0 3px #96713d,0 6px 9px #372a1840,inset 0 0 0 2px #fff7d58c}.junqi-cell b:before{content:"";opacity:.34;border:1px solid;border-radius:5px;position:absolute;inset:4px}.junqi-cell b em{letter-spacing:.03em;font:800 clamp(8px,1.35vw,14px) FZKai-Z03,STKaiti,KaiTi,serif;position:relative}.junqi-cell b small{opacity:.55;letter-spacing:.12em;margin-top:1px;font-size:clamp(5px,.58vw,7px);position:relative}.junqi-cell b.hidden{color:#f5e8bd;background:radial-gradient(circle at 34% 23%,#597166,#314b40 52%,#1e372e);border-color:#1d3a30;box-shadow:0 3px #132b23,0 7px 10px #13271f57,inset 0 0 0 2px #ebd18f21}.junqi-cell b.hidden:after{content:"弈";opacity:.9;font:800 clamp(15px,2vw,23px) STXingkai,STKaiti,KaiTi,serif;position:absolute}.junqi-cell b.hidden em,.junqi-cell b.hidden small{opacity:0}.junqi-cell.selected{z-index:6}.junqi-cell.legal:after{content:"";z-index:5;aspect-ratio:1;background:#287554;border:2px solid #e8d4a2;border-radius:50%;width:20%;position:absolute;box-shadow:0 0 0 5px #28755433}.junqi-cell.capture:after{width:80%;height:72%;box-shadow:none;background:#ad3e300f;border:2px dashed #ad3e30;border-radius:9px}.junqi-cell.last{background:radial-gradient(circle,#367b582e,#0000 68%)}.junqi-setup-panel{z-index:12;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.junqi-setup-panel>button{pointer-events:auto;color:#f6e9c7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:radial-gradient(circle at 35% 26%,#466857f7,#17392bfa 68%);border:1px solid #f7e3b18c;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:138px;min-height:122px;padding:13px 18px;animation:2.4s ease-in-out infinite junqi-ready-float;display:flex;box-shadow:0 18px 40px #10271d57,inset 0 0 0 5px #f1dca514,0 0 0 7px #1a433121}.junqi-ready-emblem{background:#f1dca51a;border:1px solid #f7e3b18c;border-radius:50%;place-items:center;width:34px;height:34px;font:700 19px STXingkai,STKaiti,KaiTi,serif;display:grid!important}.junqi-setup-panel small{color:#f7ebcbad;font-size:8px}.junqi-setup-panel p{color:#f7edda;white-space:nowrap;background:#142b22c2;border-radius:999px;margin:0;padding:5px 10px;font-size:8px}.junqi-setup-panel.is-locked>button{color:#244d3c;background:radial-gradient(circle at 35% 26%,#f4e6bd,#d7ba76 70%);border-color:#f7e7b8;animation:.52s cubic-bezier(.2,.82,.2,1) both junqi-ready-lock}.junqi-setup-panel.is-locked .junqi-ready-emblem{background:#244d3c14;border-color:#244d3c66}@keyframes junqi-ready-float{0%,to{transform:translateY(0);box-shadow:0 18px 40px #10271d57,inset 0 0 0 5px #f1dca514,0 0 0 7px #1a433121}50%{transform:translateY(-6px);box-shadow:0 25px 45px #10271d61,inset 0 0 0 5px #f1dca51f,0 0 0 10px #3d7e5b1a}}@keyframes junqi-ready-lock{0%{opacity:.5;transform:scale(1.35)rotate(-5deg)}65%{opacity:1;transform:scale(.94)rotate(1deg)}to{opacity:1;transform:scale(1)rotate(0)}}.junqi-mode-options{grid-template-columns:1fr 1fr;gap:8px;display:grid}.junqi-mode-options button{border:1px solid var(--line);min-height:76px;color:var(--ink);text-align:left;background:0 0;border-radius:10px;align-items:center;gap:11px;padding:12px;display:flex}.junqi-mode-options button.selected{border-color:var(--jade);background:var(--jade-pale);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--jade) 35%,transparent)}.junqi-mode-options button>span{flex-direction:column;gap:4px;display:flex}.junqi-mode-options strong{font-size:13px}.junqi-mode-options small{color:var(--ink-faint);font-size:9px;line-height:1.4}.junqi-battle-flash{z-index:8;color:#9f3429;text-shadow:0 5px 16px #481f163d;pointer-events:none;font:900 clamp(52px,9vw,86px) STXingkai,STKaiti,KaiTi,serif;animation:1s ease-out both ink-letter;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.xiangqi-capture-flash{z-index:12;pointer-events:none;place-items:center;animation:1.05s ease-out both ink-veil;display:grid;position:absolute;inset:0}.xiangqi-capture-flash:before{content:none}.xiangqi-capture-flash span{color:#9f3429;letter-spacing:-.08em;-webkit-text-stroke:.6px #661914b3;text-shadow:1px 1px #ffe8bccc,3px 5px #6923191c,0 10px 20px #49201633;filter:drop-shadow(0 2px 1px #59231829);font:900 clamp(56px,10vw,94px)/1 STXingkai,FZXingKai-S04,FZKai-Z03,STKaiti,KaiTi,serif;animation:1.05s cubic-bezier(.18,.78,.25,1) both ink-letter;position:relative;transform:rotate(-4deg)}.xiangqi-capture-flash span:after{content:none}.xiangqi-check-flash span{color:#1f5843;letter-spacing:.02em;-webkit-text-stroke:.7px #113f2eb8;font-size:clamp(46px,8vw,76px);transform:rotate(-2deg)}.xiangqi-check-flash.is-delayed,.xiangqi-check-flash.is-delayed:before,.xiangqi-check-flash.is-delayed span{animation-delay:.68s}@keyframes ink-letter{0%{opacity:0;filter:blur(7px);transform:translateY(10px)scale(1.75)rotate(-9deg)}24%{opacity:1;filter:blur();transform:translateY(0)scale(.9)rotate(-3deg)}40%{transform:scale(1.06)rotate(-4deg)}72%{opacity:1;filter:blur();transform:translateY(0)scale(1)rotate(-4deg)}to{opacity:0;filter:blur(2px);transform:translateY(-14px)scale(.92)rotate(-2deg)}}@keyframes ink-veil{0%,84%{visibility:visible}to{visibility:hidden}}.go-board{cursor:crosshair;touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:17px;width:100%;height:100%;display:block}.go-board.is-disabled{cursor:default}.stone{transform-origin:50%;animation:.19s cubic-bezier(.2,.8,.3,1.25) stone-drop}.stone-preview{transform-box:fill-box;transform-origin:50%;animation:.14s ease-out preview-in}.stone-preview.is-submitting{animation:.72s ease-in-out infinite submitting-pulse}.gomoku-winning-line{stroke:color-mix(in srgb, var(--cinnabar) 84%, #f4d8b0);stroke-width:11px;opacity:.86;filter:drop-shadow(0 2px 4px #511e1640)}.gomoku-winning-ring{fill:none;stroke:color-mix(in srgb, var(--cinnabar) 88%, #f7e4c4);stroke-width:4px;opacity:.92;animation:1.4s ease-in-out infinite winning-pulse}.placement-hint{z-index:3;pointer-events:none;color:#fffaf0;white-space:nowrap;background:#142d24eb;border:1px solid #ffffff38;border-radius:999px;padding:4px 9px;font-size:9px;position:absolute;top:1%;left:50%;transform:translate(-50%);box-shadow:0 5px 15px #121a1633}.result-overlay{z-index:4;text-align:center;border:1px solid var(--line-strong);background:var(--paper-strong);width:min(330px,78%);box-shadow:var(--shadow);border-radius:12px;padding:25px;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.result-seal{color:#f7eee1;background:var(--cinnabar);border-radius:3px;place-items:center;width:38px;height:38px;margin:0 auto 12px;font:600 19px Songti SC,STSong,SimSun,serif;display:grid}.result-overlay h2{margin:0;font:600 21px Songti SC,STSong,SimSun,serif}.result-overlay p{color:var(--ink-soft);margin:8px 0 17px;font-size:12px}.result-actions{justify-content:center;gap:8px;display:flex}.compact-button{min-height:41px}.game-sidebar{overscroll-behavior:contain;scrollbar-width:thin;grid-template-rows:auto auto auto minmax(110px,1fr) auto;gap:12px;min-height:0;padding:2px 2px 2px 0;display:grid;overflow-y:auto}.players-panel,.turn-panel,.game-facts{border:1px solid var(--line);background:color-mix(in srgb, var(--paper-strong) 75%, transparent);border-radius:10px}.players-panel{padding:7px}.player-card{border-radius:7px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:84px;padding:12px;display:grid;position:relative}.player-card.without-captures{grid-template-columns:auto minmax(0,1fr)}.player-card.active{background:var(--jade-pale)}.player-stone{border-radius:50%;width:39px;height:39px;box-shadow:0 5px 8px #18171140}.player-stone.black,.mini-stone.black{background:radial-gradient(circle at 35% 28%,#56615e,#131817 48%,#050706)}.player-stone.white,.mini-stone.white{background:radial-gradient(circle at 35% 28%,#fffefa,#e7dfcf 60%,#bdb2a1);border:1px solid #c5baa8}.side-mark{border-radius:50%;flex:none;place-items:center;width:39px;height:39px;font:800 19px FZKai-Z03,STKaiti,KaiTi,serif;display:grid;position:relative;box-shadow:0 4px 10px #18171129}.side-mark.small{width:22px;height:22px;box-shadow:none;font-size:12px}.side-mark.go.white,.side-mark.gomoku.white{background:radial-gradient(circle at 35% 28%,#fffefa,#e7dfcf 60%,#bdb2a1);border:1px solid #c5baa8}.side-mark.xiangqi{background:#efe0b7;border:1.5px solid;box-shadow:inset 0 0 0 3px #ffffff61,0 3px 8px #402b161f}.side-mark.xiangqi:after{content:"";opacity:.38;border:1px solid;border-radius:50%;position:absolute;inset:12%}.side-mark.xiangqi.black{color:#a44638}.side-mark.xiangqi.white{color:#273b33}.side-mark.junqi{color:#efdba7;border:1px solid color-mix(in srgb,currentColor 52%,transparent);background:#355a68;border-radius:10px 10px 12px 12px;font:700 16px/1 system-ui,sans-serif;box-shadow:0 3px 9px #14282029}.side-mark.junqi:after{content:"";opacity:.42;background:currentColor;height:1px;position:absolute;bottom:5px;left:22%;right:22%}.side-mark.junqi.small:after{bottom:3px}.player-card>div{flex-direction:column;gap:2px;min-width:0;display:flex}.seat-name{color:var(--ink-faint);font-size:10px}.seat-name i{color:var(--jade);background:color-mix(in srgb, var(--jade) 12%, transparent);border-radius:2px;margin-left:5px;padding:1px 4px;font-style:normal}.player-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.player-card small{color:var(--ink-faint);font-size:10px}.player-card small.online{color:var(--jade)}.capture-count{color:var(--ink-faint);align-self:flex-start;margin-top:4px;font-size:10px}.versus-line{height:28px;color:var(--ink-faint);grid-template-columns:auto 1fr auto;align-items:center;gap:9px;padding:0 12px;font-size:9px;display:grid}.versus-line i{background:var(--line);height:1px}.versus-line strong{font-weight:500}.turn-panel{align-items:center;gap:12px;min-height:69px;padding:13px 15px;display:flex}.turn-panel>div,.mobile-status>div{flex-direction:column;gap:3px;display:flex}.turn-panel strong,.mobile-status strong{font:600 14px Songti SC,STSong,SimSun,serif}.turn-panel small,.mobile-status small{color:var(--ink-faint);font-size:10px}.turn-stone{border-radius:50%;flex:none;width:26px;height:26px;box-shadow:0 3px 5px #0000002e}.turn-stone.black{background:#151a18}.turn-stone.white{background:#f2ecdf;border:1px solid #c7bdac}.turn-stone.waiting{background:var(--jade-pale);border:1px dashed var(--jade);box-shadow:none}.turn-stone.ready{background:var(--jade-bright);border:4px solid var(--jade-pale);box-shadow:0 0 0 1px var(--jade)}.turn-stone.finished{background:var(--cinnabar);box-shadow:none;border-radius:3px}.game-facts{grid-template-columns:repeat(3,1fr);padding:12px 5px;display:grid}.game-facts>div{border-right:1px solid var(--line);flex-direction:column;align-items:center;gap:4px;display:flex}.game-facts>div:last-child{border:0}.game-facts span{color:var(--ink-faint);font-size:9px}.game-facts strong{font-size:10px;font-weight:600}.invite-side-button{text-align:left;border:1px dashed var(--line-strong);cursor:pointer;background:0 0;border-radius:9px;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:14px;display:grid}.invite-side-button span{flex-direction:column;gap:3px;display:flex}.mobile-chat-button{display:none;position:relative}.chat-unread-dot{border:1px solid var(--paper-strong);background:var(--cinnabar);border-radius:50%;width:7px;height:7px;position:absolute;top:6px;right:6px}.chat-panel{border:1px solid var(--line);background:color-mix(in srgb, var(--paper-strong) 78%, transparent);border-radius:10px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.chat-heading{border-bottom:1px solid var(--line);flex:0 0 39px;justify-content:space-between;align-items:center;gap:10px;padding:0 11px;display:flex}.chat-heading>span{align-items:center;gap:7px;display:flex}.chat-heading small{color:var(--ink-faint);font-size:8px}.chat-messages{overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;flex:auto;gap:8px;min-height:0;padding:10px;display:flex;overflow-y:auto}.chat-empty{min-height:100%;color:var(--ink-faint);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.chat-empty svg{color:var(--jade);opacity:.65;margin-bottom:3px}.chat-empty strong{color:var(--ink-soft);font-size:11px}.chat-message{align-self:flex-start;max-width:88%}.chat-message.mine{align-self:flex-end}.chat-message>div{align-items:baseline;gap:6px;margin:0 4px 3px;display:flex}.chat-message.mine>div{justify-content:flex-end}.chat-message strong{color:var(--ink-soft);font-size:8px;font-weight:600}.chat-message time{color:var(--ink-faint);font-size:7px}.chat-message p{color:var(--ink);background:var(--paper-soft);overflow-wrap:anywhere;white-space:pre-wrap;border-radius:3px 9px 9px;margin:0;padding:7px 9px;font-size:10px;line-height:1.55}.chat-message.mine p{background:var(--jade-pale);border-radius:9px 3px 9px 9px}.chat-composer{border-top:1px solid var(--line);flex:none;grid-template-columns:minmax(0,1fr) 35px;gap:6px;padding:8px;display:grid}.chat-composer textarea{resize:none;border:1px solid var(--line);width:100%;height:35px;min-height:35px;max-height:70px;color:var(--ink);background:var(--paper);font:inherit;border-radius:6px;outline:0;padding:8px 9px;font-size:10px;line-height:1.6}.chat-composer textarea:focus{border-color:var(--jade);box-shadow:0 0 0 2px color-mix(in srgb, var(--jade) 12%, transparent)}.chat-composer textarea::placeholder{color:var(--ink-faint)}.chat-composer button{color:#f8f3e8;background:var(--jade);cursor:pointer;border:0;border-radius:6px;align-self:end;place-items:center;width:35px;height:35px;display:grid}.chat-composer button:disabled{opacity:.42;cursor:not-allowed}.chat-composer .spinner{width:15px;height:15px}.action-bar{gap:8px;width:min(440px,100%);margin-top:10px;display:flex}.action-bar.no-pass{width:min(380px,100%)}.action-bar button{border:1px solid var(--line);background:color-mix(in srgb, var(--paper-strong) 75%, transparent);cursor:pointer;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:7px;min-height:45px;font-size:12px;display:inline-flex}.action-bar button:hover:not(:disabled){color:var(--jade);border-color:var(--jade)}.action-bar button:disabled{opacity:.4;cursor:not-allowed}.action-bar .pass-action{color:#f8f3e8;background:var(--jade);border-color:var(--jade)}:root[data-theme=night] .action-bar .pass-action{color:#102019}.action-bar .pass-action:disabled{opacity:.75;color:var(--ink-faint);background:var(--paper-soft);border-color:var(--line)}.ready-bar button.ready-action{color:#f8f3e8;background:var(--jade);border-color:var(--jade);font-weight:600}.ready-bar button.cancel-ready-action{color:var(--jade);border-color:var(--jade);background:var(--jade-pale);font-weight:600}.ready-bar button:only-child{flex:0 250px}.mobile-player-strip,.mobile-status,.desktop-game-header,.desktop-turn-status{display:none}.opening-overlay{z-index:7;color:#213b31;text-align:left;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(145deg,#fff9e6f0,#ece0bef0);border:1px solid #3f564447;border-radius:14px;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:2px 12px;width:min(300px,64%);padding:14px 15px;animation:.26s cubic-bezier(.2,.85,.2,1) opening-panel-in;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 13px 30px #30231138,inset 0 1px #ffffffe6}.opening-overlay:before{content:"";pointer-events:none;border:1px solid #5b4a2d1f;border-radius:10px;position:absolute;inset:5px}.opening-emblem{color:#275b48;background:#ffffff61;border:1px solid #2752415c;border-radius:50%;grid-row:1/3;place-items:center;width:38px;height:38px;display:grid;box-shadow:inset 0 1px #ffffffb3}.opening-ready-ring{border:2px solid #356c56;border-radius:50%;width:17px;height:17px;box-shadow:0 0 0 4px #356c561a}.opening-overlay strong{letter-spacing:.045em;align-self:end;font:600 16px/1.15 STSong,Songti SC,SimSun,serif}.opening-overlay small{color:#7b7667;white-space:nowrap;text-overflow:ellipsis;align-self:start;font-size:9px;line-height:1.4;overflow:hidden}.opening-action{z-index:1;width:100%;min-height:38px;box-shadow:none;border-radius:10px;grid-column:1/-1;margin-top:8px;font-size:11px;position:relative}.opening-action.primary-button:hover:not(:disabled){box-shadow:0 7px 15px #1f503d2e}.player-side-label{display:none}.player-me{min-width:16px;height:16px;color:var(--jade);background:var(--jade-pale);border-radius:999px;place-items:center;padding:0 3px;font:700 8px/1 Microsoft YaHei UI,sans-serif;display:inline-grid}.player-presence{background:#b0aca0;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #827e7217}.player-presence.online{background:#3d946b;box-shadow:0 0 0 3px #3d946b1f}.ready-badge{display:none}.undo-banner{z-index:15;border:1px solid var(--line-strong);background:var(--paper-strong);width:min(540px,100% - 32px);min-height:58px;box-shadow:var(--shadow);border-radius:10px;justify-content:space-between;align-items:center;gap:14px;padding:10px 12px 10px 17px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.undo-banner>span,.undo-banner>div{align-items:center;gap:9px;display:flex}.undo-banner>span svg{color:var(--jade)}.undo-banner button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:5px;height:36px;display:flex}.undo-banner button:disabled{opacity:.45;cursor:not-allowed}.undo-banner button.accept{color:#fff;background:var(--jade);border-color:var(--jade)}.modal-backdrop{z-index:30;background:#0b16129e;place-items:center;padding:20px;animation:.16s ease-out fade-in;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--line-strong);background:var(--paper-strong);border-radius:13px;width:min(470px,100%);max-height:calc(100svh - 32px);padding:25px;animation:.2s ease-out modal-in;overflow:auto;box-shadow:0 30px 90px #08120e4d}.modal-top{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:23px;display:flex}.modal-top h2{margin:0;font:600 23px/1.35 Songti SC,STSong,SimSun,serif}.modal-top p{color:var(--ink-soft);margin:7px 0 0;font-size:12px;line-height:1.7}.field{margin:0 0 18px;display:block}.field>span,.choice-field legend{color:var(--ink-soft);margin-bottom:8px;font-size:11px;font-weight:600;display:block}.input-wrap{border:1px solid var(--line-strong);background:var(--paper);border-radius:7px;align-items:center;gap:10px;height:46px;padding:0 13px;display:flex}.input-wrap svg{color:var(--ink-faint)}.input-wrap input{width:100%;color:var(--ink);background:0 0;border:0;outline:0}.input-wrap input::placeholder{color:var(--ink-faint)}.code-input input{letter-spacing:.22em;text-transform:uppercase;font-family:monospace;font-size:19px;font-weight:700}.choice-field{border:0;margin:0 0 18px;padding:0}.segmented{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.segmented button{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:62px;display:flex}.segmented button.selected,.seat-options button.selected{color:var(--jade);border-color:var(--jade);background:var(--jade-pale)}.segmented strong{font-size:13px}.segmented small{color:var(--ink-faint);font-size:9px}.seat-options{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.seat-options button{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;gap:9px;height:46px;font-size:11px;transition:border-color .16s,background .16s,transform .16s;display:flex}.seat-options button:hover{border-color:color-mix(in srgb,var(--jade) 45%,var(--line));background:color-mix(in srgb,var(--paper) 88%,var(--jade-pale))}.seat-options button:active{transform:translateY(1px)}.seat-options .side-mark.small,.random-side-mark{width:25px;height:25px;font-size:13px}.random-side-mark{border:1px solid var(--line-strong);color:var(--jade);background:color-mix(in srgb,var(--jade-pale) 62%,var(--paper));border-radius:8px;flex:none;place-items:center;display:grid}.seat-options.kind-xiangqi .side-mark.small{width:26px;height:26px;font-size:14px}.seat-options.kind-junqi .side-mark.small{width:27px;height:27px;font-size:14px}.seat-options.kind-xiangqi button:nth-child(2){color:#943d32}.seat-options.kind-xiangqi button:nth-child(3){color:#243a32}.seat-options.kind-junqi button:nth-child(2){color:#315b6a}.seat-options.kind-junqi button:nth-child(3){color:#974b40}.game-kind-options{grid-template-columns:repeat(2,1fr);gap:7px;display:grid}.game-kind-options button{border:1px solid var(--line);height:43px;color:var(--ink-soft);background:var(--paper);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.game-kind-options button svg{color:var(--ink-faint)}.game-kind-options button.selected{color:var(--jade);border-color:var(--jade);background:var(--jade-pale);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--jade) 8%, transparent)}.game-kind-options button.selected svg{color:var(--jade)}.gomoku-rule-summary{border:1px solid color-mix(in srgb, var(--jade) 25%, var(--line));min-height:64px;color:var(--jade);background:color-mix(in srgb, var(--jade-pale) 72%, var(--paper));border-radius:8px;align-items:center;gap:12px;margin:0 0 18px;padding:11px 13px;display:flex}.gomoku-rule-summary>svg{flex:none}.gomoku-rule-summary>span{flex-direction:column;gap:4px;min-width:0;display:flex}.gomoku-rule-summary strong{color:var(--ink);font-size:12px}.gomoku-rule-summary small{color:var(--ink-soft);font-size:10px;line-height:1.5}.mini-stone{border-radius:50%;width:17px;height:17px;display:inline-block}.modal-submit{width:100%;margin-top:4px}.leave-note{color:var(--cinnabar);background:color-mix(in srgb, var(--cinnabar) 7%, var(--paper));border-radius:8px;align-items:flex-start;gap:12px;padding:14px;display:flex}.leave-note>span{flex-direction:column;gap:4px;display:flex}.leave-note strong{color:var(--ink);font-size:12px}.leave-note small{color:var(--ink-soft);font-size:10px;line-height:1.65}.leave-dialog-actions{grid-template-columns:1fr 1fr;gap:9px;margin-top:18px;display:grid}.leave-dialog-actions>button{min-height:44px}.danger-button{border:1px solid var(--cinnabar);color:#fff8f2;background:var(--cinnabar);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:600;display:inline-flex}.danger-button:disabled{opacity:.55;cursor:wait}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:17px;height:17px;animation:.7s linear infinite spin}.privacy-note{color:var(--jade);background:var(--jade-pale);border-radius:7px;align-items:center;gap:10px;margin:3px 0 15px;padding:11px;display:flex}.privacy-note>span{flex-direction:column;gap:2px;display:flex}.privacy-note strong{font-size:11px}.privacy-note small{color:var(--ink-soft);font-size:9px}.qr-card{text-align:center;border:1px solid var(--line);background:#f8f1e4;border-radius:10px;width:230px;margin:0 auto 18px;padding:18px 18px 12px}.qr-card>div{color:#173a31;justify-content:center;align-items:baseline;gap:8px;margin-top:8px;display:flex}.qr-card small{font-size:10px}.qr-card strong{letter-spacing:.16em;font-family:monospace;font-size:17px}.invite-link{border:1px solid var(--line);background:var(--paper);border-radius:7px;align-items:center;gap:9px;height:42px;padding-left:12px;display:flex}.invite-link>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-soft);flex:1;font-size:10px;overflow:hidden}.invite-link button{border:0;border-left:1px solid var(--line);cursor:pointer;background:0 0;align-self:stretch;place-items:center;width:42px;display:grid}.modal-footnote{text-align:center;color:var(--ink-faint);margin:11px 0 0;font-size:9px}.replay-layout{grid-template-columns:minmax(0,1fr) 220px;align-items:center;gap:24px;display:grid}.replay-board{width:100%;max-width:450px}.replay-board .board-frame{border-radius:13px;width:100%;padding:4px}.replay-board .go-board{border-radius:9px}.replay-summary{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.replay-step{color:var(--jade);letter-spacing:.08em;font:700 12px monospace}.replay-summary h3{margin:9px 0 18px;font:600 18px/1.5 Songti SC,STSong,SimSun,serif}.replay-captures{border-block:1px solid var(--line);gap:12px;width:100%;padding-block:11px;display:flex}.replay-captures span{color:var(--ink-soft);align-items:center;gap:6px;font-size:10px;display:flex}.replay-captures .mini-stone{width:14px;height:14px}.replay-game-facts svg{color:var(--jade)}.replay-summary p{min-height:42px;color:var(--ink-faint);margin:14px 0;font-size:10px;line-height:1.7}.replay-download{width:100%;min-height:40px;padding-inline:10px;font-size:11px}.replay-timeline{border-top:1px solid var(--line);margin-top:20px;padding-top:15px}.replay-timeline>input{width:100%;height:4px;accent-color:var(--jade);cursor:pointer}.replay-timeline nav{justify-content:center;gap:7px;margin-top:12px;display:flex}.replay-timeline button{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:6px;place-items:center;width:36px;height:34px;display:grid}.replay-timeline button:hover{color:var(--jade);border-color:var(--jade)}.replay-timeline button.play-button{color:#f8f3e8;background:var(--jade);border-color:var(--jade)}.setting-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:67px;display:flex}.setting-row:last-child{border-bottom:0}.setting-row>span{align-items:center;gap:11px;display:flex}.setting-row>span>svg{color:var(--jade)}.setting-row>span>span{flex-direction:column;gap:3px;display:flex}.setting-row small{color:var(--ink-faint);font-size:9px}.tiny-segment{background:var(--paper);border-radius:6px;padding:3px;display:flex}.tiny-segment button{cursor:pointer;background:0 0;border:0;border-radius:4px;padding:5px 9px;font-size:10px}.tiny-segment button.selected{color:var(--jade);background:var(--paper-strong);box-shadow:0 2px 7px #00000014}.switch{background:var(--paper-soft);cursor:pointer;border:0;border-radius:99px;width:43px;height:24px;padding:3px}.switch i{background:var(--paper-strong);border-radius:50%;width:18px;height:18px;transition:transform .2s;display:block;box-shadow:0 2px 5px #0000002e}.toast{z-index:60;left:50%;bottom:max(24px, env(safe-area-inset-bottom));color:#f7f2e8;max-width:calc(100% - 32px);box-shadow:var(--shadow);background:#172a23;border-radius:8px;padding:10px 16px;font-size:12px;animation:.2s ease-out toast-in;position:fixed;transform:translate(-50%)}@keyframes stone-drop{0%{opacity:.2;transform:scale(1.55)translateY(-6px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes preview-in{0%{opacity:0;transform-origin:50%;transform:scale(.72)}}@keyframes winning-pulse{50%{opacity:.55;stroke-width:6px}}@keyframes fade-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(10px)scale(.98)}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,7px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blink{50%{opacity:.35}}@keyframes submitting-pulse{50%{opacity:.58}}.account-pill{border:1px solid var(--line);min-height:38px;color:var(--ink-soft);background:color-mix(in srgb,var(--paper) 82%,transparent);border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-size:11px;display:flex;position:relative}.account-pill.signed-in{color:var(--jade);background:var(--jade-pale)}.account-pill i{border:2px solid var(--paper);background:var(--cinnabar);border-radius:50%;width:7px;height:7px;position:absolute;top:2px;right:3px}.notification-button.enabled{color:var(--jade);border-color:color-mix(in srgb,var(--jade) 35%,var(--line));background:var(--jade-pale)}.account-gate{min-height:100svh;color:var(--ink);background:radial-gradient(circle at 50% 42%,#f7efd9e6,transparent 36%),linear-gradient(145deg,var(--paper-strong),var(--paper));flex-direction:column;padding:26px 28px;display:flex;position:relative;overflow:hidden}.account-gate-landscape{pointer-events:none;opacity:.3;background:radial-gradient(at 10% 70%,#2b4a3b2e,#0000 30%),radial-gradient(at 91% 23%,#78563024,#0000 28%);position:absolute;inset:0}.account-gate header{z-index:1;width:100%;position:relative}.account-gate-card{z-index:1;text-align:center;border:1px solid var(--line);background:color-mix(in srgb,var(--paper-strong) 84%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:18px;flex-direction:column;align-items:center;width:min(520px,100%);margin:auto;padding:42px;display:flex;position:relative;box-shadow:0 30px 90px #2230261f}.account-gate-seal{border:1px solid color-mix(in srgb,var(--jade) 48%,transparent);color:#eee0bd;background:var(--jade);border-radius:17px;place-items:center;width:56px;height:56px;margin-bottom:20px;display:grid;box-shadow:0 9px 22px #214a3933}.account-gate-card .eyebrow{margin:0 0 15px}.account-gate-card h1{letter-spacing:.04em;margin:0;font:500 clamp(34px,5vw,52px)/1.18 Songti SC,STSong,SimSun,serif}.account-gate-card h1 em{color:var(--jade);font-style:normal}.account-gate-card>p:not(.eyebrow){max-width:390px;color:var(--ink-soft);margin:20px 0 25px;font-size:12px;line-height:1.8}.account-gate-card>.primary-button{justify-content:center;min-width:210px}.account-gate-card>div{color:var(--ink-faint);gap:18px;margin-top:23px;font-size:9px;display:flex}.account-gate-card>div span{align-items:center;gap:4px;display:flex}.account-gate footer{z-index:1;text-align:center;color:var(--ink-faint);margin-top:20px;font-size:9px;position:relative}.account-gate-loading{color:var(--ink-soft);align-items:center;gap:10px;margin:auto;display:flex}.account-gate-loading strong{font-size:12px}.friends-home{border:1px solid var(--line);background:color-mix(in srgb,var(--paper-strong) 70%,transparent);border-radius:13px;margin-top:4px;margin-bottom:44px;padding:17px;box-shadow:0 12px 35px #2d32260a}.lan-home{border:1px solid color-mix(in srgb,var(--jade) 22%,var(--line));background:color-mix(in srgb,var(--jade-pale) 48%,var(--paper-strong));border-radius:13px;margin-top:-32px;margin-bottom:44px;padding:17px}.lan-live{color:var(--jade);align-items:center;gap:7px;font-size:9px;font-style:normal;display:flex}.lan-live b{background:#46a276;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #46a2761f}.section-icon{place-items:center;width:22px;height:22px;line-height:0;display:grid}.section-icon svg{display:block}.section-icon-wifi svg{transform:translateY(-1px)}.friends-home-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.friends-home-heading>span{align-items:center;gap:11px;display:flex}.friends-home-heading>span>span{flex-direction:column;gap:2px;display:flex}.friends-home-heading strong{font:600 15px Songti SC,STSong,SimSun,serif}.friends-home-heading small{color:var(--ink-faint);font-size:9px}.friends-home-heading>button{color:var(--jade);background:0 0;border:0;align-items:center;gap:6px;font-size:10px;font-weight:700;display:flex}.friend-quick-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.friend-quick-item{border:1px solid var(--line);background:var(--paper);border-radius:9px;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;padding:10px;display:grid}.status-dot,.presence-dot{background:#aaa69b;border-radius:50%;place-self:center;width:8px;height:8px;box-shadow:0 0 0 4px #78786e14}.status-dot.online,.presence-dot.online{background:#3d8b67;box-shadow:0 0 0 4px #3d8b671f}.friend-quick-item>span:not(.status-dot){flex-direction:column;justify-content:center;gap:2px;min-width:0;display:flex}.friend-quick-item strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.friend-quick-item small{color:var(--ink-faint);font-size:8px;line-height:1.3}.friend-quick-item button{color:#f8f2e6;background:var(--jade);border:0;border-radius:7px;min-height:30px;padding:0 10px;font-size:9px;font-weight:700}.friend-quick-item button:disabled{color:var(--ink-faint);background:var(--paper-muted)}.friend-empty-line{color:var(--ink-faint);background:var(--paper-muted);border-radius:8px;margin-top:13px;padding:10px 12px;font-size:9px}.account-form{flex-direction:column;gap:14px;display:flex}.account-mode-switch{background:var(--paper-muted);border-radius:9px;grid-template-columns:1fr 1fr;padding:3px;display:grid}.account-mode-switch button{min-height:36px;color:var(--ink-faint);background:0 0;border:0;border-radius:7px}.account-mode-switch button.selected{color:var(--jade);background:var(--paper-strong);font-weight:700;box-shadow:0 2px 8px #1e322814}.form-error{color:#a44436;background:#a4443617;border-radius:7px;margin:-4px 0 0;padding:8px 10px;font-size:9px}.friends-dialog{flex-direction:column;gap:15px;display:flex}.friend-identity{border:1px solid var(--line);background:var(--jade-pale);border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px;display:grid}.friend-avatar{color:#f4ead8;background:var(--jade);border-radius:12px;place-items:center;width:42px;height:42px;font:600 19px Songti SC,STSong,SimSun,serif;display:grid}.friend-avatar.small{border-radius:9px;width:32px;height:32px;font-size:14px}.friend-identity>span:not(.friend-avatar),.friend-row>span:not(.friend-avatar){flex-direction:column;gap:2px;min-width:0;display:flex}.friend-identity small,.friend-row small{color:var(--ink-faint);font-size:9px}.friend-identity button{border:1px solid var(--line-strong);min-height:34px;color:var(--jade);background:var(--paper);border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-size:9px;display:flex}.friend-search{grid-template-columns:1fr auto;gap:8px;display:grid}.friend-search button,.friend-row button{color:#f7f0e3;background:var(--jade);border:0;border-radius:8px;min-width:66px;font-size:10px;font-weight:700}.friend-search button:disabled,.friend-row button:disabled{color:var(--ink-faint);background:var(--paper-muted)}.friend-group{flex-direction:column;gap:7px;display:flex}.friend-group h3{color:var(--ink-faint);letter-spacing:.08em;margin:0 0 2px;font-size:9px}.friend-row{border:1px solid var(--line);background:var(--paper);border-radius:9px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:50px;padding:8px 10px;display:grid}.friend-row>div{gap:5px;display:flex}.friend-row button{min-height:31px;padding:0 10px}.friend-row button.quiet{color:var(--ink-soft);border:1px solid var(--line);background:0 0}.friend-row em{color:var(--ink-faint);font-size:9px;font-style:normal}.friend-row.muted{opacity:.7}.friends-empty{color:var(--ink-faint);background:var(--paper-muted);border-radius:8px;margin:0;padding:13px;font-size:9px}.account-logout{color:var(--cinnabar);background:0 0;border:0;align-self:flex-start;align-items:center;gap:6px;margin-top:2px;padding:7px 0;font-size:9px;display:flex}.friend-row-actions .friend-delete{width:32px;min-width:32px;color:var(--cinnabar);border:1px solid color-mix(in srgb,var(--cinnabar) 25%,var(--line));background:0 0;place-items:center;padding:0;display:grid}.friend-game-invite{z-index:80;border:1px solid color-mix(in srgb,var(--jade) 45%,var(--line));background:var(--paper-strong);border-radius:13px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;width:min(360px,100vw - 24px);padding:13px;display:grid;position:fixed;bottom:18px;right:18px;box-shadow:0 18px 55px #162c223d}.friend-game-invite>span{flex-direction:column;gap:3px;min-width:0;display:flex}.friend-game-invite strong{font-size:12px}.friend-game-invite small{color:var(--ink-faint);font-size:9px}.friend-game-invite>button:not(.dismiss){color:#f7f0e4;background:var(--jade);border:0;border-radius:8px;min-height:34px;padding:0 13px;font-size:10px;font-weight:700}.friend-game-invite .dismiss{width:28px;height:28px;color:var(--ink-faint);background:0 0;border:0;place-items:center;display:grid}@media (min-width:761px){.board-frame{width:min(100%,100svh - 170px)}}:root{color:#1c1c1e;--paper:#f2f2f7;--paper-strong:#ffffffeb;--paper-soft:#e9e9ee;--paper-muted:#e9e9ee;--ink:#1c1c1e;--ink-soft:#636366;--ink-faint:#8e8e93;--jade:#007aff;--jade-bright:#0a84ff;--jade-pale:#007aff1c;--cinnabar:#ff3b30;--gold:#8e8e93;--gold-pale:#e5e5ea;--line:#3c3c4324;--line-strong:#3c3c4338;--panel:#ffffffc7;--shadow:0 22px 55px #1f233021;--shadow-soft:0 9px 28px #1f233017;background:#f2f2f7;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,PingFang SC,Microsoft YaHei UI,sans-serif}:root[data-theme=night]{color:#f5f5f7;--paper:#000;--paper-strong:#262629f0;--paper-soft:#2c2c2e;--paper-muted:#2c2c2e;--ink:#f5f5f7;--ink-soft:#aeaeb2;--ink-faint:#8e8e93;--jade:#0a84ff;--jade-bright:#409cff;--jade-pale:#0a84ff2b;--cinnabar:#ff453a;--gold:#8e8e93;--gold-pale:#3a3a3c;--line:#ebebf51f;--line-strong:#ebebf533;--panel:#242427c2;--shadow:0 24px 60px #0000006b;--shadow-soft:0 10px 30px #00000047;background:#000}html,body{background:var(--paper)}body{letter-spacing:0}button,input,textarea{font-family:inherit}.home-page:after{display:none}.home-page:before{background:var(--line)}.landscape{display:none}.site-header,.room-header{border-bottom:1px solid var(--line);box-shadow:none;-webkit-backdrop-filter:saturate(180%)blur(22px);backdrop-filter:saturate(180%)blur(22px);background:#f8f8fac2}.brand-mark{background:linear-gradient(145deg,#fff,#e7e7ec);border:0;border-radius:12px;width:40px;height:40px;box-shadow:inset 0 0 0 1px #3c3c431f,0 3px 9px #14172314}:root[data-theme=night] .brand-mark{background:linear-gradient(145deg,#3a3a3c,#242426)}.brand-mark:before{background:#1c1c1e;width:14px;height:14px;top:6px;left:6px}.brand-mark:after{background:#fff;border-color:#d1d1d6;width:14px;height:14px;bottom:6px;right:6px}.brand strong{letter-spacing:.06em;font:650 19px/1.1 -apple-system,BlinkMacSystemFont,PingFang SC,sans-serif}.brand small{color:var(--ink-faint);letter-spacing:.2em;font-size:8px;font-weight:550}.icon-button,.account-pill,.connection-pill,.room-code,.room-exit-button{color:var(--ink-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffb3;border:1px solid #3c3c431f;box-shadow:0 2px 8px #1e22300a}.icon-button:hover,.room-code:hover,.account-pill:hover{color:var(--jade);background:var(--paper-strong);border-color:#007aff38}.connection-pill.online .connection-icon,.account-pill.signed-in{color:var(--jade)}.hero{min-height:515px}.eyebrow{color:var(--jade);letter-spacing:.12em;font-size:11px;font-weight:650}.eyebrow span{background:var(--jade)}.hero h1,.section-heading h2,.game-name,.mini-heading h3,.install-panel strong,.account-gate-card h1,.modal-top h2,.result-overlay h2{letter-spacing:-.025em;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,sans-serif}.hero h1{font-weight:750;line-height:1.08}.hero h1 em{color:var(--jade)}.hero-lead{color:var(--ink-soft);line-height:1.75}.primary-button{color:#fff;background:#007aff;border:0;box-shadow:0 8px 18px #007aff38}:root[data-theme=night] .primary-button{color:#fff;background:#0a84ff}.primary-button:hover:not(:disabled){background:#0873dc;box-shadow:0 11px 22px #007aff47}.secondary-button{color:var(--jade);box-shadow:none;background:#ffffffb8;border:1px solid #007aff2b}:root[data-theme=night] .secondary-button{background:#2c2c2ecc}.secondary-button:hover{color:var(--jade-bright);background:var(--paper-strong);border-color:#007aff4d}.danger-button{color:#fff;background:var(--cinnabar);border:0;border-radius:12px}.trust-line span{color:var(--ink-soft);background:#ffffff6b}:root[data-theme=night] .trust-line span{background:#ffffff0f}.hero-orbit{border-color:#007aff2e}.orbit-two{border-color:#af52de21}.hero-caption{color:var(--ink-soft);border-left-color:var(--jade);background:#ffffff9e}.seal{background:#ff3b30}.friends-home,.lan-home,.recent-panel,.install-panel,.game-card,.account-gate-card,.friend-quick-item,.friend-row,.friend-identity{-webkit-backdrop-filter:saturate(140%)blur(20px);backdrop-filter:saturate(140%)blur(20px);background:#ffffffb8;border:1px solid #3c3c431a;box-shadow:0 10px 30px #1f233012}:root[data-theme=night] .friends-home,:root[data-theme=night] .lan-home,:root[data-theme=night] .recent-panel,:root[data-theme=night] .install-panel,:root[data-theme=night] .game-card,:root[data-theme=night] .account-gate-card,:root[data-theme=night] .friend-quick-item,:root[data-theme=night] .friend-row,:root[data-theme=night] .friend-identity{background:#232326c2}.friends-home-heading strong{font-family:inherit;font-weight:700}.friends-home-heading>button{color:var(--jade)}.lan-live{color:var(--jade);background:var(--jade-pale)}.lan-live b,.status-dot.online,.presence-dot.online{background:#34c759;box-shadow:0 0 0 4px #34c7591f}.friend-quick-item button,.friend-search button,.friend-row button{color:#fff;background:var(--jade)}.friend-avatar{color:#fff;background:linear-gradient(145deg,#409cff,#0066d6)}.game-grid{gap:14px}.game-card,.game-card:nth-child(n){border-radius:22px}.game-card:before{border-color:#007aff1a}.card-number i,.game-card.active .game-status{color:var(--jade)}.game-icon:after{border-color:#007aff1f}.game-status{background:var(--jade-pale)}.desktop-player-copy em{color:var(--ink-faint)}.desktop-player-copy strong{color:var(--ink);font-family:inherit;font-weight:650}.desktop-player-copy small b.online,.player-presence.online{background:#34c759;box-shadow:0 0 0 3px #34c75921}.desktop-ready-mark.ready,.ready-badge.is-ready{color:#fff;background:#34c759;border-color:#34c759}.game-identity>span{color:var(--ink-faint);font-family:inherit}.game-identity h1{color:var(--ink);letter-spacing:-.025em;text-shadow:none;font-family:inherit;font-weight:740}.game-identity small{color:var(--ink-faint)}.desktop-turn-status strong{color:var(--ink);font-family:inherit}.room-control-panel,.chat-panel,.players-panel,.turn-panel,.game-facts{-webkit-backdrop-filter:saturate(140%)blur(20px);backdrop-filter:saturate(140%)blur(20px);background:#ffffffb8;border:1px solid #3c3c431a;box-shadow:0 10px 30px #1f233012}:root[data-theme=night] .room-control-panel,:root[data-theme=night] .chat-panel,:root[data-theme=night] .players-panel,:root[data-theme=night] .turn-panel,:root[data-theme=night] .game-facts{background:#232326c7}.console-kicker{color:var(--ink-faint);border-bottom-color:var(--line)}.chat-heading svg{color:var(--jade)}.chat-message p{background:var(--paper-soft);border-radius:16px 16px 16px 5px}.chat-message.mine p{color:#fff;background:var(--jade);border-radius:16px 16px 5px}.chat-composer textarea,.input-wrap,.invite-link,.seat-options button,.game-kind-options button,.segmented button{background:#76768014;border-color:#3c3c431f}.chat-composer button{color:#fff;background:var(--jade)}.invite-side-button{color:var(--ink);background:#007aff13;border:1px solid #007aff21}.invite-side-button>svg{color:var(--jade)}.opening-overlay{color:var(--ink);-webkit-backdrop-filter:saturate(180%)blur(26px);backdrop-filter:saturate(180%)blur(26px);background:#f8f8fad1;border:1px solid #ffffff6b;box-shadow:0 18px 48px #1f23302e}.opening-overlay.both-seated,.opening-overlay.is-ready{background:#f8f8fad6}.opening-overlay strong{letter-spacing:-.01em;font-family:inherit;font-weight:700}.opening-action.primary-button{color:#fff;background:var(--jade)}.opening-action.is-ready{color:var(--jade);background:var(--jade-pale);border-color:#007aff33}.action-bar button{background:#ffffffb3;border-color:#3c3c431a;box-shadow:0 3px 10px #1f23300d}.action-bar .pass-action,:root[data-theme=night] .action-bar .pass-action{color:#fff;border-color:var(--jade);background:var(--jade)}.result-overlay,.undo-banner,.friend-game-invite{-webkit-backdrop-filter:saturate(180%)blur(24px);backdrop-filter:saturate(180%)blur(24px);background:#f8f8fade;border-color:#3c3c4321}:root[data-theme=night] .result-overlay,:root[data-theme=night] .undo-banner,:root[data-theme=night] .friend-game-invite{background:#262629e6}.result-overlay:before{background:var(--jade)}.result-seal{color:#fff;background:var(--jade)}.modal{-webkit-backdrop-filter:saturate(180%)blur(28px);backdrop-filter:saturate(180%)blur(28px);background:#f8f8faeb;border:1px solid #ffffff61;border-radius:24px;box-shadow:0 28px 80px #181b2640}.modal-top{border-bottom-color:var(--line)}.modal-top h2{font-weight:730}.input-wrap:focus-within{border-color:var(--jade);box-shadow:0 0 0 3px #007aff1f}.tiny-segment{background:#7676801f}.tiny-segment button.selected{color:var(--ink);background:var(--paper-strong)}.toast{color:#fff;background:#1c1c1ee0;border-color:#ffffff1f}@media (max-width:720px){.site-header{background:#f8f8fac7}:root[data-theme=night] .site-header{background:#18181bcc}.hero h1{font-weight:760}.game-card,.game-card:nth-child(n){border-radius:20px!important}.friends-home,.lan-home{border-radius:20px}}@media (max-width:760px){.room-header{-webkit-backdrop-filter:saturate(180%)blur(20px);backdrop-filter:saturate(180%)blur(20px);background:#f8f8fad6}:root[data-theme=night] .room-header{background:#18181bdb}.player-chip{background:#ffffff7a}:root[data-theme=night] .player-chip{background:#ffffff0f}.mobile-status{background:#ffffff7a}.modal{border-radius:24px 24px 0 0}}@media (min-width:761px) and (max-height:800px){.game-sidebar{gap:8px}.players-panel{padding:5px}.player-card{min-height:69px;padding:8px 10px}.player-stone{width:34px;height:34px}.versus-line{height:23px}.turn-panel{min-height:57px;padding:9px 12px}.game-facts{padding-block:9px}.invite-side-button{padding:10px 12px}}@media (max-width:980px){.hero{grid-template-columns:1.1fr .9fr;gap:32px}.game-grid{grid-template-columns:repeat(2,1fr)}.game-card{border-bottom:1px solid var(--line);min-height:225px}.game-card:nth-child(2){border-right:0}.game-card:nth-child(3),.game-card:nth-child(4){border-bottom:0}.game-icon{margin:24px 0 18px}.recent-list{grid-template-columns:1fr}.lower-section{grid-template-columns:1fr 1fr}.game-layout{grid-template-columns:minmax(0,1fr) 280px;gap:18px;padding-inline:18px}}@media (max-width:720px){.content-width{width:min(100% - 28px,600px)}.home-page{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.site-header{z-index:10;border-bottom:1px solid color-mix(in srgb,var(--line) 84%,transparent);background:color-mix(in srgb,var(--paper-strong) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);width:100%;height:64px;padding:0 14px;position:sticky;top:0}.site-header .brand strong{font-size:17px}.site-header .brand small{font-size:8px}.header-actions{gap:6px}.site-header .connection-pill{border-radius:11px;justify-content:center;width:36px;height:36px;padding:0;font-size:0}.site-header .connection-pill .connection-icon{width:18px;height:18px}.site-header .connection-pill .connection-icon svg{width:18px;height:18px;transform:translateY(-1px)}.icon-button{border-radius:11px;width:36px;height:36px}.account-pill{height:36px;min-height:36px}.notification-button{flex:none}.hero{min-height:auto;padding:38px 0 30px;display:block}.hero-copy{z-index:3;position:relative}.hero h1{font-size:clamp(40px,12.2vw,57px);line-height:1.16}.hero-lead{margin:18px 0 23px;font-size:13px;line-height:1.72}.hero-visual{display:none}.hero-actions{grid-template-columns:1.34fr 1fr;gap:9px;display:grid}.hero-actions .primary-button,.hero-actions .secondary-button{border-radius:11px;width:100%;min-height:48px;padding:0 11px;font-size:12px}.trust-line{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:5px;margin-top:16px;padding:9px 4px;font-size:8px;display:grid}.trust-line span{white-space:nowrap;justify-content:center}.section-heading{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.section-heading>p{display:none}.section-heading h2{font-size:23px}.game-section{padding:32px 0 29px}.game-grid{box-shadow:none;background:0 0;border:0;grid-template-columns:1fr 1fr;gap:9px;overflow:visible}.game-card{border:1px solid var(--line);background:color-mix(in srgb,var(--paper-strong) 82%,transparent);min-height:130px;padding:14px;box-shadow:0 8px 19px #2733280a;border-radius:13px!important}.game-card:nth-child(n){border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.game-icon{border-radius:10px;width:36px;height:36px;margin:9px 0 8px}.game-icon svg{width:21px;height:21px}.game-name{white-space:nowrap;font-size:15px}.game-note{display:none}.game-status{margin-top:auto;font-size:9px}.lower-section{grid-template-columns:1fr;padding-bottom:30px}.recent-list{grid-template-columns:1fr}.site-footer{min-height:48px;font-size:8px}}@media (max-width:760px){.room-header{background:var(--paper-strong);-webkit-backdrop-filter:none;backdrop-filter:none;flex:0 0 57px;padding:0 8px}.room-header-left{gap:3px}.room-exit-button{border-radius:50%;justify-content:center;width:38px;padding:0}.room-exit-button span,.room-header .brand-mark,.room-header .brand small{display:none}.room-header .brand strong{font-size:15px}.room-header .connection-pill{justify-content:center;width:30px;padding:0;font-size:0}.room-header-actions{gap:2px}.mobile-chat-button{display:grid}.room-code{gap:5px;height:31px;padding:0 8px}.room-code span{display:none}.room-code strong{font-size:12px}.game-layout{flex:1;min-height:0;padding:0;display:block}.game-sidebar{display:none}.board-column{height:calc(100svh - 57px);padding:5px 8px max(8px, env(safe-area-inset-bottom));justify-content:flex-start}.mobile-player-strip{flex:0 0 49px;justify-content:space-between;align-items:center;gap:7px;width:100%;display:flex}.player-chip{align-items:center;gap:6px;min-width:0;display:flex}.player-chip:last-child{text-align:right;flex-direction:row-reverse}.player-chip>span:last-child{flex-direction:column;gap:1px;min-width:0;display:flex}.player-chip strong{text-overflow:ellipsis;white-space:nowrap;max-width:105px;font-size:10px;overflow:hidden}.player-chip small{color:var(--ink-faint);font-size:8px}.player-chip .mini-stone{width:23px;height:23px;box-shadow:0 3px 6px #00000029}.player-chip.active strong{color:var(--jade)}.move-count{color:var(--ink-faint);flex:none;font-size:9px}.board-stage{flex:auto;align-items:start;width:100%;min-height:0;padding-top:4px}.opening-overlay{border-radius:13px;grid-template-columns:36px minmax(0,1fr);width:min(286px,82%);padding:12px 13px;top:50%;transform:translate(-50%,-50%)}.opening-emblem{width:36px;height:36px}.opening-overlay strong{font-size:14px}.opening-overlay small{font-size:8px}.opening-action{min-height:37px;margin-top:7px}.board-frame{border-radius:13px;width:min(100vw - 16px,100svh - 188px);max-height:100%;padding:4px;box-shadow:0 13px 30px #2c1d0f33,0 2px #5d4029}.junqi-frame{border-radius:16px;max-width:calc(53.4759svh - 109.091px);height:min(100%,187vw - 44.88px);padding:6px}.junqi-setup-panel>button{min-width:112px;min-height:104px;padding:10px 13px}.junqi-ready-emblem{width:29px;height:29px;font-size:16px}.junqi-setup-panel strong{font-size:12px}.junqi-setup-panel small,.junqi-setup-panel p{font-size:7px}.junqi-board{border-radius:9px}.junqi-cell{padding:2px}.junqi-cell b{border-width:1.5px;border-radius:5px;width:92%;min-height:66%;font-size:clamp(8px,2.45vw,12px)}.placement-hint{display:none}.go-board{border-radius:10px}.mobile-status{text-align:center;flex:0 0 43px;justify-content:center;align-items:center;gap:8px;width:100%;display:flex;position:relative}.mobile-status.has-ready-action{text-align:left;justify-content:flex-start;padding:0 104px 0 8px}.mobile-status .turn-stone{width:21px;height:21px}.mobile-status strong{font-size:11px}.mobile-status small{font-size:8px}.mobile-ready-button{border:1px solid var(--jade);color:#f8f3e8;background:var(--jade);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:4px;height:35px;padding:0 10px;font-size:10px;font-weight:600;display:inline-flex;position:absolute;top:4px;right:0}.mobile-ready-button.is-ready{color:var(--jade);background:var(--jade-pale)}.mobile-ready-button:disabled{opacity:.55}.desktop-ready-bar{display:none}.action-bar{flex:0 0 50px;gap:5px;width:100%;margin:0}.action-bar.no-pass{width:100%}.action-bar button{border-radius:6px;flex-direction:column;gap:2px;min-height:45px;font-size:9px}.action-bar svg{width:17px;height:17px}.ready-bar button:only-child{flex-direction:row;flex-basis:100%;font-size:12px}.connection-banner{white-space:nowrap;max-width:calc(100% - 20px);top:62px}.result-overlay{border-radius:10px;width:min(300px,100% - 28px);padding:11px 12px 12px;top:50%}.result-seal{width:28px;height:28px;margin-bottom:6px;font-size:14px}.result-overlay h2{font-size:16px}.result-overlay p{display:none}.result-actions{gap:6px;margin-top:9px}.result-actions button{white-space:nowrap;border-radius:7px;flex-direction:row;flex:1;gap:5px;min-width:0;min-height:36px;padding:0 10px;font-size:11px}.result-actions button svg{flex:none;width:15px;height:15px}.undo-banner{bottom:calc(60px + env(safe-area-inset-bottom));min-height:55px}.undo-banner>span strong{font-size:11px}.modal-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;align-items:end;padding:0}.modal{width:100%;max-height:calc(100svh - 24px);padding:22px 18px max(22px, env(safe-area-inset-bottom));border-radius:16px 16px 0 0;animation-name:sheet-in}.game-kind-options button{height:41px}.gomoku-rule-summary{min-height:58px;padding-block:9px}.modal.wide{height:100svh;max-height:100svh;padding:16px 18px max(16px, env(safe-area-inset-bottom));background:var(--paper-strong);border-radius:0;flex-direction:column;display:flex}.modal.wide .modal-top{flex:none;margin-bottom:10px}.modal.chat-modal{height:min(72dvh,620px);max-height:min(72dvh,620px);padding-bottom:max(12px, env(safe-area-inset-bottom));flex-direction:column;display:flex}.chat-modal .modal-top{flex:none;margin-bottom:10px}.chat-panel.mobile{border-radius:9px;flex:auto;min-height:0}.chat-panel.mobile .chat-messages{padding:12px 10px}.chat-panel.mobile .chat-message p{padding:9px 11px;font-size:13px}.chat-panel.mobile .chat-message strong{font-size:10px}.chat-panel.mobile .chat-message time{font-size:9px}.chat-panel.mobile .chat-composer{border-top:0;grid-template-columns:minmax(0,1fr) 43px;padding:9px 0 0}.chat-panel.mobile .chat-composer textarea{height:43px;min-height:43px;padding:8px 11px;font-size:16px}.chat-panel.mobile .chat-composer button{width:43px;height:43px}.replay-layout{flex-direction:column;flex:auto;gap:9px;min-height:0;display:flex}.replay-board{width:min(100%,100svh - 318px);margin-inline:auto}.replay-summary{grid-template-columns:auto 1fr auto;align-items:center;gap:7px 12px;width:100%;display:grid}.replay-step{grid-row:1}.replay-summary h3{grid-column:2/4;margin:0;font-size:13px}.replay-captures{grid-column:1/3;width:auto;padding-block:6px;display:flex}.replay-summary p{display:none}.replay-download{grid-column:3;width:auto;min-height:34px;padding-inline:9px}.replay-timeline{margin-top:13px;padding-top:10px}.account-pill{justify-content:center;width:38px;padding:0}.account-pill span{display:none}.account-gate{padding:18px 14px max(18px,env(safe-area-inset-bottom))}.account-gate-card{border-radius:15px;padding:30px 18px}.account-gate-card h1{font-size:36px}.account-gate-card>p:not(.eyebrow){margin-block:17px 22px;font-size:11px}.account-gate-card>div{text-align:left;grid-template-columns:1fr;gap:7px;width:100%;padding-left:18%;display:grid}.friends-home,.lan-home{border-radius:14px;width:calc(100% - 28px);margin-left:auto;margin-right:auto;padding:14px}.friends-home{margin-top:1px;margin-bottom:10px}.lan-home{margin-top:0;margin-bottom:0}.friends-home-heading{align-items:center;gap:9px}.friends-home-heading>span{gap:9px;min-width:0}.friends-home-heading>span>span{min-width:0}.friends-home-heading strong{font-size:13px}.friends-home-heading small{text-overflow:ellipsis;white-space:nowrap;font-size:8px;display:block;overflow:hidden}.friends-home-heading>button{border:1px solid var(--line);background:var(--paper);white-space:nowrap;border-radius:8px;min-height:32px;padding:0 8px}.lan-live{background:#3d8b671a;border-radius:999px;flex:none;align-self:center;padding:5px 7px;font-size:8px}.lan-live b{width:6px;height:6px}.friend-quick-list{scrollbar-width:none;scroll-snap-type:x proximity;gap:8px;margin-top:12px;padding:1px 1px 5px;display:flex;overflow-x:auto}.friend-quick-list::-webkit-scrollbar{display:none}.friend-quick-item{scroll-snap-align:start;border-radius:11px;flex:0 0 min(78vw,268px);grid-template-columns:14px minmax(0,1fr) auto;gap:8px;min-height:58px;padding:10px}.friend-quick-item strong{font-size:12px}.friend-quick-item small{font-size:8px}.friend-quick-item button{border-radius:8px;min-height:32px;padding:0 11px;font-size:10px}.status-dot{width:8px;height:8px}.friend-empty-line{margin-top:11px;padding:10px 11px;font-size:9px;line-height:1.55}.friend-identity{grid-template-columns:auto minmax(0,1fr)}.friend-identity>button{grid-column:1/-1;justify-content:center}.friend-search{grid-template-columns:minmax(0,1fr) 58px}.friend-row{grid-template-columns:auto minmax(0,1fr) auto}.friends-dialog{min-height:0;padding-bottom:10px;overflow-y:auto}.friend-game-invite{right:12px;bottom:max(12px,env(safe-area-inset-bottom))}}:root[data-theme=night] .room-header .icon-button,:root[data-theme=night] .room-header .room-code,:root[data-theme=night] .room-header .room-exit-button{color:#e3eae5;border-color:#e3eae533}:root[data-theme=night] .ready-bar button.ready-action,:root[data-theme=night] .mobile-ready-button:not(.is-ready){color:#102019;background:var(--jade-bright);border-color:var(--jade-bright)}:root[data-theme=night] .player-chip .mini-stone.black{outline-offset:1px;outline:2px solid #ebf1ed52}:root[data-theme=night] .player-chip small,:root[data-theme=night] .mobile-status small{color:#aab8b0}@media (max-height:650px) and (max-width:760px){.mobile-player-strip{flex-basis:40px}.mobile-status{flex-basis:36px}.mobile-ready-button{height:32px;top:2px}.mobile-status small{display:none}.action-bar{flex-basis:44px}.action-bar button{flex-direction:row;min-height:41px}.board-frame{width:min(100vw - 16px,100svh - 147px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--gold:#c69a57;--gold-pale:#f4e5c3;--panel:color-mix(in srgb, var(--paper-strong) 88%, transparent);--radius-lg:20px;--radius-md:14px}button{-webkit-tap-highlight-color:transparent}button:not(:disabled):active{transform:translateY(1px)scale(.985)}.home-page{background:radial-gradient(circle at 75% 0%, #cda4612e, transparent 29%), radial-gradient(circle at 10% 44%, #265c491a, transparent 26%), var(--paper)}.home-page:before{content:"";z-index:1;background:linear-gradient(90deg,#0000,#c79b5842,#0000);height:1px;position:absolute;inset:82px 0 auto}.home-page:after{opacity:.08;mix-blend-mode:multiply}.site-header{height:76px;position:relative}.site-header:after{content:"";background:linear-gradient(90deg,var(--jade),transparent);width:92px;height:2px;position:absolute;bottom:-1px;left:0}.brand-mark{border-radius:8px;width:42px;height:42px;box-shadow:0 7px 16px #1a44361a}.brand strong{letter-spacing:.13em;font-size:21px}.header-actions{gap:8px}.icon-button,.account-pill{background:color-mix(in srgb,var(--paper-strong) 82%,transparent);border-radius:13px;box-shadow:0 4px 13px #2d261909}.icon-button:hover{color:var(--jade);border-color:color-mix(in srgb,var(--jade) 38%,var(--line));transform:translateY(-2px)}.connection-pill{border-radius:13px;min-height:38px;padding-inline:12px;box-shadow:0 4px 13px #2d261909}.connection-icon{position:relative}.connection-pill.online .connection-icon:before{content:"";background:#368e641c;border-radius:50%;position:absolute;inset:1px;transform:scale(1.5)}.connection-icon svg{z-index:1;position:relative}.hero{gap:58px;min-height:535px;padding-block:54px 66px}.eyebrow{color:var(--jade-bright);letter-spacing:.22em;font-size:11px}.hero h1{text-wrap:balance;text-shadow:0 1px #fff6;font-family:STSong,Songti SC,SimSun,serif;font-weight:700}.hero-lead{max-width:510px;color:var(--ink-soft)}.primary-button,.secondary-button{border-radius:14px;min-height:52px;font-size:14px}.primary-button{background:linear-gradient(135deg,#27614e,#143e32);position:relative;overflow:hidden;box-shadow:0 13px 26px #184a3933}.primary-button:before{content:"";opacity:0;background:linear-gradient(105deg,#0000 25%,#ffffff38 48%,#0000 67%);transition:transform .55s,opacity .2s;position:absolute;inset:0;transform:translate(-110%)}.primary-button:hover:not(:disabled):before{opacity:1;transform:translate(110%)}.secondary-button{background:color-mix(in srgb,var(--paper-strong) 92%,transparent)}.trust-line{gap:12px;padding:10px 0 0}.trust-line span{background:#ffffff38;border-radius:999px;padding:6px 9px}.hero-visual{filter:drop-shadow(0 16px 28px #3b311d14);width:min(100%,510px)}.hero-visual:before{border:1px solid #275b4940}.hero-visual:after{background:radial-gradient(circle,#346f5629,#0000 68%)}.hero-orbit{z-index:0;border:1px dashed #295f4b47;border-radius:50%;animation:6s ease-in-out infinite orbit-breathe;position:absolute}.orbit-one{inset:9% 3% 2% 7%}.orbit-two{border-color:#be894142;animation-delay:-2s;inset:20% 14% 14% 18%}.hero-caption{z-index:3;color:var(--jade);border-left:2px solid var(--gold);background:color-mix(in srgb,var(--paper-strong) 72%,transparent);letter-spacing:.12em;padding:8px 10px;font:600 10px/1.65 STSong,Songti SC,serif;position:absolute;bottom:8%;left:1%}.display-board{border:9px solid #5b3b1cba;border-radius:25px;box-shadow:0 30px 58px #40291245,inset 0 0 0 2px #ffe0a173}.display-board:before{content:"";pointer-events:none;background:linear-gradient(135deg,#fff3,#0000 22% 76%,#532d1021);position:absolute;inset:0}.display-stone{animation:.65s both hero-stone-in}.display-stone:nth-of-type(2n){animation-delay:.12s}.seal{border:1px solid #ffe6bd8c;transform:rotate(2deg)}.friends-home,.lan-home{border-radius:var(--radius-lg);position:relative;overflow:hidden;box-shadow:0 14px 38px #372e1d0f}.friends-home:before,.lan-home:before{content:"";background:linear-gradient(var(--jade),#275c491a);width:4px;position:absolute;inset:0 auto 0 0}.lan-home:before{background:linear-gradient(var(--gold),#c69a571f)}.friends-home-heading strong{font-size:17px}.friends-home-heading>button{cursor:pointer}.friend-quick-item{background:linear-gradient(135deg,color-mix(in srgb,var(--paper-strong) 96%,transparent),var(--paper));border-radius:12px;min-height:68px;position:relative;box-shadow:0 4px 10px #2f271908}.friend-quick-item:hover{border-color:color-mix(in srgb,var(--jade) 36%,var(--line));transform:translateY(-1px)}.friend-quick-item button{border-radius:9px;box-shadow:0 4px 9px #1b4a3929}.game-section{padding-top:78px}.section-heading h2{font-size:34px}.game-grid{box-shadow:none;background:0 0;border:0;gap:12px;padding:0;overflow:visible}.game-card,.game-card:nth-child(n){border:1px solid var(--line);border-radius:var(--radius-lg);background:linear-gradient(145deg,color-mix(in srgb,var(--paper-strong) 96%,transparent),color-mix(in srgb,var(--paper) 80%,transparent));min-height:294px;overflow:hidden;box-shadow:0 12px 28px #2f27180f}.game-card:before{content:"";border:1px solid #305b4824;border-radius:50%;width:160px;height:160px;position:absolute;top:-56px;right:-64px}.game-card:after{background:linear-gradient(135deg,#ffffff1f,#0000 55%)}.game-card.active:hover{border-color:color-mix(in srgb,var(--jade) 48%,var(--line));transform:translateY(-5px);box-shadow:0 23px 42px #2b423421}.game-card .card-number{width:100%;color:var(--ink-faint);justify-content:space-between;display:flex}.card-number i{color:var(--jade);letter-spacing:.12em;font:700 9px/1 Microsoft YaHei UI,sans-serif}.game-icon{background:linear-gradient(145deg,#eef2e8,var(--jade-pale));border:1px solid #2350401f;border-radius:17px;width:59px;height:59px;margin:34px 0 24px;position:relative;box-shadow:inset 0 1px #ffffffb8,0 8px 15px #233e2f14}.game-icon:after{content:"";border:1px solid #28584629;border-radius:12px;position:absolute;inset:6px}.game-card-xiangqi .game-icon{color:#a44b3b;background:linear-gradient(145deg,#f8edd4,#f0d9af)}.game-card-xiangqi:before{border-color:#a44b3b33}.game-card-junqi .game-icon{color:#536e68;background:linear-gradient(145deg,#eaf0e6,#cfded3)}.game-card-gomoku .game-icon{color:#936332;background:linear-gradient(145deg,#f7e8c7,#e5c78f)}.game-name{font-size:24px}.game-status{background:#1d50420f;border-radius:999px;padding:7px 10px}.recent-panel,.install-panel{border-radius:var(--radius-lg);box-shadow:0 12px 30px #2f27180d}.recent-panel{padding:24px}.install-panel{border-style:solid;min-height:116px}.room-page{background:radial-gradient(circle at 50% 8%,#ca9f5921,transparent 24%),radial-gradient(circle at 10% 66%,#2c5d4a17,transparent 30%),var(--paper)}.room-header{background:color-mix(in srgb,var(--paper-strong) 92%,transparent);min-height:70px;box-shadow:0 4px 18px #29231809}.room-code{background:var(--paper);border-radius:12px;height:38px;box-shadow:inset 0 1px #ffffff80}.room-exit-button{border-radius:12px;height:40px}.game-layout{padding-top:20px}.board-frame{background:linear-gradient(135deg,#8f6839,#51351e);border:2px solid #4b30188c;box-shadow:0 29px 54px #36200e38,inset 0 0 0 5px #f9d59133,0 3px #4f311d}.board-canvas-stack{border:1px solid #ffe3a766}.xiangqi-frame{background:linear-gradient(135deg,#865d31,#42291b);border:2px solid #4c2f1899;box-shadow:0 29px 54px #36200e38,inset 0 0 0 5px #f8d5942b,0 3px #42291b}.xiangqi-board{border-color:#68401f}.xiangqi-board-title{z-index:1;color:#5b361966;letter-spacing:.26em;pointer-events:none;font:700 clamp(7px,.75vw,10px) STKaiti,KaiTi,serif;position:absolute}.xiangqi-board-title-top{top:1.5%;left:8%}.xiangqi-board-title-bottom{bottom:1.5%;right:8%}.junqi-frame{background:linear-gradient(145deg,#405c4f,#14241e 70%);border-color:#233c32}.players-panel,.turn-panel,.game-facts,.chat-panel{border-radius:var(--radius-md);background:var(--panel);box-shadow:0 8px 22px #29241a0b}.player-card{border-radius:11px}.turn-panel{border-left:3px solid var(--gold)}.game-facts{overflow:hidden}.game-facts div{padding-inline:13px}.action-bar button,.mobile-ready-button{border-radius:12px}.action-bar button:hover:not(:disabled){color:var(--jade);border-color:color-mix(in srgb,var(--jade) 45%,var(--line));background:var(--jade-pale)}.invite-side-button{border-radius:var(--radius-md);background:linear-gradient(135deg,color-mix(in srgb,var(--jade-pale) 75%,var(--paper)),var(--paper-strong))}.result-overlay{background:color-mix(in srgb,var(--paper-strong) 94%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:20px;overflow:hidden}.result-overlay:before{content:"";background:linear-gradient(90deg,var(--jade),var(--gold),var(--cinnabar));height:4px;position:absolute;top:0;left:0;right:0}.result-seal{border-radius:10px;box-shadow:0 7px 14px #8f34272e}.modal{border-color:#ffffff47;border-radius:22px;box-shadow:0 28px 90px #121e1845}.modal-top{border-bottom:1px solid var(--line);padding-bottom:14px}.modal-top h2{font-family:STSong,Songti SC,serif;font-size:25px}.input-wrap,.seat-options button,.game-kind-options button,.segmented button{border-radius:12px}.input-wrap{background:color-mix(in srgb,var(--paper) 75%,transparent);min-height:49px}.game-kind-options button{min-height:48px}.seat-options button{height:50px}.chat-panel{overflow:hidden}.chat-heading{background:linear-gradient(90deg,#295b4814,#0000);padding:14px 14px 11px}.chat-composer textarea,.chat-composer button{border-radius:12px}.toast{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #ffffff26;border-radius:14px}.friend-game-invite{border-radius:17px;overflow:hidden}@media (max-width:720px){.home-page:before{inset:64px 0 auto}.site-header{height:64px;box-shadow:0 3px 14px #2722190a}.site-header:after{width:48px}.brand-mark{border-radius:7px;width:35px;height:35px}.header-actions{gap:5px}.icon-button,.account-pill,.site-header .connection-pill{border-radius:11px;min-height:36px;width:36px!important;height:36px!important}.site-header .connection-pill{place-items:center;display:grid}.site-header .connection-pill .connection-icon{place-items:center;width:20px;height:20px;display:grid}.site-header .connection-pill .connection-icon svg{transform:none}.connection-pill.online .connection-icon:before{inset:3px;transform:scale(1.25)}.hero{padding:34px 0 27px}.eyebrow{margin-bottom:12px;font-size:10px}.hero h1{letter-spacing:.02em;font-size:clamp(40px,12vw,55px)}.hero-lead{margin:17px 0 22px}.hero-actions .primary-button,.hero-actions .secondary-button{border-radius:13px;min-height:51px}.trust-line{padding-top:12px}.trust-line span{background:0 0;padding:4px 2px}.friends-home,.lan-home{border-radius:16px;box-shadow:0 10px 24px #2e271a0b}.friends-home-heading strong{font-size:14px}.section-heading h2{font-size:25px}.game-section{padding-top:37px}.game-grid{gap:10px}.game-card,.game-card:nth-child(n){min-height:153px;padding:14px;border-radius:16px!important}.game-card:before{width:90px;height:90px;top:-32px;right:-36px}.game-icon{border-radius:12px;width:39px;height:39px;margin:12px 0 10px}.game-icon:after{border-radius:8px;inset:4px}.game-name{font-size:17px}.card-number i{display:none}.game-status{padding:4px 7px}.recent-panel{padding:17px}.install-panel{min-height:90px;padding:15px}.room-header{min-height:57px}.room-code{border-radius:10px}.room-header .connection-pill .connection-icon{width:18px;height:18px}.board-frame,.xiangqi-frame{border-width:1px}.mobile-player-strip{padding:0 2px}.player-chip{background:#ffffff2e;border-radius:10px;padding:5px 7px}.mobile-status{background:#ffffff29;border-radius:11px;margin-top:2px;padding:0 7px}.mobile-ready-button{box-shadow:0 6px 12px #1b4a392e}.action-bar button{background:color-mix(in srgb,var(--paper-strong) 84%,transparent);border-radius:11px}.modal{border-radius:22px 22px 0 0}.modal-top h2{font-size:22px}.modal-top .icon-button{width:38px!important;height:38px!important}.friend-game-invite{border-radius:16px}}@keyframes hero-stone-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.35)}70%{transform:translate(-50%,-50%)scale(1.12)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes orbit-breathe{0%,to{opacity:.45;transform:scale(.97)}50%{opacity:1;transform:scale(1.035)}}@keyframes opening-panel-in{0%{opacity:0;transform:translate(-50%,-46%)scale(.9)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@media (min-width:761px){.room-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);padding-inline:30px}.game-layout{grid-template-columns:minmax(620px,1fr) 350px;align-items:start;gap:clamp(28px,3.4vw,58px);width:100%;max-width:1440px;margin-inline:auto;padding-inline:clamp(28px,5vw,76px)}.board-column{justify-content:flex-start;padding-top:0}.desktop-game-header{grid-template-columns:minmax(170px,1fr) auto minmax(170px,1fr);align-items:center;gap:20px;width:min(100%,720px);min-height:72px;margin:0 0 3px;padding:0 4px;display:grid}.desktop-player-banner{background:linear-gradient(90deg,#fffdf680,#0000);border-radius:12px;grid-template-columns:30px minmax(0,1fr) 20px;align-items:center;gap:8px;min-width:0;min-height:52px;padding:7px 8px;display:grid}.desktop-player-banner.white{text-align:right;background:linear-gradient(270deg,#fffdf680,#0000);grid-template-columns:20px minmax(0,1fr) 30px}.desktop-player-banner.white>.side-mark{grid-column:3}.desktop-player-banner.white>.desktop-player-copy{grid-area:1/2;align-items:flex-end}.desktop-player-banner.white>.desktop-ready-mark{grid-area:1/1}.desktop-player-banner .side-mark{width:30px;height:30px;font-size:14px;box-shadow:0 4px 9px #211c1229}.desktop-player-copy{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.desktop-player-copy em{color:#8e714b;letter-spacing:.1em;font:700 9px/1 Microsoft YaHei UI,sans-serif}.desktop-player-copy strong{text-overflow:ellipsis;white-space:nowrap;color:#283128;align-items:center;gap:4px;max-width:100%;font:600 14px/1.15 STSong,Songti SC,SimSun,serif;display:flex;overflow:hidden}.desktop-player-copy strong i{width:16px;height:16px;color:var(--jade);background:var(--jade-pale);border-radius:99px;place-items:center;font:700 8px/1 Microsoft YaHei UI,sans-serif;display:grid}.desktop-player-copy small{color:#969082;white-space:nowrap;align-items:center;gap:4px;font-size:9px;line-height:1;display:flex}.desktop-player-copy small b{background:#b6b0a2;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 3px #9690821a}.desktop-player-copy small b.online{background:#42946c;box-shadow:0 0 0 3px #42946c21}.desktop-ready-mark{color:#929a8f;background:#ffffff5c;border:1px solid #6570635c;border-radius:50%;place-items:center;width:18px;height:18px;font:700 11px/1 system-ui,sans-serif;display:grid}.desktop-ready-mark.ready{color:#f5f2e8;background:#367a5d;border-color:#2d7657;box-shadow:0 3px 8px #2c6d5033}.game-identity{text-align:center;border-inline:1px solid #9b753b38;flex-direction:column;align-items:center;min-width:176px;padding:6px 20px 7px;display:flex;position:relative}.game-identity:before,.game-identity:after{content:"◆";color:var(--gold);font-size:7px;position:absolute;top:50%;transform:translateY(-50%)}.game-identity:before{left:-4px}.game-identity:after{right:-4px}.game-identity>span{color:#8e713f;letter-spacing:.2em;font:600 9px/1 Microsoft YaHei UI,sans-serif}.game-identity>span:before,.game-identity>span:after{content:none}.game-identity h1{color:#20281f;letter-spacing:.055em;text-shadow:0 1px #fff9e8;white-space:nowrap;margin:3px 0 2px;font:700 27px/1.05 STSong,Songti SC,SimSun,serif}.game-identity small{color:#8b806b;white-space:nowrap;letter-spacing:.02em;font-size:9px}.desktop-turn-status{width:min(100%,620px);min-height:31px;color:var(--ink-soft);justify-content:center;align-items:center;gap:9px;margin:0 0 13px;display:flex}.desktop-turn-status>div{flex-direction:row;align-items:baseline;gap:7px;display:flex}.desktop-turn-status strong{color:#425348;font:600 12px STSong,Songti SC,serif}.desktop-turn-status small{color:var(--ink-faint);font-size:9px}.desktop-turn-status .side-mark,.desktop-turn-status .turn-stone{width:19px;height:19px;box-shadow:none;font-size:10px}.board-stage{aspect-ratio:auto;flex:none;width:100%;max-height:none}.board-playfield-go,.board-playfield-gomoku{aspect-ratio:1;width:min(100%,100svh - 222px)}.board-playfield-xiangqi{aspect-ratio:9/10;width:min(100%,90svh - 199.8px)}.board-playfield-junqi{aspect-ratio:5/9.35;width:auto;height:min(100svh - 226px,730px)}.board-playfield>.board-frame,.board-playfield>.xiangqi-frame{width:100%}.board-playfield>.junqi-frame{width:100%;height:100%}.board-column-junqi .desktop-game-header{min-height:58px;margin-bottom:4px}.board-column-junqi .desktop-player-banner{min-height:46px}.board-column-junqi .game-identity{padding-block:2px 4px}.board-column-junqi .game-identity h1{margin-block:2px 1px;font-size:24px}.board-column-junqi .desktop-turn-status{min-height:26px;margin-bottom:5px}.board-playfield-junqi{height:min(100svh - 166px,780px)}.board-playfield-junqi .junqi-cell{padding:2px}.board-playfield-junqi .junqi-cell b{border-radius:7px;width:97%;min-height:88%}.board-playfield-junqi .junqi-cell b em{font-size:clamp(12px,1.05vw,17px)}.board-playfield-junqi .junqi-cell b small{font-size:clamp(6px,.48vw,8px)}.board-playfield-junqi .junqi-setup-panel>button{min-width:150px;min-height:132px}.game-sidebar{grid-template-rows:auto minmax(180px,1fr) auto;gap:12px;padding:14px 0;overflow:hidden}.room-control-panel{background:linear-gradient(145deg,#fffdf5c2,#f4efdfb3);border:0;border-radius:16px;overflow:hidden;box-shadow:inset 0 1px #fffc,0 10px 28px #3a301b0b}.console-kicker{color:#887a62;letter-spacing:.11em;border-bottom:1px solid #574a341f;align-items:center;gap:8px;height:35px;padding:0 16px;font-size:9px;display:flex}.console-kicker i{background:var(--gold);border-radius:50%;width:4px;height:4px}.console-kicker strong{color:var(--jade);letter-spacing:.1em;font-size:10px}.room-control-panel .game-facts{box-shadow:none;background:0 0;border:0;border-radius:0;padding:11px 5px 12px}.room-control-panel .game-facts strong{font-family:STSong,Songti SC,serif;font-size:12px}.chat-panel{background:#fffdf6b3;border:0;border-radius:16px;min-height:190px;box-shadow:inset 0 1px #ffffffe6,0 10px 28px #29241a0b}.chat-heading{background:0 0;border-bottom-color:#574a341f;flex-basis:42px;padding-inline:14px}.chat-messages{padding:13px}.invite-side-button{min-height:64px;box-shadow:none;background:linear-gradient(90deg,#dfebe1ad,#faf8efa6);border:1px solid #2452423d;border-radius:16px}.action-bar{min-height:49px;margin-top:13px}.ready-bar{margin-top:13px}.ready-bar button:only-child{border-radius:15px;flex:0 312px;min-height:52px;box-shadow:0 10px 20px #1d504224}}@keyframes sheet-in{0%{opacity:0;transform:translateY(22px)}}:root{color:#1c1c1e;--paper:#f2f2f7;--paper-strong:#ffffffeb;--paper-soft:#e9e9ee;--paper-muted:#e9e9ee;--ink:#1c1c1e;--ink-soft:#636366;--ink-faint:#8e8e93;--jade:#007aff;--jade-bright:#0a84ff;--jade-pale:#007aff1c;--cinnabar:#ff3b30;--gold:#8e8e93;--gold-pale:#e5e5ea;--line:#3c3c4324;--line-strong:#3c3c4338;--panel:#ffffffc7;--shadow:0 22px 55px #1f233021;--shadow-soft:0 9px 28px #1f233017;background:#f2f2f7}:root[data-theme=night]{color:#f5f5f7;--paper:#000;--paper-strong:#262629f0;--paper-soft:#2c2c2e;--paper-muted:#2c2c2e;--ink:#f5f5f7;--ink-soft:#aeaeb2;--ink-faint:#8e8e93;--jade:#0a84ff;--jade-bright:#409cff;--jade-pale:#0a84ff2b;--cinnabar:#ff453a;--gold:#8e8e93;--gold-pale:#3a3a3c;--line:#ebebf51f;--line-strong:#ebebf533;--panel:#242427c7;background:#000}html,body{background:var(--paper);color:var(--ink)}.home-page,.room-page,.account-gate{background:radial-gradient(circle at 14% 2%,#5d90ff21,transparent 25%),radial-gradient(circle at 88% 16%,#af52de17,transparent 24%),var(--paper)}.home-page:after,.landscape{display:none}.site-header,.room-header{border-bottom-color:var(--line);box-shadow:none;-webkit-backdrop-filter:saturate(180%)blur(22px);backdrop-filter:saturate(180%)blur(22px);background:#f8f8fac7}:root[data-theme=night] .site-header,:root[data-theme=night] .room-header{background:#18181bd1}.site-header:after{display:none}.primary-button,.opening-action.primary-button,.ready-bar button.ready-action,.mobile-ready-button:not(.is-ready),.friend-quick-item button,.friend-search button,.friend-row button,.friend-game-invite>button:not(.dismiss),.chat-composer button,.action-bar .pass-action,:root[data-theme=night] .primary-button,:root[data-theme=night] .ready-bar button.ready-action,:root[data-theme=night] .mobile-ready-button:not(.is-ready),:root[data-theme=night] .action-bar .pass-action{color:#fff;background:#007aff;border-color:#007aff;box-shadow:0 8px 18px #007aff38}.primary-button:hover:not(:disabled),.opening-action.primary-button:hover:not(:disabled){color:#fff;background:#0873dc;box-shadow:0 11px 22px #007aff47}.primary-button:before{display:none}.secondary-button,.opening-action.is-ready,.ready-bar button.cancel-ready-action,.mobile-ready-button.is-ready{color:var(--jade);background:var(--jade-pale);box-shadow:none;border-color:#007aff33}.danger-button{color:#fff;border-color:var(--cinnabar);background:var(--cinnabar)}.icon-button,.account-pill,.connection-pill,.room-code,.room-exit-button{color:var(--ink-soft);background:#ffffffb8;border-color:#3c3c4321;box-shadow:0 2px 8px #1f23300d}:root[data-theme=night] .icon-button,:root[data-theme=night] .account-pill,:root[data-theme=night] .connection-pill,:root[data-theme=night] .room-code,:root[data-theme=night] .room-exit-button{background:#323236c2}.connection-pill.online .connection-icon,.account-pill.signed-in,.notification-button.enabled{color:var(--jade)}.connection-pill.online .connection-icon:before{background:#007aff1a}.account-pill.signed-in,.notification-button.enabled{background:var(--jade-pale);border-color:#007aff33}.friends-home,.lan-home,.recent-panel,.install-panel,.game-card,.account-gate-card,.friend-quick-item,.friend-row,.friend-identity,.room-control-panel,.chat-panel,.players-panel,.turn-panel,.game-facts{-webkit-backdrop-filter:saturate(140%)blur(20px);backdrop-filter:saturate(140%)blur(20px);background:#ffffffbd;border-color:#3c3c431a;box-shadow:0 10px 30px #1f233012}:root[data-theme=night] .friends-home,:root[data-theme=night] .lan-home,:root[data-theme=night] .recent-panel,:root[data-theme=night] .install-panel,:root[data-theme=night] .game-card,:root[data-theme=night] .account-gate-card,:root[data-theme=night] .friend-quick-item,:root[data-theme=night] .friend-row,:root[data-theme=night] .friend-identity,:root[data-theme=night] .room-control-panel,:root[data-theme=night] .chat-panel,:root[data-theme=night] .players-panel,:root[data-theme=night] .turn-panel,:root[data-theme=night] .game-facts{background:#232326c7}.friends-home:before,.lan-home:before{display:none}.friends-home-heading>button,.card-number i,.game-card.active .game-status,.console-kicker strong,.invite-side-button>svg,.chat-heading svg{color:var(--jade)}.lan-live,.game-status{color:var(--jade);background:var(--jade-pale)}.lan-live b,.status-dot.online,.presence-dot.online,.player-presence.online,.desktop-player-copy small b.online{background:#34c759;box-shadow:0 0 0 4px #34c7591f}.desktop-ready-mark.ready,.ready-badge.is-ready{color:#fff;background:#34c759;border-color:#34c759;box-shadow:0 3px 8px #34c75933}.game-icon,.game-card-gomoku .game-icon,.game-card-xiangqi .game-icon,.game-card-junqi .game-icon{color:var(--jade);background:linear-gradient(145deg,#fffffff2,#007aff1a);border-color:#007aff1a;box-shadow:inset 0 1px #fffc,0 7px 18px #007aff14}.game-icon:after,.game-card:before{border-color:#007aff1f}.game-card.active:hover{border-color:#007aff38;box-shadow:0 18px 42px #1f233021}.desktop-player-banner,.desktop-player-banner.white{background:#ffffff7a}:root[data-theme=night] .desktop-player-banner,:root[data-theme=night] .desktop-player-banner.white{background:#ffffff0e}.desktop-player-copy em,.desktop-player-copy small,.game-identity>span,.game-identity small,.console-kicker{color:var(--ink-faint)}.desktop-player-copy strong,.game-identity h1,.desktop-turn-status strong{color:var(--ink);text-shadow:none;font-family:inherit}.game-identity{border-inline-color:var(--line)}.game-identity:before,.game-identity:after{color:var(--ink-faint)}.game-identity h1{letter-spacing:-.025em}.desktop-player-copy strong i{color:var(--jade);background:var(--jade-pale)}.console-kicker{border-bottom-color:var(--line)}.room-control-panel .game-facts{background:0 0}.room-control-panel .game-facts strong{font-family:inherit}.chat-heading{border-bottom-color:var(--line);background:0 0}.chat-message.mine p{color:#fff;background:var(--jade)}.invite-side-button{color:var(--ink);background:#007aff13;border-color:#007aff26}.opening-overlay,.opening-overlay.both-seated,.opening-overlay.is-ready{color:var(--ink);-webkit-backdrop-filter:saturate(180%)blur(26px);backdrop-filter:saturate(180%)blur(26px);background:#f8f8fadb;border-color:#ffffff73;box-shadow:0 18px 48px #1f23302e}:root[data-theme=night] .opening-overlay,:root[data-theme=night] .opening-overlay.both-seated,:root[data-theme=night] .opening-overlay.is-ready{background:#262629e0;border-color:#ffffff21}.opening-overlay:before{display:none}.opening-emblem{color:var(--jade);background:var(--jade-pale);border-color:#007aff33}.opening-ready-ring{border-color:var(--jade);box-shadow:0 0 0 4px #007aff1a}.opening-overlay strong{color:var(--ink);font-family:inherit}.opening-overlay small{color:var(--ink-faint)}.action-bar button{color:var(--ink-soft);background:#ffffffb8;border-color:#3c3c431a;box-shadow:0 3px 10px #1f23300d}:root[data-theme=night] .action-bar button{background:#2c2c2ed6}.action-bar button:hover:not(:disabled){color:var(--jade);background:var(--jade-pale);border-color:#007aff33}.modal{color:var(--ink);-webkit-backdrop-filter:saturate(180%)blur(28px);backdrop-filter:saturate(180%)blur(28px);background:#f8f8faf0;border-color:#fff6;box-shadow:0 28px 80px #181b2640}:root[data-theme=night] .modal{background:#262629f2;border-color:#ffffff1a}.input-wrap,.invite-link,.seat-options button,.game-kind-options button,.segmented button,.chat-composer textarea{color:var(--ink);background:#76768014;border-color:#3c3c431f}.game-kind-options button.selected,.segmented button.selected,.seat-options button.selected{color:var(--jade);background:var(--jade-pale);border-color:#007aff59}.toast{color:#fff;background:#1c1c1ee6}.xiangqi-point.last:after,.legal-dot,.junqi-cell.legal:after{background:#007aff}.legal-dot,.junqi-cell.legal:after{box-shadow:0 0 0 5px #007aff29}@media (max-width:760px){.player-chip,.mobile-status{background:#ffffff7a}:root[data-theme=night] .player-chip,:root[data-theme=night] .mobile-status{background:#ffffff0f}}.room-friend-invite{flex-direction:column;gap:10px;display:flex}.room-friend-invite h3{align-items:center;gap:7px;margin:0;font-size:12px;display:flex}.room-friend-invite>div{flex-direction:column;gap:7px;max-height:190px;display:flex;overflow:auto}.room-friend-invite>div>button{border:1px solid var(--line);min-height:58px;color:var(--ink);background:var(--paper-soft);text-align:left;border-radius:15px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:9px 12px;display:grid}.room-friend-invite>div>button>span{flex-direction:column;gap:2px;display:flex}.room-friend-invite>div>button strong{font-size:11px}.room-friend-invite>div>button small{color:var(--ink-faint);font-size:8px}.room-friend-invite>div>button>b{color:var(--jade);font-size:9px}.room-friend-invite>div>button:disabled{opacity:.5}.room-friend-invite>p{color:var(--ink-soft);background:var(--paper-soft);border-radius:13px;margin:0;padding:14px;font-size:9px;line-height:1.55}.invite-divider{height:20px;color:var(--ink-faint);place-items:center;font-size:8px;display:grid;position:relative}.invite-divider:before{content:"";background:var(--line);height:1px;position:absolute;top:50%;left:0;right:0}.invite-divider span{background:var(--paper-strong);padding:0 8px;position:relative}.board-column-word-chain{min-width:0;max-width:900px}.board-stage-word-chain{min-height:0;box-shadow:none;background:0 0}.board-playfield-word-chain{width:min(100%,760px);min-width:0;box-shadow:none;background:0 0;padding:0}.word-chain-board{background:radial-gradient(circle at 90% 4%,#af91ff2b,#0000 35%),linear-gradient(145deg,#fffffff0,#f4f6ffe0);border:1px solid #007aff1f;border-radius:30px;flex-direction:column;gap:18px;width:100%;min-width:0;max-width:100%;min-height:470px;padding:clamp(18px,3vw,34px);display:flex;overflow:hidden;box-shadow:0 24px 65px #24305b1a}.word-chain-score-row{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;display:grid}.word-chain-score{color:#727682;background:#ffffffb8;border-radius:18px;align-items:baseline;gap:6px;min-height:66px;padding:13px 17px;transition:all .2s;display:flex;box-shadow:inset 0 0 0 1px #0000000b}.word-chain-score.white{justify-content:flex-end}.word-chain-score span{font-size:11px;font-weight:750}.word-chain-score strong{font-variant-numeric:tabular-nums;font-size:31px;line-height:1}.word-chain-score small{font-size:10px}.word-chain-round{color:#8b7fb1;align-items:center;gap:6px;font-size:10px;display:flex}.word-chain-current{color:#181a22;text-align:center;background:linear-gradient(145deg,#fff,#f8f4ff);border-radius:26px;flex-direction:column;justify-content:center;align-items:center;min-width:0;max-width:100%;min-height:174px;padding:20px;display:flex;overflow:hidden;box-shadow:0 15px 42px #342e5017}.word-chain-current>span{color:#9194a0;font-size:10px}.word-chain-current>strong{letter-spacing:.08em;overflow-wrap:anywhere;max-width:100%;margin:7px 0 13px;font-size:clamp(38px,6vw,66px);line-height:1.1}.word-chain-current>div{color:#858895;justify-content:center;align-items:center;gap:8px;max-width:100%;display:flex}.word-chain-current b{color:#fff;background:linear-gradient(145deg,#258cff,#5d71ff);border-radius:15px;flex:none;place-items:center;width:48px;height:48px;font-size:26px;display:grid;box-shadow:0 10px 24px #336eff40}.word-chain-current em{color:#397ee4;margin-left:-3px;font-size:15px;font-style:normal;font-weight:800}.word-chain-history{flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;min-height:37px;display:flex}.word-chain-history>span{color:#9699a3;align-items:center;gap:5px;font-size:10px;display:inline-flex}.word-chain-history b{color:#464954;background:#ffffffbf;border-radius:9px;padding:6px 9px;font-weight:650}.word-chain-history .black b{color:#176fd0;background:#e8f3ff}.word-chain-history .white b{color:#8c579e;background:#f6eaff}.word-chain-input{grid-template-columns:minmax(0,1fr) 96px 118px;gap:9px;display:grid}.word-chain-input-box{background:#fff;border:1px solid #007aff2e;border-radius:17px;align-items:center;min-height:58px;display:flex;overflow:hidden;box-shadow:0 8px 24px #25336312}.word-chain-input-box>b{color:#fff;background:#1683f8;align-self:stretch;place-items:center;width:52px;font-size:23px;display:grid}.word-chain-input-box input{color:#171921;background:0 0;border:0;outline:0;flex:1;min-width:0;height:58px;padding:0 15px;font-size:17px;font-weight:650}.word-chain-input-box input::placeholder{color:#a2a6af;font-size:12px;font-weight:500}.word-chain-submit,.word-chain-skip{border-radius:17px;justify-content:center;align-items:center;gap:6px;min-height:58px;font-weight:800;display:flex}.word-chain-submit{color:#fff;background:linear-gradient(145deg,#1689ff,#516cff);border:0;box-shadow:0 11px 26px #2368ff38}.word-chain-skip{color:#5c606a;background:#ffffffbf;border:1px solid #00000012;grid-template-columns:auto auto;column-gap:5px;display:grid}.word-chain-skip small{color:#a0a3aa;grid-column:1/3;font-size:7px;font-weight:500}.word-chain-input button:disabled{opacity:.42;box-shadow:none}.word-chain-rule{color:#9a9da6;text-align:center;margin:0;font-size:9px}.side-mark.word-chain{color:#fff;background:linear-gradient(145deg,#258cff,#8873ed);border:0;font-size:10px;font-weight:800}.game-card-word-chain .game-icon{color:#6b65df;background:linear-gradient(145deg,#f7f4ff,#ddd7ff)}.word-chain-current{color:#181a22}@media (max-width:760px){.board-column-word-chain{width:100%;min-width:0}.board-stage-word-chain{width:100%;min-width:0;padding:0 10px;overflow:hidden}.board-playfield-word-chain{width:100%;min-width:0;max-width:100%}.word-chain-board{border-radius:23px;gap:12px;min-height:390px;padding:14px}.word-chain-score-row{gap:6px}.word-chain-score{border-radius:14px;min-height:53px;padding:9px 11px}.word-chain-score strong{font-size:25px}.word-chain-round{flex-direction:column;gap:2px;font-size:8px}.word-chain-current{border-radius:20px;min-height:145px;padding:15px}.word-chain-current>strong{letter-spacing:.03em;white-space:normal;overflow-wrap:anywhere;width:100%;font-size:clamp(27px,10vw,40px)}.word-chain-current>div{flex-wrap:wrap;row-gap:5px}.word-chain-current b{width:42px;height:42px;font-size:23px}.word-chain-history{flex-wrap:nowrap;justify-content:flex-start;width:100%;min-width:0;padding-bottom:2px;overflow:auto hidden}.word-chain-history>span{flex:none;min-width:0;max-width:78%}.word-chain-history b{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.word-chain-input{grid-template-columns:minmax(0,1fr) 78px;width:100%;min-width:0}.word-chain-input-box{min-width:0;max-width:100%;min-height:55px}.word-chain-input-box>b{flex:0 0 46px;width:46px}.word-chain-input-box input{width:0;min-width:0;max-width:100%;height:55px;padding:0 10px;font-size:16px}.word-chain-submit{min-width:0;min-height:55px}.word-chain-skip{grid-column:1/3;min-height:46px;display:flex}.word-chain-skip small{grid-column:auto;font-size:8px}}.dicecup-page{color:#f8f7f4;background:radial-gradient(circle at 24% 5%,#ff8e3e2e,#0000 25%),radial-gradient(circle at 82% 18%,#ffd67814,#0000 28%),linear-gradient(145deg,#201611,#0e0c0b 72%);min-height:100dvh}.dicecup-header{z-index:30;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#120e0cc2;border-bottom:1px solid #ffffff14;grid-template-columns:1fr auto 1fr;align-items:center;height:66px;padding:0 clamp(16px,3vw,42px);display:grid;position:sticky;top:0}.dicecup-header button{color:#f7f3ed;background:#ffffff0f;border:1px solid #ffffff14;border-radius:12px;align-items:center;gap:6px;width:max-content;min-height:38px;padding:0 12px;font-size:11px;display:inline-flex}.dicecup-header button:last-child{justify-self:end}.dicecup-brand{align-items:center;gap:9px;display:flex}.dicecup-brand i{color:#e9ac60;background:linear-gradient(145deg,#80462b9e,#2e1b13d1);border:1px solid #e6b16f47;border-radius:10px;place-items:center;width:32px;height:32px;display:grid;box-shadow:0 5px 13px #0000004d}.dicecup-brand strong{font-size:13px}.dicecup-shell{grid-template-columns:minmax(180px,.7fr) minmax(420px,1.35fr) minmax(250px,.82fr);align-items:center;gap:clamp(20px,3vw,42px);width:min(100% - 32px,1180px);margin:0 auto;padding:clamp(26px,5vh,52px) 0 34px;display:grid}.dicecup-copy>span{color:#f1b86f;letter-spacing:.12em;align-items:center;gap:6px;font-size:9px;font-weight:800;display:inline-flex}.dicecup-copy h1{letter-spacing:-.055em;margin:13px 0 11px;font-size:clamp(34px,4.5vw,58px);line-height:1.08}.dicecup-copy h1 em{color:#efaa59;font-style:normal}.dicecup-copy p{color:#ffffff85;margin:0;font-size:11px;line-height:1.75}.dicecup-stage{flex-direction:column;align-items:center;min-width:0;display:flex}.dicecup-table{aspect-ratio:1;filter:drop-shadow(0 34px 38px #0000007a);background:radial-gradient(circle at 50% 43%,#7b422a 0 42%,#4d291e 43% 49%,#261710 50% 62%,#0000 63%),radial-gradient(circle,#ebad6738,#0000 68%);border-radius:50%;width:min(100%,540px);position:relative}.dicecup-table:after{content:"";filter:blur(18px);background:#0000007a;border-radius:50%;height:10%;position:absolute;bottom:4%;left:15%;right:15%}.dicecup-dice{z-index:2;flex-wrap:wrap;place-content:center;gap:5%;padding:5%;display:flex;position:absolute;inset:21% 14% 16%;transform:perspective(500px)rotateX(6deg)}.party-die{aspect-ratio:1;width:28%;transform:rotate(calc((var(--die-index) - 2) * 8deg));background:#fff;border:2px solid #fff;border-radius:22%;grid-template:repeat(3,1fr)/repeat(3,1fr);padding:7%;display:grid;position:relative;box-shadow:inset 2px 2px 3px #fff,0 7px #96836f,0 13px 19px #00000070}.party-die i{aspect-ratio:1;background:#080706;border-radius:50%;place-self:center;width:78%;display:none;box-shadow:inset 0 1px 1px #ffffff2e,0 1px 1px #0003}.party-die i[data-pip="1"]{grid-area:1/1}.party-die i[data-pip="2"]{grid-area:1/2}.party-die i[data-pip="3"]{grid-area:1/3}.party-die i[data-pip="4"]{grid-area:2/1}.party-die i[data-pip="5"]{grid-area:2/2}.party-die i[data-pip="6"]{grid-area:2/3}.party-die i[data-pip="7"]{grid-area:3/1}.party-die i[data-pip="8"]{grid-area:3/2}.party-die i[data-pip="9"]{grid-area:3/3}.party-die.die-1 i[data-pip="5"],.party-die.die-2 i[data-pip="1"],.party-die.die-2 i[data-pip="9"],.party-die.die-3 i[data-pip="1"],.party-die.die-3 i[data-pip="5"],.party-die.die-3 i[data-pip="9"],.party-die.die-4 i[data-pip="1"],.party-die.die-4 i[data-pip="3"],.party-die.die-4 i[data-pip="7"],.party-die.die-4 i[data-pip="9"],.party-die.die-5 i[data-pip="1"],.party-die.die-5 i[data-pip="3"],.party-die.die-5 i[data-pip="5"],.party-die.die-5 i[data-pip="7"],.party-die.die-5 i[data-pip="9"],.party-die.die-6 i[data-pip="1"],.party-die.die-6 i[data-pip="3"],.party-die.die-6 i[data-pip="4"],.party-die.die-6 i[data-pip="6"],.party-die.die-6 i[data-pip="7"],.party-die.die-6 i[data-pip="9"]{display:block}.party-die.die-1 i[data-pip="5"]{background:#e3261d;box-shadow:0 0 0 1px #74000033}.dicecup-lid{z-index:5;color:#f7e7ce;transform-origin:50% 10%;background:repeating-linear-gradient(92deg,#0000 0 12px,#ffffff06 13px 14px),linear-gradient(120deg,#80462b,#351d15 55%,#1e120e);border:1px solid #ffd79d47;border-radius:38% 38% 26% 26%/24% 24% 18% 18%;flex-direction:column;justify-content:center;align-items:center;padding-top:15%;transition:transform .52s cubic-bezier(.2,.8,.2,1),opacity .3s;display:flex;position:absolute;inset:9% 19% 14%;box-shadow:inset 0 0 0 6px #ffd29709,inset 18px 5px 32px #ffffff0e,0 30px 42px #0000008a}.dicecup-lid>span{background:linear-gradient(#6d3a26,#2e1a14);border:1px solid #ffd79d40;border-radius:50% 50% 24% 24%;width:31%;height:13%;position:absolute;top:-8%;box-shadow:0 -8px 15px #0000004d}.dicecup-lid>i{background:#25140f;border:2px solid #bc7d49;border-radius:50%;height:8%;position:absolute;bottom:3%;left:5%;right:5%;box-shadow:0 8px 11px #00000061}.dicecup-lid strong{letter-spacing:.08em;font-size:clamp(18px,2vw,27px)}.dicecup-lid small{color:#ffecd087;margin-top:5px;font-size:9px}.dicecup-lock{z-index:9;color:#ffffffb8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#130e0cb3;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:6px;min-height:34px;padding:0 11px;font-size:9px;font-weight:750;transition:all .2s;display:inline-flex;position:absolute;bottom:13%;right:9%;box-shadow:0 8px 19px #00000047}.dicecup-lock.locked{color:#2d190f;background:#f1bd74;border-color:#f1bd74;box-shadow:0 7px 20px #eea65045}.dicecup-lock:disabled{opacity:.45}.phase-open .dicecup-lid{opacity:0;pointer-events:none;transform:translateY(-55%)rotate(-13deg)scale(.78)}.phase-shaking .party-die{animation:.16s linear infinite alternate die-rattle}@keyframes dicecup-shake{0%{transform:translate(-7px,1px)rotate(-2deg)}50%{transform:translate(8px,-3px)rotate(2deg)}to{transform:translate(-5px,3px)rotate(-1deg)}}@keyframes die-rattle{0%{transform:translate(-9px,-5px)rotate(-14deg)}to{transform:translate(9px,7px)rotate(16deg)}}.dicecup-primary-actions{z-index:8;grid-template-columns:1.25fr .75fr;gap:10px;width:min(100%,440px);margin-top:-1%;display:grid;position:relative}.dicecup-primary-actions button{border-radius:16px;justify-content:center;align-items:center;gap:8px;min-height:52px;font-weight:800;display:inline-flex}.dicecup-shake{color:#24150f;background:linear-gradient(145deg,#f7c67c,#dc9143);border:0;box-shadow:0 10px 28px #de914333}.dicecup-shake.is-locked{color:#f5dfc1;box-shadow:none;background:#fff1;border:1px solid #f2bb7442}.dicecup-open{color:#f5dfc1;background:#ffffff12;border:1px solid #f2bb7447}.dicecup-primary-actions button:disabled{opacity:.4}.dicecup-panel{background:#ffffff0b;border:1px solid #ffffff14;border-radius:22px;flex-direction:column;align-self:stretch;gap:13px;padding:17px;display:flex;box-shadow:0 22px 54px #0003}.dicecup-panel-heading{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.dicecup-panel-heading>span,.dicecup-panel-heading small{align-items:center;gap:6px;display:flex}.dicecup-panel-heading>span{font-size:11px;font-weight:800}.dicecup-panel>label{color:#ffffff8c;justify-content:space-between;font-size:9px;display:flex}.dicecup-count{grid-template-columns:repeat(6,1fr);gap:5px;display:grid}.dicecup-count button{aspect-ratio:1;color:#ffffff9e;background:#ffffff0d;border:1px solid #ffffff14;border-radius:9px}.dicecup-count button.selected{color:#24150f;background:#efb96e;border-color:#e9b66e;box-shadow:0 5px 14px #eeaf612e}.dicecup-motion{color:#f5e8d7;text-align:left;background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;align-items:center;gap:10px;min-height:54px;padding:9px 11px;display:flex}.dicecup-motion.enabled{background:#34c75917;border-color:#34c7594d}.dicecup-motion>span{flex-direction:column;gap:2px;display:flex}.dicecup-history h2{align-items:center;gap:6px;margin:2px 0 8px;font-size:10px;display:flex}.dicecup-history>div{border-top:1px solid #ffffff0e;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;min-height:27px;font-size:8px;display:grid}.dicecup-history>div span{color:#ffffff59}.dicecup-history>div b{text-overflow:ellipsis;white-space:nowrap;color:#ffffffad;font-weight:500;overflow:hidden}.dicecup-history>p,.dicecup-responsible{color:#ffffff59;margin:0;font-size:8px;line-height:1.55}.dicecup-responsible{border-top:1px solid #ffffff12;margin-top:auto;padding-top:11px}.game-card-dice-cup .game-icon{color:#bd650a;background:linear-gradient(145deg,#fff8eb,#ffd292);box-shadow:inset 0 1px #ffffffe6,0 9px 18px #ca741624}.game-card-dice-cup .game-icon svg{filter:drop-shadow(0 2px 1px #7e3f061f);width:35px;height:35px}@media (min-width:1100px){.game-grid{grid-template-columns:repeat(3,1fr)}.game-card,.game-card:nth-child(n){min-height:230px}}@media (min-width:1500px){.game-grid{grid-template-columns:repeat(6,1fr)}.game-card,.game-card:nth-child(n){min-height:252px}}@media (max-width:900px) and (min-width:761px){.dicecup-shell{grid-template-columns:1fr 1fr}.dicecup-copy{align-self:start}.dicecup-panel{grid-area:1/2/3}.dicecup-stage{grid-column:1}.dicecup-table{max-width:450px}}@media (max-width:760px){.dicecup-header{height:58px;padding:0 10px}.dicecup-header button{border-radius:50%;place-items:center;width:39px;height:39px;padding:0;display:grid}.dicecup-header button span{display:none}.dicecup-brand strong{font-size:12px}.dicecup-shell{width:calc(100% - 24px);padding:20px 0 max(24px,env(safe-area-inset-bottom));flex-direction:column;gap:12px;display:flex}.dicecup-copy h1{margin:8px 0 7px;font-size:34px}.dicecup-copy p{font-size:9px;line-height:1.6}.dicecup-stage{width:100%}.dicecup-table{width:min(100%,430px)}.dicecup-primary-actions{margin-top:-2%}.dicecup-panel{border-radius:18px;width:100%;padding:14px}.dicecup-panel:not(.mobile-open) .dicecup-history{max-height:105px;overflow:hidden}.dicecup-count button{aspect-ratio:auto;min-height:37px}.dicecup-motion{min-height:50px}.party-die{border-radius:19%;box-shadow:inset 1px 1px 2px #fff,0 5px #9b8873,0 9px 12px #0000004d}}.game2048-page{color:#1d1d1f;background:radial-gradient(circle at 18% 10%,#ff95001f,#0000 27%),radial-gradient(circle at 86% 26%,#af52de17,#0000 30%),#f5f5f7;min-height:100dvh}.game2048-header{z-index:20;-webkit-backdrop-filter:saturate(180%)blur(24px);backdrop-filter:saturate(180%)blur(24px);background:#fafafcc7;border-bottom:1px solid #3c3c431a;grid-template-columns:1fr auto 1fr;align-items:center;height:66px;padding:0 clamp(16px,3vw,42px);display:grid;position:sticky;top:0}.game2048-back,.game2048-restart{color:#3a3a3c;background:#7676801a;border:0;border-radius:12px;align-items:center;gap:6px;width:max-content;min-height:38px;padding:0 12px;font-size:11px;display:inline-flex}.game2048-restart{justify-self:end}.game2048-brand{align-items:center;gap:8px;display:flex}.game2048-brand i{color:#fff;background:linear-gradient(145deg,#ff9f0a,#ff6b00);border-radius:8px;place-items:center;width:27px;height:27px;font:800 14px/1 system-ui;display:grid;box-shadow:0 6px 13px #ff7a0038}.game2048-brand strong{letter-spacing:-.01em;font-size:13px}.game2048-shell{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px 34px;width:min(100% - 32px,1000px);margin:0 auto;padding:clamp(28px,5vh,54px) 0 34px;display:grid}.game2048-intro{align-self:end}.game2048-kicker{color:#ff7a00;letter-spacing:.08em;align-items:center;gap:6px;font-size:10px;font-weight:700;display:inline-flex}.game2048-intro h1{letter-spacing:-.06em;margin:9px 0 7px;font-size:clamp(38px,5vw,62px);line-height:1}.game2048-intro h1 em{color:#ff7a00;font-style:normal}.game2048-intro p{color:#6e6e73;max-width:520px;margin:0;font-size:12px;line-height:1.65}.game2048-scores{gap:10px;display:flex}.game2048-scores>span{background:#ffffffa8;border:1px solid #ffffffb3;border-radius:17px;flex-direction:column;gap:4px;min-width:110px;padding:11px 14px;display:flex;box-shadow:0 10px 28px #1f233012}.game2048-scores small{color:#8e8e93;align-items:center;gap:4px;font-size:9px;display:flex}.game2048-scores strong{letter-spacing:-.04em;font-size:20px}.game2048-board-wrap{grid-column:1/-1;justify-self:center;width:min(100%,580px)}.game2048-board{aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;background:linear-gradient(145deg,#d8d1c5,#beb6aa);border-radius:clamp(22px,3vw,32px);grid-template-columns:repeat(4,1fr);gap:clamp(8px,1.4vw,13px);width:100%;padding:clamp(10px,1.6vw,15px);display:grid;position:relative;overflow:hidden;box-shadow:0 28px 70px #4035262e,inset 0 1px #ffffff80}.game2048-cell{aspect-ratio:1;background:#eeeae2b8;border-radius:clamp(14px,2vw,21px);place-items:center;min-width:0;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff6b}.game2048-cell span{font-variant-numeric:tabular-nums;letter-spacing:-.06em;white-space:nowrap;max-width:100%;font:800 clamp(29px,5.3vw,54px)/1 -apple-system,BlinkMacSystemFont,SF Pro Rounded,Segoe UI,sans-serif}.game2048-cell.value-32{color:#fff8ec;background:#f47a5a}.game2048-cell.value-64{color:#fff8ec;background:#ed5f3d}.game2048-cell.value-128{color:#fff8e8;background:#e8c34f}.game2048-cell.value-256{color:#fff8e8;background:#e2b936}.game2048-cell.value-512{color:#fff8e8;background:#dba91f}.game2048-cell.value-1024{color:#fff;background:#d19712}.game2048-cell.value-2048{color:#fff;background:linear-gradient(145deg,#ffb312,#ff7a00);box-shadow:0 0 0 3px #ffffff61,0 10px 28px #ff7a0061}.game2048-cell.value-4096{color:#fff;background:linear-gradient(145deg,#bf5af2,#8957e5);box-shadow:0 9px 24px #8957e547}.game2048-cell.value-8192{color:#fff;background:linear-gradient(145deg,#8b5cf6,#5856d6);box-shadow:0 9px 24px #5856d64d}.game2048-cell.value-16384{color:#fff;background:linear-gradient(145deg,#5e5ce6,#3634a3);box-shadow:0 9px 24px #3634a34d}.game2048-cell.value-32768{color:#fff;background:linear-gradient(145deg,#32ade6,#007aff);box-shadow:0 9px 24px #007aff47}.game2048-cell.value-65536{color:#fff;background:linear-gradient(145deg,#30d158,#14943c);box-shadow:0 9px 24px #14943c47}.game2048-cell[class*=value-]:not(.value-0):not(.value-2):not(.value-4):not(.value-8):not(.value-16):not(.value-32):not(.value-64):not(.value-128):not(.value-256):not(.value-512):not(.value-1024):not(.value-2048):not(.value-4096):not(.value-8192):not(.value-16384):not(.value-32768):not(.value-65536){color:#fff;background:linear-gradient(145deg,#2c2c2e,#000);box-shadow:0 9px 24px #0000003d}.game2048-cell.digits-4 span{font-size:clamp(23px,4.4vw,44px)}.game2048-cell.digits-5 span{letter-spacing:-.08em;font-size:clamp(18px,3.55vw,35px)}.game2048-cell.digits-6 span{letter-spacing:-.09em;font-size:clamp(15px,2.95vw,29px)}.game2048-cell.digits-7 span,.game2048-cell.digits-8 span{letter-spacing:-.1em;font-size:clamp(12px,2.45vw,24px)}.game2048-cell.merged span{animation:.2s cubic-bezier(.2,.9,.25,1) game2048-pop}.game2048-cell.spawned span{animation:.18s ease-out game2048-spawn}@keyframes game2048-pop{0%{transform:scale(.72)}65%{transform:scale(1.18)}to{transform:scale(1)}}@keyframes game2048-spawn{0%{opacity:0;transform:scale(.25)}to{opacity:1;transform:scale(1)}}.game2048-result{z-index:8;color:#1d1d1f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#faf8f2d1;flex-direction:column;justify-content:center;align-items:center;gap:9px;padding:20px;animation:.28s ease-out game2048-result-in;display:flex;position:absolute;inset:0}@keyframes game2048-result-in{0%{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}.game2048-result span{color:#ff7a00;letter-spacing:.12em;font-size:11px;font-weight:800}.game2048-result strong{font-size:clamp(17px,3vw,25px)}.game2048-result button{color:#fff;background:#007aff;border:0;border-radius:14px;justify-content:center;align-items:center;gap:7px;min-width:152px;min-height:45px;margin-top:5px;font-weight:700;display:inline-flex}.game2048-result button.quiet{color:#007aff;background:#007aff1a;min-height:38px;margin-top:0}.game2048-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:13px;display:grid}.game2048-actions button{color:#3a3a3c;background:#ffffffb3;border:1px solid #3c3c431a;border-radius:17px;justify-content:center;align-items:center;gap:9px;min-height:58px;padding:8px 12px;display:flex;box-shadow:0 8px 22px #1f23300d}.game2048-actions button:disabled{opacity:.42}.game2048-actions button>span{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.game2048-actions small{color:#8e8e93;font-size:8px}.game2048-tip{color:#8e8e93;grid-column:1/-1;justify-self:center;margin-top:2px;font-size:9px}.game2048-tip span{color:#ff7a00;background:#ff95001a;border-radius:6px;margin-right:7px;padding:3px 6px;font-weight:700}@media (min-width:1100px){.game-grid{grid-template-columns:repeat(5,1fr)}.game-card,.game-card:nth-child(n){min-height:268px}}@media (max-width:760px){.game2048-header{height:58px;padding:0 10px}.game2048-back,.game2048-restart{border-radius:50%;place-items:center;width:39px;height:39px;padding:0;display:grid}.game2048-back span,.game2048-restart span{display:none}.game2048-brand strong{font-size:12px}.game2048-shell{width:calc(100% - 24px);padding:22px 0 max(20px,env(safe-area-inset-bottom));grid-template-columns:1fr;gap:14px}.game2048-intro h1{margin-top:7px;font-size:37px}.game2048-intro p{font-size:10px}.game2048-scores{grid-row:2;grid-template-columns:1fr 1fr;display:grid}.game2048-scores>span{border-radius:14px;min-width:0;padding:9px 12px}.game2048-scores strong{font-size:18px}.game2048-board-wrap{grid-row:3}.game2048-board{border-radius:23px;gap:8px;padding:9px}.game2048-cell{border-radius:14px}.game2048-cell span{font-size:clamp(27px,11vw,43px)}.game2048-cell.digits-4 span{font-size:clamp(21px,8.6vw,34px)}.game2048-cell.digits-5 span{font-size:clamp(17px,6.8vw,27px)}.game2048-cell.digits-6 span{font-size:clamp(14px,5.7vw,23px)}.game2048-cell.digits-7 span,.game2048-cell.digits-8 span{font-size:clamp(12px,4.8vw,19px)}.game2048-actions{gap:8px;margin-top:10px}.game2048-actions button{border-radius:15px;min-height:54px}.game2048-tip{text-align:center;grid-row:4;line-height:1.6}html,body,#root{min-height:100%}.content-width{width:calc(100% - 32px)}.home-page{padding-bottom:max(20px,env(safe-area-inset-bottom));overflow-x:hidden}.site-header{z-index:20;width:100%;height:64px;padding:0 16px;position:sticky;top:0}.site-header .brand{min-width:0}.site-header .brand-mark{border-radius:10px;width:34px;height:34px}.site-header .brand strong{letter-spacing:.03em;font-size:17px}.site-header .brand small{display:none}.header-actions{gap:6px}.site-header .icon-button,.site-header .account-pill,.site-header .connection-pill{border-radius:50%;flex:0 0 36px;min-width:36px;min-height:36px;padding:0;width:36px!important;height:36px!important}.site-header .account-pill{place-items:center;display:grid}.site-header .account-pill span{display:none}.site-header .connection-pill{place-items:center;font-size:0;display:grid}.site-header .connection-icon{width:20px;height:20px}.site-header .connection-icon svg{width:18px;height:18px;transform:none}.hero{min-height:0;padding:28px 0 18px;display:block}.hero-copy{flex-direction:column;display:flex}.hero .eyebrow{order:0;margin:0 0 11px;font-size:10px}.hero h1{order:1;margin:0;font-size:clamp(38px,11.8vw,52px);line-height:1.08}.hero-lead{order:2;margin:16px 0 20px;font-size:13px;line-height:1.7}.invite-callout{border-radius:14px;order:3;margin-bottom:12px}.hero-actions{order:4;grid-template-columns:1.22fr .9fr;gap:10px;display:grid}.hero-actions .primary-button,.hero-actions .secondary-button{border-radius:15px;min-height:50px;padding:0 12px;font-size:13px}.trust-line{border-top:1px solid var(--line);order:5;grid-template-columns:repeat(3,1fr);gap:4px;margin:15px 0 0;padding:12px 0 0;font-size:9px;display:grid}.trust-line span{white-space:nowrap;background:0 0;justify-content:center;padding:0}.hero-visual{display:none}.game-section{border-top:0;padding:22px 0 18px}.section-heading{align-items:center;margin-bottom:13px}.section-heading .eyebrow{display:none}.section-heading h2{letter-spacing:-.02em;font-size:21px}.section-heading>p{display:none}.game-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.game-card,.game-card:nth-child(n){min-height:142px;padding:13px;border-radius:20px!important}.game-card:before{width:86px;height:86px;top:-34px;right:-34px}.card-number{font-size:8px}.card-number i{display:none}.game-icon{border-radius:12px;width:40px;height:40px;margin:11px 0 9px}.game-icon svg{width:21px;height:21px}.game-icon:after{border-radius:8px;inset:4px}.game-name{font-size:17px}.game-note{display:none}.game-status{margin-top:auto;padding:4px 7px;font-size:9px}.friends-home,.lan-home{border-radius:20px;width:calc(100% - 32px);margin:0 auto 12px;padding:15px}.friends-home{order:initial}.friends-home-heading{align-items:center;gap:9px}.friends-home-heading>span{gap:9px;min-width:0}.friends-home-heading>span>span{min-width:0}.friends-home-heading strong{font-size:15px}.friends-home-heading small{text-overflow:ellipsis;white-space:nowrap;font-size:9px;display:block;overflow:hidden}.friends-home-heading>button{background:var(--jade-pale);white-space:nowrap;border:0;border-radius:11px;min-height:34px;padding:0 10px}.lan-live{border-radius:999px;flex:none;padding:5px 8px;font-size:9px}.friend-quick-list{scrollbar-width:none;scroll-snap-type:x proximity;gap:9px;margin-top:12px;padding:1px 1px 4px;display:flex;overflow-x:auto}.friend-quick-list::-webkit-scrollbar{display:none}.friend-quick-item{scroll-snap-align:start;border-radius:15px;flex:0 0 min(78vw,278px);grid-template-columns:14px minmax(0,1fr) auto;gap:9px;min-height:62px;padding:10px}.friend-quick-item strong{font-size:12px}.friend-quick-item small{font-size:9px}.friend-quick-item button{border-radius:10px;min-height:32px;padding:0 11px;font-size:10px}.friend-empty-line{border-radius:12px;margin-top:11px;padding:11px;font-size:10px;line-height:1.5}.lower-section{grid-template-columns:1fr;gap:12px;padding:0 0 20px;display:grid}.recent-panel{border-radius:20px;padding:16px}.recent-list{grid-template-columns:1fr}.install-panel{border-radius:20px;min-height:82px;padding:14px}.site-footer{min-height:44px;font-size:9px}.room-page{height:100dvh;min-height:100dvh;overflow:hidden}.room-header{flex:0 0 58px;grid-template-columns:42px minmax(0,1fr) auto;gap:8px;min-height:58px;padding:0 10px}.room-header-left{display:block}.room-exit-button{width:40px;height:40px;box-shadow:none;background:#7676801a;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.room-exit-button span,.room-header-left .brand{display:none}.room-header-center{justify-content:flex-start;align-items:center;gap:8px;min-width:0;display:flex}.mobile-room-title{flex-direction:column;gap:1px;min-width:0;display:flex}.mobile-room-title strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:1.15;overflow:hidden}.mobile-room-title small{color:var(--ink-faint);font-size:9px}.room-code{height:32px;box-shadow:none;background:#7676801a;border:0;border-radius:10px;flex:none;padding:0 8px}.room-code span{display:none}.room-code strong{letter-spacing:.11em;font-size:11px}.room-code svg{width:13px;height:13px}.room-header-actions{gap:5px}.room-header-actions .connection-pill,.room-header-actions .icon-button{width:36px;height:36px;box-shadow:none;background:#7676801a;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.room-header-actions .connection-pill{font-size:0}.room-header-actions .connection-icon{width:19px;height:19px}.room-header-actions .connection-icon svg{width:18px;height:18px;transform:none}.mobile-chat-button{display:grid}.game-layout{flex:1;min-height:0;padding:0;display:block}.game-sidebar,.desktop-game-header,.desktop-turn-status{display:none}.board-column{height:calc(100dvh - 58px);padding:0 8px max(6px,env(safe-area-inset-bottom));justify-content:flex-start}.mobile-player-strip{flex:0 0 54px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:7px;width:100%;padding:5px 2px 3px;display:grid}.player-chip{background:#ffffff94;border-radius:13px;align-items:center;gap:6px;min-width:0;padding:6px 7px;display:flex}.player-chip:last-child{text-align:right;flex-direction:row-reverse}.player-chip>span:last-of-type{flex-direction:column;gap:1px;min-width:0;display:flex}.player-chip:last-child>span:last-of-type{align-items:flex-end}.player-chip .side-mark{width:24px;height:24px;font-size:12px}.player-chip .player-side-label,.player-chip .ready-badge{display:none}.player-chip strong{text-overflow:ellipsis;white-space:nowrap;max-width:112px;font-size:10px;overflow:hidden}.player-chip small{color:var(--ink-faint);white-space:nowrap;align-items:center;gap:4px;font-size:8px;display:flex}.move-count{color:var(--ink-faint);white-space:nowrap;font-size:9px}.board-stage{flex:auto;place-items:start center;width:100%;min-height:0;padding:2px 0 0;display:grid;position:relative}.board-stage-waiting{padding-top:clamp(28px,5dvh,54px)}.board-playfield{aspect-ratio:1;width:min(100vw - 16px,100dvh - 174px)}.board-playfield>.board-frame{width:100%}.board-frame{border-radius:15px;width:100%;max-width:100%;max-height:none;padding:4px}.board-playfield-xiangqi{aspect-ratio:9/10;width:min(100vw - 16px,90dvh - 156.6px)}.board-playfield-xiangqi>.xiangqi-frame{width:100%}.go-board{border-radius:11px}.xiangqi-frame{border-radius:15px;width:100%;max-width:100%;padding:5px}.board-playfield-junqi{aspect-ratio:5/9.35;width:auto;height:min(100dvh - 174px,187vw - 37.4px)}.board-playfield-junqi>.junqi-frame{width:100%;height:100%}.junqi-frame{border-radius:15px;max-width:100%;height:100%;padding:5px}.opening-overlay{border-radius:18px;grid-template-columns:34px minmax(0,1fr);gap:2px 10px;width:min(278px,78%);padding:11px 12px;top:50%;transform:translate(-50%,-50%)}.opening-emblem{width:34px;height:34px}.opening-overlay strong{font-size:14px}.opening-overlay small{font-size:8px}.opening-action{border-radius:12px;min-height:38px;margin-top:7px}.mobile-status{text-align:center;background:#ffffff8a;border-radius:12px;flex:0 0 38px;justify-content:center;align-items:center;gap:7px;width:100%;margin:2px 0;padding:0 8px;display:flex}.mobile-status>div{flex-direction:column;gap:1px;display:flex}.mobile-status strong{font-size:10px}.mobile-status small{font-size:8px}.mobile-status .turn-stone,.mobile-status .side-mark{width:19px;height:19px;font-size:9px}.action-bar{flex:0 0 48px;gap:6px;width:100%;margin:0;display:flex}.action-bar.no-pass{width:100%}.action-bar button{background:#ffffffad;border:0;border-radius:13px;flex-direction:column;flex:1;gap:2px;min-height:44px;font-size:9px;display:inline-flex}.action-bar svg{width:17px;height:17px}.action-bar .pass-action{color:#fff;background:var(--jade)}.result-overlay{border-radius:20px;width:min(300px,100% - 28px);padding:14px}.result-actions button{flex:1;min-width:0;min-height:38px;padding:0 9px;font-size:10px}.connection-banner{white-space:nowrap;max-width:calc(100% - 24px);top:64px}.modal-backdrop{align-items:end;padding:0}.modal{width:100%;max-height:calc(100dvh - 22px);padding:21px 17px max(20px,env(safe-area-inset-bottom));border-radius:24px 24px 0 0}.modal.wide{height:100dvh;max-height:100dvh;padding:16px 17px max(16px,env(safe-area-inset-bottom));border-radius:0}.modal.chat-modal{height:min(72dvh,620px);max-height:min(72dvh,620px)}.chat-panel.mobile{flex:1;min-height:0}.chat-panel.mobile .chat-composer textarea{font-size:16px}}@media (max-height:650px) and (max-width:760px){.mobile-player-strip{flex-basis:44px}.board-stage-waiting{padding-top:12px}.board-frame,.board-playfield{width:min(100vw - 16px,100dvh - 148px)}.board-playfield-xiangqi{width:min(100vw - 16px,90dvh - 133.2px)}.board-playfield-junqi{width:auto;height:min(100dvh - 148px,187vw - 37.4px)}.mobile-status{flex-basis:34px}.mobile-status small{display:none}.action-bar{flex-basis:44px}.action-bar button{flex-direction:row;min-height:41px}}.more-games-banner{background:linear-gradient(135deg,#007aff14,#af52de0f);border:1px solid #007aff26;border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;min-height:72px;margin-top:14px;padding:13px 16px;display:grid}.more-games-icon{width:42px;height:42px;color:var(--jade);background:#ffffffb8;border-radius:13px;place-items:center;display:grid;box-shadow:0 6px 16px #1f233014}.more-games-banner>span:nth-child(2){flex-direction:column;gap:3px;min-width:0;display:flex}.more-games-banner strong{font-size:14px}.more-games-banner small{color:var(--ink-soft);font-size:10px}.more-games-banner>b{color:var(--jade);white-space:nowrap;background:#007aff1a;border-radius:999px;padding:6px 10px;font-size:9px}@media (max-width:760px){.more-games-banner{border-radius:17px;gap:10px;min-height:64px;margin-top:10px;padding:11px 12px}.more-games-icon{border-radius:11px;width:36px;height:36px}.more-games-banner strong{font-size:12px}.more-games-banner small{text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.more-games-banner>b{padding:5px 8px;font-size:8px}}:root{--paper:#f4f6fa;--paper-strong:#fff;--paper-soft:#edf0f6;--paper-muted:#edf0f6;--ink:#202838;--ink-soft:#697386;--ink-faint:#8b94a5;--jade:#3478f6;--jade-bright:#2369ea;--jade-pale:#eaf1ff;--cinnabar:#e65560;--line:#e7eaf0;--line-strong:#d3dae6;--panel:#fff;--shadow:0 24px 64px #26395914;--shadow-soft:0 6px 24px #26395908;--board-maple:url(/assets/maple-surface.webp);color:var(--ink);background:var(--paper);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,PingFang SC,Microsoft YaHei UI,sans-serif}:root[data-theme=night]{--paper:#131720;--paper-strong:#1e2430;--paper-soft:#282f3e;--paper-muted:#282f3e;--ink:#eef2fa;--ink-soft:#a8b3c7;--ink-faint:#8590a5;--jade:#76a5ff;--jade-bright:#92b7ff;--jade-pale:#283b60;--cinnabar:#ff8590;--line:#303746;--line-strong:#465169;--panel:#1e2430;--shadow:0 24px 64px #0003;--shadow-soft:0 6px 24px #0002;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background:var(--paper);-webkit-font-smoothing:antialiased}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}svg{vertical-align:middle;flex-shrink:0}.content-width{width:min(1264px,100% - 64px)}.primary-button,.opening-action.primary-button,:root[data-theme=night] .primary-button{color:#fff;background:#3478f6;border:0;border-radius:14px;min-height:48px;font-size:14px;font-weight:650;box-shadow:0 5px 14px #3478f621}.primary-button:hover:not(:disabled),.opening-action.primary-button:hover:not(:disabled){background:#2369ea;transform:translateY(-1px);box-shadow:0 8px 20px #3478f630}.secondary-button{border:1px solid var(--line-strong);min-height:48px;color:var(--ink);background:var(--paper-strong);box-shadow:none;border-radius:14px;font-size:14px}.danger-button{border-radius:14px}.icon-button,.account-pill,.connection-pill,.room-code,.room-exit-button{border:1px solid var(--line);color:var(--ink-soft);background:var(--paper-strong);box-shadow:none;border-radius:13px}.icon-button{width:40px;height:40px}.connection-pill{gap:7px;min-height:40px;padding:0 12px;font-size:12px}.connection-icon,.connection-pill .connection-icon{place-items:center;width:19px;height:19px;line-height:0;display:grid}.connection-icon:before{display:none}.connection-icon svg,.connection-pill .connection-icon svg{width:17px;height:17px;display:block;transform:none}.account-pill{max-width:150px;min-height:40px}.account-pill span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-pill.signed-in{color:var(--jade);background:var(--jade-pale);border-color:#0000}.brand{gap:10px}.brand .brand-mark,.brand.compact .brand-mark{background:linear-gradient(145deg,#69a1ff,#3478f6);border:0;border-radius:13px;place-items:center;width:40px;height:40px;display:grid;transform:none;box-shadow:0 4px 10px #3478f61c}.brand .brand-mark:before,.brand .brand-mark:after{display:none}.brand-mark svg{width:34px;height:34px}.brand strong,.brand.compact strong{letter-spacing:.02em;font-family:inherit;font-size:21px;font-weight:750}.brand small{letter-spacing:.12em;margin-top:3px;font-size:9px}.brand.compact .brand-mark{border-radius:11px;width:34px;height:34px}.brand.compact .brand-mark svg{width:29px;height:29px}.brand.compact strong{font-size:17px}.home-page{background:var(--paper);overflow:clip}.home-page:before,.home-page:after{content:none}.site-header{z-index:20;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper-strong) 92%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);width:100%;height:80px;padding:0 max(32px,50vw - 632px);position:sticky;top:0}.home-nav{align-items:center;gap:32px;display:flex}.home-nav a{color:var(--ink-soft);font-size:14px;text-decoration:none;position:relative}.home-nav a.active{color:var(--ink);font-weight:700}.home-nav a.active:after{content:"";background:var(--jade);border-radius:4px;width:20px;height:3px;position:absolute;bottom:-27px;left:50%;transform:translate(-50%)}.home-content{padding-top:28px}.hub-hero{background:#e6effb url(/assets/hub-still-life.webp) 100%/cover no-repeat;border:1px solid #dae5f7;border-radius:28px;min-height:360px;position:relative;overflow:hidden}.hub-hero-copy{z-index:1;width:55%;padding:39px 44px;position:relative}.hub-eyebrow{color:var(--ink-faint);letter-spacing:.04em;align-items:center;gap:7px;font-size:11px;font-weight:650;display:inline-flex}.hub-hero .hub-eyebrow{color:#54729d}.hub-hero .hub-eyebrow>span{background:#3478f6;border-radius:50%;width:6px;height:6px}.hub-hero h1{letter-spacing:-.045em;color:#25334d;margin:13px 0;font-size:48px;font-weight:760;line-height:1.14}.hub-hero-copy>p{color:#64758d;margin:0;font-size:13px;line-height:1.8}.hub-hero-actions{gap:10px;margin-top:23px;display:flex}.hub-hero-actions .secondary-button{background:#ffffffa6;border-color:#fff}.hub-hero-note{color:#657b98;align-items:center;gap:6px;margin-top:16px;font-size:10px;display:flex}.hub-hero-note svg:nth-of-type(2){margin-left:10px}.hub-hero-badge{color:#3a557f;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffb3;border:1px solid #ffffffb3;border-radius:20px;align-items:center;gap:7px;padding:9px 13px;font-size:11px;display:flex;position:absolute;top:22px;right:22px}.hub-games{padding:36px 0;scroll-margin-top:86px}.hub-section-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.hub-section-heading>div{min-width:0}.hub-section-heading h2{letter-spacing:-.035em;align-items:center;gap:10px;margin:5px 0 0;font-size:24px;line-height:1.3;display:flex}.hub-section-heading h2 small{color:var(--ink-faint);background:var(--paper-soft);letter-spacing:0;border-radius:7px;padding:3px 7px;font-size:11px;font-weight:600}.hub-search{border:1px solid var(--line);background:var(--paper-strong);width:220px;height:40px;color:var(--ink-faint);border-radius:12px;align-items:center;gap:9px;padding:0 13px;display:flex}.hub-search input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;padding:0;font-size:12px}.hub-filters{scrollbar-width:none;gap:7px;margin-bottom:19px;display:flex;overflow:auto}.hub-filters button{min-height:36px;color:var(--ink-soft);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:11px;padding:0 17px;font-size:12px}.hub-filters button.selected{color:var(--jade);background:var(--jade-pale);font-weight:700}.hub-game-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.hub-game-card{text-align:left;border:1px solid var(--line);background:var(--paper-strong);border-radius:21px;min-width:0;padding:0;transition:transform .2s,box-shadow .2s;overflow:hidden;box-shadow:0 3px 12px #26395904}.hub-game-card:hover{transform:translateY(-4px);box-shadow:0 14px 28px #26395912}.hub-card-art{background:#edf2fa;height:176px;position:relative;overflow:hidden}.game-artwork{width:100%;height:100%;display:block}.hub-card-art .game-artwork{transition:transform .3s}.hub-game-card:hover .game-artwork{transform:scale(1.035)}.card-go .hub-card-art{background:#eeeae2}.card-gomoku .hub-card-art{background:#e6edfa}.card-xiangqi .hub-card-art{background:#f9eae6}.card-junqi .hub-card-art{background:#e9edf5}.card-word-chain .hub-card-art{background:#eeebfa}.card-2048 .hub-card-art{background:#fff1e4}.card-dice-cup .hub-card-art{background:#e5edff}.hub-card-type{color:#566780;background:#ffffffb3;border:1px solid #ffffff80;border-radius:7px;align-items:center;gap:4px;padding:5px 8px;font-size:9px;display:flex;position:absolute;top:11px;left:11px}.hub-card-info{justify-content:space-between;align-items:center;gap:8px;padding:17px 17px 18px;display:flex}.hub-card-info>span{flex-direction:column;gap:5px;min-width:0;display:flex}.hub-card-info strong{letter-spacing:-.02em;font-size:17px}.hub-card-info small{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-faint);font-size:10px;overflow:hidden}.hub-card-info i{width:31px;height:31px;color:var(--jade);background:var(--jade-pale);border-radius:50%;flex-shrink:0;place-items:center;font-style:normal;display:grid}.hub-no-games{text-align:center;color:var(--ink-faint);padding:50px}.hub-bottom-grid{grid-template-columns:1.2fr 1fr;gap:22px;padding-bottom:30px;display:grid}.hub-social,.hub-recent{border:1px solid var(--line);background:var(--paper-strong);border-radius:23px;min-width:0;padding:25px;scroll-margin-top:100px}.hub-bottom-grid h2{font-size:21px}.hub-bottom-grid .hub-eyebrow{font-size:10px}.hub-text-button{color:var(--jade);background:0 0;border:0;align-items:center;gap:3px;padding:8px 0;font-size:12px;display:flex}.hub-social-label{color:var(--ink-soft);align-items:center;gap:7px;font-size:11px;display:flex}.hub-social-label>span{color:var(--ink-faint);margin-left:auto;font-size:10px}.hub-social-label.nearby{border-top:1px solid var(--line);margin-top:21px;padding-top:18px}.hub-friend-list{gap:5px;margin-top:9px;display:grid}.hub-friend{grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;min-width:0;padding:9px 0;display:grid}.hub-avatar{color:#6581ac;background:#eaf0fb;border-radius:14px;place-items:center;width:40px;height:40px;font-size:18px;font-weight:700;display:grid;position:relative}.hub-avatar>i{border:2px solid var(--paper-strong);background:#bbc2cc;border-radius:50%;width:10px;height:10px;position:absolute;bottom:-1px;right:-2px}.hub-avatar>i.online{background:#39bf83}.hub-friend>span:nth-child(2){flex-direction:column;gap:3px;min-width:0;display:flex}.hub-friend strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.hub-friend small{color:var(--ink-faint);font-size:10px}.hub-friend button,.hub-empty button{min-height:32px;color:var(--jade);background:var(--jade-pale);border:0;border-radius:10px;justify-content:center;align-items:center;gap:4px;padding:0 13px;font-size:11px;font-weight:650;display:inline-flex}.hub-friend button:disabled{color:var(--ink-faint);background:var(--paper-soft)}.hub-empty{min-height:100px;color:var(--ink-faint);align-items:center;gap:12px;display:flex}.hub-empty>span{color:var(--ink-soft);flex-direction:column;flex:1;gap:6px;font-size:12px;display:flex}.hub-empty small{color:var(--ink-faint);font-size:10px;line-height:1.6}.hub-nearby-empty{color:var(--ink-faint);margin:15px 0 4px;font-size:12px}.hub-recent-list{gap:6px;display:grid}.hub-recent-list button{text-align:left;background:0 0;border:0;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:13px;width:100%;min-width:0;padding:7px 0;display:grid}.hub-recent-art{background:var(--paper-soft);border-radius:10px;width:58px;height:49px;overflow:hidden}.hub-recent-list button>span:nth-child(2){flex-direction:column;gap:4px;min-width:0;display:flex}.hub-recent-list strong{font-size:13px}.hub-recent-list small{color:var(--ink-faint);font-size:10px}.hub-recent-list svg:last-child{color:var(--ink-faint)}.hub-install{background:var(--paper);text-align:left;width:100%;color:var(--ink-soft);border:0;border-radius:15px;align-items:center;gap:12px;margin-top:20px;padding:14px;display:flex}.hub-install-icon{background:var(--paper-strong);width:36px;height:36px;color:var(--jade);border-radius:11px;place-items:center;display:grid}.hub-install>span:nth-child(2){flex-direction:column;flex:1;gap:4px;display:flex}.hub-install strong{font-size:12px}.hub-install small{color:var(--ink-faint);font-size:10px}.site-footer{border-top:1px solid var(--line);min-height:95px;color:var(--ink-faint);align-items:center;gap:20px;font-size:11px;display:flex}.site-footer>span:last-child{margin-left:auto}.site-footer .brand{opacity:.75}.room-page{background:var(--paper);flex-direction:column;height:100dvh;min-height:0;display:flex;overflow:hidden}.room-header{background:var(--paper-strong);border-bottom:1px solid var(--line);-webkit-backdrop-filter:none;backdrop-filter:none;flex:0 0 68px;grid-template-columns:1fr auto 1fr;gap:15px;min-height:68px;padding:0 25px}.room-header-left{gap:16px}.room-exit-button{gap:4px;min-height:38px;padding:0 11px;font-size:12px}.room-header-actions{gap:8px}.room-code{border-radius:11px;gap:10px;height:37px;padding:0 12px}.room-code strong{letter-spacing:.12em;font-size:13px}.room-code span{font-size:11px}.room-code svg{color:var(--jade)}.mobile-room-title{display:none}.game-layout{flex:1;grid-template-columns:minmax(0,1fr) 300px;gap:30px;width:min(1450px,100%);min-height:0;margin:0 auto;padding:20px 32px;display:grid}.board-column{flex-direction:column;justify-content:flex-start;align-items:center;gap:0;width:100%;min-width:0;max-width:none;min-height:0;display:flex}.desktop-game-header,.board-column-junqi .desktop-game-header{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;width:100%;max-width:880px;min-height:80px;margin:0;padding:0;display:grid}.desktop-player-banner,.desktop-player-banner.white{border:1px solid var(--line);background:var(--paper-strong);text-align:left;min-width:0;min-height:62px;box-shadow:none;border-radius:15px;grid-template-columns:36px minmax(0,1fr) 18px;gap:10px;padding:9px 12px;display:grid}.desktop-player-banner.white{text-align:right;grid-template-columns:18px minmax(0,1fr) 36px}.desktop-player-banner .side-mark{width:36px;height:36px}.desktop-player-banner.active{border-color:color-mix(in srgb,var(--jade) 38%,var(--line));box-shadow:0 0 0 3px var(--jade-pale)}.desktop-player-copy{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.desktop-player-copy em{color:var(--ink-faint);font-family:inherit;font-size:9px;font-style:normal}.desktop-player-copy strong{width:100%;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:5px;font-size:13px;line-height:1.3;display:flex;overflow:hidden}.desktop-player-banner.white .desktop-player-copy strong{justify-content:flex-end}.desktop-player-copy strong i,.player-me{color:var(--jade);background:var(--jade-pale);border-radius:5px;padding:2px 4px;font:600 8px/1.2 system-ui}.desktop-player-copy small{color:var(--ink-faint);align-items:center;gap:5px;font-size:9px;line-height:1.4;display:flex}.desktop-player-copy small b{width:6px;height:6px;box-shadow:none;background:#b8bfcb;border-radius:50%}.desktop-player-copy small b.online{background:#39bf83}.desktop-ready-mark,.desktop-ready-mark.ready{width:19px;height:19px;color:var(--ink-faint);background:var(--paper-soft);box-shadow:none;border:0;border-radius:6px;place-items:center;font:700 11px/1 system-ui;display:grid}.desktop-ready-mark.ready{color:var(--jade);background:var(--jade-pale)}.game-identity,.board-column-junqi .game-identity{text-align:center;border:0;min-width:180px;padding:0 8px}.game-identity:before,.game-identity:after{content:none}.game-identity>span{color:var(--ink-faint);letter-spacing:.04em;font:500 10px/1.4 inherit}.game-identity h1,.board-column-junqi .game-identity h1{letter-spacing:-.035em;color:var(--ink);text-shadow:none;margin:4px 0;font:750 23px/1.2 -apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,sans-serif}.game-identity small{color:var(--ink-faint);letter-spacing:0;font-size:9px}.desktop-turn-status{background:0 0;border:0;justify-content:center;align-items:center;gap:7px;min-height:33px;margin:0;padding:0;display:flex}.desktop-turn-status .turn-stone,.desktop-turn-status .side-mark{width:18px;height:18px}.desktop-turn-status>div{align-items:center;gap:9px;display:flex}.desktop-turn-status strong{color:var(--ink-soft);font-size:11px}.desktop-turn-status small{color:var(--ink-faint);font-size:10px}.board-stage,.board-stage-waiting,.board-stage-playing{flex:1;place-items:center;width:100%;min-height:0;padding:10px 0;display:grid}.board-playfield{aspect-ratio:1;place-items:center;width:min(100%,100dvh - 258px);height:auto;max-height:none;display:grid;position:relative}.board-playfield-xiangqi{aspect-ratio:9/10;width:min(100%,90dvh - 229.5px)}.board-playfield-junqi{aspect-ratio:5/9.35;width:auto;height:min(100dvh - 255px,850px)}.board-frame,.board-playfield>.board-frame{background:#d0c2aa;border:1px solid #bcac92;border-radius:17px;width:100%;max-width:none;height:100%;max-height:none;padding:5px;box-shadow:0 15px 35px #26395918,0 3px #b5a58a}.go-board{border-radius:12px}.board-canvas-stack{background:#eee1c7;border:1px solid #fff7;border-radius:12px}.board-playfield>.xiangqi-frame{width:100%;max-width:none;height:100%}.xiangqi-frame{background:linear-gradient(145deg,#e5dccb,#bbad91);border:1px solid #c5b89e;border-radius:19px;padding:7px;box-shadow:0 18px 40px #26395918,0 3px #af9e80}.xiangqi-board{background:#eee1c7 var(--board-maple) center/cover;border:1px solid #c7b999;border-radius:12px;box-shadow:inset 0 1px 3px #fff7}.xiangqi-board:before{content:none}.xiangqi-grid-art{color:#8f7c59;width:100%;height:100%;position:absolute;inset:0}.xiangqi-river{color:#8f7c59;letter-spacing:.2em;background:0 0;border:0;height:10%;font-family:STKaiti,KaiTi,serif;font-size:clamp(16px,2vw,25px);font-weight:500;top:45%;left:6%;right:6%}.xiangqi-board-title{display:none}.xiangqi-point{background:0 0;border:0;width:9.9%}.xiangqi-point b{width:100%;height:100%;text-shadow:none;background:0 0;border:0;border-radius:50%;display:block;box-shadow:0 4px 6px #3f33252b}.xiangqi-point b:after{content:none}.chess-disc{width:100%;height:100%;display:block;overflow:visible}.xiangqi-point.selected b{background:0 0;transform:translateY(-8px)scale(1.07);box-shadow:0 10px 15px #2c426330,0 0 0 3px #6da0fa}.xiangqi-point.last:after{background:#3478f6;border:2px solid #fff;width:16%;height:16%;inset:-2% -2% auto auto;box-shadow:0 1px 3px #0002}.xiangqi-point.legal:before{background:#3478f61a;border-color:#3478f6}.legal-dot{background:#3478f6;width:21%;height:21%;box-shadow:0 0 0 5px #3478f61c}.side-mark.xiangqi{box-shadow:none;background:0 0;border:0}.side-mark.xiangqi:after{content:none}.side-mark.go.black,.side-mark.gomoku.black{background:radial-gradient(circle at 32% 25%,#647082,#222b3a 47%,#101522)}.side-mark.go.white,.side-mark.gomoku.white{background:radial-gradient(circle at 32% 25%,#fff,#f0f1f4 58%,#c8cdd5);border-color:#d4d8df}.side-mark.junqi.black{color:#fff;background:#3d639c;border-color:#4f79b4}.side-mark.junqi.white{color:#fff;background:#b65c66;border-color:#ce7c84}.junqi-frame{background:linear-gradient(140deg,#d6dfed,#aabace);border:1px solid #b4c1d3;border-radius:19px;width:100%;max-width:none;height:100%;padding:7px;box-shadow:0 18px 40px #26395918,0 3px #9baec6}.junqi-board{box-shadow:none;background:#ecf0f6;border:1px solid #c0cad8;border-radius:12px;grid-template-rows:repeat(6,minmax(0,1fr)) 24px repeat(6,minmax(0,1fr))}.junqi-board:before{box-shadow:none;background-image:linear-gradient(#a9b5c744 1px,#0000 1px),linear-gradient(90deg,#a9b5c744 1px,#0000 1px)}.junqi-board:after,.junqi-watermark{display:none}.junqi-frontier{color:#8a9ab2;letter-spacing:.15em;height:22px;font:650 10px/1 system-ui;top:50%;left:6%;right:6%;transform:translateY(-50%)}.junqi-frontier i{background:#b7c4d7}.junqi-cell,.board-playfield-junqi .junqi-cell{padding:2px}.junqi-cell b,.board-playfield-junqi .junqi-cell b{background:linear-gradient(145deg,#fff,#f1f3f9);border:1px solid;border-radius:7px;width:95%;height:85%;min-height:0;box-shadow:0 3px #bfc9da,0 4px 6px #243b5f14}.junqi-cell b:before{opacity:.18;border-radius:4px;inset:3px}.junqi-cell b.blue{color:#36629d}.junqi-cell b.red{color:#b95764}.junqi-cell b em,.board-playfield-junqi .junqi-cell b em{letter-spacing:0;font:750 clamp(10px,1.4vw,18px)/1.2 -apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,sans-serif}.junqi-cell b small,.board-playfield-junqi .junqi-cell b small{opacity:.5;margin-top:2px;font-size:7px}.junqi-cell b.hidden{background:linear-gradient(145deg,#6988b8,#3d5e91);border-color:#4b6b9e;box-shadow:0 3px #2c4975,0 4px 6px #243b5f14}.junqi-cell b.hidden:after{content:"★";color:#ecf3ff;opacity:.8;font:700 23px/1 system-ui}.junqi-cell.is-camp:before{background:#e1e8f3;border-color:#adbdd5}.junqi-cell.is-hq:before{background:#dce4f1;border-color:#adbdd5}.junqi-site-mark{color:#98a8c0;font-family:inherit}.junqi-cell.selected b{transform:translateY(-5px)scale(1.04);box-shadow:0 9px 13px #26395926,0 0 0 2px #3478f6}.junqi-setup-panel{width:max-content;max-width:90%;top:50%}.junqi-setup-panel>button,.board-playfield-junqi .junqi-setup-panel>button,.junqi-setup-panel.is-locked>button{color:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;background:#3478f6;border:1px solid #fff;border-radius:11px;flex-direction:row;gap:7px;min-width:132px;min-height:34px;padding:6px 14px;animation:none;display:flex;box-shadow:0 4px 12px #3478f62e}.junqi-ready-emblem{background:0 0;border:0;width:19px;height:19px;font:700 12px/1 system-ui}.junqi-setup-panel strong{font:650 12px/1 system-ui}.junqi-setup-panel small,.junqi-setup-panel p{display:none}.junqi-setup-panel.is-locked>button{color:#3478f6;background:#eaf1ff;border-color:#9cbefa}.opening-overlay,.opening-overlay.both-seated,.opening-overlay.is-ready{text-align:left;width:min(292px,82%);color:var(--ink);background:color-mix(in srgb,var(--paper-strong) 96%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #ffffffd9;border-radius:22px;grid-template-columns:36px minmax(0,1fr);gap:3px 10px;padding:16px;animation:.2s ease-out opening-panel-in;display:grid;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 38px #26395926}.opening-emblem{width:36px;height:36px;color:var(--jade);background:var(--jade-pale);box-shadow:none;border:0;border-radius:12px;grid-row:1/3}.opening-overlay strong{color:var(--ink);letter-spacing:-.02em;margin:0;font:700 14px/1.4 -apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,sans-serif}.opening-overlay small{white-space:normal;color:var(--ink-faint);font-size:10px;line-height:1.5;overflow:visible}.opening-action{border-radius:12px;grid-column:1/-1;width:100%;min-height:42px;margin-top:10px;font-size:13px}.opening-action.is-ready{color:var(--jade);background:var(--jade-pale)}.opening-overlay.is-ready .opening-emblem{animation:.3s ease-out ready-confirm}@keyframes ready-confirm{50%{transform:scale(1.16)}}.action-bar,.action-bar.no-pass{flex:0 0 47px;gap:9px;width:min(470px,100%);margin:6px 0 0;display:flex}.action-bar button{border:1px solid var(--line);min-height:43px;color:var(--ink-soft);background:var(--paper-strong);box-shadow:none;border-radius:13px;font-size:12px}.action-bar .pass-action{color:#fff;background:#3478f6}.action-bar svg{width:17px;height:17px}.game-sidebar{flex-direction:column;gap:16px;padding:0 0 3px;display:flex;overflow:auto}.room-control-panel{border:1px solid var(--line);background:var(--paper-strong);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:18px;flex-shrink:0}.console-kicker{border-bottom:1px solid var(--line);color:var(--ink-faint);padding:15px 17px;font-size:11px}.console-kicker strong{color:var(--ink-soft)}.console-kicker i{background:#9cb6e7}.game-facts{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0 0 18px 18px;padding:16px 4px}.game-facts strong{color:var(--ink);font-size:11px}.game-facts span{font-size:10px}.chat-panel{border:1px solid var(--line);background:var(--paper-strong);min-height:230px;max-height:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:18px;flex:1}.chat-panel-heading{min-height:49px;padding:0 16px}.chat-panel-heading strong{font-size:12px}.chat-empty{color:var(--ink-faint)}.chat-empty strong{color:var(--ink-soft)}.chat-composer{padding:11px}.chat-composer textarea{border:1px solid var(--line);background:var(--paper);border-radius:12px;font-size:12px}.chat-composer button{box-shadow:none;background:#3478f6;border-radius:12px}.invite-side-button{border:1px solid var(--line);background:var(--paper-strong);min-height:66px;color:var(--jade);box-shadow:none;border-radius:17px;flex-shrink:0;padding:13px 16px}.invite-side-button strong{font-size:12px}.invite-side-button small{color:var(--ink-faint);font-size:10px}.mobile-player-strip,.mobile-status{display:none}.desktop-player-copy strong,.desktop-turn-status strong{font-family:inherit;font-weight:650}.placement-hint{color:#fff;background:#304466ef;border:1px solid #fff9;border-radius:10px;padding:6px 11px;font-size:10px;top:8px;box-shadow:0 4px 12px #26395926}.placement-hint.is-submitting{background:#3478f6}.chat-heading{flex-basis:49px;padding:0 16px}.chat-heading strong{font-size:12px}.chat-heading small{font-size:9px}.chat-messages{gap:12px;padding:14px}.chat-message strong{font-size:10px}.chat-message time{font-size:9px}.chat-message p{border-radius:13px;padding:9px 12px;font-size:12px}.chat-message.mine p{border-radius:13px 4px 13px 13px}.chat-composer{grid-template-columns:minmax(0,1fr) 39px}.chat-composer textarea{height:39px;min-height:39px}.chat-composer button{width:39px;height:39px}.chat-empty strong{font-size:13px}.chat-empty small{font-size:10px}@keyframes hub-arrive{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}.hub-hero-copy,.hub-game-card{animation:.35s ease-out both hub-arrive}.hub-game-card:nth-child(2n){animation-delay:40ms}.hub-game-card:nth-child(3n){animation-delay:80ms}.result-overlay{border:1px solid var(--line);background:var(--paper-strong);border-radius:24px;width:min(380px,90%);padding:25px;box-shadow:0 14px 40px #26395924}.result-seal{background:var(--jade-pale);width:42px;height:42px;color:var(--jade);border:0;border-radius:14px;font:700 21px system-ui}.result-overlay h2{font-family:inherit;font-size:24px}.result-overlay p{color:var(--ink-faint);font-size:12px}.result-actions{gap:9px;display:flex}.result-actions button{white-space:nowrap;flex:1;min-width:0;font-size:12px}.modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#17233d66}.modal{border:1px solid var(--line);background:var(--paper-strong);width:min(490px,100%);box-shadow:var(--shadow);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:25px;padding:27px}.modal.wide{width:min(850px,100%)}.modal-top{margin-bottom:23px}.modal-top h2{color:var(--ink);letter-spacing:-.025em;font:740 23px/1.3 -apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei UI,sans-serif}.modal-top p,.field>span,.choice-field legend{font-size:12px}.input-wrap{border:1px solid var(--line);background:var(--paper);border-radius:13px;height:50px}.input-wrap input{font-size:14px}.game-kind-options button{border:1px solid var(--line);background:var(--paper);min-height:46px;color:var(--ink-soft);border-radius:12px}.segmented button,.seat-options button{border:1px solid var(--line);background:var(--paper);border-radius:12px;min-height:50px}.game-kind-options button.selected,.segmented button.selected,.seat-options button.selected{color:var(--jade);border-color:color-mix(in srgb,var(--jade) 40%,var(--line));background:var(--jade-pale);box-shadow:none}.junqi-mode-options button{border-radius:13px;min-height:78px}.qr-card{border-color:var(--line);background:#fff;border-radius:19px}.qr-card>div{color:#26344a}.invite-link{border-color:var(--line);background:var(--paper);border-radius:12px;height:46px}.invite-link>span{font-size:11px}.friend-identity,.friend-row{border-color:var(--line);background:var(--paper);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:14px}.friend-avatar{color:#fff;background:#3478f6;font-family:inherit}.friend-identity strong,.friend-row strong{font-size:13px}.friend-identity small,.friend-row small{font-size:11px}.friend-search button,.friend-row button{border-radius:11px}.account-form{gap:17px}.account-mode-switch{border-radius:12px;padding:4px}.account-mode-switch button{border-radius:9px;min-height:37px}.setting-row{min-height:76px}.setting-row strong{font-size:13px}.setting-row small{font-size:11px;line-height:1.5}.switch{background:#d5dce7;width:46px;height:27px}.switch i{background:#fff;width:21px;height:21px}.switch.on{background:#3478f6}.switch.on i{transform:translate(19px)}.toast{color:#fff;background:#28334bef;border-radius:15px;padding:12px 18px;font-size:13px}.account-gate{background:var(--paper);padding:28px 32px}.account-gate-landscape{opacity:1;background:url(/assets/hub-still-life.webp) 50%/cover}.account-gate-landscape:after{content:"";background:linear-gradient(90deg,#f4f6faf0,#f4f6fa33);position:absolute;inset:0}.account-gate-card{background:color-mix(in srgb,var(--paper-strong) 96%,transparent);width:min(475px,100%);box-shadow:var(--shadow);-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid #fff;border-radius:28px;align-self:flex-start;margin:auto auto auto max(0px,50vw - 632px);padding:40px}.account-gate-card h1{letter-spacing:-.04em;font-family:inherit;font-weight:750}.account-gate-card>p:not(.eyebrow){font-size:13px}.account-gate-seal{color:#fff;background:#3478f6;border:0;border-radius:17px;width:52px;height:52px;box-shadow:0 6px 18px #3478f62e}.account-gate-card>div{flex-wrap:wrap;justify-content:center;gap:10px;font-size:10px}.game2048-page,.dicecup-page{color:var(--ink);background:var(--paper)}.game2048-header,.dicecup-header{border-bottom:1px solid var(--line);background:var(--paper-strong);-webkit-backdrop-filter:none;backdrop-filter:none;height:68px;padding:0 max(24px,50vw - 632px)}.game2048-header button,.dicecup-header button{min-height:39px;color:var(--ink-soft);border:1px solid var(--line);background:var(--paper);border-radius:12px}.game2048-brand strong,.dicecup-brand strong{font-size:15px}.game2048-shell{padding-top:28px}.game2048-intro h1{font-size:45px}.game2048-intro p{color:var(--ink-soft);font-size:13px}.game2048-scores>span{border:1px solid var(--line);background:var(--paper-strong);min-width:120px;box-shadow:none;border-radius:17px}.game2048-scores small{color:var(--ink-faint);font-size:11px}.game2048-scores strong{color:var(--ink)}.game2048-board{background:#c5cfe0;border-radius:25px;grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:repeat(4,minmax(0,1fr));box-shadow:0 16px 38px #26395914}.game2048-cell{background:#e1e7ef;min-height:0}.game2048-cell.value-2{color:#50617f;background:#f7f9ff}.game2048-cell.value-4{color:#3566b4;background:#dbe9ff}.game2048-cell.value-8{color:#fff;background:#7ba9f1}.game2048-cell.value-16{color:#fff;background:#507fe0}.game2048-cell.value-32{background:#8274df}.game2048-cell.value-64{background:#a870cd}.game2048-cell.value-128{background:#d784a8}.game2048-cell.value-256{background:#e68381}.game2048-cell.value-512{background:#eb995d}.game2048-actions button{border-color:var(--line);background:var(--paper-strong);color:var(--ink-soft);box-shadow:none;border-radius:15px}.game2048-actions strong{font-size:12px}.game2048-actions small{font-size:10px}.game2048-tip{font-size:11px}.game2048-result{color:var(--ink);background:color-mix(in srgb,var(--paper-strong) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dicecup-shell{grid-template-columns:minmax(180px,.7fr) minmax(340px,1.3fr) minmax(230px,.8fr);gap:26px}.dicecup-brand i{color:#fff;box-shadow:none;background:#5082ed;border:0}.dicecup-copy>span,.dicecup-copy h1 em{color:var(--jade)}.dicecup-copy h1{font-size:46px}.dicecup-copy p{color:var(--ink-soft);font-size:13px;line-height:1.8}.dicecup-table{filter:drop-shadow(0 15px 18px #2639590c);background:radial-gradient(circle at 50% 45%,#e4ebf8 0 45%,#c7d7ed 46% 50%,#0000 51%)}.dicecup-table:after{display:none}.dicecup-lid{color:#fff;background:linear-gradient(110deg,#89b0f8,#5387e3 45%,#3566bb);border:1px solid #8db0f4;box-shadow:inset 8px 2px 20px #ffffff25,0 20px 26px #244d922e}.dicecup-lid>span{box-shadow:none;background:linear-gradient(#80a9ef,#5c8bdf);border:1px solid #afc9f9}.dicecup-lid>i{background:#3b68b1;border-color:#91b4f2;box-shadow:0 5px 8px #294a8526}.dicecup-lid small{color:#e2ecff;font-size:11px}.dicecup-lock{background:var(--paper-strong);border-color:var(--line);color:var(--ink-soft);-webkit-backdrop-filter:none;backdrop-filter:none;font-size:11px;box-shadow:0 4px 12px #2639590a}.dicecup-lock.locked{color:#3478f6;box-shadow:none;background:#eaf1ff;border-color:#c6d9fc}.dicecup-shake,.dicecup-shake.is-locked{color:#fff;background:#3478f6;border:0;box-shadow:0 5px 16px #3478f621}.dicecup-open{color:var(--jade);border:1px solid var(--line-strong);background:var(--paper-strong)}.party-die{background:#fff;border:2px solid #fff;padding:6%;box-shadow:inset 0 1px 2px #fff,0 5px #c5cede,0 9px 14px #26395926}.party-die i{width:89%;box-shadow:none;background:#1b2d50}.dicecup-panel{color:var(--ink);background:var(--paper-strong);border:1px solid var(--line);box-shadow:none;border-radius:22px}.dicecup-panel-heading{border-color:var(--line)}.dicecup-panel-heading>span{font-size:13px}.dicecup-panel-heading small{color:var(--ink-faint);font-size:9px}.dicecup-panel>label{color:var(--ink-soft);font-size:12px}.dicecup-panel>label strong{color:var(--jade);font-size:12px}.dicecup-count button{background:var(--paper);min-height:38px;color:var(--ink-soft);border:1px solid var(--line)}.dicecup-count button.selected{color:#fff;box-shadow:none;background:#3478f6;border-color:#3478f6}.dicecup-motion{color:var(--ink-soft);background:var(--paper);border:1px solid var(--line)}.dicecup-motion.enabled{color:var(--jade);background:var(--jade-pale);border-color:var(--line)}.dicecup-motion strong{font-size:12px}.dicecup-motion small{color:var(--ink-faint);font-size:10px}.dicecup-history h2{font-size:13px}.dicecup-history>div{border-color:var(--line);min-height:32px;font-size:11px}.dicecup-history>div span,.dicecup-history>p,.dicecup-responsible{color:var(--ink-faint);font-size:10px}.dicecup-history>div b{color:var(--ink-soft)}.dicecup-history>div strong{color:var(--jade)}.dicecup-responsible{border-color:var(--line)}.board-playfield-word-chain{aspect-ratio:auto;width:min(100%,760px);height:auto}.word-chain-board{border:1px solid var(--line);background:var(--paper-strong);border-radius:24px;gap:17px;min-height:0;padding:25px;box-shadow:0 12px 34px #2639590a}.word-chain-current{min-height:190px;box-shadow:none;background:#f0f2fc;border-radius:20px;padding:23px}.word-chain-current>span{font-size:11px}.word-chain-current>strong{color:#36425d;letter-spacing:.03em;font-size:clamp(30px,4vw,52px)}.word-chain-current>div{flex-wrap:wrap}.word-chain-current b{box-shadow:none;background:#6e87dc;border-radius:12px}.word-chain-current em{color:#6e87dc}.word-chain-score{border:1px solid var(--line);background:var(--paper);box-shadow:none;border-radius:14px}.word-chain-score.active{color:var(--jade);background:var(--jade-pale);box-shadow:none}.word-chain-score strong{font-size:29px}.word-chain-history{flex-wrap:nowrap;justify-content:flex-start;min-width:0;overflow:auto}.word-chain-history>span{flex:none;max-width:80%}.word-chain-history b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.word-chain-input-box{border-color:var(--line-strong);background:var(--paper-strong);box-shadow:none}.word-chain-input-box>b{background:#6e87dc}.word-chain-submit{box-shadow:none;background:#3478f6}.word-chain-skip{color:var(--ink-soft);background:var(--paper);border-color:var(--line)}.word-chain-rule{color:var(--ink-faint);font-size:10px}:root[data-theme=night] .site-header,:root[data-theme=night] .room-header,:root[data-theme=night] .modal,:root[data-theme=night] .room-control-panel,:root[data-theme=night] .chat-panel,:root[data-theme=night] .desktop-player-banner,:root[data-theme=night] .desktop-player-banner.white,:root[data-theme=night] .opening-overlay,:root[data-theme=night] .opening-overlay.both-seated,:root[data-theme=night] .opening-overlay.is-ready{background:var(--paper-strong);border-color:var(--line)}:root[data-theme=night] .icon-button,:root[data-theme=night] .account-pill,:root[data-theme=night] .connection-pill,:root[data-theme=night] .room-code,:root[data-theme=night] .room-exit-button,:root[data-theme=night] .action-bar button{background:var(--paper-strong)}:root[data-theme=night] .hub-hero{border-color:var(--line);background-blend-mode:soft-light;background-color:#253146}.hub-hero-copy{isolation:isolate}:root[data-theme=night] .hub-hero h1{color:#f0f5ff}:root[data-theme=night] .hub-hero p,:root[data-theme=night] .hub-hero .hub-eyebrow,:root[data-theme=night] .hub-hero-note{color:#bdcce5}:root[data-theme=night] .hub-hero-actions .secondary-button{color:#263c5e;background:#e9f0ff}:root[data-theme=night] .hub-card-art{filter:brightness(.82)}:root[data-theme=night] .word-chain-board{background:var(--paper-strong)}:root[data-theme=night] .word-chain-current>strong,:root[data-theme=night] .word-chain-input-box input{color:var(--ink)}:root[data-theme=night] .account-gate-landscape{opacity:.25}@media (min-width:1500px){.hub-game-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:1100px) and (min-width:761px){.home-nav{gap:18px}.home-nav a{font-size:12px}.site-header{padding:0 24px}.hub-game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hub-card-art{height:163px}.hub-hero-copy{width:60%;padding:35px}.game-layout{grid-template-columns:minmax(0,1fr) 250px;gap:20px;padding:15px 20px}.desktop-game-header{gap:8px}.game-identity{min-width:140px;padding:0}.game-identity h1{font-size:19px}.game-identity small{font-size:8px}.desktop-player-banner,.desktop-player-banner.white{gap:5px;padding:8px}.desktop-player-copy strong{font-size:11px}.desktop-player-copy small{font-size:8px}.dicecup-shell{grid-template-columns:minmax(0,1fr) 260px}.dicecup-copy{grid-column:1}.dicecup-stage{grid-area:2/1}.dicecup-panel{grid-area:1/2/3}}@media (max-width:760px){html{scroll-padding-top:82px}.content-width{width:calc(100% - 32px)}.site-header{height:65px;padding:0 16px}.site-header .brand .brand-mark{border-radius:11px;width:34px;height:34px}.site-header .brand .brand-mark svg{width:29px;height:29px}.site-header .brand strong{font-size:20px}.site-header .brand small,.home-nav{display:none}.header-actions{gap:6px}.site-header .icon-button,.site-header .account-pill,.site-header .connection-pill{background:var(--paper-soft);border-color:#0000;border-radius:11px;flex-basis:34px;place-items:center;min-width:34px;min-height:34px;padding:0;display:grid;width:34px!important;height:34px!important}.site-header .account-pill{color:var(--jade);background:var(--jade-pale)}.site-header .connection-text,.site-header .account-pill span{display:none}.home-content{padding-top:17px}.hub-hero{background-position:61%;border-radius:23px;min-height:330px}.hub-hero:before{content:"";background:linear-gradient(90deg,#e6effbf2 0%,#e6effbb3 34%,#e6effb00 70%);position:absolute;inset:0}.hub-hero-copy{width:100%;padding:25px 23px}.hub-hero h1{letter-spacing:-.045em;margin:12px 0;font-size:34px;line-height:1.16}.hub-hero-copy>p{max-width:190px;font-size:11px;line-height:1.8}.hub-hero .hub-eyebrow{font-size:9px}.hub-hero-actions{gap:8px;margin-top:20px}.hub-hero-actions button{border-radius:12px;min-height:42px;padding:0 13px;font-size:12px}.hub-hero-note{margin-top:13px;font-size:9px}.hub-hero-badge{padding:5px 8px;font-size:8px;top:auto;bottom:18px;right:14px}.hub-hero-badge svg{width:12px;height:12px}.hub-games{padding:25px 0}.hub-section-heading{gap:9px;margin-bottom:15px}.hub-section-heading h2{margin-top:4px;font-size:22px}.hub-section-heading .hub-eyebrow{font-size:9px}.hub-search{border-radius:10px;gap:6px;width:137px;height:35px;padding:0 10px}.hub-search input{font-size:11px}.hub-search svg{width:15px;height:15px}.hub-filters{gap:4px;margin-bottom:15px}.hub-filters button{border-radius:10px;min-height:34px;padding:0 12px;font-size:11px}.hub-game-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hub-game-card{border-radius:17px}.hub-card-art{aspect-ratio:1.48;height:auto}.hub-card-type{border-radius:5px;padding:4px 5px;font-size:8px;top:8px;left:8px}.hub-card-type svg{width:10px;height:10px}.hub-card-info{gap:4px;padding:12px 11px}.hub-card-info strong{font-size:15px}.hub-card-info small{max-width:120px;font-size:9px}.hub-card-info i{width:25px;height:25px}.hub-card-info i svg{width:15px;height:15px}.hub-bottom-grid{grid-template-columns:1fr;gap:16px;padding-bottom:8px}.hub-social,.hub-recent{border-radius:20px;padding:19px}.hub-bottom-grid h2{font-size:20px}.hub-empty{gap:10px;min-height:100px}.hub-empty>span{font-size:11px}.hub-empty small{font-size:9px}.hub-empty button{padding:0 9px;font-size:10px}.hub-text-button{font-size:11px}.hub-social-label>span{font-size:9px}.hub-nearby-empty{font-size:11px}.site-footer{flex-wrap:wrap;gap:12px;min-height:90px;font-size:9px}.site-footer>span:last-child{display:none}.site-footer .brand.compact strong{font-size:16px}.room-page{--board-space:calc(100dvh - 250px);height:100dvh;min-height:0}.room-page:has(.opening-overlay){--board-space:calc(100dvh - 165px)}.room-header{flex-basis:62px;grid-template-columns:36px minmax(0,1fr) auto;gap:9px;min-height:62px;padding:0 12px}.room-header-left{display:block}.room-header-left .brand,.room-exit-button>span{display:none}.room-exit-button{border-radius:11px;place-items:center;width:36px;height:36px;min-height:36px;padding:0;display:grid}.room-header-center{justify-content:flex-start;gap:9px;min-width:0;display:flex}.mobile-room-title{flex-direction:column;gap:3px;min-width:0;display:flex}.mobile-room-title strong{text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:14px;line-height:1.1;overflow:hidden}.mobile-room-title small{color:var(--ink-faint);font-size:9px}.room-code{background:var(--paper-soft);border:0;border-radius:8px;flex:none;gap:5px;height:30px;min-height:30px;padding:0 7px}.room-code span{display:none}.room-code strong{letter-spacing:.07em;font-size:10px}.room-code svg{width:12px;height:12px}.room-header-actions{gap:5px}.room-header-actions .connection-pill,.room-header-actions .icon-button{background:var(--paper-soft);width:33px;height:33px;min-height:33px;box-shadow:none;border:0;border-radius:11px;place-items:center;padding:0;display:grid}.room-header-actions .connection-pill{min-width:33px;font-size:0}.room-header-actions .connection-text{display:none}.mobile-chat-button{display:grid}.game-layout{flex:1;width:100%;height:auto;min-height:0;padding:0 12px;display:block}.game-sidebar,.desktop-game-header,.desktop-turn-status{display:none}.board-column{height:100%;padding:0 0 max(8px,env(safe-area-inset-bottom))}.mobile-player-strip{flex:0 0 65px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;width:100%;padding:8px 0 5px;display:grid}.player-chip{border:1px solid var(--line);background:var(--paper-strong);border-radius:13px;gap:7px;width:100%;min-width:0;min-height:45px;padding:7px 9px;display:flex}.player-chip .side-mark{width:28px;height:28px;font-size:13px}.player-chip strong{align-items:center;gap:3px;max-width:none;font-size:11px;display:flex}.player-chip>span:last-of-type{min-width:0}.player-chip small{gap:4px;font-size:8px}.player-chip:last-child{text-align:right;flex-direction:row-reverse}.player-chip:last-child strong{justify-content:flex-end}.player-chip .ready-badge,.player-chip .player-side-label{display:none}.player-presence{width:5px;height:5px;box-shadow:none;flex-shrink:0}.player-presence.online{box-shadow:none;background:#39bf83}.player-chip.active{border-color:color-mix(in srgb,var(--jade) 35%,var(--line));background:var(--jade-pale)}.move-count{font-size:9px}.board-stage,.board-stage-waiting,.board-stage-playing{flex:1;place-items:center;min-height:0;padding:5px 0 8px;display:grid}.board-playfield{width:min(calc(100vw - 24px),var(--board-space));aspect-ratio:1;height:auto}.board-playfield-xiangqi{width:min(calc(100vw - 24px),calc(var(--board-space)*.9));aspect-ratio:9/10}.board-playfield-junqi{width:auto;height:min(var(--board-space),calc((100vw - 24px)*1.87));aspect-ratio:5/9.35}.board-frame{border-radius:15px;padding:4px}.go-board,.canvas-board-stack{border-radius:10px}.xiangqi-frame{border-radius:16px;padding:5px}.xiangqi-board{border-radius:10px}.xiangqi-river{font-size:clamp(15px,4vw,23px)}.xiangqi-point b{box-shadow:0 3px 5px #3f33252b}.junqi-frame{border-radius:15px;padding:5px}.junqi-board{border-radius:10px}.junqi-cell b em,.board-playfield-junqi .junqi-cell b em{font-size:clamp(11px,3.5vw,19px)}.junqi-cell b small,.board-playfield-junqi .junqi-cell b small{font-size:7px}.junqi-cell{padding:2px}.opening-overlay,.opening-overlay.both-seated,.opening-overlay.is-ready{border-radius:20px;grid-template-columns:32px minmax(0,1fr);gap:3px 9px;width:min(274px,85%);padding:14px;top:50%}.opening-emblem{border-radius:10px;width:32px;height:32px}.opening-overlay strong{font-size:13px}.opening-overlay small{font-size:9px}.opening-action{border-radius:11px;min-height:40px;margin-top:9px;font-size:12px}.mobile-status{text-align:center;background:0 0;border:0;border-radius:12px;flex:0 0 37px;justify-content:center;align-items:center;gap:7px;width:100%;margin:0 0 6px;padding:0 8px;display:flex}.mobile-status>div{flex-direction:column;gap:2px;min-width:0;display:flex}.mobile-status strong{font-size:11px}.mobile-status small{text-overflow:ellipsis;white-space:nowrap;max-width:290px;color:var(--ink-faint);font-size:8px;overflow:hidden}.mobile-status .turn-stone,.mobile-status .side-mark{width:20px;height:20px}.action-bar,.action-bar.no-pass{flex:0 0 49px;gap:8px;width:100%;margin:0}.action-bar button{border-radius:12px;flex-direction:row;gap:5px;min-height:47px;padding:6px;font-size:11px;display:flex}.action-bar .pass-action{color:#fff;background:#3478f6}.action-bar svg{width:17px;height:17px}.result-overlay{padding:20px 16px}.result-overlay h2{font-size:21px}.result-overlay p{font-size:11px}.result-actions button{min-height:42px;padding:0 9px;font-size:11px}.modal-backdrop{align-items:end;padding:0}.modal{max-height:calc(100dvh - 20px);padding:24px 20px max(24px,env(safe-area-inset-bottom));border-radius:26px 26px 0 0}.modal-top h2{font-size:22px}.modal.wide{border-radius:0;max-height:100dvh}.modal-top .icon-button{border-radius:50%}.modal .input-wrap input{font-size:16px}.modal .choice-field legend,.modal .room-friend-invite>div>button strong{font-size:12px}.modal .room-friend-invite>div>button small{font-size:10px}.modal.chat-modal{height:75dvh;max-height:75dvh}.chat-panel.mobile{border:0;border-radius:0;flex:1;min-height:0}.chat-composer textarea{font-size:16px}.chat-panel.mobile .chat-composer{padding:10px 0}.chat-panel.mobile .chat-composer button{width:44px;min-height:44px}.friend-game-invite{bottom:max(14px,env(safe-area-inset-bottom))}.account-gate{padding:23px 20px}.account-gate-landscape{opacity:.7;background-position:62%}.account-gate-landscape:after{background:linear-gradient(#f4f6fa55,#f4f6faee)}.account-gate-card{border-radius:26px;align-self:center;margin:auto;padding:30px 23px}.account-gate-card h1{font-size:38px}.account-gate-card>div{font-size:9px}.account-gate footer{font-size:10px}.game2048-header,.dicecup-header{height:62px;padding:0 12px}.game2048-header button,.dicecup-header button{border-radius:11px;width:36px;height:36px;min-height:36px;padding:0}.game2048-header button span,.dicecup-header button span{display:none}.game2048-brand strong,.dicecup-brand strong{font-size:14px}.game2048-shell{gap:17px;width:calc(100% - 32px);padding:23px 0}.game2048-intro h1{font-size:35px}.game2048-intro p{font-size:11px}.game2048-scores>span{min-width:0}.game2048-board-wrap{width:min(100%,460px)}.game2048-board{border-radius:21px;gap:8px;padding:10px}.game2048-actions button{min-height:59px}.game2048-actions strong{font-size:11px}.game2048-actions small{font-size:9px}.game2048-tip{font-size:10px}.dicecup-shell{flex-direction:column;gap:20px;width:calc(100% - 32px);padding:24px 0;display:flex}.dicecup-copy{width:100%}.dicecup-copy h1{margin:9px 0;font-size:32px}.dicecup-copy h1 br{display:none}.dicecup-copy p{font-size:11px}.dicecup-copy>span{font-size:10px}.dicecup-table{width:min(100%,450px)}.dicecup-stage{width:100%}.dicecup-panel{width:100%;padding:19px}.dicecup-primary-actions{margin:0}.dicecup-lid strong{font-size:23px}.dicecup-lid small{max-width:85%;font-size:10px}.party-die{padding:6%;box-shadow:0 4px #c5cede,0 7px 12px #26395926}.party-die i{width:89%}.board-column-word-chain{padding-bottom:8px;overflow:auto}.board-stage-word-chain{flex:none;padding:8px 0;display:block;overflow:visible}.board-playfield-word-chain{aspect-ratio:auto;width:100%;height:auto}.word-chain-board{border-radius:20px;gap:13px;width:100%;min-height:0;padding:15px}.word-chain-current{border-radius:17px;min-height:160px;padding:16px 10px}.word-chain-current>strong{font-size:clamp(26px,8vw,39px);line-height:1.3}.word-chain-current>div{gap:6px}.word-chain-current small{font-size:9px}.word-chain-score{min-height:55px;padding:10px}.word-chain-round{font-size:8px}.word-chain-history b{font-size:10px}.word-chain-input{grid-template-columns:minmax(0,1fr) 66px;gap:8px}.word-chain-input-box{min-width:0}.word-chain-input-box input{width:0;font-size:16px}.word-chain-submit{border-radius:14px;font-size:13px}.word-chain-skip{border-radius:12px;min-height:40px;font-size:12px}.word-chain-rule{font-size:8px;line-height:1.6}:root[data-theme=night] .hub-hero:before{background:linear-gradient(90deg,#253146f2,#25314670 50%,#0000)}:root[data-theme=night] .player-chip,:root[data-theme=night] .mobile-status{background:var(--paper-strong)}}@media (max-width:370px){.room-header{gap:6px;padding:0 9px}.room-header-center{gap:6px}.room-header-actions{gap:3px}.room-header-actions .icon-button,.room-header-actions .connection-pill{width:29px;min-width:29px;height:31px;min-height:31px}.mobile-room-title strong{max-width:88px;font-size:12px}.room-code{padding:0 5px}.room-code strong{font-size:9px}.room-code svg{display:none}.player-chip{gap:4px;padding:6px}.player-chip .side-mark{width:24px;height:24px}.player-chip strong{font-size:10px}.hub-hero-actions button{padding:0 10px;font-size:11px}.hub-filters button{padding:0 9px;font-size:10px}.hub-card-info small{max-width:100px;font-size:8px}}@media (max-height:680px) and (max-width:760px){.room-page{--board-space:calc(100dvh - 226px)}.room-page:has(.opening-overlay){--board-space:calc(100dvh - 145px)}.mobile-player-strip{flex-basis:56px}.mobile-status{flex-basis:29px}.mobile-status small{display:none}.action-bar{flex-basis:43px}.action-bar button{min-height:40px}.opening-overlay{padding:11px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hub-game-card,.hub-card-art .game-artwork{transition:none}.opening-overlay.is-ready .opening-emblem{animation:none}}:root{--motion-fast:.11s;--motion-move:.22s;--motion-enter:.28s;--ease-smooth:cubic-bezier(.2,.8,.2,1);--ease-spring:cubic-bezier(.2,1.2,.35,1)}.scene-surface{isolation:isolate;min-height:100dvh}.scene-surface[inert]{pointer-events:none}body,.home-page,.room-header,.site-header,.hub-social,.hub-recent,.modal{transition:background-color .22s,color .18s,border-color .18s}button:not(:disabled){transition:transform var(--motion-fast) var(--ease-smooth),background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease}.primary-button:not(:disabled):active,.secondary-button:not(:disabled):active,.icon-button:not(:disabled):active,.room-code:not(:disabled):active,.action-bar button:not(:disabled):active,.hub-friend button:not(:disabled):active,.dicecup-primary-actions button:not(:disabled):active{transform:scale(.96)}.primary-button:focus-visible,.secondary-button:focus-visible,.icon-button:focus-visible{outline:3px solid color-mix(in srgb,var(--jade) 28%,transparent);outline-offset:3px}.hub-hero{box-shadow:0 12px 35px #2b477c07}.hub-game-card{border-color:color-mix(in srgb,var(--line) 85%,transparent);position:relative;box-shadow:0 5px 17px #26395905}.hub-card-art{isolation:isolate}.hub-card-art:after{content:"";z-index:-1;background:radial-gradient(at 50% 35%,#fff8,#0000 75%);position:absolute;inset:0}.hub-card-info{padding-block:18px}.hub-card-info i{transition:transform .22s var(--ease-smooth),background .22s,color .22s;border-radius:11px}.hub-card-type{background:#ffffffc7;box-shadow:0 2px 6px #26395905}.hub-filters{border:1px solid var(--line);background:color-mix(in srgb,var(--paper-strong) 70%,transparent);border-radius:14px;gap:3px;width:max-content;max-width:100%;padding:4px}.hub-filters button{border-radius:10px}.hub-filters button.selected{background:var(--paper-strong);color:var(--jade);box-shadow:0 2px 7px #2639590f}.hub-install{transition:background .2s,transform .2s}@media (hover:hover) and (pointer:fine){.hub-game-card:hover{border-color:color-mix(in srgb,var(--jade) 25%,var(--line));transform:translateY(-5px);box-shadow:0 16px 35px #26395916}.hub-game-card:hover .hub-card-info i{color:#fff;background:#3478f6;transform:translate(2px)}.hub-game-card:hover .game-artwork{transform:translateY(-2px)scale(1.035)}}.hub-game-card:not(:disabled):active{transform:scale(.975)}.hub-search:focus-within{border-color:color-mix(in srgb,var(--jade) 50%,var(--line));box-shadow:0 0 0 3px var(--jade-pale);transition:box-shadow .18s,border-color .18s}.modal-backdrop{animation:.2s ease-out both veil-appear}.modal{transform-origin:50% 58%;animation:sheet-appear .3s var(--ease-smooth) both}.modal-backdrop.is-closing{pointer-events:none;animation:.15s ease-in both veil-disappear}.modal-backdrop.is-closing .modal{animation:.15s ease-in both sheet-disappear}@keyframes veil-appear{0%{background:#17233d00}to{background:#17233d66}}@keyframes veil-disappear{0%{opacity:1}to{opacity:0}}@keyframes sheet-appear{0%{opacity:0;transform:translateY(15px)scale(.965)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes sheet-disappear{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(9px)scale(.98)}}.modal-top h2{letter-spacing:-.035em}.modal .game-kind-options button,.modal .segmented button,.modal .seat-options button,.junqi-mode-options button{transition:background .18s,border-color .18s,transform .11s,box-shadow .18s}.game-kind-options button.selected,.seat-options button.selected,.junqi-mode-options button.selected{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--jade) 10%,transparent)}.switch i{transition:transform .22s var(--ease-spring)}.friend-game-invite{animation:invite-slide-in .32s var(--ease-smooth) both}@keyframes invite-slide-in{0%{opacity:0;transform:translateY(18px)scale(.97)}to{opacity:1;transform:none}}.chat-message{animation:message-appear .22s var(--ease-smooth) both;transform-origin:0 100%}.chat-message.mine{transform-origin:100% 100%}@keyframes message-appear{0%{opacity:0;transform:translateY(5px)scale(.96)}to{opacity:1;transform:none}}.chat-message p{box-shadow:0 2px 7px #26395904}.toast{animation:toast-appear .26s var(--ease-smooth) both}@keyframes toast-appear{0%{opacity:0;transform:translate(-50%,9px)scale(.97)}to{opacity:1;transform:translate(-50%)scale(1)}}.room-page{--game-tint:#6c8acb;background:radial-gradient(ellipse at 38% 45%,color-mix(in srgb,var(--game-tint) 7%,transparent),transparent 65%),var(--paper)}.room-page:has(.board-column-go){--game-tint:#b8a88c}.room-page:has(.board-column-gomoku){--game-tint:#819ad5}.room-page:has(.board-column-xiangqi){--game-tint:#c7a397}.room-page:has(.board-column-junqi){--game-tint:#8da3c8}.room-page:has(.board-column-word-chain){--game-tint:#b29fd1}.board-stage{isolation:isolate}.desktop-player-banner,.player-chip{transition:background .22s,border-color .22s,box-shadow .22s}.desktop-player-banner.active,.player-chip.active{animation:.28s ease-out turn-appear}@keyframes turn-appear{0%{box-shadow:0 0 0 5px color-mix(in srgb,var(--jade) 12%,transparent)}to{box-shadow:0 0 0 2px var(--jade-pale)}}.desktop-turn-status>div,.mobile-status>div{animation:.22s ease-out status-appear}@keyframes status-appear{0%{opacity:.2;transform:translateY(3px)}to{opacity:1;transform:none}}.motion-presence{z-index:9;pointer-events:none;position:absolute;inset:0}.motion-presence .opening-overlay{pointer-events:auto}.motion-presence.is-leaving{pointer-events:none;animation:.18s ease-out both presence-away}.motion-presence.is-leaving .opening-overlay{pointer-events:none}@keyframes presence-away{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.97)}}.opening-overlay,.opening-overlay.both-seated,.opening-overlay.is-ready{border:1px solid color-mix(in srgb,var(--line) 60%,#fff);box-shadow:0 16px 44px #26395924,inset 0 1px #fff9}.opening-emblem{transition:background .2s,color .2s}.opening-overlay.is-ready .opening-emblem{color:#fff;animation:ready-seal .38s var(--ease-spring) both;background:#3478f6}@keyframes ready-seal{0%{transform:scale(.75)rotate(-8deg)}65%{transform:scale(1.12)rotate(2deg)}to{transform:none}}.desktop-ready-mark.ready,.ready-badge.is-ready{animation:ready-seal .3s var(--ease-spring) both}.board-canvas-stack{background:#f1e4cb}.xiangqi-board,.junqi-board{isolation:isolate}.xiangqi-point:not(:disabled):active{transform:translate(-50%,-50%)}.junqi-cell:not(:disabled):active{transform:none}.xiangqi-point b,.junqi-cell b{backface-visibility:hidden;transform-origin:50% 65%;transition:transform .2s var(--ease-spring),box-shadow .2s}.xiangqi-point.selected b{transform:translateY(-9px)scale(1.07);box-shadow:0 13px 17px #2c426336,0 0 0 3px #7caafb}.xiangqi-point.legal:not(.capture) .legal-dot,.junqi-legal-dot{animation:legal-appear .22s var(--ease-spring) both}@keyframes legal-appear{0%{opacity:0;transform:scale(.25)}to{opacity:1;transform:scale(1)}}.xiangqi-point.capture:before,.junqi-cell.capture:after{border-style:solid;border-color:#e65560;animation:none;box-shadow:0 0 0 3px #e655601a}.piece-capture-ghost{z-index:6;pointer-events:none;place-items:center;display:grid;position:absolute}.piece-capture-ghost>[data-motion-piece]{border-radius:50%;place-items:center;width:100%;height:100%;display:grid;position:relative}.junqi-board .piece-capture-ghost>[data-motion-piece]{background:#f5f7fc;border:1px solid;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;width:95%;height:85%;display:flex;box-shadow:0 3px #bfc9da}.junqi-board .piece-capture-ghost .blue{color:#36629d}.junqi-board .piece-capture-ghost .red{color:#b95764}.junqi-board .piece-capture-ghost em{font:750 clamp(11px,1.4vw,18px)/1.2 system-ui}.junqi-board .piece-capture-ghost small{opacity:.5;margin-top:2px;font-size:7px}.junqi-board .piece-capture-ghost .hidden{color:#ecf3ff;background:#4b6b9e}.junqi-board .piece-capture-ghost .hidden em{font-size:0}.junqi-board .piece-capture-ghost .hidden em:after{content:"★";font-size:23px}.junqi-board .piece-capture-ghost .hidden small{display:none}.xiangqi-capture-flash{animation:.85s linear .1s both event-visibility}.xiangqi-capture-flash span{color:#b8434f;text-shadow:0 2px #fff5,0 8px 24px #a5344533;filter:none;-webkit-text-stroke:.35px currentColor;animation:chess-event .85s var(--ease-smooth) both}.xiangqi-check-flash span{color:#455e9d;letter-spacing:.03em;-webkit-text-stroke:.35px currentColor}.xiangqi-check-flash.is-delayed,.xiangqi-check-flash.is-delayed span{animation-delay:.62s}@keyframes event-visibility{0%,98%{visibility:visible}to{visibility:hidden}}@keyframes chess-event{0%{opacity:0;transform:translateY(7px)scale(1.3)rotate(-5deg)}22%{opacity:1;transform:translateY(0)scale(.97)rotate(-3deg)}40%,70%{opacity:1;transform:scale(1)rotate(-3deg)}to{opacity:0;transform:translateY(-10px)scale(.96)rotate(-3deg)}}.junqi-battle-flash{color:#ba5262;animation:army-event .8s var(--ease-smooth) .1s both;text-shadow:0 6px 20px #ba52622e}@keyframes army-event{0%{opacity:0;transform:translate(-50%,-45%)scale(1.3)}24%,68%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-57%)scale(.95)}}.junqi-setup-panel.is-locked>button{animation:ready-seal .3s var(--ease-spring) both}.result-overlay{animation:result-appear .34s var(--ease-smooth) .2s both;overflow:visible}@keyframes result-appear{0%{opacity:0;transform:translate(-50%,-46%)scale(.94)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.game-celebration{width:64px;height:64px;color:var(--jade);place-items:center;margin:0 auto 13px;display:grid;position:relative}.celebration-symbol{z-index:1;color:#fff;width:53px;height:53px;animation:ready-seal .45s var(--ease-spring) both;background:linear-gradient(145deg,#88adff,#3478f6);border-radius:18px;place-items:center;font:750 28px/1 system-ui;display:grid;position:relative;box-shadow:0 8px 22px #3478f625}.celebration-orbit{border:1px solid color-mix(in srgb,var(--jade) 23%,transparent);border-radius:24px;position:absolute;inset:0;transform:rotate(12deg)}.game-celebration>i{--angle:calc(var(--particle)*36deg);width:5px;height:8px;transform:rotate(var(--angle)) translateY(-34px);pointer-events:none;background:#3478f6;border-radius:2px;animation:.7s ease-out both celebration-particle;position:absolute;top:50%;left:50%}.game-celebration>i:nth-of-type(2n){background:#dc88a5}.game-celebration>i:nth-of-type(3n){background:#dba965}@keyframes celebration-particle{0%{opacity:0;transform:rotate(var(--angle)) translateY(-19px) scale(.5)}25%{opacity:1}to{opacity:0;transform:rotate(var(--angle)) translateY(-65px) scale(.8)}}.game2048-page{background:radial-gradient(ellipse at 50% 38%,#819ad50b,transparent 65%),var(--paper)}.game2048-intro h1{letter-spacing:-.05em;font-weight:780}.game2048-scores>span{background:var(--paper-strong);min-width:125px;position:relative;box-shadow:0 4px 14px #26395904}.game2048-scores strong{font-variant-numeric:tabular-nums}.score-burst{color:#ed9348;pointer-events:none;animation:score-rise .85s var(--ease-smooth) both;font:750 16px/1 system-ui;position:absolute;top:40%;right:15px}@keyframes score-rise{0%{opacity:0;transform:translateY(4px)}20%{opacity:1}to{opacity:0;transform:translateY(-30px)}}.game2048-board.motion-board{--tile-gap:12px;--board-pad:13px;gap:var(--tile-gap);padding:var(--board-pad);background:linear-gradient(145deg,#d6dfed,#c6d1e2);border:1px solid #b9c5d9;grid-template-rows:repeat(4,minmax(0,1fr));grid-template-columns:repeat(4,minmax(0,1fr));display:grid;box-shadow:0 16px 40px #26395914,0 3px #bac7da}.game2048-slot{background:#e8edf5;border:1px solid #c6d0e2;border-radius:17px;min-width:0;min-height:0;box-shadow:inset 0 2px 4px #26395904}.game2048-tile-layer{z-index:1;inset:var(--board-pad);pointer-events:none;position:absolute}.game2048-tile{width:calc((100% - 3 * var(--tile-gap)) / 4);height:calc((100% - 3 * var(--tile-gap)) / 4);transform:translate(calc(var(--tile-x) * (100% + var(--tile-gap))),calc(var(--tile-y) * (100% + var(--tile-gap))));transition:transform .15s cubic-bezier(.25,.7,.3,1);position:absolute;top:0;left:0}.game2048-tile .game2048-cell{aspect-ratio:auto;border-radius:17px;width:100%;height:100%;box-shadow:inset 0 1px 1px #ffffff80,0 3px 4px #26395914}.game2048-tile .game2048-cell span{font-variant-numeric:tabular-nums;animation:none}.game2048-cell.tile-spawn{animation:tile-arrive .22s var(--ease-spring) both}.game2048-cell.tile-merge{animation:tile-combine .25s var(--ease-spring) both}@keyframes tile-arrive{0%{opacity:0;transform:scale(.45)}to{opacity:1;transform:scale(1)}}@keyframes tile-combine{0%{transform:scale(.94)}45%{transform:scale(1.1)}to{transform:scale(1)}}.game2048-result{z-index:5;animation:solo-result-appear .28s var(--ease-smooth) both}.game2048-result .game-celebration{margin-bottom:5px}.game2048-result .celebration-symbol{color:#fff;letter-spacing:0;font-size:28px}.game2048-result .celebration-orbit{letter-spacing:0}@keyframes solo-result-appear{0%{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}:root[data-theme=night] .game2048-board.motion-board{background:linear-gradient(145deg,#3b4861,#2d384f);border-color:#3f4c65;box-shadow:0 16px 40px #0002,0 3px #242d40}:root[data-theme=night] .game2048-slot{background:#4a5870;border-color:#455169}.dicecup-table{isolation:isolate}.dicecup-lid{transition:transform .48s var(--ease-smooth),opacity .32s ease;transform:translateY(0)rotate(0)}.dicecup-lid:not(:disabled):active{transform:translateY(2px)scale(.99)}.phase-shaking .dicecup-lid{animation:.76s ease-in-out both cup-rattle}@keyframes cup-rattle{0%,to{transform:rotate(0)translate(0)}15%,45%,75%{transform:rotate(-8deg)translate(-9px,-4px)}30%,60%,88%{transform:rotate(8deg)translate(9px,2px)}}.phase-covered .dicecup-lid{animation:cup-rest .23s var(--ease-spring) both}@keyframes cup-rest{0%{transform:translateY(-6px)scale(1.01)}to{transform:none}}.phase-open .dicecup-lid,.phase-open .dicecup-lid:not(:disabled):active{opacity:0;pointer-events:none;transform:translateY(-62%)rotate(-15deg)scale(.92)}.phase-open .party-die{animation:dice-settle .32s var(--ease-spring) both;animation-delay:calc(80ms + var(--die-index) * 35ms)}@keyframes dice-settle{0%{opacity:0;transform:translateY(-8px) rotate(calc((var(--die-index) - 2) * 14deg)) scale(.87)}to{opacity:1;transform:translateY(0) rotate(calc((var(--die-index) - 2) * 8deg)) scale(1)}}.dicecup-lock svg{animation:ready-seal .25s var(--ease-spring) both}.dicecup-reveal-summary{width:100%;min-height:55px;color:var(--ink-faint);justify-content:center;align-items:center;gap:12px;padding-top:13px;font-size:11px;display:flex}.dicecup-reveal-summary strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:26px;font-weight:750;line-height:1}.dicecup-reveal-summary strong small{color:var(--ink-soft);margin-left:4px;font-size:11px;font-weight:500}.dicecup-reveal-summary.revealed{animation:reveal-total .3s var(--ease-smooth) .2s both}@keyframes reveal-total{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.dicecup-history>div:first-of-type{animation:message-appear .25s var(--ease-smooth) both}.dicecup-count button.selected{box-shadow:0 3px 10px #3478f62e}.word-chain-board{gap:12px;transition:border-color .2s,box-shadow .2s}.word-chain-board.is-my-turn{border-color:color-mix(in srgb,var(--jade) 28%,var(--line));box-shadow:0 12px 34px #2639590a,0 0 0 3px color-mix(in srgb,var(--jade-pale) 60%,transparent)}.word-chain-current{animation:word-turn .32s var(--ease-smooth) both;background:linear-gradient(145deg,#f5f3ff,#edf3ff)}@keyframes word-turn{0%{opacity:0;transform:translateY(9px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.word-chain-feedback{min-height:20px;color:var(--ink-faint);justify-content:center;align-items:center;margin:-3px 0;font-size:11px;display:flex}.word-chain-feedback.scored{color:var(--jade);font-weight:700}.word-chain-feedback span{animation:word-feedback .25s var(--ease-smooth) both}@keyframes word-feedback{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.word-chain-score strong{font-variant-numeric:tabular-nums}.word-chain-score strong>span{font-size:inherit;line-height:inherit;color:inherit}.word-chain-history>span:last-child{animation:word-feedback .28s var(--ease-smooth) both}.word-chain-input-box:focus-within{border-color:var(--jade);box-shadow:0 0 0 3px var(--jade-pale);transition:box-shadow .18s,border-color .18s}.word-chain-submit{background:linear-gradient(145deg,#528bf8,#3478f6)}.word-chain-submit svg{transition:transform .18s var(--ease-smooth)}.word-chain-submit:hover:not(:disabled) svg{transform:translate(3px)}.word-chain-skip{font-weight:600}.word-chain-skip small{font-size:9px}.is-my-turn .word-chain-current b{box-shadow:0 5px 15px #6e87dc26}:root[data-theme=night] .word-chain-current{background:linear-gradient(145deg,#33384f,#28354e)}@media (max-width:760px){.room-page.is-playing{--board-space:calc(100dvh - 250px)}.hub-filters{width:100%}.hub-filters button{flex:1;padding-inline:8px}.hub-card-info{padding-block:13px}.modal{transform-origin:50% 100%;animation:mobile-sheet-up .32s var(--ease-smooth) both}.modal-backdrop.is-closing .modal{animation:.15s ease-in both mobile-sheet-down}@keyframes mobile-sheet-up{0%{opacity:.5;transform:translateY(45px)}to{opacity:1;transform:translateY(0)}}@keyframes mobile-sheet-down{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(28px)}}.opening-overlay,.opening-overlay.both-seated,.opening-overlay.is-ready{border-radius:20px}.game2048-board.motion-board{--tile-gap:8px;--board-pad:10px}.game2048-slot,.game2048-tile .game2048-cell{border-radius:13px}.game2048-scores>span{min-width:0}.score-burst{font-size:14px}.piece-capture-ghost{max-width:100%}.junqi-board .piece-capture-ghost em{font-size:clamp(11px,3.5vw,19px)}.word-chain-feedback{min-height:19px;font-size:10px}.word-chain-board{gap:11px}.dicecup-reveal-summary{gap:11px;min-height:49px;font-size:10px}.dicecup-reveal-summary strong{font-size:24px}}@media (max-height:680px) and (max-width:760px){.room-page.is-playing{--board-space:calc(100dvh - 226px)}}@media (prefers-reduced-motion:reduce){.scene-surface,.modal,.modal-backdrop,.motion-presence,.hub-game-card,.word-chain-current,.game2048-result,.result-overlay{animation:none!important}.game2048-tile{transition:none}.game2048-cell.tile-spawn,.game2048-cell.tile-merge,.celebration-symbol,.game-celebration>i,.celebration-orbit{animation:none!important}.game-celebration>i,.xiangqi-capture-flash,.junqi-battle-flash{display:none}.party-die,.dicecup-lid,.dicecup-reveal-summary{transition:none;animation:none!important}.hub-game-card:hover .game-artwork,.hub-game-card:hover,.hub-game-card:not(:disabled):active{transform:none}}
