.fair-hud{display:flex;align-items:center;gap:5px}.game-v2 .hud-top{grid-template-columns:38px auto auto 1fr auto 38px}.fair-hud button,.fair-lobby button{display:flex;align-items:center;justify-content:center;gap:5px;height:32px;padding:0 10px;border:1px solid #bcce934f;border-radius:10px;background:linear-gradient(145deg,#244d35e6,#092d22ed);color:#e1efc8;font:600 11px/1 system-ui,sans-serif;box-shadow:inset 0 1px #e1f5bd19,0 4px 10px #00190d50}.fair-hud button:first-child span{color:#a9eaa0;font-size:17px}.fair-hud button:last-child{color:#f3d79b;border-color:#d0b57566}.fair-lobby{position:absolute;z-index:3;right:16px;top:12px;display:flex;gap:6px}.fair-game-error{position:fixed;bottom:6px;left:50%;transform:translate(-50%);z-index:90;color:#ffdbb5;background:#542c20ed;padding:7px 12px;border-radius:8px;font:11px/1.5 system-ui,sans-serif}.fair-mask{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;padding:12px;background:#020c09d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:system-ui,sans-serif}.fair-panel{display:flex;flex-direction:column;width:min(980px,96vw);height:min(600px,94dvh);min-height:310px;overflow:hidden;border:1px solid #c9b27570;border-radius:20px;background:linear-gradient(135deg,#123c2c,#061c15);color:#e3ebdc;box-shadow:0 25px 90px #0009,inset 0 1px #eee5b71a}.fair-panel:focus{outline:none}.fair-panel button{border:1px solid #a3c39745;border-radius:8px;color:#d5e4c9;background:#224332;font:12px/1.2 system-ui,sans-serif;padding:7px 12px}.fair-panel button:disabled{opacity:.4;cursor:default}.fair-panel button:focus-visible{outline:2px solid #e0c378;outline-offset:2px}.fair-header{display:flex;align-items:center;gap:14px;padding:14px 22px 10px}.fair-header>div{margin-right:auto}.fair-header small{color:#9eb69d;font-size:10px;letter-spacing:.14em}.fair-header h2{margin:2px 0 0;font-size:22px;letter-spacing:.06em;color:#f0dfb5}.fair-header>button{border-radius:50%;width:30px;height:30px;padding:0;font-size:22px}.fair-local{padding:5px 8px;color:#d7c086;border:1px solid #cbb57640;border-radius:6px;font-size:10px}.fair-tabs{display:flex;gap:8px;padding:0 22px 10px;border-bottom:1px solid #b7c89a24}.fair-tabs .active,.fair-detail-tabs .active{color:#f5dfab;border-color:#d3b87788;background:#89703833}.fair-intro{display:grid;grid-template-columns:52% 1fr;grid-template-rows:minmax(0,1fr) auto;flex:1;min-height:0;touch-action:pan-y;padding:14px 22px 12px;gap:12px 24px;outline:none}.fair-intro>img{width:100%;height:100%;min-height:0;object-fit:contain;border-radius:12px;-webkit-user-select:none;user-select:none;pointer-events:none;animation:fair-enter .25s ease-out}.fair-intro article{align-self:center;min-width:0}.fair-step-number{color:#bed696;font-size:11px;letter-spacing:.1em}.fair-intro h3{color:#f7e2af;font-size:clamp(19px,2.8vw,30px);margin:12px 0}.fair-intro p{font-size:clamp(12px,1.5vw,16px);line-height:1.8;color:#c9d9c3;margin:0 0 15px}.fair-intro article small{display:block;font-size:11px;line-height:1.6;color:#b4bf9e;padding:9px 12px;background:#bbd59710;border-left:2px solid #b6c28070;border-radius:0 7px 7px 0}.fair-intro footer{display:flex;grid-column:1/-1;align-items:center;justify-content:space-between}.fair-dots{display:flex;gap:7px}.fair-dots button{width:8px;height:8px;padding:0;border:none;border-radius:10px;background:#617d60}.fair-dots .active{width:27px;background:#cde298}.fair-message{min-height:24px;flex-shrink:0;padding:5px 20px 9px;color:#91a98d;font-size:10px;line-height:1.45;text-align:center}.fair-center{flex:1;min-height:0;display:grid;grid-template-columns:190px minmax(0,1fr);gap:16px;padding:12px 22px 6px}.fair-records{display:flex;flex-direction:column;min-height:0;border-right:1px solid #b6c89322;padding-right:14px;gap:7px}.fair-records h3{color:#cbd4b3;font-size:12px;margin:0 0 2px}.fair-records>button{text-align:left;padding:9px 10px}.fair-records>button.active{border-color:#c5b675a6;background:#95b56720}.fair-records strong{display:flex;justify-content:space-between;font-size:11px}.fair-records strong span{color:#d9c78a;font-size:10px;font-weight:400}.fair-records small{display:block;color:#91ae92;font-size:9px;margin-top:5px}.fair-records p{font-size:11px;line-height:1.7;color:#9eb49a}.fair-pager{display:flex;gap:8px;align-items:center;justify-content:center;color:#91af8e;font-size:10px}.fair-pager button{padding:2px 9px}.fair-detail{min-width:0;min-height:0;display:flex;flex-direction:column}.fair-summary{display:flex;align-items:center;justify-content:space-between;font-size:12px}.fair-summary span{color:#9aaf92;font:10px/1 monospace}.fair-commit{padding:8px 10px;background:#0003;border:1px solid #c6da9520;border-radius:8px;margin:8px 0}.fair-commit>span{font-size:9px;color:#a0b795}.fair-commit code{display:block;font:10px/1.5 monospace;color:#cbdcaa;overflow-wrap:anywhere}.fair-tools{display:flex;gap:5px}.fair-tools button{padding:6px 8px;font-size:10px;white-space:nowrap}.fair-tools .fair-verify-button{margin-left:auto;color:#102a16;border-color:#d3df9a;background:linear-gradient(#dae8ac,#a7c573);font-weight:700}.fair-wait{margin:auto 0;padding:20px;border:1px solid #bbd69425;border-radius:12px;text-align:center;background:#a5c9800b}.fair-wait b{color:#dae7b6;font-size:15px}.fair-wait p{color:#95ae92;font-size:12px;line-height:1.8}.fair-verdict{padding:9px 10px;margin:8px 0 5px;border-radius:7px;font-size:12px;font-weight:600}.fair-verdict.passed{color:#ceecad;background:#8dcc5530}.fair-verdict.failed{color:#ffc4a0;background:#b7393038}.fair-detail-tabs{display:flex;gap:6px;margin-bottom:6px}.fair-detail-tabs button{font-size:10px;padding:4px 9px}.fair-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.fair-checks>div{display:flex;align-items:center;gap:8px;background:#bad28b12;border-radius:6px;padding:8px 10px;font-size:11px}.fair-checks b{color:#aedd8c}.fair-checks .failed{background:#b44b3022}.fair-checks .failed b{color:#ffb397}.fair-takes{display:grid;gap:3px;margin-bottom:5px}.fair-takes>div{display:grid;grid-template-columns:30px 75px 45px 1fr;gap:7px;align-items:center;font-size:10px;padding:3px 8px;background:#b4ce9611;border-radius:3px}.fair-takes b,.fair-takes small{color:#8eab8a;font-size:9px}.fair-wall{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:3px}.fair-wall span{padding:3px 0;border-radius:3px;text-align:center;font-size:9px;color:#183622;background:linear-gradient(#faf4d9,#dce0bc)}@keyframes fair-enter{0%{opacity:.2;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@media(max-height:450px){.fair-mask{padding:6px}.fair-panel{height:96dvh;border-radius:14px}.fair-header{padding:7px 16px 6px}.fair-header h2{font-size:17px}.fair-header small{font-size:8px}.fair-tabs{padding:0 16px 6px}.fair-tabs button{padding:5px 10px;font-size:10px}.fair-intro{padding:7px 16px;gap:6px 17px}.fair-intro h3{margin:6px 0;font-size:20px}.fair-intro p{font-size:12px;line-height:1.65;margin-bottom:8px}.fair-intro article small{font-size:10px;padding:5px 9px}.fair-intro footer button{font-size:10px;padding:5px 10px}.fair-message{padding:3px 12px 5px;font-size:8px;min-height:18px}.fair-center{grid-template-columns:155px minmax(0,1fr);padding:7px 16px 3px;gap:10px}.fair-records{gap:4px;padding-right:9px}.fair-records>button{padding:6px 8px}.fair-records small{margin-top:2px;font-size:8px}.fair-commit{padding:4px 7px;margin:5px 0}.fair-tools button{padding:4px 6px;font-size:9px}.fair-verdict{padding:5px 8px;font-size:10px;margin:5px 0}.fair-detail-tabs{margin-bottom:4px}.fair-checks{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.fair-checks>div{padding:4px 8px;font-size:10px}.fair-takes{gap:2px}.fair-takes>div{padding:2px 6px;font-size:9px}.fair-wall{grid-template-columns:repeat(16,minmax(0,1fr));gap:2px}.fair-wall span{font-size:8px;line-height:10px;padding:0}.fair-wait{padding:12px}.fair-wait b{font-size:13px}.fair-wait p{font-size:10px}.fair-pager button{padding:1px 8px}}@media(max-width:760px){.fair-hud button{font-size:9px;height:28px;padding:0 6px}.hud-top{gap:5px}.fair-local{font-size:8px}.fair-summary{font-size:10px}.fair-summary span{font-size:8px}}.fair-panel .home-button.fair-return{align-self:flex-end;min-height:30px;margin:0 16px 8px;padding:6px 10px;font-size:11px}@media(orientation:portrait){.fair-intro{grid-template-columns:1fr;grid-template-rows:minmax(70px,1fr) auto auto;gap:8px;padding:10px 16px}.fair-intro footer{grid-column:1}.fair-intro h3{font-size:21px;margin:5px 0}.fair-intro p{font-size:12px;line-height:1.6;margin-bottom:7px}.fair-intro article small{font-size:10px;padding:6px 8px}.fair-panel{min-height:0}.fair-header{padding:10px 16px 8px}.fair-header h2{font-size:19px}.fair-tabs{padding:0 16px 8px}.fair-local{display:none}.fair-message{padding:4px 14px 6px;font-size:9px}}@media(max-height:450px){.fair-intro h3{font-size:17px;margin:4px 0}.fair-intro p{font-size:11px;line-height:1.55;margin-bottom:6px}.fair-intro article small{font-size:9px;padding:4px 7px}.fair-panel .home-button.fair-return{min-height:27px;margin-bottom:5px;padding:4px 8px}.fair-header{padding-top:5px;padding-bottom:4px}.fair-message{font-size:8px;padding:3px 12px}}.wallet-panel{font-family:system-ui,sans-serif;display:grid;gap:12px;min-width:0}.wallet-panel p{margin:0;font-size:12px;line-height:1.6}.wallet-panel nav,.wallet-pagination{display:flex;gap:6px;justify-content:center}.wallet-panel button{border:1px solid #bd9d6180;border-radius:9px;padding:8px 12px;background:#234737;color:#f7e3b6;font:inherit;font-size:12px}.wallet-panel nav button{flex:1}.wallet-panel nav .active{background:#ae8541;color:#fff7dc}.wallet-panel button:disabled{opacity:.45}.wallet-balances{display:flex;flex-wrap:wrap;gap:10px}.wallet-balances>span{flex:1;min-width:100px;padding:10px;border:1px solid #bd9d6150;border-radius:10px;background:#193428;color:#d3c6a9;font-size:11px}.wallet-balances strong{display:block;color:#ffdf8f;font-size:18px;margin-top:5px}.wallet-panel form{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.wallet-panel label{display:grid;gap:6px;flex:1;min-width:120px;font-size:12px}.wallet-panel input{width:100%;min-width:0;border:1px solid #b69b6560;border-radius:7px;padding:9px;background:#102a20;color:#fff4d7;font:13px system-ui}.wallet-list{display:grid;gap:6px;max-height:190px;overflow:auto}.wallet-list article{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px;border-bottom:1px solid #b69b6530;font-size:12px}.wallet-list small{width:100%;color:#a6b6a9;font-size:10px}.wallet-list article>span{flex:1}.deposit-instructions{display:grid;gap:10px;padding:12px;border:1px solid #e5c07988;border-radius:10px;background:#122e22}.deposit-exact{font:800 23px system-ui;color:#ffdc83}.deposit-instructions small{font-size:10px;line-height:1.5;color:#c1c6b1}.cash-room-button{font-size:12px!important}.funding-alert{position:absolute;z-index:27;top:38%;left:50%;transform:translate(-50%);width:min(430px,75%);padding:14px;border:1px solid #f5cf86;border-radius:15px;background:#123424f5;box-shadow:0 10px 45px #001b16cc;text-align:center;font:13px system-ui}.funding-alert strong{display:block;color:#ffde92;font-size:20px}.funding-alert p{margin:6px}.funding-alert button{padding:8px 16px;border:1px solid #dabc7a;border-radius:8px;background:#ac813c;color:#fff}.cash-match-summary{font:12px/1.6 system-ui;color:#e8d398;text-align:center}.mahjong-money-choice{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.mahjong-money-choice button{flex:1;min-width:60px}.wallet-entry-button{margin:10px 0}.cash-lobby-info{font:12px/1.5 system-ui;color:#ffe0a1;padding:8px}.cash-lobby-info button{margin-left:10px;padding:7px 12px}.game-v2 .cash-room-button{padding:5px;font-size:10px!important}.wallet-panel [role=status]{color:#ffdc8f}@media(max-height:450px){.wallet-panel{gap:7px}.wallet-list{max-height:100px}.wallet-balances>span{padding:6px}.wallet-balances strong{font-size:15px}.wallet-panel p{font-size:10px}.deposit-instructions{gap:6px;padding:8px}}.info-dialog.wallet-dialog{width:min(520px,calc(100vw - 24px));max-height:min(820px,calc(100dvh - 24px));padding:0;border:1px solid #c7aa6a66;border-radius:22px;background:#0c211c;color:#edf3e8;box-shadow:0 24px 90px #0009;overflow:hidden;font-family:system-ui,sans-serif}.wallet-dialog>header{margin:0;padding:16px 20px 12px;background:#122e27;border-bottom:1px solid #d5be8530}.wallet-dialog>header h2{font-size:18px;letter-spacing:.06em;color:#f4e5ba}.wallet-dialog>header button{width:32px;height:32px;background:#ffffff0b;color:#d8dfcc}.wallet-dialog .info-dialog__body{padding:0 20px 20px;overflow:auto;overscroll-behavior:contain;max-height:calc(100dvh - 100px);scrollbar-width:thin}.wallet-v48{gap:16px;color:#e0e9df;padding-bottom:2px}.wallet-v48 p{font-size:12px;line-height:1.65}.wallet-v48 button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:12px;min-height:38px;border-color:#8da98c45;background:#183e31;color:#e5ecd9;border-radius:10px}.wallet-v48 button svg{width:17px;height:17px;flex-shrink:0}.wallet-v48 button:hover:not(:disabled){border-color:#c3a76b}.wallet-v48 button:disabled{cursor:default}.wallet-v48 button:focus-visible,.wallet-v48 input:focus-visible{outline:2px solid #edd195;outline-offset:2px}.wallet-v48 .wallet-nav{position:sticky;top:0;z-index:3;margin:0 -20px;padding:12px 16px 10px;gap:4px;background:#0c211cf7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #8da98c25;justify-content:stretch}.wallet-nav button{flex:1;flex-direction:column;border:0;gap:5px;font-size:11px;padding:7px 2px;background:none;color:#94b19e;border-radius:10px}.wallet-nav button svg{width:19px;height:19px}.wallet-v48 .wallet-nav button.active{color:#eed49c;background:linear-gradient(135deg,#b1944a26,#b1944a10);box-shadow:inset 0 0 0 1px #cdb47844}.wallet-hero{position:relative;padding:20px;border-radius:18px;background:radial-gradient(ellipse at 100% 0,#478d6450,transparent 65%),linear-gradient(130deg,#215242,#102e25);border:1px solid #afbc7e55;overflow:hidden}.wallet-hero:before{content:"";position:absolute;right:-50px;bottom:38px;width:170px;height:170px;border-radius:50%;border:24px solid #d4bd6b08;pointer-events:none}.wallet-profile{display:flex;align-items:center;gap:10px;margin-bottom:22px}.wallet-profile>div:nth-child(2){min-width:0;flex:1}.wallet-profile strong{display:block;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wallet-profile small{display:block;margin-top:4px;color:#acc6b2;font-size:10px}.wallet-profile>button{width:34px;min-height:34px;padding:0;background:#fff1;border:0}.wallet-avatar{display:grid;place-items:center;width:42px;height:42px;overflow:hidden;border-radius:50%;background:#cfbc7140;border:1px solid #cfbc7180}.wallet-avatar img{width:100%;height:100%;object-fit:cover}.wallet-avatar svg{width:22px}.wallet-hero>span{font-size:12px;color:#acc6b2}.wallet-total{display:block;font-size:38px;letter-spacing:-.04em;line-height:1.4;color:#ffedbe;font-variant-numeric:tabular-nums}.wallet-total small{margin-left:8px;letter-spacing:0;font-size:11px;color:#c1d4bd}.wallet-hero>p{font-size:12px;color:#a9c3ad}.wallet-hero-bottom{display:grid;grid-template-columns:1fr 1fr;margin-top:20px;padding-top:14px;border-top:1px solid #e6d4a222;gap:12px}.wallet-hero-bottom span{font-size:10px;color:#9bb6a3}.wallet-hero-bottom strong{display:block;color:#e5dfc6;font-size:12px;margin-top:5px}.wallet-shortcuts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.wallet-v48 .wallet-shortcuts button{flex-direction:column;gap:8px;min-height:72px;border-radius:14px;background:#153529;border:1px solid #768f6a33}.wallet-shortcuts button svg{width:22px;height:22px;color:#dfc484}.wallet-v48 h3{font-size:15px;margin:0;color:#f0e1b8}.wallet-v48 .wallet-list{max-height:none;overflow:visible;gap:8px}.wallet-v48 .wallet-list article{margin:0;padding:12px;border:1px solid #82976f26;background:#112b22;border-radius:12px;gap:8px}.wallet-list article>div{flex:1;min-width:100px}.wallet-v48 .wallet-list b{font-size:12px;line-height:1.5;font-weight:600;overflow-wrap:anywhere}.wallet-v48 .wallet-list strong{font-size:15px;white-space:nowrap;color:#eed49c}.wallet-v48 .wallet-list small{display:block;width:auto;font-size:10px;line-height:1.6;color:#97ae9b}.wallet-v48 .wallet-list article>small{flex-basis:100%}.wallet-v48 .wallet-list article p{flex-basis:100%;font-size:11px;color:#afbdac;overflow-wrap:anywhere}.wallet-empty{display:flex;align-items:center;flex-direction:column;justify-content:center;gap:12px;padding:22px 12px;text-align:center;color:#a8bba8}.wallet-empty>svg{width:32px;height:32px;color:#b3a56d;opacity:.8}.wallet-empty p{max-width:38em}.wallet-v48 .wallet-note{padding:10px 12px;border:1px solid #bfab6433;border-radius:10px;background:#c3a75e09;color:#b2bea6;font-size:11px}.wallet-section-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.wallet-section-title>span{font-size:10px;color:#8fa997}.wallet-section-title>svg{width:22px;color:#d3bd83}.wallet-section-title>button{font-size:10px;padding:5px 8px;min-height:30px}.wallet-methods{display:grid;gap:8px}.wallet-v48 .wallet-methods button{justify-content:initial;gap:12px;padding:14px;background:#142f25;border:1px solid #8ba77c33;text-align:left}.wallet-methods button>svg:first-child{width:26px;height:26px;color:#cbba7b}.wallet-methods button>span{flex:1}.wallet-methods b,.wallet-methods small{display:block}.wallet-methods b{font-size:14px;font-weight:600;color:#eff1df}.wallet-methods small{font-size:10px;color:#98ac98;margin-top:5px}.wallet-v48 button.selected{border-color:#d3b674;background:#264b33}.wallet-v48 .wallet-form{display:grid;gap:15px;align-items:stretch}.wallet-v48 label{font-size:11px;color:#a3b7a6;min-width:0;gap:8px}.wallet-v48 input{height:44px;background:#091b16;border:1px solid #8ca37a4d;border-radius:10px;color:#f3f4e7;padding:10px 12px;font-size:15px;box-sizing:border-box}.wallet-input-unit{position:relative;display:flex;align-items:center;border:1px solid #8ca37a4d;border-radius:10px;background:#091b16;overflow:hidden}.wallet-v48 .wallet-input-unit input{border:0;flex:1;width:0;background:none;outline:none}.wallet-input-unit>span{font-size:12px;margin-right:12px;color:#dddac5}.wallet-v48 .wallet-input-unit>button{padding:4px 10px;margin-right:4px;font-size:11px;min-height:30px;border:0;background:none;color:#e2c889}.wallet-presets{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.wallet-v48 .wallet-presets button{font-size:12px;padding:7px 4px}.wallet-v48 .wallet-primary{border:1px solid #d3b574;color:#142c22;background:linear-gradient(115deg,#e1c58c,#b89b5e);font-size:14px;font-weight:750;min-height:46px;box-shadow:0 3px 12px #0003}.wallet-v48 .wallet-primary:disabled{opacity:.45}.wallet-network{padding:12px;background:#16382b;border-radius:10px;display:grid;gap:5px}.wallet-network span{font-size:10px;color:#8fa997}.wallet-network b{font-size:13px;color:#e3d7b6}.wallet-v48 .wallet-message{padding:10px 12px;border-radius:10px;border:1px solid #bfab644d;background:#b39b3d18;color:#ffe2a1}.wallet-v48 .deposit-instructions{padding:14px;gap:15px;border:1px solid #c3ab6d66;background:#112d22;border-radius:16px}.wallet-order-status{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#e6d6ab}.wallet-order-status strong{font-size:22px;letter-spacing:.04em;font-variant-numeric:tabular-nums;color:#f0d18b}.wallet-v48 .wallet-qr{width:152px;height:152px;display:block;justify-self:center;border-radius:9px;border:5px solid #fff;background:#fff}.wallet-copy-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.wallet-v48 .deposit-exact{font-size:30px;font-variant-numeric:tabular-nums;letter-spacing:-.04em;color:#ffe0a0}.deposit-exact>small{font-size:13px;letter-spacing:0}.wallet-copy-row button,.wallet-address button{font-size:10px;padding:5px 9px;flex-shrink:0;min-height:32px}.wallet-address{display:flex;align-items:center;gap:8px;background:#091e17;border:1px solid #91ac7b40;padding:10px;border-radius:10px}.wallet-address code{font-family:ui-monospace,monospace;font-size:11px;line-height:1.6;color:#d6e3c8;overflow-wrap:anywhere;flex:1;min-width:0}.wallet-order-id{font-size:9px;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.wallet-v48 .wallet-order{display:flex;justify-content:space-between;padding:11px 12px;gap:8px;background:#132e24;border-color:#83a17333}.wallet-order span{color:#e9d4a1}.wallet-order small{font-size:10px;color:#a4b299}.wallet-positive{color:#97d8b0!important}.wallet-pagination{align-items:center;font-size:11px;color:#afbdac}.wallet-v48 .wallet-pagination button{min-height:32px;font-size:11px;padding:5px 10px}@media(max-width:400px){.info-dialog.wallet-dialog{width:calc(100vw - 16px);border-radius:17px}.wallet-dialog .info-dialog__body{padding:0 14px 14px}.wallet-v48 .wallet-nav{margin:0 -14px;padding:10px 12px 8px}.wallet-hero{padding:16px}.wallet-profile{margin-bottom:16px}.wallet-total{font-size:33px}.wallet-v48{gap:12px}.wallet-v48 .wallet-qr{width:128px;height:128px}.wallet-v48 .deposit-instructions{padding:12px;gap:12px}.wallet-v48 .deposit-exact{font-size:27px}.wallet-copy-row button,.wallet-address button{font-size:9px;padding:5px 7px}.wallet-v48 .wallet-note{font-size:10px}}@media(max-height:620px){.wallet-dialog .info-dialog__body{max-height:calc(100dvh - 95px)}.wallet-v48 .wallet-qr{width:104px;height:104px}.wallet-v48 .deposit-instructions{gap:10px}.wallet-v48{gap:12px}.wallet-hero{padding:15px}.wallet-profile{margin-bottom:12px}}.info-dialog.wallet-dialog{color-scheme:dark}.wallet-dialog :where(.info-dialog__body,.wallet-list,.wallet-nav){scrollbar-width:thin;scrollbar-color:#78937c #10291f}.wallet-dialog :where(.info-dialog__body,.wallet-list,.wallet-nav)::-webkit-scrollbar{width:6px;height:6px}.wallet-dialog :where(.info-dialog__body,.wallet-list,.wallet-nav)::-webkit-scrollbar-track{background:#10291f;border-radius:8px}.wallet-dialog :where(.info-dialog__body,.wallet-list,.wallet-nav)::-webkit-scrollbar-thumb{background:#78937c;border:1px solid #10291f;border-radius:8px}.wallet-dialog :where(.info-dialog__body,.wallet-list,.wallet-nav)::-webkit-scrollbar-thumb:hover{background:#b5a778}.wallet-dialog :where(.info-dialog__body,.wallet-list,.wallet-nav)::-webkit-scrollbar-corner{background:#10291f}.info-backdrop.room-funds-backdrop{align-items:end;justify-items:center;height:min(var(--app-height,100dvh),100dvh);bottom:auto;background:#031b18b8;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);padding:max(10px,var(--room-safe-top,env(safe-area-inset-top,0px))) max(10px,var(--room-safe-right,env(safe-area-inset-right,0px))) max(10px,var(--room-safe-bottom,env(safe-area-inset-bottom,0px))) max(10px,var(--room-safe-left,env(safe-area-inset-left,0px)))}.room-funds-backdrop .info-dialog.room-funds-sheet{box-sizing:border-box;width:min(100%,480px);max-height:100%;padding:0;overflow:hidden;border:1px solid #bcb17f80;border-radius:24px;background:linear-gradient(150deg,#1c4339,#102d28 70%);box-shadow:0 22px 80px #0008,inset 0 1px #f5e3b31c;color:#e9ead7;color-scheme:dark;font-family:system-ui,sans-serif;animation:funds-enter .22s ease-out}.room-funds-sheet>header{padding:19px 20px 13px;margin:0;border-bottom:1px solid #d7c88a1f;background:#1a3c33}.room-funds-sheet>header h2{font-size:21px;line-height:1.3;letter-spacing:.04em;color:#f4e5b9}.room-funds-sheet .info-dialog__subtitle{display:block;margin-top:5px;font-size:11px;font-weight:400;letter-spacing:0;color:#a4b8a7}.room-funds-sheet>header>button{width:38px;height:38px;min-height:38px;font-size:25px;border:1px solid #9cae8d33;background:#ffffff07;flex-shrink:0}.room-funds-sheet>header>button:disabled{opacity:.35}.room-funds-sheet>.info-dialog__body{padding:16px 20px 20px;scrollbar-width:thin;scrollbar-color:#a6ac7a #15372e;-webkit-overflow-scrolling:touch}.room-funds-sheet .room-funds-content{display:block;font-size:13px;line-height:1.5}.room-funds-sheet .room-funds-balances{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px;padding:0;background:none}.room-funds-sheet .room-funds-balances>span{display:grid;gap:10px;min-width:0;padding:14px;border:1px solid #b7b7823d;border-radius:14px;background:#092c2180;color:#aec3b1;font-size:12px}.room-funds-sheet .room-funds-balances strong{overflow-wrap:anywhere;font-size:clamp(21px,6vw,28px);line-height:1.15;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:#f3d98f}.room-funds-sheet .room-funds-balances strong small{font-size:11px;font-weight:500;letter-spacing:0;color:#b5c7af}.room-funds-sheet .room-funds-form{display:grid;gap:13px;margin:0}.room-funds-sheet .room-funds-minimum{display:flex;flex-wrap:wrap;gap:4px 7px;margin:0;color:#bac8b6;font-size:11px;line-height:1.5}.room-funds-minimum b{color:#e6dab0}.room-funds-minimum>span{margin-left:auto;color:#ddc994}.room-funds-sheet .room-funds-amount{position:relative;display:grid;gap:8px;color:#b9c9b8;font-size:12px;min-width:0}.room-funds-sheet .room-funds-amount input{box-sizing:border-box;width:100%;height:64px;padding:12px 38px 12px 16px;border:1px solid #c2b77866;border-radius:13px;background:#071f18;color:#f8e2a1;font:700 27px/1.15 system-ui;font-variant-numeric:tabular-nums;letter-spacing:.03em}.room-funds-sheet .room-funds-amount>small{position:absolute;bottom:22px;right:17px;font-size:12px;color:#a8bea6}.room-funds-sheet .room-funds-stepper{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:15px}.room-funds-sheet .room-funds-stepper button{height:42px;min-height:42px;padding:0;border:1px solid #a9b78555;border-radius:10px;background:#274c3e;color:#e5d9a5;font:25px/1 system-ui}.room-funds-sheet .room-funds-stepper input{width:100%;height:34px;margin:0;padding:0;background:transparent;accent-color:#dec789;cursor:pointer;touch-action:pan-y;-webkit-appearance:none;-moz-appearance:none;appearance:none}.room-funds-stepper input::-webkit-slider-runnable-track{height:6px;border-radius:10px;background:linear-gradient(90deg,#d7c18b var(--funds-progress),#416354 var(--funds-progress))}.room-funds-stepper input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:23px;height:23px;margin-top:-8.5px;border:4px solid #cfbd83;border-radius:50%;background:#1a4938;box-shadow:0 2px 7px #0008}.room-funds-stepper input::-moz-range-track{height:6px;border-radius:10px;background:#416354}.room-funds-stepper input::-moz-range-progress{height:6px;background:#d7c18b;border-radius:10px}.room-funds-stepper input::-moz-range-thumb{width:16px;height:16px;border:4px solid #cfbd83;border-radius:50%;background:#1a4938}.room-funds-sheet .room-funds-presets{display:grid;grid-template-columns:1fr 1fr;gap:10px}.room-funds-sheet .room-funds-presets button{display:grid;gap:4px;min-width:0;min-height:48px;padding:7px 9px;border:1px solid #b9af7d66;border-radius:11px;background:#0e2e23;color:#adbea9;font:11px/1.35 system-ui}.room-funds-presets b{font-size:13px;color:#e4d3a0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.room-funds-sheet .room-funds-note{margin:0;color:#9bb4a0;font-size:11px;line-height:1.55}.room-funds-sheet .room-funds-message{margin:0;padding:8px 10px;border:1px solid #e2b86a4d;border-radius:8px;background:#efbc4a0d;color:#f0d599;font-size:12px}.room-funds-sheet .room-funds-confirm{width:100%;min-height:48px;margin:0;padding:12px;border:1px solid #d9c187;border-radius:12px;background:linear-gradient(120deg,#e8d5a2,#bd9f62);box-shadow:0 3px 12px #0003;color:#15352b;font-size:16px;line-height:1.3;font-weight:750;letter-spacing:.08em}.room-funds-sheet button:disabled,.room-funds-sheet input:disabled{opacity:.4;cursor:default}.room-funds-sheet :is(button,input):focus-visible{outline:2px solid #f0d995;outline-offset:3px}@keyframes funds-enter{0%{opacity:.5;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media(min-width:720px){.info-backdrop.room-funds-backdrop{align-items:center}}@media(max-width:350px),(max-height:760px){.room-funds-sheet>header{padding:12px 14px 9px}.room-funds-sheet>header h2{font-size:18px}.room-funds-sheet>.info-dialog__body{padding:11px 14px 14px}.room-funds-sheet .room-funds-balances{margin-bottom:10px;gap:8px}.room-funds-sheet .room-funds-balances>span{gap:6px;padding:10px}.room-funds-sheet .room-funds-form{gap:10px}.room-funds-sheet .room-funds-amount input{height:52px;font-size:23px}.room-funds-sheet .room-funds-amount>small{bottom:17px}.room-funds-sheet .room-funds-note{font-size:10px}.room-funds-sheet .room-funds-presets button{min-height:42px}.room-funds-sheet .room-funds-confirm{min-height:44px;padding:10px}}@media(max-height:420px){.room-funds-sheet>header{padding:9px 14px}.room-funds-sheet>.info-dialog__body{padding:10px 14px}.room-funds-sheet .room-funds-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 14px}.room-funds-sheet .room-funds-balances{margin-bottom:8px}.room-funds-sheet .room-funds-balances>span{display:flex;gap:8px;align-items:center;padding:8px 10px}.room-funds-sheet .room-funds-balances strong{font-size:20px;margin-left:auto}.room-funds-sheet .room-funds-minimum,.room-funds-sheet .room-funds-message,.room-funds-sheet .room-funds-confirm{grid-column:1/-1}.room-funds-sheet .room-funds-amount{grid-row:2/4}.room-funds-sheet .room-funds-amount input{height:58px}.room-funds-sheet .room-funds-amount>small{bottom:21px}.room-funds-sheet .room-funds-note{grid-column:1/-1;font-size:10px}.room-funds-sheet .room-funds-stepper{gap:8px;grid-template-columns:36px minmax(0,1fr) 36px}.room-funds-sheet .room-funds-stepper button{height:34px;min-height:34px}.room-funds-sheet .room-funds-presets button{min-height:37px;padding:4px}.room-funds-sheet .room-funds-confirm{min-height:40px;padding:8px}}@media(prefers-reduced-motion:reduce){.room-funds-sheet{animation:none!important}}.room-funds-sheet>.info-dialog__footer{flex-shrink:0;padding:0 20px 18px;background:#12332b}@media(max-width:350px),(max-height:760px){.room-funds-sheet>header{padding:10px 14px 8px}.room-funds-sheet>.info-dialog__body{padding:10px 14px}.room-funds-sheet>.info-dialog__footer{padding:0 14px 12px}.room-funds-sheet .room-funds-form{gap:8px}.room-funds-sheet .room-funds-balances>span{gap:5px;padding:9px}.room-funds-sheet .room-funds-balances strong{font-size:23px}.room-funds-sheet .room-funds-amount{gap:5px}.room-funds-sheet .room-funds-amount input{height:48px}.room-funds-sheet .room-funds-amount>small{bottom:15px}.room-funds-sheet .room-funds-stepper button{height:36px;min-height:36px}.room-funds-sheet .room-funds-presets button{min-height:40px}.room-funds-sheet .room-funds-note{line-height:1.4}}.room-funds-backdrop .room-funds-sheet:focus{outline:none}.room-funds-sheet .room-funds-stepper input{border:0;border-radius:0;box-shadow:none}@media(max-height:420px){.room-funds-sheet .info-dialog__subtitle{display:inline;margin:0 0 0 8px;font-size:10px}.room-funds-sheet>header h2{font-size:17px}.room-funds-sheet .room-funds-note{display:none}.room-funds-sheet .room-funds-balances>span{padding:6px 8px;font-size:10px}.room-funds-sheet .room-funds-balances strong{font-size:18px}.room-funds-sheet>.info-dialog__footer{padding:0 14px 8px}}@media(max-width:350px),(max-height:760px){.room-funds-sheet>.info-dialog__body{padding:8px 14px}.room-funds-sheet .room-funds-form{gap:6px}}@media(max-height:360px)and (max-width:350px){.room-funds-sheet>header{padding:7px 12px}.room-funds-sheet>header>button{width:32px;height:32px;min-height:32px}.room-funds-sheet>header h2{font-size:16px}.room-funds-sheet .info-dialog__subtitle{font-size:9px;margin-left:5px}.room-funds-sheet>.info-dialog__body{padding:7px 12px}.room-funds-sheet .room-funds-balances{gap:7px;margin-bottom:6px}.room-funds-sheet .room-funds-balances>span{display:grid;gap:2px;padding:6px 8px}.room-funds-sheet .room-funds-balances strong{margin-left:0;font-size:18px}.room-funds-sheet .room-funds-form{grid-template-columns:minmax(0,1fr);gap:6px}.room-funds-sheet .room-funds-minimum{font-size:10px}.room-funds-sheet .room-funds-amount{grid-row:auto;grid-column:auto;gap:3px;font-size:10px}.room-funds-sheet .room-funds-amount input{height:40px;font-size:21px}.room-funds-sheet .room-funds-amount>small{bottom:12px}.room-funds-sheet .room-funds-stepper{display:none}.room-funds-sheet .room-funds-presets{gap:7px}.room-funds-sheet .room-funds-presets button{min-height:34px;padding:3px;font-size:10px}.room-funds-sheet .room-funds-presets b{font-size:11px}.room-funds-sheet>.info-dialog__footer{padding:0 12px 7px}.room-funds-sheet .room-funds-confirm{min-height:36px;padding:7px;font-size:14px}}.room-funds-sheet .room-funds-balances strong{margin:0}@media(max-height:360px)and (max-width:350px){.room-funds-sheet .info-dialog__subtitle{display:none}.room-funds-sheet>.info-dialog__body{padding:6px 12px}.room-funds-sheet .room-funds-presets button{min-height:32px;font-size:10px;line-height:1.15;gap:1px}.room-funds-sheet .room-funds-presets b{line-height:1.15}}@media(max-height:360px)and (max-width:350px){.room-funds-sheet>header{padding:6px 12px}.room-funds-sheet>.info-dialog__body{padding:4px 12px}.room-funds-sheet>.info-dialog__footer{padding-bottom:5px}}.wallet-v48 .wallet-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.wallet-v48 .wallet-shortcuts{grid-template-columns:repeat(5,minmax(0,1fr))}.red-packets{display:flex;flex-direction:column;gap:14px;min-width:0}.red-packets h3,.red-packets h4,.red-packets p{margin:0}.red-packet-heading{display:flex;align-items:center;gap:12px!important}.red-packet-emblem{width:46px;height:46px;display:grid;place-items:center;flex:none;border:1px solid #e3b36e77;border-radius:14px;background:linear-gradient(145deg,#a94537,#6c292b);color:#f4d295}.red-packet-heading h3{font-size:18px;color:#f7e6c4}.red-packet-heading p{margin-top:4px;font-size:11px;color:#b5c3ad}.red-packet-nav,.red-packet-modes,.red-packet-form-row,.red-packet-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.red-packet-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.red-packets button{min-width:0;min-height:40px;white-space:normal}.red-packet-nav button,.red-packet-back,.red-packet-actions>button{display:flex;align-items:center;justify-content:center;gap:6px}.red-packets button svg,.red-packets .wallet-note>svg{width:16px;height:16px;flex:none}.red-packet-nav .active,.red-packet-modes .active,.red-packet-presets .active{color:#ffe4b0!important;border-color:#d9b174!important;background:#8f5d302e!important}.red-packet-modes>button{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:12px}.red-packet-modes small{font-size:10px;color:#adbcaa}.red-packet-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.red-packet-presets button{font-size:11px;min-height:34px}.red-packets .wallet-form{display:flex;flex-direction:column;gap:12px}.red-packet-total{display:flex;justify-content:space-between;align-items:center;padding:12px;border-radius:12px;background:#081f18;color:#b5c3ad;font-size:12px}.red-packet-total strong{font-size:23px;color:#f0d59c}.red-packet-security{display:grid;justify-items:center;gap:12px;text-align:center;padding:18px;border:1px solid #d2b58355;border-radius:14px}.red-packet-cover{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 15px;border:1px solid #d2a76a;border-radius:18px;background:radial-gradient(ellipse at top,#ca79513b,transparent 65%),linear-gradient(135deg,#9a3e32,#61262c);color:#ffdfad;text-align:center}.red-packet-cover>svg{width:40px;height:40px}.red-packet-cover>strong{font-size:32px}.red-packet-cover>strong small{font-size:12px}.red-packet-cover h3{font-size:17px;overflow-wrap:anywhere}.red-packet-cover>span,.red-packet-cover>small{font-size:12px}.red-packet-facts>span{display:flex;flex-direction:column;gap:5px;padding:12px;background:#102d23;border-radius:12px;color:#9db399;font-size:11px}.red-packet-facts b{font-size:17px;color:#e7d6ac}.red-packet-own{padding:12px;background:#4c794033;border-radius:10px;color:#b5e4af}.red-packet-share{display:flex;flex-wrap:wrap;gap:6px;padding:12px;border:1px solid #a4b77d44;border-radius:12px}.red-packet-share label{width:100%;min-width:0;font-size:11px;color:#a8b7a2}.red-packet-share code{display:block;overflow-wrap:anywhere;margin-top:6px;font-size:11px;color:#e9d6a3;-webkit-user-select:all;user-select:all}.red-packet-share>button{flex:1}.red-packet-cancel{color:#e9b39e!important}.red-packet-confirm{padding:12px;border:1px solid #c5966b77;border-radius:12px;display:flex;gap:8px;flex-wrap:wrap}.red-packet-confirm p{width:100%;font-size:12px}.red-packet-confirm button{flex:1}.red-packet-claims{display:flex;flex-direction:column;gap:7px}.red-packet-claims article{display:flex;align-items:center;gap:8px;padding:10px;border-radius:10px;background:#1c3a2b}.red-packet-claims article>div{flex:1;min-width:0}.red-packet-claims small,.red-packet-list small{display:block;font-size:10px;color:#a3b69b;margin-top:4px}.red-packet-claims article>span{color:#e8c37a;font-size:9px}.red-packet-claims strong{font-size:14px;color:#e9d8aa}.red-packet-list{display:flex;flex-direction:column;gap:8px}.red-packet-list>button{display:flex;align-items:center;gap:10px;padding:12px;text-align:left}.red-packet-list>button>div{flex:1;min-width:0}.red-packet-list>button>span{text-align:right;flex:none}.red-packet-list b{font-size:12px}.red-packet-list strong{font-size:15px}.red-packet-list>button>svg{width:25px;height:25px;color:#e2bd7e}.red-packets .wallet-note{overflow-wrap:anywhere;line-height:1.7}@media(max-width:400px){.wallet-v48 .wallet-nav{gap:2px}.wallet-v48 .wallet-nav button{font-size:10px;padding-left:2px;padding-right:2px}.red-packet-nav button{font-size:11px;gap:3px}.red-packet-modes>button{padding:10px}.red-packet-cover{padding:18px 12px}.red-packet-claims article{flex-wrap:wrap}.red-packet-claims article>span{width:100%;text-align:right}}.red-packet-registration{display:grid;gap:8px;padding:12px;border:1px solid #d3b47466;border-radius:12px;background:#b6964a16}.red-packet-registration p{font-size:11px}.red-packet-registration button{justify-self:start;color:#f5d49a}.page.mahjong-create{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:12px;height:100%;min-height:0;padding:16px 20px 12px;background:radial-gradient(ellipse at 90% 0,#42705b38,transparent 45%),linear-gradient(160deg,#142e26,#081d17);font-family:system-ui,-apple-system,Microsoft YaHei,sans-serif}.mahjong-create__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.mahjong-create__header .home-button{display:flex;align-items:center;justify-content:center;gap:7px;min-height:38px;margin:0;padding:8px 12px;border:1px solid #c6b17a50;border-radius:12px;background:linear-gradient(#355b4a99,#193e30cc);color:#ecd9a7;font-size:12px;box-shadow:inset 0 1px #fff1,0 4px 14px #0002}.mahjong-create__header svg{width:17px;height:17px}.mahjong-create__hero{display:flex;flex-direction:column;justify-content:center;gap:7px;min-height:76px;padding:16px;border:1px solid #a5b58b30;border-radius:16px;background:linear-gradient(90deg,#0a2118ed,#0a211899 60%,#0a211814),url(/assets/mahjong-v45/banner.png) center 60%/cover no-repeat;box-shadow:inset 0 1px #fff1}.page.mahjong-create h1{margin:0;font-size:26px;line-height:1.15;letter-spacing:.04em;color:#ffe4a2}.mahjong-create__hero>p{margin:0;color:#c3cdb4;font-size:11px;line-height:1.3}.page.mahjong-create>.mahjong-create__settings{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;align-content:start;gap:14px;min-height:0;padding:16px;border:1px solid #b6b48b45;border-radius:18px;background:linear-gradient(140deg,#2a493a99,#122c22d9);box-shadow:inset 0 1px #fff1,0 10px 24px #0002}.page.mahjong-create .mahjong-settings-group{display:grid;gap:8px;min-width:0}.page.mahjong-create .mahjong-settings-group>h2{margin:0;color:#d6d8bf;font-size:13px;font-weight:600;letter-spacing:.05em}.page.mahjong-create .mahjong-money-choice,.page.mahjong-create .mahjong-round-choice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0;min-width:0}.page.mahjong-create .mahjong-money-choice>button,.page.mahjong-create .mahjong-round-choice>button{position:relative;display:grid;place-items:center;min-width:0;min-height:48px;padding:8px 6px;border:1px solid #a7b39235;border-radius:11px;background:linear-gradient(#234434,#102e23);color:#d1d7c3;font:500 12px/1.45 system-ui,sans-serif;box-shadow:inset 0 1px #fff08;text-wrap:balance;transition:border-color .15s,background .15s,color .15s}.page.mahjong-create .mahjong-money-choice>button.active,.page.mahjong-create .mahjong-round-choice>button.active{border-color:#d5bc78;color:#ffe8aa;background:linear-gradient(135deg,#6b6539,#3b4b31);box-shadow:inset 0 1px #fff3,0 0 0 1px #dcc28016}.page.mahjong-create .mahjong-money-choice>button.active:after,.page.mahjong-create .mahjong-round-choice>button.active:after{content:"✓";position:absolute;right:5px;top:2px;color:#f2d993;font-size:9px}.page.mahjong-create .mahjong-round-choice>button{min-height:40px;font-size:14px}.page.mahjong-create .mahjong-create__description{display:flex;flex-direction:column;justify-content:center;gap:5px;min-height:0}.page.mahjong-create .mahjong-create__description>p{margin:0;color:#aabfa9;font:11px/1.5 system-ui,sans-serif}.page.mahjong-create>.mahjong-create__settings>.primary-button{width:100%;min-height:46px;margin:0;border:1px solid #edcf8a;border-radius:12px;background:linear-gradient(130deg,#edda9f,#bd9650);color:#183a2c;font-size:15px;font-weight:700;box-shadow:inset 0 1px #fffb,0 6px 16px #071c1655}.page.mahjong-create .mahjong-help-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;min-width:0}.page.mahjong-create .mahjong-help-actions>button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:8px;border:1px solid #9dad8b3a;border-radius:11px;background:#17372a;color:#c2d1b7;font-size:12px}.mahjong-create .mahjong-help-actions svg{width:17px;height:17px}.page.mahjong-create>small{text-align:center;font-size:10px;line-height:1.3;color:#829d89}.mahjong-create__error{position:absolute;z-index:3;bottom:66px;left:24px;right:24px;padding:10px;border:1px solid #dfae7388;border-radius:9px;background:#273829;color:#ffe6af;font-size:12px}@media(max-height:650px){.page.mahjong-create{gap:8px;padding:10px 16px}.mahjong-create__hero{min-height:60px;padding:12px 14px}.page.mahjong-create h1{font-size:23px}.page.mahjong-create>.mahjong-create__settings{padding:12px;gap:10px}.page.mahjong-create .mahjong-money-choice>button{min-height:44px}.page.mahjong-create .mahjong-create__description>p{font-size:10px}.page.mahjong-create>.mahjong-create__settings>.primary-button{min-height:42px}}.app-surface:has(>.mahjong-create){margin-block:0;border:0;border-radius:0;height:min(var(--app-height,100dvh),100dvh)}.page.mahjong-create .mahjong-money-choice>button{word-break:keep-all}html[data-mahjong-room=true],html[data-mahjong-room=true] body,html[data-mahjong-room=true] #root{background:#0b2d23;overscroll-behavior:none}html[data-mahjong-room=true]{color-scheme:dark}html[data-mahjong-room=true] .app-shell,html[data-mahjong-room=true] .app-surface{background:#0b2d23}html[data-mahjong-view=create] .app-surface{height:var(--app-height,100%);margin-block:0;border:0;border-radius:0}.page.mahjong-create{padding:calc(10px + var(--app-safe-top,0px)) calc(14px + var(--app-safe-right,0px)) calc(10px + var(--app-safe-bottom,0px)) calc(14px + var(--app-safe-left,0px));grid-template-rows:auto auto minmax(0,1fr) auto auto;overflow:auto}.page.mahjong-create h1{font-size:clamp(20px,5.2vw,26px);overflow-wrap:anywhere}.page.mahjong-create>.mahjong-create__settings{grid-template-rows:auto auto minmax(0,1fr) auto}.page.mahjong-create .mahjong-create__description{overflow:auto}.mahjong-settings-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.mahjong-settings-heading h2{margin:0;font-size:13px;color:#d6d8bf}.mahjong-settings-heading small{font:11px/1.3 system-ui;color:#e5cc96;white-space:nowrap}html[data-compact=true] .page.mahjong-create{gap:6px}html[data-compact=true] .mahjong-create__hero{min-height:56px;padding:10px 12px}html[data-compact=true] .page.mahjong-create>.mahjong-create__settings{gap:8px;padding:10px}html[data-compact=true] .page.mahjong-create .mahjong-money-choice>button{min-height:42px;padding:6px 4px;font-size:11px}html[data-short=true] .page.mahjong-create>small{display:none}:root{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:#f5eddd;background:#071114;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #0b171a;--ink-2: #102429;--ink-3: #17343a;--paper: #f3ead7;--paper-2: #e9dbc0;--cinnabar: #d75a47;--cinnabar-dark: #9e352c;--jade: #52af97;--jade-dark: #236f63;--brass: #c7a56a;--muted: #aebdbb;--line: rgba(210, 228, 222, .16);--surface: rgba(17, 39, 44, .88)}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;min-height:0;margin:0;overflow:hidden}body{min-width:320px}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--jade);outline-offset:3px}.app-shell{height:100dvh;min-height:0;overflow:hidden;background:radial-gradient(circle at 82% 2%,rgba(199,165,106,.1),transparent 24rem),radial-gradient(circle at 4% 45%,rgba(82,175,151,.08),transparent 28rem),#071114}.app-surface{width:min(100%,520px);height:var(--tg-viewport-stable-height, 100dvh);min-height:0;margin:0 auto;position:relative;overflow:hidden;background:linear-gradient(#0511153d,#040e126b),url(/assets/ink-night-background.png) center / cover fixed,var(--ink);box-shadow:0 0 80px #0006}.page{height:100%;min-height:0;overflow:hidden;padding:max(22px,env(safe-area-inset-top)) 22px max(26px,env(safe-area-inset-bottom));position:relative;isolation:isolate}.page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;opacity:.16;background-image:radial-gradient(circle at 20% 20%,rgba(255,255,255,.08) 0 1px,transparent 1px);background-size:18px 18px}.page:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#05111514,#0511157a)}.icon-button{width:44px;height:44px;border:0;border-radius:999px;display:grid;place-items:center;background:#ffffff12;cursor:pointer}.eyebrow{margin:0;color:var(--brass);font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase}.brand{display:flex;align-items:center;gap:11px;min-height:50px;position:relative;z-index:2}.brand__mark{width:48px;height:48px;display:grid;place-items:center;font:32px Songti SC,STSong,serif;color:#132124;background:var(--paper);border-radius:13px 3px;box-shadow:inset 0 0 0 1px #c7a56aa6}.brand strong{display:block;color:var(--paper);font:24px Songti SC,STSong,serif;letter-spacing:.08em}.brand strong small,.setup-brand strong small{font-size:.48em;letter-spacing:.02em;white-space:nowrap}.brand span{display:block;margin-top:2px;color:#93aaa8;font-size:11px;letter-spacing:.19em}.brand__profile{margin-left:auto;padding:0;overflow:hidden;border:1px solid rgba(218,190,137,.54);background:#ffffff12;box-shadow:0 5px 17px #00000042}.brand .brand__profile-avatar{width:100%;height:100%;margin:0;border:0;color:#e8d5ac;background:#ffffff09;font:700 17px Songti SC,serif}.brand .brand__profile-avatar svg{width:21px}.ink-moon{position:absolute;width:230px;height:230px;right:-95px;top:-60px;border-radius:50%;background:radial-gradient(circle at 38% 40%,rgba(241,224,190,.72) 0 12%,rgba(241,224,190,.08) 13% 34%,transparent 35%);opacity:.4;pointer-events:none}.lobby-page{display:flex;flex-direction:column;gap:clamp(8px,1.5vh,14px)}.welcome-block{margin:clamp(12px,3.6vh,34px) 0 0}.welcome-block h1{margin:8px 0 0;font-size:clamp(34px,9vw,46px);line-height:1.14;letter-spacing:-.04em;color:var(--paper)}.friend-hero{width:100%;min-height:clamp(76px,11.5vh,100px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:15px;border:0;border-radius:26px;padding:15px 20px;text-align:left;color:#0e2224;background:linear-gradient(120deg,var(--paper),#e7d6b5);box-shadow:0 22px 50px #00000042;cursor:pointer}.friend-hero__icon{width:52px;height:52px;display:grid;place-items:center;border-radius:17px;color:var(--paper);background:var(--cinnabar)}.friend-hero small,.friend-hero strong{display:block}.friend-hero small{color:#81745f;font-size:11px}.friend-hero strong{margin-top:2px;font-size:23px}.game-grid{min-height:0;flex:1 1 182px;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:0}.game-card{min-height:126px;position:relative;padding:18px;border:1px solid rgba(255,255,255,.14);border-radius:25px;overflow:hidden;text-align:left;cursor:pointer;background-color:#173b37}.game-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#040c0e05,#040c0e80);z-index:-1}.game-card--xiangqi{background:linear-gradient(180deg,#711b1514,#4e1311b3),url(/assets/game-card-xiangqi-v3.png) center / cover}.game-card--gomoku{background:linear-gradient(180deg,#11554705,#083a34b0),url(/assets/game-card-gomoku-v3.png) center 40% / cover no-repeat,#173b37;box-shadow:inset 0 -3px #123d37}.game-card>span{display:block;margin-top:28px;font-size:21px;font-weight:700}.game-card>small{display:block;margin-top:4px;color:#ffffffb3;font-size:10px}.game-card>svg{position:absolute;right:15px;bottom:16px}.mini-xiangqi,.mini-gomoku{height:70px;position:relative;border-radius:15px;background:#0f191a2e;overflow:hidden}.mini-xiangqi{display:flex;align-items:center;gap:8px;padding-left:15px;background-image:linear-gradient(rgba(255,255,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 1px);background-size:20px 20px}.mini-xiangqi i{width:47px;height:47px;display:grid;place-items:center;border-radius:50%;font: 23px Songti SC,STSong,serif;color:#922f2a;background:url(/assets/xiangqi-piece-boxwood.png) center / contain no-repeat;filter:drop-shadow(0 5px 4px rgba(0,0,0,.38))}.mini-gomoku{background-image:linear-gradient(rgba(8,45,40,.28) 1px,transparent 1px),linear-gradient(90deg,rgba(8,45,40,.28) 1px,transparent 1px);background-size:18px 18px}.mini-gomoku i{position:absolute;width:25px;height:25px;border-radius:50%;background:url(/assets/gomoku-stone-black.png) center / contain no-repeat;filter:drop-shadow(0 4px 4px rgba(0,0,0,.35));top:20px;left:calc(20px + var(--n, 0) * 21px)}.mini-gomoku i:nth-child(2){--n: 1;background-image:url(/assets/gomoku-stone-white.png);top:36px}.mini-gomoku i:nth-child(3){--n: 2}.mini-gomoku i:nth-child(4){--n: 3;background-image:url(/assets/gomoku-stone-white.png);top:36px}.mini-gomoku i:nth-child(5){--n: 4}.continue-card,.join-card{width:100%;flex:0 0 auto;display:flex;align-items:center;gap:13px;min-height:62px;margin-top:0;padding:9px 16px;border:1px solid var(--line);border-radius:21px;background:var(--surface);cursor:pointer}.continue-card__preview{width:74px;height:50px;position:relative;flex:0 0 auto;border-radius:12px;background:#d9cba9;background-image:linear-gradient(rgba(29,65,59,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(29,65,59,.25) 1px,transparent 1px);background-size:11px 11px}.continue-card__preview i{position:absolute;width:11px;height:11px;border-radius:50%;background:#172021;left:27px;top:17px}.continue-card__preview i:nth-child(2){background:#fff;left:38px;top:28px}.continue-card__preview i:nth-child(3){left:49px;top:17px}.continue-card small,.continue-card strong{display:block;text-align:left}.continue-card small{color:var(--muted);font-size:10px}.continue-card strong{margin-top:3px;font-size:15px}.continue-card__meta{margin-left:auto;display:flex;gap:5px;align-items:center;color:#809693;font-size:10px}.join-card{min-height:50px;color:var(--paper)}.join-card span{flex:1;text-align:left;font-weight:600}.secondary-actions{flex:0 0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:0}.secondary-actions button{min-height:clamp(50px,7.7vh,64px);display:grid;place-items:center;gap:5px;border:1px solid var(--line);border-radius:18px;color:#a8b8b5;background:#ffffff09;font-size:11px;cursor:pointer}.sub-header,.room-header{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:12px}.sub-header>div strong,.room-header>div strong{display:block;font-size:19px}.sub-header>div span,.room-header>div span{display:block;margin-top:2px;color:var(--muted);font-size:10px}.secure-chip,.watcher-chip{display:flex;align-items:center;gap:5px;padding:8px 11px;border:1px solid var(--line);border-radius:999px;color:#b9c8c5;font-size:10px}.game-segment{display:grid;grid-template-columns:1fr 1fr;margin-top:36px;padding:5px;border-radius:18px;background:#0003;border:1px solid var(--line)}.game-segment button{height:51px;border:0;border-radius:14px;color:#9baaa8;background:transparent;font-weight:600;cursor:pointer}.game-segment button.active{color:#fff}.game-segment button.active.xiangqi{background:var(--cinnabar)}.game-segment button.active.gomoku{background:var(--jade-dark)}.versus-card{display:grid;grid-template-columns:auto 1fr auto auto 1fr;align-items:center;gap:10px;min-height:108px;margin-top:15px;padding:18px;border:1px solid var(--line);border-radius:23px;background:var(--surface)}.avatar{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;flex:0 0 auto}.avatar--me{color:#5d241f;background:radial-gradient(circle at 35% 30%,#f8ddc9,#cf695b);border:2px solid #f0c994;font:22px Songti SC,STSong,serif}.avatar--empty{color:#879492;background:#ffffff0f;border:1px dashed rgba(255,255,255,.28)}.avatar--friend{color:var(--ink);background:linear-gradient(135deg,#d6c9aa,#7ca99b);border:2px solid var(--brass)}.user-avatar{overflow:hidden}.user-avatar>b{line-height:1;font:inherit}.versus-card strong,.versus-card small{display:block}.versus-card strong{font-size:13px}.versus-card small{margin-top:3px;color:var(--muted);font-size:9px}.versus-mark{color:var(--brass);font:italic 20px Georgia,serif}.setup-card{margin-top:15px;padding:19px;border:1px solid var(--line);border-radius:24px;background:var(--surface)}.setup-heading{display:flex;align-items:center;gap:8px}.chip-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:13px}.chip-row button,.stepper button{min-height:42px;border:1px solid var(--line);border-radius:13px;color:var(--muted);background:#ffffff09;cursor:pointer}.chip-row button.selected,.stepper button.selected{color:#112522;background:var(--paper);border-color:var(--paper);font-weight:700}.setting-row{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--line)}.setting-row:first-of-type{margin-top:17px}.setting-row>span{display:flex;align-items:center;gap:10px}.setting-row strong,.setting-row small{display:block}.setting-row strong{font-size:13px}.setting-row small{margin-top:2px;color:var(--muted);font-size:9px}.yin-yang{font-size:20px}.stepper{display:flex;gap:5px}.stepper button{min-width:38px;min-height:36px}.setting-row select,.value-button{min-height:39px;padding:0 12px;border:1px solid var(--line);border-radius:12px;color:var(--paper);background:#102529;cursor:pointer}.value-button{display:flex;align-items:center;gap:5px}.primary-button{width:100%;min-height:58px;display:flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:18px;color:#fff;font-weight:700;cursor:pointer;box-shadow:0 15px 35px #0003}.setup-page>.primary-button{margin-top:18px}.primary-button--xiangqi{background:linear-gradient(135deg,var(--cinnabar),#ad3d34)}.primary-button--gomoku{background:linear-gradient(135deg,var(--jade),var(--jade-dark))}.primary-button:disabled{opacity:.5;cursor:wait}.text-button,.demo-link{display:block;margin:15px auto 0;padding:8px;border:0;color:var(--brass);background:transparent;cursor:pointer}.form-error{padding:10px 12px;color:#ffd2cc;border-radius:12px;background:#d75a4726;font-size:12px}.room-page{padding-left:14px;padding-right:14px;display:flex;flex-direction:column}.room-page--xiangqi{--game-accent: var(--cinnabar)}.room-page--gomoku{--game-accent: var(--jade)}.room-header{flex:0 0 auto;padding:0 5px}.player-bar{min-height:70px;display:flex;align-items:center;gap:11px;margin:12px 5px 8px;padding:10px 13px;border:1px solid rgba(210,228,222,.2);border-radius:20px;background:linear-gradient(110deg,#091b22eb,#122c31b8);box-shadow:inset 0 1px #ffffff09,0 12px 28px #0000002e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.player-bar--me{margin-top:9px;margin-bottom:9px}.player-bar.is-empty{border-style:dashed}.player-bar strong,.player-bar span{display:flex;align-items:center;gap:4px}.player-bar strong{font-size:14px}.player-bar span{margin-top:3px;color:var(--muted);font-size:10px}.player-bar time{margin-left:auto;font:600 26px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--paper)}.room-rule{margin-left:auto;padding:7px 10px;border-radius:999px;background:#ffffff0d}.online-dot{width:8px;height:8px;border-radius:50%;background:#31d598;box-shadow:0 0 10px #31d598}.board-stage{position:relative;flex:1 1 auto;min-height:0;display:grid;place-items:center;container-type:size}.board-stage>.xiangqi-board,.board-stage>.gomoku-board{max-width:100%;max-height:100%;height:auto;margin:0}.board-stage>.xiangqi-board{width:min(100cqw,89.22cqh,430px)}.board-stage>.gomoku-board{width:min(100cqw,100cqh,430px)}.board-invite{position:absolute;z-index:4;left:50%;top:50%;min-height:54px;display:flex;align-items:center;gap:9px;padding:0 25px;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.28);border-radius:999px;color:#fff;font-weight:700;white-space:nowrap;cursor:pointer;box-shadow:0 15px 40px #00000061;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.board-invite--xiangqi{background:#97322ae6}.board-invite--gomoku{background:#247867eb}.turn-strip{flex:0 0 auto;min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 6px 0;padding:6px 11px;border:1px solid rgba(158,185,179,.15);border-radius:13px;color:#8fa39f;background:#07171cb8;font-size:9px}.turn-strip span{display:flex;align-items:center;gap:6px;color:var(--game-accent);font-size:11px;font-weight:800}.turn-strip span i{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 10px currentColor}.turn-strip.is-mine{border-color:color-mix(in srgb,var(--game-accent) 38%,transparent);background:color-mix(in srgb,var(--game-accent) 10%,rgba(7,23,28,.9))}.ready-badge{min-height:22px;display:inline-flex;align-items:center;gap:3px;margin-left:5px;padding:0 9px;border:1px solid rgba(97,224,180,.42);border-radius:999px;color:#d9fff3;background:linear-gradient(135deg,#2b9f83,#18705f);box-shadow:inset 0 1px #ffffff2e,0 0 14px #2dbf972e;font-size:9px;animation:ready-pop .4s cubic-bezier(.2,1.35,.3,1) both}.game-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.game-actions--five{grid-template-columns:repeat(5,1fr);gap:6px}.game-actions--five button{min-width:0;padding-inline:3px;border-radius:16px}.game-actions--five button span{white-space:nowrap}.game-actions .action-danger{color:#ffad9d;border-color:#dd5b4557;background:linear-gradient(145deg,#4b2625eb,#2b1b1ef0)}.game-actions .action-danger svg{color:#ef7864}.game-actions .action-pending{color:#a9dcd0;border-color:#52af976b;animation:pending-pulse 1.2s ease-in-out infinite alternate}.game-actions button{min-height:62px;display:grid;place-items:center;gap:3px;border:1px solid var(--line);border-radius:19px;color:#d9e1de;background:#10252adb;cursor:pointer}.game-actions svg{width:21px}.game-actions span{font-size:10px}.game-actions button.ready{color:#d8fff4;border-color:#52af9794;background:linear-gradient(145deg,#26856fdb,#165b4fe6);box-shadow:inset 0 1px #ffffff1f,0 0 22px #36c79e29}.game-actions button.ready-confirmed svg{animation:ready-spark 1.8s ease-in-out infinite}.more-popover{position:absolute;z-index:12;right:16px;bottom:94px;width:210px;padding:8px;border:1px solid var(--line);border-radius:18px;background:#0a191df5;box-shadow:0 18px 45px #00000073;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.more-popover button{width:100%;min-height:46px;display:flex;align-items:center;gap:9px;padding:0 11px;border:0;border-radius:11px;color:#d7e3df;background:transparent;cursor:pointer}.more-popover button:hover{background:#ffffff12}.more-popover .music-setting span{display:grid;gap:3px;text-align:left}.more-popover .music-setting small{color:#aebdbb;font-size:10px}.more-popover button:disabled{opacity:.5;cursor:wait}.more-popover .danger-action{color:#ff9d8d}.more-popover .danger-action:hover{background:#bf3e2d26}.match-decision--draw .consent-card__seal{color:#baf3df;border-color:#61baa3;background:#2d8b7438}.match-decision--resign .consent-card__seal{color:#ffc6b9;border-color:#d76b58;background:#ad37283d}.voice-bubble{position:absolute;z-index:6;right:26px;top:107px;max-width:245px;display:flex;align-items:center;gap:7px;padding:10px 13px;border:1px solid rgba(255,255,255,.16);border-radius:17px 17px 3px;background:#11272ceb;box-shadow:0 12px 28px #0000004d;font-size:12px;animation:bubble-in .28s ease-out}.room-toast{position:absolute;z-index:8;left:50%;bottom:86px;translate:-50% 0;width:max-content;max-width:calc(100% - 40px);padding:9px 13px;border:1px solid rgba(215,90,71,.45);border-radius:999px;color:#ffd9cf;background:#4e1b17f0;box-shadow:0 12px 24px #00000047;font-size:11px}.xiangqi-board{width:min(100%,430px);aspect-ratio:803 / 900;position:relative;container-type:inline-size;border-radius:12px;background:url(/assets/xiangqi-board-premium.png) center / 100% 100% no-repeat;filter:drop-shadow(0 19px 30px rgba(0,0,0,.48));transition:filter .25s,opacity .25s}.xiangqi-board:after{content:"";position:absolute;top:1.3%;right:1.3%;bottom:1.3%;left:1.3%;z-index:1;pointer-events:none;border-radius:10px;background:linear-gradient(128deg,rgba(255,255,255,.11),transparent 26%,transparent 72%,rgba(74,38,15,.11));mix-blend-mode:soft-light}.river-inscription{position:absolute;z-index:2;left:14%;right:12%;top:45.8%;display:flex;justify-content:space-between;color:#5b3d20b3;font:700 clamp(22px,6vw,29px) "Songti SC","STSong",serif;letter-spacing:.23em;text-shadow:0 1px rgba(255,247,224,.45),0 -1px rgba(72,44,19,.3);pointer-events:none}.xiangqi-piece{position:absolute;width:9.5%;aspect-ratio:1;translate:-50% -50%;z-index:3;display:grid;place-items:center;padding:0 0 2px;border:0;border-radius:50%;font:700 clamp(15px,5.4cqw,24px) "Kaiti SC","STKaiti","Songti SC",serif;background:url(/assets/xiangqi-piece-boxwood.png) center / contain no-repeat;filter:drop-shadow(0 4px 3px rgba(50,24,7,.42));cursor:pointer;transition:left .24s ease,top .24s ease,scale .15s,filter .15s}.xiangqi-piece.red{color:#a52d24;text-shadow:0 1px rgba(255,226,174,.55),0 -1px rgba(83,12,8,.38)}.xiangqi-piece.black{color:#121d20;text-shadow:0 1px rgba(255,239,199,.52),0 -1px rgba(0,0,0,.42)}.xiangqi-piece.selected{scale:1.17;filter:drop-shadow(0 0 5px rgba(255,215,135,.95)) drop-shadow(0 7px 6px rgba(50,24,7,.5))}.xiangqi-hit-grid{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0}.xiangqi-hit-grid button{position:absolute;padding:0;border:0;background:transparent;cursor:pointer}.move-dot{position:absolute;z-index:4;width:12px;height:12px;translate:-50% -50%;border-radius:50%;background:var(--cinnabar);box-shadow:0 0 0 6px #d75a472e;pointer-events:none}.gomoku-board{width:min(100%,430px);aspect-ratio:1;position:relative;isolation:isolate;margin:4px;border-radius:12px;background:url(/assets/gomoku-v5/kaya-wood.webp) center / cover,#dcb476;box-shadow:inset 0 1px 1px #ffedc9,inset 0 0 0 3px #5b361744,inset 0 0 0 5px #ffe4b644,0 7px #765132,0 10px 1px #3e281c,0 22px 30px #0007;transition:filter .25s,opacity .25s}.gomoku-board:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;border-radius:inherit;background:linear-gradient(125deg,#fff5,transparent 45%,#5b2e071c)}.gomoku-lines{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1;fill:none;stroke:#654725;stroke-width:2;pointer-events:none}.star-point{width:1.2%;aspect-ratio:1;display:block;z-index:2;background:#654725}.gomoku-hit-grid{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3}.gomoku-hit-grid button{position:absolute;translate:-50% -50%;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;touch-action:manipulation}.gomoku-hit-grid button:disabled{cursor:default}.gomoku-hit-grid button:focus-visible{outline:2px solid #326b62;outline-offset:-2px;background:#ffffff30}.star-point,.stone{position:absolute;translate:-50% -50%;border-radius:50%;pointer-events:none}.stone{aspect-ratio:1;z-index:4;box-shadow:1px 2px 2px #21150688,0 1px 1px #0009,inset 0 -2px 2px #0006}.stone.black,.stone.white{background-image:url(/assets/gomoku-v6/stones.webp);background-repeat:no-repeat;background-size:200% 100%;box-shadow:0 2px 1px #091214b3,1px 3px 3px #130e0c66}.stone.black{background-position:left center;background-color:#11181a}.stone.white{background-position:right center;background-color:#dddcd2}.stone.last{animation:gomoku-stone-land .22s cubic-bezier(.2,.75,.25,1)}.stone.last:after{content:"";position:absolute;top:38%;right:38%;bottom:38%;left:38%;border:1.3px solid #e6b65e;border-radius:2px;box-shadow:0 0 1px #0009}.stone.white.last:after{border-color:#9c5325}.stone.last:before{content:"";position:absolute;top:-14%;right:-14%;bottom:-14%;left:-14%;border:1px solid #ffefce;border-radius:50%;animation:gomoku-contact .4s ease-out forwards}.stone.stone--winning{outline:1.5px solid #e8bd62;outline-offset:1px}@keyframes gomoku-stone-land{0%{transform:translateY(-9px) scale(1.08);opacity:.65}65%{transform:translateY(0) scale(.98);opacity:1}to{transform:none}}@keyframes gomoku-contact{0%{opacity:.7;transform:scale(.65)}to{opacity:0;transform:scale(1.45)}}@media(prefers-reduced-motion:reduce){.stone.last{animation:none}.stone.last:before{display:none}}.board--dimmed{filter:saturate(.72) brightness(.72);opacity:.82}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:flex-end;justify-content:center;background:#030a0cad;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fade-in .18s ease-out}.invite-backdrop{z-index:82}.bottom-sheet{width:min(100%,520px);position:relative;max-height:91vh;overflow:auto;padding:31px 23px max(26px,env(safe-area-inset-bottom));border-radius:30px 30px 0 0;color:#122326;background:#f4eddf;box-shadow:0 -22px 60px #00000052;animation:sheet-up .3s cubic-bezier(.2,.8,.2,1)}.sheet-handle{position:absolute;top:11px;left:50%;width:44px;height:5px;translate:-50%;border-radius:999px;background:#c7bba7}.sheet-close{position:absolute;top:21px;right:20px;width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:50%;color:#263638;background:#12232612;cursor:pointer}.bottom-sheet .eyebrow{color:#9f6c3f}.bottom-sheet h2{margin:5px 0 20px;color:#102326;font-size:30px}.invite-poster{display:grid;grid-template-columns:auto 1fr auto auto 1fr;align-items:center;gap:9px;padding:18px;border:1px solid rgba(71,74,63,.14);border-radius:21px;background:linear-gradient(145deg,#ffffffd1,#e3d5b9a8)}.invite-poster strong,.invite-poster small{display:block}.invite-poster>div{min-width:0}.invite-poster>div>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invite-poster small{color:#867861;font-size:9px}.invite-poster>b{grid-column:1 / -1;margin-top:8px;color:#18292b;font-size:17px;text-align:center;letter-spacing:.08em}.invite-poster>span{grid-column:1 / -1;color:#766851;font-size:11px;text-align:center}.poster-xiangqi,.poster-gomoku{width:61px;height:61px;position:relative;display:grid;place-items:center;border-radius:13px;background-color:#d9c49b;background-image:linear-gradient(rgba(84,61,31,.24) 1px,transparent 1px),linear-gradient(90deg,rgba(84,61,31,.24) 1px,transparent 1px);background-size:15px 15px}.poster-xiangqi i{position:absolute;width:25px;height:25px;display:grid;place-items:center;border:1px solid #9d362e;border-radius:50%;color:#9d362e;background:#f2dfba;font: 14px Songti SC,STSong,serif}.poster-xiangqi i:first-child{top:4px}.poster-xiangqi i:last-child{bottom:4px}.poster-gomoku i{position:absolute;width:13px;height:13px;border-radius:50%;background:#122022}.poster-gomoku i:nth-child(1){left:8px;top:9px}.poster-gomoku i:nth-child(2){left:20px;top:21px;background:#fff}.poster-gomoku i:nth-child(3){left:32px;top:33px}.poster-gomoku i:nth-child(4){left:44px;top:21px;background:#fff}.poster-gomoku i:nth-child(5){left:32px;top:9px}.invite-sheet>.primary-button{margin-top:16px}.share-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.share-actions button{min-height:68px;display:grid;place-items:center;gap:4px;border:1px solid rgba(18,35,38,.12);border-radius:17px;color:#293b3d;background:#ffffff7a;cursor:pointer}.share-actions span{font-size:11px}.privacy-note{margin:15px 0 0;color:#837967;font-size:10px;text-align:center}.voice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.voice-grid button{min-height:54px;padding:10px;border:1px solid rgba(18,35,38,.12);border-radius:15px;color:#213436;background:#ffffff8f;cursor:pointer}.bottom-sheet.voice-sheet{display:flex;flex-direction:column;max-height:calc(var(--app-height, 100dvh) - 16px);overflow:hidden}.voice-sheet h2{flex:none;margin-bottom:6px}.voice-favorite-hint{flex:none;margin:0 0 12px;color:#786647;font-size:11px}.voice-sheet .voice-grid{grid-template-columns:1fr;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:3px;scrollbar-width:thin}.voice-item{display:grid;grid-template-columns:minmax(0,1fr) 48px;gap:6px}.voice-item .voice-send{text-align:left}.voice-item .voice-send strong{font-size:13px}.voice-item .voice-like{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px;font-size:10px}.voice-item.is-liked .voice-like{color:#784509;background:#f1d18d;border-color:#b99045}.voice-item.is-liked .voice-like svg{fill:#b77d162e}.voice-item .voice-send:disabled{opacity:.45;cursor:wait}.voice-sheet .mute-row,.voice-sheet>.privacy-note,.voice-sheet>.eyebrow{flex:none}.mute-row{width:100%;min-height:67px;display:flex;align-items:center;gap:11px;margin-top:15px;padding:0 13px;border:1px solid rgba(18,35,38,.12);border-radius:17px;color:#213436;background:transparent;cursor:pointer;text-align:left}.mute-row strong,.mute-row small{display:block}.mute-row small{color:#887d6c;font-size:9px}.mute-row i{width:41px;height:24px;position:relative;margin-left:auto;border-radius:999px;background:#b9b4a9}.mute-row i:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;transition:transform .2s}.mute-row i.on{background:var(--jade)}.mute-row i.on:after{transform:translate(17px)}.join-sheet>p:not(.eyebrow){color:#756c5e;font-size:12px}.join-sheet label span{display:block;margin-bottom:7px;color:#536061;font-size:11px}.join-sheet input{width:100%;height:58px;padding:0 15px;border:1px solid rgba(18,35,38,.17);border-radius:16px;color:#132426;background:#fff9;text-transform:uppercase;letter-spacing:.13em}.join-sheet .primary-button{margin-top:13px}.effect-gallery-backdrop{z-index:40}.effect-gallery{color:#f3ead8;background:linear-gradient(180deg,#12262afa,#071418fc);box-shadow:0 -26px 70px #0000008c}.effect-gallery .sheet-handle{background:#e1d2b352}.effect-gallery .sheet-close{color:#efe6d5;background:#ffffff14}.effect-gallery .eyebrow{display:flex;align-items:center;gap:6px;color:var(--brass)}.effect-gallery h2{margin-bottom:7px;color:var(--paper);font:31px Songti SC,STSong,serif;letter-spacing:.06em}.effect-gallery__intro{margin:0 42px 18px 0;color:#91a8a4;font-size:11px;line-height:1.65}.effect-gallery__grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.effect-card{--card-accent: #d26450;min-height:76px;display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:9px;padding:9px 11px;border:1px solid color-mix(in srgb,var(--card-accent) 34%,transparent);border-radius:17px;color:#e9e2d4;background:linear-gradient(135deg,color-mix(in srgb,var(--card-accent) 16%,rgba(255,255,255,.02)),#ffffff06);text-align:left;cursor:pointer;transition:translate .18s,border-color .18s,background .18s}.effect-card:hover,.effect-card:focus-visible{translate:0 -2px;border-color:color-mix(in srgb,var(--card-accent) 68%,transparent);background:linear-gradient(135deg,color-mix(in srgb,var(--card-accent) 25%,transparent),#ffffff0a)}.effect-card>i{width:43px;height:43px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--card-accent) 72%,#f0dfba);border-radius:12px 3px;color:#fff0cc;background:color-mix(in srgb,var(--card-accent) 65%,#18272a);box-shadow:0 6px 15px #00000040;font: 25px Songti SC,STSong,serif}.effect-card span,.effect-card strong,.effect-card small{display:block;min-width:0}.effect-card strong{color:#f4ecde;font-size:13px;letter-spacing:.05em}.effect-card small{margin-top:4px;overflow:hidden;color:#90a5a1;font-size:8px;white-space:nowrap;text-overflow:ellipsis}.effect-card>svg{color:var(--card-accent)}.effect-card--cannon{--card-accent: #df5a3d}.effect-card--rook{--card-accent: #cf9447}.effect-card--horse{--card-accent: #5aab98}.effect-card--smother{--card-accent: #815c92}.effect-card--moon,.effect-card--gomoku{--card-accent: #6ca9b4}.kill-effect{--fx: #df5a42;--fx-soft: #f0bd75;position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;overflow:hidden;color:#fff2d2;background:#03090b;text-align:center;cursor:pointer;animation:kill-in .16s ease-out}.kill-effect--family-rook{--fx: #dca045;--fx-soft: #ffe0a0}.kill-effect--family-horse{--fx: #58ab96;--fx-soft: #b9f5dc}.kill-effect--family-smother{--fx: #725078;--fx-soft: #d4afd9}.kill-effect--family-moon,.kill-effect--family-jade{--fx: #65b9b6;--fx-soft: #d6fff2}.kill-effect__landscape{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.53;background:linear-gradient(180deg,#040b0e33,#020608 88%),url(/assets/ink-night-background.png) center / cover;filter:saturate(.6) contrast(1.22);transform:scale(1.08);animation:landscape-drift 3.7s ease-out both}.kill-effect__landscape:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 46%,color-mix(in srgb,var(--fx) 26%,transparent),transparent 28%),linear-gradient(90deg,rgba(0,0,0,.62),transparent 28% 72%,rgba(0,0,0,.62))}.kill-effect__shutters{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.kill-effect__shutters i{position:absolute;left:0;right:0;height:50%;background:#020607}.kill-effect__shutters i:first-child{top:0;transform-origin:top;animation:shutter-top .72s .12s cubic-bezier(.7,0,.24,1) both}.kill-effect__shutters i:last-child{bottom:0;transform-origin:bottom;animation:shutter-bottom .72s .12s cubic-bezier(.7,0,.24,1) both}.kill-effect__flash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;background:color-mix(in srgb,var(--fx-soft) 80%,white);pointer-events:none;animation:flash .62s .58s ease-out both}.kill-effect__moon{position:absolute;z-index:1;width:min(78vw,410px);aspect-ratio:1;left:50%;top:46%;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,transparent 0 47%,color-mix(in srgb,var(--fx) 8%,transparent) 48% 56%,transparent 57%),conic-gradient(from 12deg,transparent,color-mix(in srgb,var(--fx) 38%,transparent),transparent 26%,color-mix(in srgb,var(--fx-soft) 23%,transparent),transparent 56%);opacity:.6;animation:moon-turn 3.6s .5s cubic-bezier(.2,.7,.2,1) both}.kill-effect__ring{position:absolute;z-index:2;width:245px;aspect-ratio:1;left:50%;top:46%;translate:-50% -50%;border:2px solid var(--fx);border-radius:50%;box-shadow:0 0 65px color-mix(in srgb,var(--fx) 70%,transparent),inset 0 0 36px color-mix(in srgb,var(--fx) 55%,transparent);animation:ring-burst 1.35s .56s cubic-bezier(.12,.67,.2,1) both}.kill-effect__ring.ring-two{width:165px;border-style:double;animation-delay:.8s;animation-duration:1.55s}.kill-effect__slash{position:absolute;z-index:4;left:50%;top:47%;width:148%;height:3px;translate:-50% -50%;background:linear-gradient(90deg,transparent,var(--fx-soft),#fff9e9,var(--fx),transparent);box-shadow:0 0 24px var(--fx-soft);transform:rotate(-24deg) scaleX(0);animation:slash .58s .66s cubic-bezier(.2,.9,.1,1) forwards}.kill-effect__slash.slash-two{transform:rotate(24deg) scaleX(0);animation-name:slash-two;animation-delay:.79s;opacity:.72}.kill-effect__formation{position:absolute;z-index:2;left:0;right:0;top:19%;color:color-mix(in srgb,var(--fx-soft) 40%,transparent);font:700 clamp(15px,4vw,20px) "Songti SC","STSong",serif;letter-spacing:.55em;text-shadow:0 0 18px var(--fx);opacity:0;animation:formation-in 2.4s .78s ease-out both}.kill-effect__particles i{--angle: calc(var(--i) * 12.86deg);position:absolute;z-index:3;left:50%;top:46%;width:4px;height:22px;border-radius:999px;background:linear-gradient(var(--fx-soft),var(--fx));box-shadow:0 0 12px var(--fx);transform:rotate(var(--angle)) translateY(-48px);opacity:0;animation:particle 1.55s .76s ease-out forwards}.kill-effect__content{position:relative;z-index:6;display:grid;justify-items:center;padding-bottom:4vh}.kill-effect__seal{width:91px;height:91px;position:relative;display:grid;place-items:center;margin:0 auto 18px;color:var(--fx-soft);border:1px solid currentColor;border-radius:23px 5px;background:linear-gradient(145deg,color-mix(in srgb,var(--fx) 88%,#471f1b),color-mix(in srgb,var(--fx) 46%,#0e1719));box-shadow:0 0 48px color-mix(in srgb,var(--fx) 68%,transparent),inset 0 0 0 5px #ffefc914;transform:rotate(-4deg);animation:seal-hit .72s .68s cubic-bezier(.2,1.5,.3,1) both}.kill-effect__seal:before,.kill-effect__seal:after{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:1px solid rgba(255,238,198,.42);border-radius:17px 3px}.kill-effect__seal:after{top:-8px;right:-8px;bottom:-8px;left:-8px;border-color:color-mix(in srgb,var(--fx) 50%,transparent)}.kill-effect__seal i{font: 54px Kaiti SC,STKaiti,Songti SC,serif}.kill-effect__content p{margin:0 0 7px;color:var(--fx);font-size:11px;font-weight:800;letter-spacing:.4em;animation:text-up .55s .92s both}.kill-effect__content h2{max-width:92vw;margin:0;color:#fff1d5;font:700 clamp(48px,14vw,70px) "Kaiti SC","STKaiti","Songti SC",serif;letter-spacing:.15em;text-indent:.15em;text-shadow:0 4px 0 rgba(0,0,0,.45),0 0 34px color-mix(in srgb,var(--fx) 72%,transparent);animation:title-strike .82s 1.02s cubic-bezier(.16,.85,.24,1.18) both}.kill-effect__content>b{width:min(64vw,310px);height:1px;display:block;margin:13px 0 10px;background:linear-gradient(90deg,transparent,var(--fx-soft),transparent);box-shadow:0 0 10px var(--fx);animation:line-open .8s 1.22s both}.kill-effect__content>span{color:#bbb39f;font-size:10px;letter-spacing:.24em;animation:text-up .7s 1.28s both}.kill-effect__skip{position:absolute;z-index:7;bottom:max(24px,env(safe-area-inset-bottom));left:50%;min-height:34px;padding:0 14px;translate:-50%;border:1px solid rgba(229,220,202,.18);border-radius:999px;color:#e5dcca8c;background:#02080a57;font-size:9px;letter-spacing:.14em;cursor:pointer;animation:fade-in 1s 1.5s both}.kill-effect--family-cannon .kill-effect__flash{animation:cannon-flash .72s .58s ease-out both}.kill-effect--family-cannon .kill-effect__ring.ring-two{border-width:7px}.kill-effect--family-rook .kill-effect__slash{height:5px;transform:rotate(0) scaleX(0);animation-name:rook-slash}.kill-effect--family-rook .kill-effect__slash.slash-two{transform:rotate(90deg) scaleX(0);animation-name:rook-slash-two}.kill-effect--family-horse .kill-effect__moon{border-radius:18% 82% 45% 55%}.kill-effect--family-smother .kill-effect__shutters i{background:#08070b;animation-duration:1.05s}.kill-effect--family-moon .kill-effect__moon,.kill-effect--family-jade .kill-effect__moon{background:radial-gradient(circle at 42% 39%,rgba(242,239,208,.68),rgba(126,200,192,.16) 28%,transparent 29%),conic-gradient(transparent,color-mix(in srgb,var(--fx) 38%,transparent),transparent 70%)}.kill-effect--smothered-kill .kill-effect__moon{scale:.72;filter:blur(5px)}.kill-effect--smothered-palace .kill-effect__ring{border-radius:12%;rotate:45deg}.kill-effect--double-rook .kill-effect__ring{border-radius:7%}.kill-effect--iron-gate .kill-effect__ring{width:310px;border-width:5px 1px;border-radius:4%}.kill-effect--horse-cannon .kill-effect__seal{box-shadow:0 0 58px #e84b2bc7,inset 0 0 0 5px #ffefc91a}.kill-effect--heaven-earth-cannon .ring-one{top:38%}.kill-effect--heaven-earth-cannon .ring-two{top:55%}.kill-effect--double-cannon .kill-effect__seal:after{animation:ring-burst 1s 1.02s both}.kill-effect--rook-cannon .slash-one{transform:rotate(-12deg) scaleX(0)}.kill-effect--fishing-horse .kill-effect__moon{border-radius:50% 12% 50% 50%}.kill-effect--horse-rook .slash-two{height:6px}.kill-effect--double-check .kill-effect__formation{font-size:25px;text-shadow:-40px 0 18px var(--fx),40px 0 18px var(--fx)}.kill-effect--face-to-face .slash-one{width:3px;height:140%;transform:scaleY(0);animation:vertical-strike .7s .7s ease-out forwards}.kill-effect--side-tiger .slash-one,.kill-effect--side-tiger .slash-two{height:2px;box-shadow:0 11px 15px var(--fx),0 -11px 15px var(--fx)}.kill-effect--elbow-horse .kill-effect__ring{border-radius:50% 8% 50% 50%}.kill-effect--octagon-horse .kill-effect__ring{border-radius:25%;rotate:45deg}.kill-effect--stalemate .kill-effect__landscape{filter:grayscale(1) contrast(1.4) brightness(.48)}.kill-effect--stalemate .kill-effect__slash{display:none}.kill-effect--seabed-moon .kill-effect__landscape:after{background:radial-gradient(circle at 50% 38%,rgba(202,242,230,.25),transparent 24%),repeating-linear-gradient(0deg,transparent 0 16px,rgba(100,196,186,.06) 17px 18px)}.kill-effect--seabed-moon .kill-effect__content{animation:moon-rise 2.1s .6s both}.is-impact .board-stage{animation:board-shake .42s linear}.setup-page--premium{padding:28px 24px 36px;background:linear-gradient(180deg,#0411150d,#04101359)}.setup-back{position:absolute;z-index:4;right:22px;top:24px}.setup-brand{position:relative;z-index:2;padding:4px 0 0}.setup-brand strong{display:flex;align-items:center;gap:7px;color:#efd6a5;font:30px Kaiti SC,STKaiti,Songti SC,serif;letter-spacing:.08em}.setup-brand strong i{width:19px;height:23px;display:grid;place-items:center;color:#f3d5a0;background:#a93e31;font: 11px Songti SC,serif}.setup-brand span{display:block;margin-top:4px;color:#a6b0aa;font-size:10px;letter-spacing:.42em}.setup-title{margin:38px 0 26px;text-align:center}.setup-title .eyebrow{color:#cfb47ea6;font-size:9px}.setup-title h1{margin:7px 0 11px;color:#f6eddb;font:700 clamp(38px,11vw,53px) "Songti SC","STSong",serif;letter-spacing:.08em}.setup-title>i{width:132px;height:2px;display:block;position:relative;margin:auto;background:linear-gradient(90deg,transparent,#c79b58,transparent)}.setup-title>i:after{content:"";position:absolute;left:50%;top:-2px;width:37px;height:5px;translate:-50%;border-radius:99px;background:#e6bd78}.game-segment--premium{margin-top:0;padding:0;overflow:hidden;border-radius:22px;background:#0f282ce0;box-shadow:0 15px 35px #0000003d}.game-segment--premium button{height:70px;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:20px;font-size:17px}.game-segment--premium button.active.xiangqi{background:linear-gradient(135deg,#e35f45,#c74536);box-shadow:inset 0 1px #ffffff40}.game-segment--premium button.active.gomoku{background:linear-gradient(135deg,#4ba992,#26796c);box-shadow:inset 0 1px #fff3}.segment-piece{width:48px;height:48px;display:grid;place-items:center;color:#a22f27;background:url(/assets/xiangqi-piece-boxwood.png) center / contain no-repeat;font:26px Kaiti SC,STKaiti,serif;filter:drop-shadow(0 5px 4px rgba(0,0,0,.28))}.segment-stones{width:58px;height:48px;position:relative}.segment-stones i{width:32px;aspect-ratio:1;position:absolute;border-radius:50%;background:url(/assets/gomoku-stone-black.png) center / contain;filter:drop-shadow(0 4px 3px rgba(0,0,0,.35))}.segment-stones i:nth-child(1){left:2px;top:11px}.segment-stones i:nth-child(2){left:22px;top:3px;background-image:url(/assets/gomoku-stone-white.png)}.segment-stones i:nth-child(3){left:26px;top:20px}.versus-card--premium{grid-template-columns:1fr auto 1fr;min-height:150px;margin-top:16px;padding:17px 20px;background:linear-gradient(135deg,#0f272bdb,#081b1fc2)}.versus-player{display:grid;justify-items:center;align-content:center}.versus-player>img,.versus-player>.versus-avatar,.waiting-avatar{width:76px;height:76px;display:grid;place-items:center;border:2px solid #d7af72;border-radius:50%;object-fit:cover;box-shadow:0 8px 25px #00000052}.versus-player>strong{margin-top:7px;color:#f2eadb;font-size:14px}.versus-player>strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.versus-player>small{margin-top:1px;color:#8da19d;font-size:9px}.versus-player.is-waiting .waiting-avatar{color:#879895;border:2px dashed rgba(226,216,193,.55);background:#ffffff09}.versus-player .ai-avatar{color:#f0cf91;border-style:solid;background:radial-gradient(circle at 48% 38%,#4a978485,#092428f2);box-shadow:0 0 24px #4aaa9138,inset 0 0 22px #e5c28114}.versus-player .ai-avatar svg{width:32px;height:32px}.versus-card--premium .versus-mark{width:70px;height:70px;display:grid;place-items:center;color:#e6bb74;background:radial-gradient(circle,rgba(199,147,76,.18),transparent 66%);font:700 italic 29px Georgia,serif;text-shadow:0 0 20px rgba(223,166,89,.35)}.setup-card--premium{display:grid;gap:8px;margin-top:15px;padding:0;border:0;background:transparent}.premium-setting{width:100%;min-height:75px;display:grid;grid-template-columns:45px 1fr auto;align-items:center;gap:11px;padding:10px 12px;border:1px solid rgba(184,205,198,.13);border-radius:17px;color:#f2ebdf;background:linear-gradient(105deg,#102b2fe8,#142f32c7);box-shadow:0 10px 25px #0000001f;text-align:left;cursor:pointer}.premium-setting .setting-icon{width:41px;height:41px;display:grid;place-items:center;color:#e6bd7b}.premium-setting .setting-icon svg{width:25px;height:25px;stroke-width:1.7}.premium-setting .yin-yang{font-size:30px}.premium-setting>span strong,.premium-setting>span small{display:block}.premium-setting>span strong{font-size:15px;letter-spacing:.05em}.premium-setting>span small{margin-top:3px;color:#7f9793;font-size:9px}.premium-setting>b{min-width:118px;min-height:47px;display:flex;align-items:center;justify-content:center;gap:3px;padding:0 12px;border-radius:15px;color:#172527;background:linear-gradient(135deg,#fbefd9,#e7d1a9);box-shadow:inset 0 1px #fff,0 7px 17px #00000029;font-size:14px;white-space:nowrap}.premium-setting>b svg{width:15px}.premium-create{min-height:67px;margin-top:18px!important;border:1px solid rgba(255,209,150,.45);border-radius:20px;font-size:17px;letter-spacing:.04em}.primary-button--xiangqi.premium-create{background:linear-gradient(135deg,#ed6849,#c84035);box-shadow:0 18px 36px #8a2b234d,inset 0 1px #ffffff4d}.primary-button--gomoku.premium-create{background:linear-gradient(135deg,#53ad98,#27786b)}.picker-backdrop{z-index:45}.picker-sheet{color:#eee6d7;background:linear-gradient(180deg,#153238,#091d21)}.picker-sheet .sheet-handle{background:#e7d8b957}.picker-sheet .sheet-close{color:#eee4d2;background:#ffffff12}.picker-sheet .eyebrow{color:#c9a56c}.picker-sheet h2{color:#f1e8d8;font:30px Songti SC,serif}.picker-list{display:grid;gap:8px}.picker-list button{min-height:66px;display:flex;align-items:center;gap:10px;padding:10px 15px;border:1px solid rgba(202,219,212,.13);border-radius:16px;color:#eee6da;background:#ffffff09;text-align:left;cursor:pointer}.picker-list button.selected{color:#172a2b;border-color:#ddc28e;background:linear-gradient(135deg,#f8ecd7,#dfc79e)}.picker-list button>span{flex:1}.picker-list strong,.picker-list small{display:block}.picker-list strong{font-size:15px}.picker-list small{margin-top:4px;color:#8ba19c;font-size:9px}.picker-list .selected small{color:#77684f}.avatar img{width:100%;height:100%;border-radius:inherit;object-fit:cover}.player-bar .avatar{width:54px;height:54px;border-color:#d6ae73;box-shadow:0 7px 18px #00000047}.player-bar .avatar--ai{color:#e9c981;background:radial-gradient(circle,#408d7bb8,#081d22fa)}.player-bar .avatar--ai svg{width:27px;height:27px}.player-bar--opponent{min-height:82px}.player-bar--opponent>div:nth-child(2),.player-bar--me>div:nth-child(2){min-width:0;flex:1}.player-bar--opponent>div:nth-child(2)>strong,.player-bar--me>div:nth-child(2)>strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.voice-bubble-inline{max-width:238px;min-height:49px;display:flex!important;align-items:center;gap:8px;margin-left:auto;padding:9px 13px;border:1px solid rgba(190,211,205,.22);border-radius:21px 21px 21px 5px;color:#e8e2d7!important;background:linear-gradient(120deg,#112a31fa,#0e1e26f0);box-shadow:0 10px 25px #00000045,inset 0 1px #ffffff0a;font-size:11px!important;animation:bubble-in .32s ease-out}.voice-bubble-inline svg{color:#d8ae6d;flex:0 0 auto}.board-stage{flex-direction:column;gap:9px}.board-invite{position:absolute;left:50%;top:50%;min-height:45px;margin-top:0;padding:0 22px;transform:translate(-50%,-50%)}.river-inscription{z-index:5;top:41.3%;height:10.2%;align-items:center;color:#5e4024c2;font-size:clamp(23px,6.4vw,30px)}.game-actions button{min-height:69px;border-color:#9bb8b338;background:linear-gradient(145deg,#112b32f0,#0a1d23ed);box-shadow:inset 0 1px #ffffff0a,0 8px 17px #00000029}.game-actions svg{color:#e6c080;stroke-width:1.8}.game-actions .action-active{border-color:#d9b26f59}.kill-effect__landscape{opacity:1;background-image:linear-gradient(180deg,#02070914,#02070954 48%,#020709db),url(/assets/ink-night-background.png);background-position:center;background-size:cover;filter:saturate(.82) contrast(1.12);animation:finisher-camera 3.7s cubic-bezier(.15,.65,.22,1) both}.kill-effect__landscape:before{content:"";position:absolute;top:-30%;right:-30%;bottom:-30%;left:-30%;background:linear-gradient(105deg,transparent 35%,color-mix(in srgb,var(--fx-soft) 32%,transparent) 49%,transparent 62%);mix-blend-mode:screen;transform:translate(-70%) rotate(4deg);animation:light-sweep 1.35s .55s ease-out both}.kill-effect--family-cannon .kill-effect__landscape{background-image:linear-gradient(180deg,#02050708,#0704042e 48%,#080505 92%),url(/assets/finisher-cannon-v2.png)}.kill-effect--family-rook .kill-effect__landscape{background-image:linear-gradient(180deg,#02050705,#02060842 52%,#05090b 93%),url(/assets/finisher-rook-v2.png)}.kill-effect--family-horse .kill-effect__landscape{background-image:linear-gradient(180deg,#0207080a,#0208093d 52%,#03090b 93%),url(/assets/finisher-horse-v2.png)}.kill-effect--family-smother .kill-effect__landscape{background-image:linear-gradient(180deg,#0302050a,#05030747 50%,#070509 93%),url(/assets/finisher-smother-v2.png)}.kill-effect--family-moon .kill-effect__landscape,.kill-effect--family-jade .kill-effect__landscape{background-image:linear-gradient(180deg,#02070905,#0207092e 54%,#03090b 94%),url(/assets/finisher-moon-v2.png)}.kill-effect__content{margin-top:32vh;padding:24px 30px 5vh;border-radius:50%;background:radial-gradient(ellipse,rgba(1,5,7,.72),rgba(1,5,7,.2) 56%,transparent 72%)}.kill-effect__seal{width:78px;height:78px;margin-bottom:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.kill-effect__seal i{font-size:45px}.kill-effect__content h2{font-size:clamp(45px,13vw,66px)}.effect-card{position:relative;isolation:isolate;overflow:hidden}.effect-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;opacity:.18;background-position:center 42%;background-size:cover;filter:saturate(.7)}.effect-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(90deg,#08181ced,#08181c9e)}.effect-card--cannon:before{background-image:url(/assets/finisher-cannon-v2.png)}.effect-card--rook:before{background-image:url(/assets/finisher-rook-v2.png)}.effect-card--horse:before{background-image:url(/assets/finisher-horse-v2.png)}.effect-card--smother:before{background-image:url(/assets/finisher-smother-v2.png)}.effect-card--moon:before,.effect-card--gomoku:before{background-image:url(/assets/finisher-moon-v2.png)}.kill-effect--smothered-kill .kill-effect__landscape{background-image:linear-gradient(180deg,transparent,#050407 92%),url(/assets/finishers/smothered-kill-v3.png);transform-origin:50% 38%;animation-name:finisher-cage}.kill-effect--smothered-palace .kill-effect__landscape{background-image:linear-gradient(180deg,transparent,#080405 92%),url(/assets/finishers/smothered-palace-v3.png);transform-origin:50% 32%;animation-name:finisher-gate}.kill-effect--double-rook .kill-effect__landscape{background-image:linear-gradient(180deg,transparent,#060708 92%),url(/assets/finishers/double-rook-v3.png);transform-origin:50% 36%;animation-name:finisher-cross}.kill-effect--iron-gate .kill-effect__landscape{background-image:linear-gradient(180deg,transparent,#060708 92%),url(/assets/finishers/iron-gate-v3.png);transform-origin:50% 38%;animation-name:finisher-drop}.kill-effect--horse-cannon .kill-effect__landscape{background-image:linear-gradient(180deg,transparent,#080405 92%),url(/assets/finishers/horse-cannon-v3.png);transform-origin:42% 38%;animation-name:finisher-charge}.kill-effect--heaven-earth-cannon .kill-effect__landscape{background-image:linear-gradient(180deg,transparent,#060506 92%),url(/assets/finishers/heaven-earth-cannon-v3.png);transform-origin:50% 46%;animation-name:finisher-vertical}.kill-effect--double-cannon .kill-effect__landscape{background-image:linear-gradient(180deg,transparent,#080405 92%),url(/assets/finishers/double-cannon-v3.png);transform-origin:50% 42%;animation-name:finisher-rail}.kill-effect--rook-cannon .kill-effect__landscape{background-image:linear-gradient(180deg,transparent,#050708 92%),url(/assets/finishers/rook-cannon-v3.png);transform-origin:50% 34%;animation-name:finisher-clamp}.kill-effect--fishing-horse .kill-effect__landscape{background-image:linear-gradient(180deg,transparent,#03080b 92%),url(/assets/finishers/fishing-horse-v3.png);transform-origin:55% 34%;animation-name:finisher-hook}.kill-effect--horse-rook .kill-effect__landscape{background-image:linear-gradient(180deg,transparent,#05070a 92%),url(/assets/finishers/horse-rook-v3.png);transform-origin:43% 37%;animation-name:finisher-charge;animation-duration:3.25s}.kill-effect--double-check .kill-effect__landscape{background-image:linear-gradient(180deg,transparent,#070407 92%),url(/assets/finishers/double-check-v3.png);transform-origin:50% 39%;animation-name:finisher-cross;animation-duration:3.1s}.kill-effect--face-to-face .kill-effect__landscape{background-image:linear-gradient(180deg,transparent,#070507 92%),url(/assets/finishers/face-to-face-v3.png);transform-origin:50% 44%;animation-name:finisher-focus}.kill-effect--side-tiger .kill-effect__landscape{background-image:linear-gradient(180deg,transparent,#030806 92%),url(/assets/finishers/side-tiger-v3.png);transform-origin:48% 36%;animation-name:finisher-pounce}.kill-effect--elbow-horse .kill-effect__landscape{background-image:linear-gradient(180deg,transparent,#08060b 92%),url(/assets/finishers/elbow-horse-v3.png);transform-origin:54% 38%;animation-name:finisher-turn}.kill-effect--octagon-horse .kill-effect__landscape{background-image:linear-gradient(180deg,transparent,#03090a 92%),url(/assets/finishers/octagon-horse-v3.png);transform-origin:50% 39%;animation-name:finisher-orbit}.kill-effect--stalemate .kill-effect__landscape{background-image:linear-gradient(180deg,transparent,#030407 92%),url(/assets/finishers/stalemate-v3.png);transform-origin:50% 38%;animation-name:finisher-fade}.kill-effect--seabed-moon .kill-effect__landscape{background-image:linear-gradient(180deg,transparent,#02080c 92%),url(/assets/finishers/seabed-moon-v3.png);transform-origin:50% 38%;animation-name:finisher-rise}.effect-card--smothered-kill:before{background-image:url(/assets/finishers/smothered-kill-v3.png)}.effect-card--smothered-palace:before{background-image:url(/assets/finishers/smothered-palace-v3.png)}.effect-card--double-rook:before{background-image:url(/assets/finishers/double-rook-v3.png)}.effect-card--iron-gate:before{background-image:url(/assets/finishers/iron-gate-v3.png)}.effect-card--horse-cannon:before{background-image:url(/assets/finishers/horse-cannon-v3.png)}.effect-card--heaven-earth-cannon:before{background-image:url(/assets/finishers/heaven-earth-cannon-v3.png)}.effect-card--double-cannon:before{background-image:url(/assets/finishers/double-cannon-v3.png)}.effect-card--rook-cannon:before{background-image:url(/assets/finishers/rook-cannon-v3.png)}.effect-card--fishing-horse:before{background-image:url(/assets/finishers/fishing-horse-v3.png)}.effect-card--horse-rook:before{background-image:url(/assets/finishers/horse-rook-v3.png)}.effect-card--double-check:before{background-image:url(/assets/finishers/double-check-v3.png)}.effect-card--face-to-face:before{background-image:url(/assets/finishers/face-to-face-v3.png)}.effect-card--side-tiger:before{background-image:url(/assets/finishers/side-tiger-v3.png)}.effect-card--elbow-horse:before{background-image:url(/assets/finishers/elbow-horse-v3.png)}.effect-card--octagon-horse:before{background-image:url(/assets/finishers/octagon-horse-v3.png)}.effect-card--stalemate:before{background-image:url(/assets/finishers/stalemate-v3.png)}.effect-card--seabed-moon:before{background-image:url(/assets/finishers/seabed-moon-v3.png)}.game-card .mini-xiangqi,.game-card .mini-gomoku{opacity:0}.game-card>span,.game-card>small,.game-card>svg{position:relative;z-index:2;text-shadow:0 2px 9px rgba(0,0,0,.7)}.game-card>svg{position:absolute}.last-move-marker{position:absolute;z-index:3;width:10.4%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;pointer-events:none}.last-move-marker--from{border:2px dashed rgba(223,174,91,.82);background:radial-gradient(circle,transparent 45%,rgba(214,151,63,.15) 47%);animation:last-origin 1.4s ease-in-out infinite}.last-move-marker--to{border:2px solid rgba(225,84,59,.95);box-shadow:0 0 0 5px #d8483226,inset 0 0 12px #db4b3242;animation:last-target 1.2s ease-in-out infinite}.xiangqi-piece.last-moved{filter:drop-shadow(0 0 7px rgba(240,94,66,.92)) drop-shadow(0 6px 5px rgba(50,24,7,.5))}.xiangqi-piece.last-moved:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border:2px solid #eb624b;border-radius:50%;box-shadow:0 0 0 4px #da493421,0 0 13px #eb593fbf;animation:last-piece-ring 1.05s ease-in-out infinite alternate}.capture-burst{position:absolute;z-index:7;width:12px;height:12px;translate:-50% -50%;pointer-events:none}.capture-burst:before{content:"吃";position:absolute;left:50%;top:50%;width:48px;height:48px;display:grid;place-items:center;translate:-50% -50%;border:2px solid #f7d495;border-radius:50%;color:#fff0c8;background:#9e2c1edb;box-shadow:0 0 30px #e55538;font:700 25px Kaiti SC,serif;animation:capture-seal .72s ease-out both}.capture-burst>i{--angle: 0deg;position:absolute;left:5px;top:5px;width:3px;height:36px;border-radius:99px;background:linear-gradient(#fff3bf,#e14f34,transparent);transform-origin:50% 0;rotate:var(--angle);animation:capture-spark .68s ease-out both}.capture-burst>i:nth-child(2){--angle: 60deg}.capture-burst>i:nth-child(3){--angle: 120deg}.capture-burst>i:nth-child(4){--angle: 180deg}.capture-burst>i:nth-child(5){--angle: 240deg}.capture-burst>i:nth-child(6){--angle: 300deg}.player-bar time.is-low{color:#ff826d;text-shadow:0 0 18px rgba(255,72,53,.48);animation:clock-pulse .8s infinite alternate}.voice-bubble-inline{position:relative;flex:1 1 190px;min-width:0;max-width:238px;min-height:50px;padding:10px 12px 10px 10px;border-color:#9db5c55c;border-radius:25px 25px 25px 8px}.voice-bubble-inline:after{content:"";position:absolute;left:-6px;bottom:-1px;width:14px;height:13px;border-left:1px solid rgba(157,181,197,.36);background:linear-gradient(135deg,transparent 48%,rgba(14,32,39,.96) 50%);transform:skew(-22deg)}.player-bar--me .voice-bubble-inline{border-radius:25px 25px 8px}.player-bar--me .voice-bubble-inline:after{left:auto;right:-6px;transform:scaleX(-1) skew(-22deg)}.voice-bubble-inline>span:last-child{display:block;margin:0;color:#ece8de;font-size:11px;line-height:1.45;white-space:normal}.voice-wave{height:22px;display:flex!important;align-items:center;gap:2px;margin:0!important;color:#e6c17f!important}.voice-wave i{width:2px;height:7px;border-radius:99px;background:currentColor;animation:voice-wave .78s ease-in-out infinite alternate}.voice-wave i:nth-child(2){height:15px;animation-delay:-.55s}.voice-wave i:nth-child(3){height:21px;animation-delay:-.28s}.voice-wave i:nth-child(4){height:13px;animation-delay:-.68s}.voice-wave i:nth-child(5){height:7px;animation-delay:-.4s}.check-warning{position:absolute;z-index:9;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;pointer-events:none;background:radial-gradient(circle,rgba(105,17,12,.35),transparent 48%);animation:check-scene 1.7s ease-out both}.check-warning i{width:92px;height:92px;display:grid;place-items:center;border:3px double #f6d18f;border-radius:12px 2px;color:#fff1d0;background:#a93023e0;box-shadow:0 0 0 8px #c4392730,0 0 56px #ec4b33cc;font: 62px Kaiti SC,serif;transform:rotate(-6deg);animation:check-seal .55s cubic-bezier(.17,.9,.27,1.25) both}.check-warning strong{margin-top:11px;color:#fff0d4;font:700 31px Kaiti SC,serif;letter-spacing:.25em;text-shadow:0 2px 16px #b5271c}.check-warning span{margin-top:3px;color:#dfc9a0;font-size:9px;letter-spacing:.4em}.game-actions button:disabled{opacity:.38;cursor:not-allowed}.consent-backdrop{z-index:75;align-items:center;padding:22px}.consent-card{width:min(100%,390px);position:relative;padding:34px 24px 24px;overflow:hidden;border:1px solid rgba(222,191,136,.28);border-radius:27px;background:linear-gradient(145deg,#18363afa,#07181dfc);box-shadow:0 28px 80px #0000008c;text-align:center}.consent-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.11;background:url(/assets/game-card-xiangqi-v3.png) center / cover}.consent-card>*{position:relative}.consent-card__seal{width:66px;height:66px;display:grid;place-items:center;margin:0 auto 13px;border:1px solid #d4ad70;border-radius:50%;color:#efcf93;background:#bb473040;box-shadow:0 0 28px #ce613a2e}.consent-card h2{margin:7px 0;color:#f3e9d6;font:30px Songti SC,serif}.consent-card>p:not(.eyebrow){color:#9eafaa;font-size:12px;line-height:1.65}.consent-actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:9px;margin-top:20px}.consent-actions button{min-height:53px;border-radius:16px}.ghost-button{border:1px solid rgba(255,255,255,.15);color:#bdc9c5;background:#ffffff0a}.result-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:0;background:#030a0dd1;-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px);animation:fade-in .35s both}.result-card{width:min(100%,520px);height:100dvh;min-height:0;position:relative;isolation:isolate;overflow:hidden;display:grid;grid-template-rows:auto auto minmax(150px,1fr) auto auto auto;gap:clamp(6px,1vh,10px);padding:max(16px,env(safe-area-inset-top)) 20px max(14px,env(safe-area-inset-bottom));border:0;background:linear-gradient(170deg,#132e38fa,#06151dfe);box-shadow:0 30px 90px #00000094;text-align:center;animation:result-rise .55s cubic-bezier(.16,.8,.24,1) both}.result-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-2;opacity:.19;background:url(/assets/ink-night-background.png) center / cover}.result-card--gomoku:before{background-image:url(/assets/game-card-gomoku-v3.png);opacity:.12}.result-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(circle at 50% 7%,rgba(224,187,115,.16),transparent 25%),linear-gradient(180deg,#0716191a,#071619c7)}.result-card__halo{position:absolute;z-index:-1;width:290px;height:290px;left:50%;top:-150px;translate:-50%;border-radius:50%;background:radial-gradient(circle,rgba(235,190,109,.28),transparent 66%);animation:halo-turn 7s linear infinite}.result-heading{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.result-heading>i{height:1px;background:linear-gradient(90deg,transparent,#d3aa6c)}.result-heading>i:last-of-type{background:linear-gradient(90deg,#d3aa6c,transparent)}.result-heading h2{margin:0;color:#f2d59a;font:700 clamp(34px,9vw,46px) "Kaiti SC","STKaiti",serif;letter-spacing:.13em;text-indent:.13em;text-shadow:0 4px 24px rgba(204,146,64,.2)}.result-heading p{grid-column:1 / -1;margin:-4px 0 0;color:#9bacaa;font-size:9px;letter-spacing:.15em}.result-players{display:grid;grid-template-columns:1fr 45px 1fr;align-items:center;gap:7px}.result-players>span{display:grid;grid-template-columns:50px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:9px;text-align:left}.result-players>span:last-child{grid-template-columns:1fr 50px;text-align:right}.result-players>span:last-child .result-avatar-wrap{grid-column:2;grid-row:1 / 3}.result-avatar-wrap{grid-row:1 / 3;width:50px;height:50px;position:relative}.result-avatar-wrap img{width:100%;height:100%;border:2px solid #c7aa76;border-radius:50%;object-fit:cover;box-shadow:0 7px 18px #00000059}.result-avatar-wrap .result-avatar{width:100%;height:100%;border:0}.result-avatar-wrap svg{width:23px;position:absolute;z-index:2;left:-6px;top:-13px;color:#f0c36e;fill:#a84832;rotate:-12deg;filter:drop-shadow(0 3px 4px rgba(0,0,0,.4))}.result-players b{min-width:0;overflow:hidden;color:#e9e1d4;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.result-players small{margin-top:2px;color:#8ba09d;font-size:9px}.result-players .is-winner small{color:#efb579}.result-players em{color:#d2aa6b;font:700 italic 16px Georgia,serif}.result-board-preview{min-height:0;display:grid;place-items:center;overflow:hidden;border-radius:17px;filter:drop-shadow(0 12px 18px rgba(0,0,0,.3))}.result-board-preview .xiangqi-board,.result-board-preview .gomoku-board{max-width:100%;max-height:100%;margin:0;pointer-events:none;box-shadow:none}.result-board-preview .xiangqi-board,.result-board-preview .gomoku-board{width:auto;height:100%}.result-board-preview .xiangqi-piece{width:clamp(22px,7.1vw,35px);font-size:clamp(14px,4vw,20px)}.result-board-preview .last-move-marker,.result-board-preview .capture-burst{display:none}.result-board-preview--xiangqi{background:#cdbb92}.result-board-preview--gomoku{background:#83b9a6}.replay-panel{display:grid;gap:4px}.replay-panel>span{color:#d7b67a;font:14px Songti SC,serif}.replay-panel>div{display:grid;grid-template-columns:36px 36px 1fr 36px 36px;align-items:center;gap:5px}.replay-panel button{width:36px;height:34px;display:grid;place-items:center;border:1px solid rgba(218,185,126,.28);border-radius:11px;color:#e0c28b;background:#ffffff09;cursor:pointer}.replay-panel button svg{width:16px}.replay-panel input{width:100%;height:4px;accent-color:#cf5a45;cursor:pointer}.result-primary{width:min(100%,330px);min-height:50px;justify-self:center;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid rgba(255,224,171,.52);border-radius:999px;color:#fff1d9;background:linear-gradient(135deg,#307e6b,#165b51);box-shadow:inset 0 1px #ffffff21,0 13px 28px #00000047;font-size:16px;font-weight:800;cursor:pointer}.result-primary:disabled{opacity:.68}.result-secondary{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.result-secondary button{min-height:42px;display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid rgba(216,195,156,.22);border-radius:14px;color:#d9cfbd;background:#ffffff0a;font-size:9px;cursor:pointer}.result-secondary svg{width:15px}.kill-effect--gomoku.kill-effect--five .kill-effect__landscape{background-image:linear-gradient(180deg,transparent,#020a0a 92%),url(/assets/finishers-gomoku/five-v3.png);animation-name:gomoku-five-camera}.kill-effect--gomoku.kill-effect--diagonal .kill-effect__landscape{background-image:linear-gradient(180deg,transparent,#030a0c 92%),url(/assets/finishers-gomoku/diagonal-v3.png);animation-name:gomoku-diagonal-camera}.kill-effect--gomoku.kill-effect--double-threat .kill-effect__landscape{background-image:linear-gradient(180deg,transparent,#02090a 92%),url(/assets/finishers-gomoku/double-threat-v3.png);animation-name:gomoku-double-camera}.kill-effect--gomoku.kill-effect--overline .kill-effect__landscape{background-image:linear-gradient(180deg,transparent,#020809 92%),url(/assets/finishers-gomoku/overline-v3.png);animation-name:gomoku-overline-camera}.kill-effect--gomoku.kill-effect--five .slash-two{display:none}.kill-effect--gomoku.kill-effect--diagonal .slash-one{transform:rotate(-43deg) scaleX(0);animation-name:gomoku-diagonal-slash}.kill-effect--gomoku.kill-effect--double-threat .ring-one{border-radius:12%;rotate:45deg}.kill-effect--gomoku.kill-effect--overline .kill-effect__ring{width:330px;border-radius:999px;scale:1 .45}.effect-card--five:before{background-image:url(/assets/finishers-gomoku/five-v3.png)}.effect-card--diagonal:before{background-image:url(/assets/finishers-gomoku/diagonal-v3.png)}.effect-card--double-threat:before{background-image:url(/assets/finishers-gomoku/double-threat-v3.png)}.effect-card--overline:before{background-image:url(/assets/finishers-gomoku/overline-v3.png)}.effect-card--five:before,.effect-card--diagonal:before,.effect-card--double-threat:before,.effect-card--overline:before{opacity:.42;background-position:center 36%;filter:saturate(.95) contrast(1.08)}.effect-card--five:after,.effect-card--diagonal:after,.effect-card--double-threat:after,.effect-card--overline:after{background:linear-gradient(90deg,#06191ce0,#06191c59)}@keyframes ready-pop{0%{opacity:0;transform:scale(.5) translate(-8px)}to{opacity:1;transform:none}}@keyframes ready-spark{50%{transform:rotate(8deg) scale(1.13);filter:drop-shadow(0 0 6px #9effde)}}@keyframes pending-pulse{to{box-shadow:inset 0 1px #ffffff14,0 0 15px #52af973b}}@keyframes gomoku-five-camera{0%{transform:scale(1.35);filter:blur(3px) saturate(.45)}to{transform:scale(1.04);filter:blur(0) saturate(1)}}@keyframes gomoku-diagonal-camera{0%{transform:scale(1.08) translate(5%,5%) rotate(2deg)}to{transform:scale(1.18) translate(-2%,-2%) rotate(0)}}@keyframes gomoku-double-camera{0%{transform:scale(1.28) rotate(-3deg);clip-path:polygon(0 48%,100% 48%,100% 52%,0 52%)}35%{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}to{transform:scale(1.05) rotate(0)}}@keyframes gomoku-overline-camera{0%{transform:scale(1.08) translate(-7%);filter:contrast(1.35)}to{transform:scale(1.16) translate(3%);filter:contrast(1.05)}}@keyframes gomoku-diagonal-slash{0%{transform:rotate(-43deg) scaleX(0);opacity:0}32%{opacity:1}to{transform:rotate(-43deg) scaleX(1);opacity:0}}@keyframes fade-in{0%{opacity:0}}@keyframes sheet-up{0%{transform:translateY(35%);opacity:0}}@keyframes bubble-in{0%{transform:translateY(8px) scale(.96);opacity:0}}@keyframes stone-in{0%{scale:.55;opacity:.5}}@keyframes kill-in{0%{opacity:0}}@keyframes flash{0%{opacity:0}10%{opacity:.82}to{opacity:0}}@keyframes cannon-flash{0%,34%,48%{opacity:0}8%{opacity:.95}40%{opacity:.48}to{opacity:0}}@keyframes shutter-top{0%{transform:scaleY(1)}to{transform:scaleY(0)}}@keyframes shutter-bottom{0%{transform:scaleY(1)}to{transform:scaleY(0)}}@keyframes landscape-drift{0%{transform:scale(1.15);filter:saturate(.35) contrast(1.35)}to{transform:scale(1.03);filter:saturate(.72) contrast(1.15)}}@keyframes moon-turn{0%{rotate:-80deg;scale:.48;opacity:0}35%{opacity:.68}to{rotate:48deg;scale:1.15;opacity:.18}}@keyframes ring-burst{0%{scale:.2;opacity:0}30%{opacity:1}to{scale:2.7;opacity:0}}@keyframes slash{0%{transform:rotate(-24deg) scaleX(0);opacity:0}35%{opacity:1}to{transform:rotate(-24deg) scaleX(1);opacity:0}}@keyframes slash-two{0%{transform:rotate(24deg) scaleX(0);opacity:0}35%{opacity:.7}to{transform:rotate(24deg) scaleX(1);opacity:0}}@keyframes rook-slash{0%{transform:rotate(0) scaleX(0);opacity:0}35%{opacity:1}to{transform:rotate(0) scaleX(1);opacity:0}}@keyframes rook-slash-two{0%{transform:rotate(90deg) scaleX(0);opacity:0}35%{opacity:.8}to{transform:rotate(90deg) scaleX(1);opacity:0}}@keyframes vertical-strike{0%{transform:scaleY(0);opacity:0}30%{opacity:1}to{transform:scaleY(1);opacity:0}}@keyframes moon-rise{0%{transform:translateY(48px);opacity:.2}to{transform:translateY(0);opacity:1}}@keyframes formation-in{0%{opacity:0;transform:translateY(-14px);letter-spacing:1em}28%,62%{opacity:.62}to{opacity:0;transform:translateY(8px);letter-spacing:.55em}}@keyframes particle{0%{opacity:1;transform:rotate(var(--angle)) translateY(-48px) scaleY(.35)}to{opacity:0;transform:rotate(var(--angle)) translateY(-290px) scaleY(1.55)}}@keyframes seal-hit{0%{scale:3;rotate:-12deg;opacity:0}70%{scale:.92;rotate:2deg;opacity:1}to{scale:1;rotate:0}}@keyframes text-up{0%{transform:translateY(18px);opacity:0}}@keyframes title-strike{0%{transform:translateY(28px) scale(1.35);filter:blur(8px);opacity:0}72%{transform:translateY(-2px) scale(.96);filter:blur(0);opacity:1}to{transform:none;opacity:1}}@keyframes line-open{0%{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}@keyframes board-shake{0%,to{transform:translate(0)}20%{transform:translate(-7px,3px)}40%{transform:translate(6px,-3px)}60%{transform:translate(-4px,-2px)}80%{transform:translate(3px,2px)}}@keyframes finisher-camera{0%{transform:scale(1.28) translate3d(0,2%,0);filter:saturate(.35) contrast(1.3) blur(3px)}32%{filter:saturate(1.05) contrast(1.12) blur(0)}to{transform:scale(1.04) translate3d(0,-1%,0);filter:saturate(.78) contrast(1.14)}}@keyframes light-sweep{0%{transform:translate(-72%) rotate(4deg);opacity:0}22%{opacity:1}to{transform:translate(68%) rotate(4deg);opacity:0}}@keyframes last-origin{50%{opacity:.45;rotate:24deg}}@keyframes last-target{50%{box-shadow:0 0 0 9px #d848320d,inset 0 0 15px #db4b325c}}@keyframes last-piece-ring{to{top:-7px;right:-7px;bottom:-7px;left:-7px;opacity:.55}}@keyframes capture-seal{0%{scale:2.2;opacity:0;rotate:-14deg}52%{scale:.9;opacity:1;rotate:4deg}to{scale:1.25;opacity:0}}@keyframes capture-spark{0%{opacity:1;transform:translateY(0) scaleY(.3)}to{opacity:0;transform:translateY(-48px) scaleY(1.4)}}@keyframes voice-wave{to{transform:scaleY(.42);opacity:.55}}@keyframes clock-pulse{to{opacity:.62}}@keyframes check-scene{0%{opacity:0}14%,72%{opacity:1}to{opacity:0}}@keyframes check-seal{0%{scale:2.8;rotate:-20deg;filter:blur(7px)}to{scale:1;rotate:-6deg;filter:blur(0)}}@keyframes result-rise{0%{transform:translateY(45px) scale(.94);opacity:0}}@keyframes halo-turn{to{rotate:360deg}}@keyframes finisher-cage{0%{transform:scale(1.34);filter:brightness(.35) contrast(1.35)}45%{filter:brightness(1) contrast(1.08)}to{transform:scale(1.05)}}@keyframes finisher-gate{0%{transform:scale(1.03) translateY(-5%)}to{transform:scale(1.13) translateY(1%)}}@keyframes finisher-cross{0%{transform:scale(1.32) rotate(-2deg);filter:blur(3px)}to{transform:scale(1.04) rotate(0);filter:blur(0)}}@keyframes finisher-drop{0%{transform:scale(1.18) translateY(-9%)}to{transform:scale(1.05) translateY(0)}}@keyframes finisher-charge{0%{transform:scale(1.08) translate(6%);filter:saturate(.45)}to{transform:scale(1.17) translate(-2%);filter:saturate(1)}}@keyframes finisher-vertical{0%{transform:scale(1.24) translateY(6%)}to{transform:scale(1.03) translateY(-2%)}}@keyframes finisher-rail{0%{transform:scale(1.31) translateY(4%);filter:contrast(1.4)}to{transform:scale(1.05);filter:contrast(1.06)}}@keyframes finisher-clamp{0%{transform:scale(1.06);clip-path:inset(0 38%)}35%{clip-path:inset(0)}to{transform:scale(1.13);clip-path:inset(0)}}@keyframes finisher-hook{0%{transform:scale(1.18) rotate(3deg)}to{transform:scale(1.05) rotate(-1deg)}}@keyframes finisher-focus{0%{transform:scale(1.04);filter:brightness(.5)}40%{filter:brightness(1.1)}to{transform:scale(1.13);filter:brightness(.9)}}@keyframes finisher-pounce{0%{transform:scale(1.03) translate(-6%)}45%{transform:scale(1.2) translate(1%)}to{transform:scale(1.08)}}@keyframes finisher-turn{0%{transform:scale(1.2) rotate(-3deg)}to{transform:scale(1.04) rotate(0)}}@keyframes finisher-orbit{0%{transform:scale(1.28) rotate(3deg);filter:hue-rotate(-12deg)}to{transform:scale(1.04) rotate(0);filter:hue-rotate(0)}}@keyframes finisher-fade{0%{transform:scale(1.04);filter:grayscale(.2) brightness(.9)}to{transform:scale(1.11);filter:grayscale(1) brightness(.42)}}@keyframes finisher-rise{0%{transform:scale(1.13) translateY(7%);filter:brightness(.52)}to{transform:scale(1.04) translateY(-2%);filter:brightness(1)}}@media(max-height:760px){.page{padding-top:max(10px,env(safe-area-inset-top));padding-bottom:max(10px,env(safe-area-inset-bottom))}.lobby-page{gap:7px}.brand{min-height:40px}.brand__mark{width:39px;height:39px;font-size:25px}.brand strong{font-size:20px}.brand span{font-size:8px}.welcome-block{margin:4px 0 0}.welcome-block .eyebrow{font-size:9px}.welcome-block h1{margin-top:3px;font-size:28px;line-height:1.05}.welcome-block h1 br{display:none}.friend-hero{min-height:68px;padding:9px 14px;border-radius:20px}.friend-hero__icon{width:43px;height:43px}.friend-hero strong{font-size:18px}.game-grid{flex-basis:126px;gap:8px}.game-card{min-height:116px;padding:13px;border-radius:20px}.game-card>span{margin-top:41px;font-size:17px}.game-card>small{font-size:8px}.continue-card{min-height:52px;padding-block:5px}.continue-card__preview{width:62px;height:40px}.continue-card__preview i{top:13px}.continue-card__preview i:nth-child(2){top:23px}.join-card{min-height:43px}.secondary-actions button{min-height:46px;border-radius:14px}.secondary-actions svg{width:17px}.setup-page--premium{padding:12px 18px 11px;display:flex;flex-direction:column}.setup-back{width:38px;height:38px;right:16px;top:10px}.setup-brand{height:39px}.setup-brand strong{font-size:23px}.setup-brand span{display:none}.setup-title{margin:4px 0 7px}.setup-title .eyebrow{display:none}.setup-title h1{margin:0 0 4px;font-size:29px}.setup-title>i{width:90px}.game-segment--premium{margin-top:0;padding:3px}.game-segment--premium button{height:40px}.segment-piece{width:29px;height:29px;font-size:17px}.versus-card--premium{min-height:74px;margin-top:7px;padding:5px 17px}.versus-player>img,.versus-player>.versus-avatar,.waiting-avatar{width:48px;height:48px}.versus-player>strong{margin-top:2px;font-size:11px}.versus-player>small{display:none}.versus-card--premium .versus-mark{width:46px;height:46px;font-size:20px}.setup-card--premium{gap:4px;margin-top:7px}.premium-setting{min-height:47px;grid-template-columns:34px 1fr auto;gap:7px;padding:4px 8px;border-radius:13px}.premium-setting .setting-icon{width:31px;height:31px}.premium-setting .setting-icon svg{width:20px}.premium-setting>span strong{font-size:12px}.premium-setting>span small{display:none}.premium-setting>b{min-width:94px;min-height:34px;border-radius:11px;padding:0 8px;font-size:11px}.setup-page>.primary-button{min-height:47px;margin-top:7px}.setup-page .text-button{margin-top:2px;padding:4px}.room-page{padding-top:max(7px,env(safe-area-inset-top));padding-bottom:max(7px,env(safe-area-inset-bottom))}.room-header{min-height:38px;grid-template-columns:38px 1fr auto}.room-header .icon-button{width:36px;height:36px}.room-header>div strong{font-size:15px}.watcher-chip{padding:6px 8px}.player-bar{min-height:53px;margin-top:5px;margin-bottom:4px;padding:5px 10px;border-radius:16px}.player-bar--opponent{min-height:55px}.player-bar .avatar{width:43px;height:43px}.player-bar time{font-size:20px}.player-bar strong{font-size:12px}.turn-strip{min-height:29px;padding-block:4px}.player-bar--me{margin-top:4px;margin-bottom:5px}.game-actions button{min-height:48px;border-radius:15px}.game-actions svg{width:18px}.game-actions span{font-size:9px}.voice-bubble-inline{min-height:40px;padding-block:5px}.result-card{gap:5px;padding:max(9px,env(safe-area-inset-top)) 14px max(8px,env(safe-area-inset-bottom));grid-template-rows:auto auto minmax(130px,1fr) auto auto auto}.result-heading h2{font-size:32px}.result-heading p{font-size:8px}.result-avatar-wrap{width:42px;height:42px}.result-players>span{grid-template-columns:42px 1fr}.result-players>span:last-child{grid-template-columns:1fr 42px}.replay-panel>span{font-size:11px}.replay-panel button{height:29px}.replay-panel>div{grid-template-columns:31px 31px 1fr 31px 31px}.result-primary{min-height:43px;font-size:14px}.result-secondary button{min-height:35px}}@media(min-width:700px){.app-surface{height:calc(100dvh - 32px);margin-block:16px;border:1px solid rgba(255,255,255,.08);border-radius:30px}.page{height:100%}.bottom-sheet{border-radius:30px;margin-bottom:18px}.result-card{height:calc(100dvh - 32px);border:1px solid rgba(229,198,142,.2);border-radius:30px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}.xiangqi-piece{background:none;filter:none;overflow:visible;isolation:isolate}.xiangqi-piece__face{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding-bottom:2px;border-radius:50%;background:url(/assets/xiangqi-piece-boxwood.png) center / contain no-repeat;filter:drop-shadow(0 2px 1px rgba(50,24,7,.5));transition:transform .18s ease,filter .18s;pointer-events:none}.xiangqi-piece.selected{scale:1;z-index:6;filter:none}.xiangqi-piece.selected:before{content:"";position:absolute;z-index:-1;width:85%;height:36%;left:8%;top:68%;border-radius:50%;background:#1e150d7a;filter:blur(2px);animation:reference-shadow 1.6s ease-in-out infinite;pointer-events:none}.xiangqi-piece.selected .xiangqi-piece__visual{transform:translateY(-30%) scale(1.18);filter:drop-shadow(0 3px 1px #775023) drop-shadow(0 0 3px rgba(255,245,193,.75));animation:reference-hover 1.6s ease-in-out infinite}.xiangqi-piece.last-moved{filter:none}.xiangqi-piece.last-moved .xiangqi-piece__visual{animation:reference-land .38s ease-out}.xiangqi-piece.selected.last-moved .xiangqi-piece__visual{animation:reference-hover 1.6s ease-in-out infinite}.xiangqi-piece.last-moved:after{top:-10%;right:-10%;bottom:-10%;left:-10%;border:2px solid #fffefa;box-shadow:0 0 5px #fff,inset 0 0 4px #fff9;animation:reference-impact .5s .24s ease-out both;pointer-events:none}@keyframes reference-hover{0%,to{transform:translateY(-30%) scale(1.18)}50%{transform:translateY(-34%) scale(1.18)}}@keyframes reference-shadow{50%{opacity:.65;transform:scale(.86)}}@keyframes reference-twinkle{0%,to{opacity:.15;transform:scale(.45) rotate(0)}50%{opacity:1;transform:scale(1) rotate(45deg)}}@keyframes reference-land{0%{transform:translateY(-30%) scale(1.18)}64%{transform:translateY(-18%) scale(1.25)}82%{transform:translateY(3%) scale(1.04,.96)}to{transform:none}}@keyframes reference-impact{0%{opacity:0;transform:scale(.6)}20%{opacity:1}to{opacity:0;transform:scale(1.5)}}.xiangqi-announcement{--ref-color: #ffcd72;position:absolute;z-index:12;left:50%;top:46%;width:68%;height:30%;translate:-50% -50%;display:grid;place-items:center;pointer-events:none;opacity:0;animation:reference-cue 2.15s ease-out both}.reference-calligraphy{position:relative;z-index:3;color:#ffcf76;font:italic 900 clamp(26px,11cqw,54px) "KaiTi","Kaiti SC","STKaiti",serif;letter-spacing:-.08em;-webkit-text-stroke:.5px #fff0ac;text-shadow:1px 2px 0 #ab522b,2px 4px 1px #693221,0 0 9px #ffb454;transform:rotate(-8deg);animation:reference-letter 2.15s cubic-bezier(.18,.85,.25,1) both;white-space:nowrap}.xiangqi-announcement small{position:absolute;z-index:4;top:95%;color:#ffe5b8;padding:3px 10px;background:#32180b99;border-radius:12px;font:700 clamp(12px,4cqw,18px) "KaiTi",serif;text-shadow:0 1px 2px black}.reference-flare{position:absolute;top:-80%;right:-15%;bottom:-80%;left:-15%;background:radial-gradient(ellipse,#fff9d8 0,#ffe7a6 8%,#ffd07a66 25%,transparent 62%);mix-blend-mode:screen;animation:reference-flare 1.3s ease-out both}.reference-ring{position:absolute;width:40%;aspect-ratio:1;border-radius:50%;border:2px solid #ffdba2;box-shadow:0 0 9px var(--ref-color),inset 0 0 8px var(--ref-color);animation:reference-impact .8s .1s ease-out both}.reference-slash{position:absolute;z-index:4;left:-10%;top:58%;width:120%;height:4px;border-radius:50%;rotate:-13deg;background:linear-gradient(90deg,transparent,#ffe3b3,white,#ffcb76,transparent);box-shadow:0 0 10px #ffcf77;animation:reference-slash .55s .25s ease-out both}.reference-sparks{position:absolute;top:0;right:0;bottom:0;left:0}.reference-sparks i{position:absolute;left:50%;top:50%;width:3px;height:3px;border-radius:50%;background:#fff2c0;box-shadow:0 0 5px #ffae51;--angle: calc(var(--spark) * 36deg);animation:reference-spark .9s .2s ease-out both}.xiangqi-announcement.is-check{--ref-color: #ff7045}.xiangqi-announcement.is-check .reference-calligraphy{width:28%;min-width:57px;aspect-ratio:1;display:grid;place-items:center;font-size:clamp(30px,13cqw,58px);color:#ff6f3f;background:radial-gradient(circle,#55170cca 40%,#170d0abe 60%,transparent 70%);-webkit-text-stroke:.4px #ff9064;text-shadow:0 0 9px #ff4618,1px 2px #792008}.xiangqi-announcement.is-check .reference-ring,.xiangqi-announcement.is-capture .reference-ring{width:32%;animation:reference-medallion 1.65s ease-out both}.xiangqi-announcement.is-check .reference-ring{border-color:#ff8e5a}.xiangqi-announcement.is-check .reference-slash,.xiangqi-announcement.is-capture .reference-slash{display:none}.xiangqi-announcement.is-capture .reference-calligraphy{font-size:clamp(30px,13cqw,58px)}.xiangqi-announcement.is-tactic .reference-calligraphy{font-size:clamp(25px,8cqw,42px)}.reference-finish{position:absolute;z-index:20;top:0;right:0;bottom:0;left:0;cursor:pointer}.reference-finish .xiangqi-announcement{width:72%;animation-duration:2.5s}.reference-finish .reference-calligraphy{font-size:clamp(44px,16cqw,76px)}.reference-finish__skip{position:absolute;bottom:5%;left:50%;translate:-50% 0;border-radius:10px;padding:4px 10px;font-size:10px;color:#ffe6b7;background:#241a1280}.reference-audio-library{margin-top:14px;color:#e8c793;font-size:13px}.reference-audio-library>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding-top:10px}.reference-audio-library button{padding:9px 3px;border:1px solid #90754b;border-radius:8px;background:#142a2d;font-size:12px}@keyframes reference-cue{0%{opacity:0}8%,72%{opacity:1}to{opacity:0}}@keyframes reference-letter{0%{transform:scale(2.1) rotate(-13deg);filter:blur(4px);opacity:0}14%{transform:scale(.94) rotate(-8deg);filter:blur(0);opacity:1}22%,80%{transform:scale(1) rotate(-8deg);opacity:1}to{opacity:0;transform:scale(.97) rotate(-8deg)}}@keyframes reference-flare{0%{opacity:0;transform:scale(.5)}20%{opacity:.9}to{opacity:0;transform:scale(1.15)}}@keyframes reference-slash{0%{opacity:0;transform:scaleX(.02)}30%{opacity:1}to{opacity:0;transform:scaleX(1.15)}}@keyframes reference-spark{0%{opacity:1;transform:rotate(var(--angle)) translate(10px)}to{opacity:0;transform:rotate(var(--angle)) translate(85px)}}@keyframes reference-medallion{0%{opacity:0;transform:scale(1.7)}15%,68%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.85)}}@media(prefers-reduced-motion:reduce){.xiangqi-piece.selected .xiangqi-piece__visual{animation:none}.xiangqi-announcement,.reference-calligraphy{animation:none;opacity:1;transform:none}.reference-flare,.reference-sparks,.reference-slash{display:none}}.xiangqi-piece.last-moved{z-index:5}.reference-captured{position:absolute;width:9.5%;aspect-ratio:1;translate:-50% -50%;z-index:4;pointer-events:none}.reference-captured b{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;border-radius:50%;background:url(/assets/xiangqi-piece-boxwood.png) center/contain;font:700 clamp(15px,5.4cqw,24px) "KaiTi",serif;color:#121d20;animation:reference-capture-disc .62s .24s both}.reference-captured.red b{color:#a52d24}.reference-captured i{position:absolute;left:50%;top:50%;width:17%;height:24%;background:#cda15c;opacity:0;animation:reference-chip .5s .26s both;--dx: -180%;--dy: -230%}.reference-captured i:nth-child(3){--dx: 250%;--dy: -140%}.reference-captured i:nth-child(4){--dx: 100%;--dy: 170%}@keyframes reference-capture-disc{0%{opacity:1;transform:none}45%{opacity:1;transform:translate(-65%,-45%) rotateY(170deg) rotate(-45deg) scale(.8)}to{opacity:0;transform:translate(-130%,90%) rotateY(300deg) rotate(-110deg) scale(.35)}}@keyframes reference-chip{10%{opacity:1}to{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(190deg)}}.reference-finish--recorded{position:fixed;top:0;right:0;bottom:0;left:0;z-index:65;background:#080c1028;display:grid;place-items:center}.reference-finish__animation{height:100%;max-width:100%;object-fit:contain;pointer-events:none}.reference-finish__error{position:absolute;top:48%;left:0;width:100%;text-align:center;color:#ffdf96}.reference-finish--recorded .reference-finish__skip{bottom:max(24px,env(safe-area-inset-bottom))}.voice-grid button small{display:block;margin-top:5px;font-size:10px;line-height:1.5;opacity:.65;font-weight:400}@media(prefers-reduced-motion:reduce){.reference-captured{display:none}}.native-finish{position:fixed;top:0;right:0;bottom:0;left:0;z-index:180;overflow:hidden;isolation:isolate;cursor:pointer;touch-action:manipulation}.native-finish__shade{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 40%,#12172877,#040912d9 75%);animation:native-shade-in .3s ease both}.native-finish__canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.room-page--xiangqi{background:linear-gradient(#12281c22,#091a1044),url(/assets/board-v5/courtyard.webp) center / cover}.room-page--xiangqi:after{background:linear-gradient(#12211722,transparent 25%,transparent 70%,#10231744)}.room-page--xiangqi .player-bar{border-color:#d1b47260;background:linear-gradient(115deg,#243c2cdd,#13291fcc);box-shadow:inset 0 1px #f1deb72b,0 5px 12px #0d1a1b25;-webkit-backdrop-filter:none;backdrop-filter:none}.room-page--xiangqi .game-actions button{background:linear-gradient(#334b36eb,#192f24eb);border-color:#cfb67766}.xiangqi-board{isolation:isolate;background:none;border-radius:8px;filter:drop-shadow(0 9px 8px #132c2666)}.xiangqi-board:after{display:none}.xiangqi-stone-surface{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.river-inscription{z-index:1;top:45.185%;height:9.63%;left:15%;right:14%;font-size:clamp(16px,6cqw,29px);color:#566b52a6;text-shadow:0 1px #e5e2bfaa;letter-spacing:.15em}.xiangqi-piece{width:10.5%;z-index:4}.xiangqi-piece__visual{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;transition:transform .2s ease}.xiangqi-piece__face,.reference-captured b{background-image:url(/assets/board-v5/pieces-black.webp);background-size:400% 200%;background-repeat:no-repeat;filter:none;border-radius:0;padding:0;z-index:1}.xiangqi-piece.red .xiangqi-piece__face,.reference-captured.red b{background-image:url(/assets/board-v5/pieces-red.webp)}.xiangqi-piece__face{top:-10%;right:-10%;bottom:-10%;left:-10%}.xiangqi-piece.selected{z-index:8}.xiangqi-piece.selected .xiangqi-piece__visual{filter:drop-shadow(0 4px 2px #29342266)}.xiangqi-piece.selected:before{top:62%;left:17%;width:66%;height:25%;background:#19291b66}.xiangqi-piece__orbit{position:absolute;top:-14%;right:-14%;bottom:-14%;left:-14%;width:128%;height:128%;overflow:visible;pointer-events:none;filter:drop-shadow(0 0 1.2px #ffffff)}.xiangqi-piece__orbit--back{z-index:0;clip-path:inset(0 0 50% 0);opacity:.72}.xiangqi-piece__orbit--front{z-index:2;clip-path:inset(50% 0 0 0)}.piece-orbit-turn{transform-origin:50px 50px;animation:piece-orbit 1.6s linear infinite}.piece-orbit-turn ellipse{fill:none;stroke:#fff;stroke-width:1.8;stroke-dasharray:62 30 9 180}.piece-orbit-turn path{fill:none;stroke:#fff;stroke-width:1.2}.reference-captured{width:10.5%;z-index:4}.xiangqi-board .move-dot{width:2.2%;height:auto;aspect-ratio:1;background:#70bd5a;box-shadow:0 0 0 3px #7ac66a33,inset 0 1px #dff9b9aa}.result-board-preview .xiangqi-piece{width:10.5%}@keyframes piece-orbit{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.piece-orbit-turn{animation:none}}.native-finish__caption{position:absolute;top:71%;left:0;right:0;text-align:center;color:#ffedc1;opacity:0;pointer-events:none}.native-finish--running .native-finish__caption{animation:native-caption var(--finish-duration) ease both}.native-finish__caption small{font:600 13px/1.5 serif;letter-spacing:.75em;padding-left:.75em;color:var(--finish-color)}.native-finish__caption h2{margin:6px 0 8px;font:900 clamp(38px,10vw,76px)/1.12 "STKaiti","KaiTi","Noto Serif SC",serif;letter-spacing:.13em;padding-left:.13em;text-shadow:0 3px 0 #75411a,0 0 25px var(--finish-color),0 10px 30px #000}.native-finish__caption p{font-size:12px;letter-spacing:.18em;color:#e9d5af}@keyframes native-shade-in{0%{opacity:0}to{opacity:1}}@keyframes native-caption{0%,58%{opacity:0;transform:translateY(20px) scale(1.2)}70%,91%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-8px) scale(1)}}@media(prefers-reduced-motion:reduce){.native-finish__shade{animation:none}.native-finish--running .native-finish__caption{animation:none;opacity:1}}.room-page--gomoku{background:linear-gradient(#1737230a,#0c291a24),url(/assets/gomoku-v7/square-court.webp) center / 100% 100%}.room-page--gomoku .player-bar{background:linear-gradient(110deg,#152f24d9,#18382acd);border-color:#dfd3a844;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.room-page--gomoku .turn-strip,.room-page--gomoku .game-actions button{background-color:#152f24de;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.room-page--gomoku .room-header{text-shadow:0 2px 5px #061609}.gomoku-finish{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;isolation:isolate;overflow:hidden;background:#061411;cursor:pointer}.gomoku-finish__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;opacity:.22;background:linear-gradient(0deg,#04110f 8%,#04110f55 60%,#04110fcc),url(/assets/gomoku-v6/garden.webp) center / cover}.gomoku-finish canvas{display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.gomoku-finish__caption{position:absolute;top:67%;left:12px;right:12px;text-align:center;color:#f6e9c5;animation:gomoku-caption .8s .55s both}.gomoku-finish__caption p{font-size:10px;letter-spacing:.55em;color:#cfc29f}.gomoku-finish__caption h2{margin:13px 0;font:700 clamp(32px,10vw,56px) "STKaiti","KaiTi","Noto Serif SC",serif;letter-spacing:.16em;text-indent:.16em;text-shadow:0 2px 0 #6e522c,0 0 20px #f5d88c40}.gomoku-finish__caption b{display:block;width:140px;height:1px;margin:16px auto;background:linear-gradient(90deg,transparent,#e5c783,transparent)}.gomoku-finish__caption strong{display:block;font-size:13px;letter-spacing:.18em;font-weight:500}.gomoku-finish__caption span{display:block;margin-top:10px;font-size:10px;letter-spacing:.12em;opacity:.5}.gomoku-finish__skip{position:absolute;bottom:max(22px,env(safe-area-inset-bottom));left:50%;translate:-50% 0;padding:10px 20px;border:1px solid #f5e6bf33;border-radius:99px;color:#e3d9bcaa;background:#03110d88;font-size:11px;cursor:pointer}@keyframes gomoku-caption{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.gomoku-finish__caption{animation:none}}.gomoku-last-mark{position:absolute;z-index:6;aspect-ratio:1;translate:-50% -50%;pointer-events:none;animation:gomoku-mark-arrive .38s ease-out}.gomoku-last-mark>i{position:absolute;top:5%;right:5%;bottom:5%;left:5%;border:1.5px solid #f8ffff;border-radius:50%;box-shadow:0 0 0 1px #1d5b55cc,0 0 7px 2px #aff5e0aa;animation:gomoku-mark-breathe 2.2s ease-in-out infinite}.gomoku-last-mark>b{position:absolute;top:-4%;right:-4%;bottom:-4%;left:-4%;border:2px solid #fed476;border-radius:22%;clip-path:polygon(0 0,32% 0,32% 12%,12% 12%,12% 32%,0 32%,0 0,100% 0,100% 32%,88% 32%,88% 12%,68% 12%,68% 0,100% 0,100% 100%,68% 100%,68% 88%,88% 88%,88% 68%,100% 68%,100% 100%,0 100%,0 68%,12% 68%,12% 88%,32% 88%,32% 100%,0 100%);filter:drop-shadow(0 1px 1px #322307)}.gomoku-last-mark>em{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;animation:gomoku-mark-orbit 4s linear infinite}.gomoku-last-mark>em:after{content:"";position:absolute;top:0;left:45%;width:4px;height:4px;border-radius:50%;background:#fff;box-shadow:0 0 5px 2px #ddfff1}.gomoku-last-legend{position:absolute;bottom:1.8%;left:50%;translate:-50% 0;white-space:nowrap;color:#4b321b;font-size:clamp(9px,2.4vw,11px);font-weight:650;letter-spacing:.06em;pointer-events:none}.gomoku-last-legend:before{content:"";display:inline-block;width:6px;height:6px;margin-right:5px;border:1px solid #26594b;background:#ecfff4;border-radius:50%;box-shadow:0 0 3px #e9ffff}@keyframes gomoku-mark-arrive{0%{transform:scale(1.6);opacity:.2}to{transform:scale(1);opacity:1}}@keyframes gomoku-mark-breathe{50%{box-shadow:0 0 0 1px #1d5b55cc,0 0 10px 3px #e0fff4aa}}@keyframes gomoku-mark-orbit{to{transform:rotate(360deg)}}.effect-gallery--gomoku{max-height:88dvh;overflow-y:auto;background:linear-gradient(#0d2423ee,#081918fa),url(/assets/gomoku-v6/garden.webp) center / cover}.effect-gallery--gomoku .effect-gallery__intro{margin-right:0}.effect-gallery--gomoku .effect-card{display:block;position:relative;overflow:hidden;padding:0 0 13px;border-color:#b09d6355;background:#071614}.effect-gallery--gomoku .effect-card:before{display:none}.gomoku-effect-card__art{width:100%;aspect-ratio:1.2;background-color:#000;background-size:400% 200%;background-position:100% 0;background-repeat:no-repeat}.effect-gallery--gomoku .effect-card>i{position:absolute;left:9px;top:9px;width:25px;height:25px;font-size:15px;background:#172e27aa}.effect-gallery--gomoku .effect-card>span{padding:10px 10px 0}.effect-gallery--gomoku .effect-card strong{font:19px KaiTi,STKaiti,serif;letter-spacing:.08em}.effect-gallery--gomoku .effect-card small{font-size:10px;color:#bdc6b8}.effect-gallery--gomoku .effect-card em{display:block;margin-top:7px;color:#cbb685;font-size:9px;font-style:normal}.effect-gallery--gomoku .effect-card>svg{position:absolute;right:11px;top:11px;width:15px;color:#ffe5a5}.gomoku-finish--v6 .gomoku-finish__caption{top:68%}@media(prefers-reduced-motion:reduce){.gomoku-last-mark,.gomoku-last-mark>i,.gomoku-last-mark>em{animation:none}}.room-page--gomoku .gomoku-board{border-radius:5px}.lobby-page{background:linear-gradient(90deg,#06191c33,#07171b08),url(/assets/gomoku-v7/lobby.webp) center / cover}.lobby-page .ink-moon{opacity:.12}.lobby-page .secondary-actions button{background:#10262bd9;border-color:#d2c19744;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.room-page--gomoku .player-bar:has(.voice-bubble-inline)>div:nth-child(2){flex:0 1 76px;min-width:52px}.room-page--gomoku .voice-bubble-inline{flex:1 1 130px;padding:8px;max-width:238px}.room-page--gomoku .voice-wave{flex-shrink:0}.xiangqi-board--entering .xiangqi-hit-grid,.xiangqi-board--entering .xiangqi-piece{pointer-events:none}.xiangqi-board--entering .xiangqi-piece__visual{animation:xiangqi-entrance-drop .47s var(--entrance-delay) both;will-change:transform,opacity}.xiangqi-board--entering .xiangqi-piece:before{content:"";position:absolute;z-index:-1;top:61%;right:15%;bottom:12%;left:15%;border-radius:50%;background:#17231866;animation:xiangqi-entrance-shadow .47s var(--entrance-delay) both;pointer-events:none}.xiangqi-board--entering .xiangqi-piece:after{content:"";position:absolute;top:2%;right:2%;bottom:2%;left:2%;border-radius:50%;border:1px solid #fff6d899;animation:xiangqi-entrance-ring .21s calc(var(--entrance-delay) + .31s) both;pointer-events:none}@keyframes xiangqi-entrance-drop{0%{transform:translateY(-140%) scale(1.65);opacity:0}18%{opacity:1}66%{transform:translateY(0) scale(1.03,.93);opacity:1}81%{transform:translateY(-9%) scale(1.02)}to{transform:translateY(0) scale(1);opacity:1}}@keyframes xiangqi-entrance-shadow{0%{transform:scale(1.9);opacity:0}35%{opacity:.25}66%{transform:scale(1);opacity:.8}to{transform:scale(1);opacity:.35}}@keyframes xiangqi-entrance-ring{0%{transform:scale(.7);opacity:0}25%{opacity:.6}to{transform:scale(1.35);opacity:0}}@media(prefers-reduced-motion:reduce){.xiangqi-board--entering .xiangqi-piece__visual{animation:none}.xiangqi-board--entering .xiangqi-piece:before,.xiangqi-board--entering .xiangqi-piece:after{display:none}}.invite-sheet--rich{max-height:92dvh;overflow-y:auto;overscroll-behavior:contain}.rich-invite-card{overflow:hidden;margin:14px 0;border:1px solid #dcc8a3;border-radius:18px;background:#fffaf0;box-shadow:0 8px 22px #472b1412}.rich-invite-cover{display:block;width:100%;aspect-ratio:3 / 2;object-fit:cover}.rich-invite-person{display:flex;align-items:center;gap:10px;padding:12px 14px 6px;text-align:left}.rich-invite-person .avatar{width:38px;height:38px;flex:0 0 38px}.rich-invite-person strong{display:block;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.rich-invite-person small{display:block;margin-top:3px;color:#8b775a;font-size:11px}.rich-invite-meta{display:grid;gap:7px;padding:8px 14px 14px;font-size:12px;color:#725e42;text-align:left}.rich-invite-meta code{color:#a43e32;font-weight:700}.rich-invite-buttons{display:grid;gap:1px;background:#decaaa;text-align:center;color:#8d352b;font-size:13px;font-weight:600}.rich-invite-buttons span{padding:11px;background:#f2e6d0}.invite-feedback,.invitation-notice{padding:12px 14px;border:1px solid #dfc18b;border-radius:12px;background:#fff6df;color:#79501f;font-size:13px;line-height:1.6}.invitation-notice p{margin:5px 0 8px}.invitation-notice button,.spectator-notice button{padding:7px 11px;border-radius:8px;color:#fff;background:#9f4536;border:0}.invitation-notice span{display:block;margin-top:6px;font-size:11px}.spectator-notice{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:9px 11px;border-radius:10px;background:#f2e5d0;color:#775236;font-size:12px;line-height:1.5}.invite-secondary{display:flex;gap:18px;justify-content:center;margin:12px 0}.invite-secondary button{border:0;background:none;color:#8b5d3b;font-size:12px;text-decoration:underline}.invite-plain-link{display:block;overflow-wrap:anywhere;color:#927657;text-align:center;font-size:10px}.lobby-page{overflow-y:auto;overscroll-behavior:contain}.lobby-social-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;flex-shrink:0}.lobby-social-actions button{display:grid;grid-template-columns:27px 1fr;align-items:center;gap:2px 8px;padding:12px;border:1px solid #ccb37966;border-radius:16px;background:#132f2dda;text-align:left}.lobby-social-actions svg{grid-row:span 2;color:#e4c181}.lobby-social-actions strong{font-size:14px;color:#faebcc}.lobby-social-actions small{color:#acbcb0;font-size:10px}.social-page{overflow-y:auto;overscroll-behavior:contain;padding:18px 18px 32px;background:linear-gradient(155deg,#102b2bee,#091b1be8)}.social-header{display:flex;gap:12px;align-items:center;margin-bottom:20px}.social-header>div{flex:1}.social-header h1{font-family:Songti SC,serif;font-size:25px;margin:4px 0}.social-header .eyebrow{font-size:10px;letter-spacing:.08em}.social-tabs{display:flex;gap:10px;margin:12px 0 18px}.social-tabs button{flex:1;padding:10px 9px;border:1px solid #c4ab7477;border-radius:11px;background:#213a36;color:#f6ead2}.social-tabs button[aria-pressed=true]{background:#dac497;color:#263e36;font-weight:700}.social-page h2{font-size:18px;color:#ead3a6;margin:22px 0 12px}.social-note{color:#b3c2b6;font-size:12px;line-height:1.65}.social-error{background:#643e35;border-radius:10px;color:#ffdfcd;padding:12px;font-size:13px}.social-empty{color:#b5c3b9;border:1px dashed #c8b88155;padding:20px;border-radius:13px;font-size:13px;line-height:1.8}.history-row{display:flex;width:100%;align-items:center;gap:9px;padding:13px 10px;margin:9px 0;border-radius:13px;border:1px solid #c9b07744;background:#17332fe0;text-align:left}.history-row>span:nth-child(2){flex:1;min-width:0}.history-row strong{display:block;color:#f3e7cf;font-size:12px;overflow-wrap:anywhere}.history-row small{display:block;color:#a5b9ac;font-size:10px;margin-top:5px}.history-row>b{color:#e7c68b;font-size:10px;max-width:72px}.history-row:disabled{opacity:.55}.history-game{display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border-radius:50%;background:#e5cf9f;color:#923c30;font:700 21px Songti SC,serif}.history-game--gomoku{color:#162624}.leaderboard-hero{padding:25px 17px;border:1px solid #ccb47566;border-radius:20px;background:radial-gradient(ellipse at top,#5d563477,#1d3730);text-align:center}.leaderboard-hero>svg{width:38px;height:38px;color:#e6be73}.leaderboard-hero h2{margin:9px 0}.leaderboard-hero p,.leaderboard-hero small{display:block;color:#c4cfba;font-size:11px;line-height:1.8}.rank-list{padding:0;list-style:none}.rank-list li{display:flex;align-items:center;gap:13px;padding:15px 12px;border-bottom:1px solid #aab49333}.rank-list li.is-me{background:#d9c18c13;border-radius:11px}.rank-list li>b{color:#d5b77d;width:22px;font-size:20px}.rank-list li>div{flex:1;min-width:0}.rank-list strong{font-size:14px;overflow-wrap:anywhere}.rank-list small{display:block;color:#a9bfae;font-size:11px;margin-top:5px}.rank-list li>span{color:#f0d18d;font-size:23px;font-weight:700;text-align:right}.daily-challenge{padding:2px 0}.daily-challenge>h2{font-size:23px;margin:12px 0 8px}.daily-challenge>p{font-size:12px}.daily-challenge .eyebrow{font-size:10px;letter-spacing:.08em}.daily-board{width:100%;margin:18px auto}.daily-board .xiangqi-board{width:100%;aspect-ratio:9/10}.daily-board .gomoku-board{width:100%;aspect-ratio:1}.daily-feedback{display:flex;gap:7px;align-items:center;line-height:1.6;background:#614b2d;color:#fff1d2;padding:12px;border-radius:12px}.daily-feedback.is-solved{background:#235748}.archive-sheet{max-height:94dvh;overflow-y:auto}.archive-sheet h2{padding-right:20px;font-size:18px;color:#263e36}.archive-sheet>p{font-size:12px}.archive-board .xiangqi-board{width:100%;aspect-ratio:9/10}.archive-board .gomoku-board{width:100%;aspect-ratio:1}.archive-sheet input{width:100%;margin-top:15px}.archive-sheet .social-tabs button{color:#294335;background:#dfcfad}@media(max-width:390px){.social-page{padding-left:12px;padding-right:12px}.social-header{gap:7px}.social-header h1{font-size:22px}.history-row{gap:6px}}.puzzle-hero{padding:20px;border:1px solid #cfb77c66;border-radius:20px;background:radial-gradient(ellipse at 95% 0,#9b784738,transparent 70%),linear-gradient(145deg,#244c43,#172e2c)}.puzzle-hero .eyebrow{font-size:10px;letter-spacing:.12em;color:#cfbd8f}.puzzle-hero h2{margin:9px 0 10px;font:600 23px Songti SC,serif}.puzzle-hero p{color:#b5c7b8;font-size:12px;line-height:1.8}.puzzle-progress-label{display:flex;justify-content:space-between;align-items:center;margin:18px 0 8px;color:#e8d1a2}.puzzle-progress-label strong{font-size:13px}.puzzle-progress-label small{font-size:10px;color:#a9bcae}.puzzle-hero progress{display:block;width:100%;height:5px;border:none;border-radius:8px;overflow:hidden;background:#091e1c;accent-color:#dac083}.puzzle-hero progress::-webkit-progress-bar{background:#091e1c}.puzzle-hero progress::-webkit-progress-value{background:linear-gradient(90deg,#9dbf99,#e3c483)}.puzzle-continue{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:1px solid #f0d9a288;border-radius:12px;margin:17px 0 0;padding:12px;color:#273c30;background:linear-gradient(110deg,#d4ba80,#eedbb0);font-size:14px;font-weight:700;box-shadow:0 5px 15px #03151033}.puzzle-chapter h3{display:flex;gap:9px;align-items:center;margin:23px 0 12px;color:#e4d2ad;font-size:14px}.puzzle-chapter h3>span{color:#829a85;font:italic 19px Georgia,serif}.puzzle-chapter h3 small{margin-left:auto;color:#91a99b;font-size:10px;font-weight:400}.puzzle-level-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.puzzle-level-grid button{position:relative;display:grid;place-items:center;min-height:62px;padding:9px 5px;border:1px solid #7a947858;border-radius:13px;background:#19362f;color:#bdcebb}.puzzle-level-grid b{font:600 21px Georgia,serif}.puzzle-level-grid span{height:15px;display:grid;place-items:center}.puzzle-level-grid button:disabled{opacity:.5;color:#99ac9e;background:#102824}.puzzle-level-grid .is-current{color:#f8e5b1;border-color:#d6b875;box-shadow:0 0 15px #d4bd7417;background:linear-gradient(155deg,#526248,#213d31)}.puzzle-level-grid .is-completed{color:#bdd8a9;border-color:#83ac7855;background:#28463b}.puzzle-toolbar{display:flex;align-items:center;justify-content:space-between;margin:6px 0 18px}.puzzle-toolbar button{display:flex;align-items:center;gap:6px;border:none;padding:6px 0;color:#e5cf9e;background:none;font-size:12px}.puzzle-toolbar>span{font-size:11px;color:#a7bcad}.puzzle-complete{color:#e6d099;text-align:center;line-height:1.7}.puzzle-challenge .daily-feedback svg{flex-shrink:0}.puzzle-challenge .social-tabs button:disabled{opacity:.4}.room-content{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;container-type:inline-size;scrollbar-width:none}.room-content::-webkit-scrollbar{display:none}.room-content>.room-header,.room-content>.player-bar,.room-content>.game-actions,.room-content>.invitation-notice,.room-content>.room-notice{flex-shrink:0}.room-page .board-stage{flex:1 0 auto;min-height:min(112.08cqw,482px)}.room-page--gomoku .board-stage{min-height:min(100cqw,430px)}.player-bar time{flex-shrink:0;font-variant-numeric:tabular-nums}.room-notice{margin:5px 5px 0;border:1px solid #d4b67566;border-radius:10px;background:#183429e8;color:#f1dfb5;font-size:12px}.room-notice summary{display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;list-style:none}.room-notice summary::-webkit-details-marker{display:none}.room-notice summary>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.room-notice summary>small{flex-shrink:0;font-variant-numeric:tabular-nums}.room-notice summary:after{content:"详情 ▾";flex-shrink:0;color:#d7bd80;font-size:10px}.room-notice[open] summary:after{content:"收起 ▴"}.room-notice>div{padding:0 10px 10px;line-height:1.6;border-top:1px solid #d4b67533}.room-notice p{margin:8px 0;overflow-wrap:anywhere}.room-notice button{padding:6px 10px;border:1px solid #d1ae6655;border-radius:7px;background:#8c3b2e;color:#fff}.brand__profile{display:flex;align-items:center;gap:7px;max-width:40%;flex-shrink:0;padding:4px 7px 4px 4px;border-radius:24px;color:#f3e3c6}.brand .brand__profile-avatar{flex:0 0 32px;width:32px;height:32px;border-radius:50%}.brand__profile>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;max-width:96px}.lobby-page .game-grid{flex:0 0 auto;grid-template-rows:minmax(148px,1fr) 110px}.game-card--dark{min-height:110px;background:linear-gradient(90deg,#102d29bb,transparent 72%),url(/assets/dark-xiangqi-entrance-v16.png) center / cover}.game-card--dark>span{margin-top:14px}.game-card--dark>small{color:#e1d4b8}.setup-page .game-segment--premium button{min-width:0;gap:5px;font-size:14px}.setup-page .game-segment--premium .segment-piece{flex-shrink:0}.player-card-backdrop{z-index:120}.player-card-sheet{max-width:520px;width:100%;padding-bottom:30px}.player-profile-identity{display:flex;gap:14px;align-items:center;margin:22px 0}.player-profile-identity h3{margin:0;overflow-wrap:anywhere}.player-profile-identity p{margin:6px 0 0;color:#c4b89f}.profile-avatar{width:68px;height:68px;flex-shrink:0}.player-rank-badge{padding:22px 16px;margin:18px 0;text-align:center;border:1px solid #d1b67b66;border-radius:16px;background:radial-gradient(ellipse at top,#71603977,#102c30);color:#efdbab}.player-rank-badge h3{font-size:25px;margin:10px 0}.player-rank-badge>span{display:block;font-size:12px;margin-top:12px;color:#bbcabf}.player-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.player-metrics div{padding:12px 4px;text-align:center;border-radius:10px;background:#ffffff09}.player-metrics dt{font-size:12px;color:#b4c9c2}.player-metrics dd{margin:6px 0 0;font-size:23px;font-weight:700}.profile-recent article{display:grid;gap:6px;padding:12px 0;border-bottom:1px solid #ffffff16}.profile-recent small,.profile-recent span{color:#b4c9c2;font-size:12px}.rank-rules{margin-top:20px;font-size:13px;line-height:1.8;color:#c4d2ca}.rank-rules summary{cursor:pointer;color:#e2cc9b;padding:12px 0}.rank-rules ul{padding-left:20px}.global-rank-list{padding:0;list-style:none}.global-rank-list li{display:flex;align-items:center;gap:10px;padding:14px 8px;border-bottom:1px solid #ffffff17}.global-rank-list li>b{width:20px;color:#ddc590}.rank-player{padding:0;display:flex;align-items:center;gap:10px;text-align:left;background:none;border:0;color:inherit;flex:1;min-width:0}.rank-avatar{flex:0 0 40px;width:40px;height:40px}.rank-player>span{min-width:0;display:grid;gap:3px}.rank-player strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-player small,.rank-player em{font-size:11px;color:#b3c9bf;font-style:normal}.rank-score{display:grid;text-align:right;gap:4px}.rank-score strong{font-size:22px;color:#e9d6a9}.rank-score small{font-size:10px;color:#acbeb6}.chapter-pager{display:flex;gap:7px;margin:20px 0;align-items:center}.chapter-pager button,.chapter-pager select{padding:9px 6px;background:#163e39;border:1px solid #ddc58b44;border-radius:8px;color:#e9dec9;font-size:12px}.chapter-pager select{flex:1;min-width:0}.room-page--dark-xiangqi{--game-accent:#ccad70;background:linear-gradient(#12281c33,#091a1055),url(/assets/board-v5/courtyard.webp) center / cover}.dark-piece-back{background-position:100% 100%}.dark-reveal{perspective:450px;animation:dark-reveal .7s ease-out}.dark-piece-turn{position:absolute;top:0;right:0;bottom:0;left:0;transform-style:preserve-3d;animation:dark-turn .7s cubic-bezier(.25,.7,.25,1) both}.dark-piece-turn .xiangqi-piece__face{backface-visibility:hidden;-webkit-backface-visibility:hidden;filter:none}.dark-piece-turn .dark-piece-front{transform:translateZ(1px)}.dark-piece-turn .dark-piece-back{transform:rotateY(180deg) translateZ(1px)}.dark-check-notice{position:absolute;z-index:9;left:50%;top:46%;transform:translate(-50%);padding:4px 8px;background:#531f18d9;border:1px solid #e0bf72;border-radius:8px;color:#ffedbc;white-space:nowrap;font-size:11px;pointer-events:none}@keyframes dark-reveal{0%,to{transform:none}35%,55%{transform:translateY(-35%) scale(1.16)}85%{transform:translateY(3%) scale(1.04,.96)}}@keyframes dark-turn{0%,12%{transform:rotateY(180deg)}82%,to{transform:rotateY(0)}}.result-card{overflow-y:auto;grid-template-rows:auto auto auto minmax(150px,1fr) auto auto auto}.result-rank-summary{display:grid;gap:6px;font-size:12px}.result-rank-summary p{margin:0;display:grid;gap:4px}.result-rank-summary small{color:#b4c9c2;font-size:10px}@media(max-width:360px){.brand__profile{max-width:35%}.brand__profile>span{max-width:58px;font-size:11px}.brand .brand__profile-avatar{width:27px;height:27px;flex-basis:27px}.setup-page .game-segment--premium button{font-size:12px;gap:3px}.setup-page .segment-piece{width:24px;height:24px;font-size:15px}}@media(prefers-reduced-motion:reduce){.dark-reveal,.dark-piece-turn{animation:none}}.player-card-sheet{background:linear-gradient(155deg,#21483f,#112b2b);color:#f0e5ca}.player-card-sheet h2,.player-card-sheet h3{color:#f0e5ca}.player-card-sheet .eyebrow{color:#cdb788}.player-card-sheet .sheet-close{color:#e8d7b5;background:#ffffff0d}.player-card-sheet .social-tabs button{color:#d7e2d2}.player-card-sheet .social-tabs button[aria-pressed=true]{color:#233d30}.brand .brand__profile-avatar{display:grid;place-items:center;background:linear-gradient(140deg,#5f7968,#253e36);border:1px solid #bfa87a66}.brand__profile>span:last-child{color:#f0e0b8;letter-spacing:0}.profile-avatar,.rank-avatar{background:linear-gradient(140deg,#7c9271,#304b41);border:1px solid #d3bc8566;font-size:22px;color:#efe0b5}.setup-page .game-segment--premium:has(>button:nth-child(3)) button{height:54px;font-size:13px}.setup-page .game-segment--premium:has(>button:nth-child(3)) .segment-piece{width:25px;height:25px;font-size:16px}.setup-page .game-segment--premium:has(>button:nth-child(3)) .segment-stones{display:none}.primary-button--dark-xiangqi{background:linear-gradient(115deg,#a48245,#debd7a);color:#172f27}@media(max-width:360px){.setup-page .game-segment--premium:has(>button:nth-child(3)) .segment-piece{display:none}}.setup-page--premium{overflow-y:auto;scrollbar-width:none}.setup-page--premium>*{flex-shrink:0}.profile-puzzle{padding:12px;background:#ffffff08;border:1px solid #d9c89a33;border-radius:10px;color:#cad7c7}.profile-puzzle strong{color:#eedba8}.app-shell,.app-surface{height:var(--app-height,100dvh)}.sheet-backdrop,.result-backdrop,.info-backdrop{bottom:auto;height:var(--app-height,100dvh)}.bottom-sheet{max-height:calc(var(--app-height,100dvh) - 16px)}.home-button{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 12px;border:1px solid #cdb37799;border-radius:13px;background:linear-gradient(150deg,#36594c,#173a32 65%,#102f2a);color:#f7e7bc;box-shadow:inset 0 1px #fff0bc26,inset 0 -2px #081e2344,0 3px 8px #061c2438;font-size:12px;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer;transition:box-shadow .16s ease,border-color .16s ease}.home-button svg{flex-shrink:0;width:16px;height:16px;stroke-width:1.8}.home-button:focus-visible{outline:2px solid #ffe1a0;outline-offset:3px}.home-button:active:not(:disabled){box-shadow:inset 0 2px 5px #061c2466}@media(hover:hover){.home-button:hover:not(:disabled){border-color:#f4d599;box-shadow:inset 0 1px #fff0bc38,0 3px 10px #061c2455}}@media(prefers-reduced-motion:reduce){.home-button{transition:none}}.rank-caption{display:block;color:#e2c58d;font-size:10px;line-height:1.4;font-weight:400;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-page{gap:8px;padding:14px 16px;overflow-y:auto}.lobby-page>:not(.game-grid):not(.ink-moon){flex-shrink:0}.lobby-page .brand{min-height:46px;gap:7px}.brand>div:nth-child(2){min-width:0}.brand__mark{flex-shrink:0}.brand .brand__profile{max-width:52%;border-radius:14px}.brand .brand__identity{display:grid;text-align:left;max-width:180px;min-width:0;margin:0;letter-spacing:0}.brand__identity b{overflow:hidden;text-overflow:ellipsis;font-size:12px}.brand .brand__identity .rank-caption{max-width:180px;font-size:9px}.lobby-page .welcome-block h1{font-size:30px;line-height:1.12;margin:3px 0 0}.lobby-page .welcome-block h1 br{display:none}.lobby-page .friend-hero{min-height:64px;padding:9px 14px;border-radius:18px}.lobby-page .friend-hero__icon{width:42px;height:42px}.lobby-page .friend-hero strong{font-size:19px}.lobby-page .game-grid{flex:1 1 0;min-height:158px;grid-template-rows:minmax(90px,1.65fr) minmax(60px,1fr);gap:8px}.lobby-page .game-card{min-height:0;padding:12px 14px;border-radius:18px;display:flex;flex-direction:column;justify-content:flex-end}.lobby-page .game-card>span{margin:0;font-size:20px}.lobby-page .game-card>small{margin-top:3px;font-size:10px}.lobby-page .game-card>.mini-xiangqi,.lobby-page .game-card>.mini-gomoku{display:none}.lobby-page .lobby-social-actions button{min-height:52px;padding:8px 10px}.lobby-page .join-card{min-height:40px;padding:7px 12px}.lobby-page .secondary-actions button{min-height:46px;gap:3px}.lobby-page .secondary-actions svg{height:18px}.rules-link,.result-rank-toggle{border:1px solid #d7bd7444;border-radius:9px;background:#ffffff08;color:#e6d2a4;padding:8px 12px;font-size:12px;cursor:pointer}.rules-link{width:100%;margin-top:12px}.info-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:160;display:grid;place-items:center;padding:16px;background:#061b21c9;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.info-dialog{display:flex;flex-direction:column;width:min(100%,460px);max-height:calc(var(--app-height,100dvh) - 32px);padding:18px;border:1px solid #d6c38a66;border-radius:20px;background:linear-gradient(150deg,#22483f,#112b2b);color:#e8e1cc;box-shadow:0 18px 60px #0008}.info-dialog header{display:flex;align-items:center;gap:12px;flex-shrink:0}.info-dialog h2{flex:1;font-size:20px;margin:0}.info-dialog header button{width:36px;height:36px;border:0;border-radius:50%;background:#ffffff10;color:#eddab1;font-size:24px}.info-dialog__body{min-height:0;overflow-y:auto;overscroll-behavior:contain;line-height:1.85;font-size:13px}.info-dialog__body ul{padding-left:20px}.info-done{flex-shrink:0;margin-top:10px;padding:10px;border:1px solid #d1b57966;border-radius:10px;color:#f4e5c4;background:#306457}.social-header{position:sticky;top:-18px;z-index:5;background:#112e2d;padding:10px 0;margin-bottom:8px}.social-header h1{font-size:22px}.sheet-home-bar{position:sticky;top:-31px;z-index:6;padding:8px 0;background:inherit;text-align:left}.player-card-sheet .sheet-home-bar{background:#21483f}.archive-sheet .sheet-home-bar{background:#f4eddf}.player-card-sheet .sheet-close,.archive-sheet .sheet-close{z-index:7}.result-card{height:var(--app-height,100dvh);grid-template-rows:auto auto auto minmax(80px,1fr) auto auto auto;gap:6px;padding:12px 14px;overflow:hidden}.result-heading{gap:8px}.result-heading h2{font-size:32px}.result-players{grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);gap:4px}.result-players>span{grid-template-columns:38px minmax(0,1fr);gap:3px 6px}.result-players>span:last-child{grid-template-columns:minmax(0,1fr) 38px}.result-avatar-wrap{width:38px;height:38px}.result-players .rank-caption{white-space:normal;font-size:9px;line-height:1.2}.result-rank-toggle{padding:5px;min-height:30px}.result-board-preview{container-type:size;background:none}.result-board-preview .xiangqi-board{width:min(100cqw,89.22cqh);height:auto}.result-board-preview .gomoku-board{width:min(100cqw,100cqh);height:auto}.result-main-actions{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:8px}.result-primary,.result-home{width:100%;min-height:46px;border-radius:13px;font-size:12px;padding:7px 6px}.result-primary svg{width:17px;flex-shrink:0}.result-primary{gap:5px}.result-home{background:linear-gradient(125deg,#dcc38b,#f3dfb5);color:#18362d;font-weight:700}.result-secondary button{min-height:36px}.room-header{position:sticky;top:0;z-index:12;min-height:40px;grid-template-columns:max-content minmax(0,1fr) auto;gap:9px}.room-header>div{min-width:0}.room-header>div span{font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-header>div strong{white-space:nowrap}.room-page{padding:10px 12px}.room-content{overflow-y:auto}.room-page .board-stage{flex:1 1 0;min-height:160px}.player-bar>div:nth-child(2){min-width:0}.player-bar strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-notice-button{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0;margin:4px 5px 0;padding:7px 9px;border:1px solid #d4b67566;border-radius:9px;background:#183429e8;color:#eedcb1;font-size:11px}.room-notice-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-notice-button small{flex-shrink:0}.setup-page--premium{display:flex;flex-direction:column;padding:12px 16px}.setup-back.home-button{width:auto;height:auto;right:16px;top:10px}.setup-brand{height:38px}.setup-brand strong{font-size:22px}.setup-brand strong i,.setup-brand>span{display:none}.setup-title{margin:8px 0}.setup-title h1{font-size:30px;margin:0 0 6px}.setup-title .eyebrow{display:none}.setup-page .game-segment--premium{margin-top:0}.versus-card--premium{grid-template-columns:1fr auto 1fr;min-height:92px;padding:8px 12px;margin-top:8px}.versus-card--premium .versus-avatar,.versus-card--premium .waiting-avatar,.versus-card--premium img{width:42px;height:42px}.versus-player>.rank-caption{display:block;font-size:9px}.versus-player>small:not(.rank-caption){display:none}.setup-card--premium{gap:5px;margin-top:8px}.premium-setting{min-height:51px;padding:5px 8px;grid-template-columns:30px 1fr auto;gap:5px}.premium-setting>span strong{font-size:12px}.premium-setting>b{min-height:34px;min-width:90px;padding:0 7px;font-size:11px}.premium-setting .setting-icon{width:28px;height:28px}.premium-setting>span small{display:none}.premium-create{min-height:46px;margin-top:10px!important;font-size:15px}.setup-page>.text-button{padding:7px;margin:0;font-size:11px}html[data-compact=true] .lobby-page{gap:6px;padding:10px 14px}html[data-compact=true] .lobby-page .welcome-block h1{font-size:26px}html[data-compact=true] .lobby-page .welcome-block .eyebrow{font-size:9px}html[data-compact=true] .brand__mark{width:34px;height:36px;font-size:24px}html[data-compact=true] .brand strong{font-size:19px}html[data-compact=true] .brand>div>span{font-size:8px}html[data-compact=true] .lobby-page .game-card>span{font-size:18px}html[data-compact=true] .room-page .player-bar{min-height:56px;padding:5px 9px;margin:5px;gap:7px}html[data-compact=true] .player-bar strong{font-size:12px}html[data-compact=true] .player-bar time{font-size:22px}html[data-compact=true] .game-actions button{min-height:44px}html[data-compact=true] .turn-strip{min-height:27px;padding-block:3px}html[data-short=true] .lobby-page .welcome-block{display:none}html[data-short=true] .lobby-page .friend-hero{min-height:54px;padding-block:6px}html[data-short=true] .lobby-page .game-grid{min-height:138px;grid-template-rows:minmax(80px,1.5fr) minmax(50px,1fr)}html[data-short=true] .lobby-page .game-card{padding:9px 12px}html[data-short=true] .lobby-page .game-card>small{font-size:9px}html[data-short=true] .setup-title{margin:3px 0}.setup-title>i{display:none}html[data-short=true] .setup-page .game-segment--premium button{height:38px}html[data-short=true] .versus-card--premium{min-height:76px;padding:5px;margin-top:5px}html[data-short=true] .premium-setting{min-height:43px}.premium-create{flex-shrink:0}@media(max-width:360px){.brand strong small{display:none}.brand .brand__profile{max-width:64%}.brand .brand__identity{max-width:172px}.room-header{gap:6px}.room-header .watcher-chip{padding:5px;font-size:9px}.room-header>div>strong{font-size:13px}}.lobby-join-row{display:grid;grid-template-columns:1fr 1.15fr;gap:8px}.lobby-join-row .join-card{gap:6px;font-size:12px;min-width:0}.invite-person{display:flex;gap:12px;align-items:center;margin-top:18px}.invite-decisions{display:flex;gap:10px;margin-top:12px}.invite-decisions button{flex:1;min-height:40px;padding:9px;border:1px solid #d6c08a66;border-radius:10px;color:#f5e5c5;background:#2c6957}.invite-decisions button:last-child{background:#633d38}.invite-decisions button:disabled{opacity:.5}.friend-row{display:flex;align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid #ffffff18}.friend-row .rank-player em{color:#e9c787}.friend-row .home-button:disabled{opacity:.5}.friend-status.is-online{color:#7bddb0}.friend-status.is-playing{color:#efb681}.friend-search{width:100%;margin-top:12px;border:1px solid #bdae7555;background:#ffffff09;color:#f0e8d0;padding:10px;border-radius:10px}.friend-invitation{padding:14px;border:1px solid #c8ae7166;border-radius:12px;margin:10px 0;background:#ffffff08;font-size:12px}.friend-invitation small{color:#c8cbbb}.social-toast{position:fixed;bottom:14px;left:50%;transform:translate(-50%);z-index:180;width:min(90%,450px);padding:13px;border:1px solid #dac288;border-radius:12px;background:#173d34;color:#f2e2c2;font-size:12px}.brand .brand__identity{row-gap:3px}.brand .brand__identity .rank-caption{color:#ffcf72;background:#122f2bba;border-radius:4px;padding:2px 3px;line-height:1.2}html[data-short=true] .setup-title h1{font-size:23px;line-height:1.1;margin:0}html[data-short=true] .versus-card--premium .versus-avatar,html[data-short=true] .versus-card--premium .waiting-avatar,html[data-short=true] .versus-card--premium img{width:32px;height:32px}html[data-short=true] .versus-card--premium{min-height:66px;margin-top:3px}html[data-short=true] .setup-card--premium{padding:0;gap:3px;margin-top:5px}html[data-short=true] .premium-create{margin-top:7px!important}.game-card--wolf-sheep{background:linear-gradient(180deg,transparent 15%,#071a20d9 88%),url(/assets/wolf-sheep/game-card.webp) 69% center/cover no-repeat,#10282c;border-color:#caaa7155}.game-card--wolf-sheep>span,.game-card--dark>span{margin-top:62px;text-shadow:0 2px 8px #000}.game-segment--premium{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.game-segment--premium button.active.wolf-sheep{color:#fff5d8;background:linear-gradient(135deg,#193f3a,#8b642f);box-shadow:inset 0 1px #fff4c955}.segment-piece--wolf{color:#ead7a5!important;background:radial-gradient(circle at 36% 28%,#50605b,#111b1d 72%)!important;border-color:#b38a4f!important}.primary-button--wolf-sheep{background:linear-gradient(135deg,#244b43,#9b7138)}.room-page--wolf-sheep{--game-accent:#e1bd74;background:linear-gradient(#0d242328,#0b252b52),url(/assets/wolf-sheep/room-highland-day-v35.webp) center/cover no-repeat}.room-page--wolf-sheep .player-bar,.room-page--wolf-sheep .turn-strip,.room-page--wolf-sheep .game-actions button{border-color:#c9a56538;background:linear-gradient(125deg,#0c2526ed,#162f2eed);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.board-stage>.wolf-sheep-board{width:min(100cqw,100cqh,430px);max-width:100%;max-height:100%;height:auto;margin:0}.wolf-sheep-board{position:relative;isolation:isolate;aspect-ratio:1;overflow:hidden;border:5px solid #4f3c28;border-radius:12px;background:radial-gradient(circle at 35% 22%,#b8d1bb 0,#87ad98 33%,#557e70);box-shadow:inset 0 0 0 2px #d6bd7c,inset 0 0 24px #173c3566,0 9px #2b2119,0 18px 34px #000a}.wolf-sheep-board:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:linear-gradient(120deg,#fff7 0,transparent 22%,transparent 68%,#173c3533),repeating-linear-gradient(27deg,#fff0 0,#fff0 27px,#d3ead40c,#d3ead40c 29px);pointer-events:none}.wolf-sheep-board__frame{position:absolute;top:2.2%;right:2.2%;bottom:2.2%;left:2.2%;z-index:1;border:1px solid #b89558;box-shadow:inset 0 0 0 2px #27483f;pointer-events:none}.wolf-sheep-board__frame i{position:absolute;width:24px;height:24px;border-style:solid;border-color:#d4b06e;opacity:.75}.wolf-sheep-board__frame i:nth-child(1){left:4px;top:4px;border-width:3px 0 0 3px}.wolf-sheep-board__frame i:nth-child(2){right:4px;top:4px;border-width:3px 3px 0 0}.wolf-sheep-board__frame i:nth-child(3){right:4px;bottom:4px;border-width:0 3px 3px 0}.wolf-sheep-board__frame i:nth-child(4){left:4px;bottom:4px;border-width:0 0 3px 3px}.wolf-sheep-lines{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;width:100%;height:100%;stroke:#214a40;stroke-width:.55;fill:#315e51;filter:drop-shadow(0 1px #dff4da55);pointer-events:none}.wolf-sheep-hits{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3}.wolf-sheep-hits>button{position:absolute;width:18%;aspect-ratio:1;translate:-50% -50%;padding:0;border:0;border-radius:50%;background:transparent;overflow:visible;cursor:pointer;touch-action:manipulation}.wolf-sheep-piece{position:absolute;top:3%;right:3%;bottom:3%;left:3%;display:grid;place-items:center;border-radius:50%;transition:transform .2s cubic-bezier(.2,.85,.25,1),filter .2s;filter:drop-shadow(0 7px 5px #07141199)}.wolf-sheep-piece:after{content:"";position:absolute;top:8%;right:8%;bottom:8%;left:8%;border-radius:50%;box-shadow:inset 0 1px 2px #fff5,inset 0 -2px 4px #0006;pointer-events:none}.wolf-sheep-piece img{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.wolf-sheep-piece.is-wolf,.wolf-sheep-piece.is-sheep{background:none;border:0;box-shadow:none}.wolf-sheep-piece.is-selected{z-index:7;transform:translateY(-13%) scale(1.09);filter:drop-shadow(0 0 5px #fff) drop-shadow(0 10px 6px #0a1c18aa)}.wolf-sheep-piece.is-selected:before{content:"";position:absolute;top:-14%;right:-14%;bottom:-14%;left:-14%;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 12%,#fff 18% 24%,transparent 30% 58%,#fff 64% 71%,transparent 77%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 0);animation:wolf-orbit 1.25s linear infinite;filter:drop-shadow(0 0 4px #fff)}.wolf-sheep-hits>button.is-target:after{content:"";position:absolute;left:50%;top:50%;width:15%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:#fff4bd;box-shadow:0 0 0 6px #fff3a92d,0 0 12px #fff;animation:wolf-target 1s ease-in-out infinite alternate}.wolf-sheep-hits>button.is-last{outline:1px solid #ffdb7a;outline-offset:-7px;box-shadow:0 0 11px #ffcc5c99}.wolf-sheep-board__seal{position:absolute;z-index:2;right:4.5%;bottom:2.9%;padding:2px 5px;border:1px solid #a82f28aa;color:#7a2723;background:#e4c89688;font:700 clamp(7px,2cqw,10px) "STKaiti",serif;letter-spacing:.12em;pointer-events:none}@keyframes wolf-orbit{to{transform:rotate(360deg)}}@keyframes wolf-target{to{transform:scale(1.28);opacity:.65}}.board-invite--wolf-sheep{background:#315e51ed}.result-board-preview .wolf-sheep-board{width:min(100cqw,100cqh);max-height:100%}.result-card--wolf-sheep:before{background-image:url(/assets/wolf-sheep/game-card.webp);opacity:.16}.result-board-preview--wolf-sheep{background:#345f53}.wolf-sheep-finish{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;display:grid;place-items:center;overflow:hidden;cursor:pointer;background:#061316;animation:wolf-finish-in .45s ease both}.wolf-sheep-finish:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(#06131633,#0613169c),url(/assets/wolf-sheep/room-highland-day-v35.webp) center/cover;transform:scale(1.08);filter:blur(2px) saturate(.82)}.wolf-sheep-finish__mist{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;background:radial-gradient(ellipse,#e9f1de38,transparent 55%);animation:wolf-mist 3s ease-in-out infinite alternate}.wolf-sheep-finish__scroll{position:relative;width:min(88vw,390px);aspect-ratio:768/1365;text-align:center;color:#49331f;background:url(/assets/wolf-sheep/wolf-scroll.webp) center/contain no-repeat;filter:drop-shadow(0 22px 28px #000a);animation:wolf-scroll-open .9s cubic-bezier(.2,.8,.2,1) both}.wolf-sheep-finish.is-sheep .wolf-sheep-finish__scroll{filter:hue-rotate(48deg) saturate(.75) drop-shadow(0 22px 28px #000a)}.wolf-sheep-finish__medal{position:absolute;left:23%;top:28.1%;width:54%;height:9%;display:grid;place-items:center;color:#4b3521;font:800 clamp(30px,9vw,42px) "STKaiti","KaiTi",serif;letter-spacing:.1em;text-indent:.1em;text-shadow:0 1px #fff9}.wolf-sheep-finish__scroll p{position:absolute;left:20%;top:40.2%;width:60%;height:4.8%;margin:0;display:grid;place-items:center;color:#7e5b35;font:600 clamp(6px,1.9vw,9px) Georgia,serif;letter-spacing:.12em}.wolf-sheep-finish__scroll h2{position:absolute;left:16%;top:46.8%;width:68%;height:6.2%;margin:0;display:grid;place-items:center;font:900 clamp(33px,9.5vw,50px) "STKaiti","KaiTi",serif;letter-spacing:.12em;text-indent:.12em;line-height:1;text-shadow:0 1px #fff9}html[lang=vi] .wolf-sheep-finish__scroll h2{font-family:Georgia,Times New Roman,serif;font-size:clamp(16px,4.8vw,23px);letter-spacing:.04em;text-indent:.04em;white-space:nowrap}.wolf-sheep-finish__scroll i{display:none}.wolf-sheep-finish__scroll strong,.wolf-sheep-finish__scroll small{position:absolute;top:76.75%;height:6.7%;display:grid;place-items:center;margin:0;padding:0 3%;box-sizing:border-box;line-height:1.18}.wolf-sheep-finish__scroll strong{left:11.5%;width:36.5%;color:#f3e5be;font:700 clamp(10px,3vw,14px) "Songti SC",serif;letter-spacing:.06em;text-shadow:0 1px 2px #102b25}.wolf-sheep-finish__scroll small{left:52%;width:36.5%;color:#f3ddbd;font-size:clamp(8px,2.5vw,11px);text-shadow:0 1px 2px #4b1f19}html[lang=vi] .wolf-sheep-finish__scroll strong,html[lang=vi] .wolf-sheep-finish__scroll small{font-size:clamp(7px,2.15vw,10px);letter-spacing:.015em}@keyframes wolf-finish-in{0%{opacity:0}to{opacity:1}}@keyframes wolf-scroll-open{0%{opacity:0;transform:translateY(8%) scale(.72)}to{opacity:1;transform:none}}@keyframes wolf-mist{to{transform:translate(6%) scale(1.1)}}.match-decision--swap .consent-card__seal{color:#f4dfae;border-color:#bc9559;background:#76582b55}.social-tabs--four{grid-template-columns:repeat(2,minmax(0,1fr))}.room-page--wolf-sheep .game-actions{gap:4px}.room-page--wolf-sheep .game-actions button{min-height:48px;padding:3px;border-radius:13px}@media(prefers-reduced-motion:reduce){.wolf-sheep-piece.is-selected:before,.wolf-sheep-hits>button.is-target:after,.wolf-sheep-finish__mist,.wolf-sheep-finish__scroll{animation:none}}html[data-short=true] .game-card--wolf-sheep>span,html[data-short=true] .game-card--dark>span{margin-top:26px}.lobby-page .game-grid{grid-template-rows:minmax(94px,1.65fr) minmax(54px,.68fr)}.lobby-page .game-card--dark,.lobby-page .game-card--wolf-sheep{grid-column:auto;min-height:0}.lobby-page .game-card--dark,.lobby-page .game-card--wolf-sheep{padding:8px 12px;border-radius:16px}.lobby-page .game-card--dark>span,.lobby-page .game-card--wolf-sheep>span{margin:0;font-size:16px}.lobby-page .game-card--dark>small,.lobby-page .game-card--wolf-sheep>small{margin-top:1px;font-size:8px}.lobby-page .game-card--dark>svg,.lobby-page .game-card--wolf-sheep>svg{right:10px;bottom:10px;width:16px;height:16px}.setup-page .game-segment--premium:has(>button:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}.setup-page .game-segment--premium:has(>button:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}.setup-page .game-segment--premium button{min-width:0;gap:3px;padding:0 3px;font-size:11px;white-space:nowrap}.setup-page .game-segment--premium .segment-piece{width:23px;height:23px;flex:0 0 23px;font-size:14px}.setup-page .game-segment--premium:has(>button:nth-child(3)) .segment-stones{display:block;width:25px;height:25px;flex:0 0 25px}.setup-page .game-segment--premium .segment-stones i{width:16px}.setup-page .game-segment--premium .segment-stones i:nth-child(1){left:0;top:7px}.setup-page .game-segment--premium .segment-stones i:nth-child(2){left:9px;top:1px}.setup-page .game-segment--premium .segment-stones i:nth-child(3){left:11px;top:10px}.game-actions,.game-actions--five,.room-page--wolf-sheep .game-actions{display:flex;flex-wrap:nowrap;gap:4px}.game-actions button,.game-actions--five button,.room-page--wolf-sheep .game-actions button{flex:1 1 0;min-width:0;min-height:48px;padding:3px 1px;border-radius:12px}.game-actions svg,.game-actions--five svg{width:16px;height:16px}.game-actions span,.game-actions--five span{font-size:8px;line-height:1.05;white-space:nowrap}@media(max-width:360px){.lobby-page .game-grid{grid-template-rows:minmax(84px,1.6fr) minmax(48px,.64fr)}.lobby-page .game-card--dark,.lobby-page .game-card--wolf-sheep{padding:6px 10px}.lobby-page .game-card--dark>span,.lobby-page .game-card--wolf-sheep>span{font-size:14px}.setup-page .game-segment--premium button{gap:2px;padding:0 1px;font-size:10px}.setup-page .game-segment--premium .segment-piece{width:20px;height:20px;flex-basis:20px;font-size:12px}.setup-page .game-segment--premium .segment-stones{width:21px;height:22px;flex-basis:21px}.setup-page .game-segment--premium .segment-stones i{width:14px}.game-actions,.game-actions--five,.room-page--wolf-sheep .game-actions{gap:3px}.game-actions span,.game-actions--five span{font-size:7.5px}}.access-screen{display:grid;place-items:center;width:100%;height:var(--app-height,100dvh);padding:24px;background:radial-gradient(circle at 50% 12%,#365b4d88,transparent 45%),linear-gradient(155deg,#163b35,#071d20);color:#f5e7c5;text-align:center}.access-card{width:min(100%,360px);padding:32px 24px;border:1px solid #d4bb7c66;border-radius:24px;background:#102d2bd9;box-shadow:0 20px 70px #001014aa}.access-card>b{display:grid;place-items:center;width:66px;height:66px;margin:0 auto 18px;border-radius:50%;background:linear-gradient(145deg,#dec98f,#8e7441);color:#17342d;font:700 34px Songti SC,serif}.access-card h1{margin:0;font-size:22px}.access-card p{margin:14px 0 6px;line-height:1.7}.access-card small{color:#b6c6bd}.access-card--blocked>b{background:linear-gradient(145deg,#c9907f,#824236);color:#fff3df}.social-page--rankings{overflow:hidden;padding-bottom:12px}.social-page--rankings .social-header{margin-bottom:8px}.global-rankings{display:flex;flex-direction:column;min-height:0;height:calc(100% - 62px)}.global-rankings>.social-tabs{flex-shrink:0;margin:5px 0 7px}.global-rankings .leaderboard-hero{flex-shrink:0;padding:10px 13px;border-radius:14px}.global-rankings .leaderboard-hero h2{margin:3px 0;font-size:16px}.global-rankings .leaderboard-hero p{margin:0;font-size:10px;line-height:1.45}.global-rank-list{flex:1;min-height:0;margin:5px 0}.global-rank-list li{min-height:51px;padding:6px 8px}.global-rank-list .rank-avatar{width:36px;height:36px;flex-basis:36px}.rank-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;flex-shrink:0;margin:4px 0}.rank-pagination button{padding:7px 10px;border:1px solid #cdb47766;border-radius:9px;background:#173832;color:#ebd9b3}.rank-pagination button:disabled{opacity:.35}.rank-pagination span{min-width:52px;color:#b8c9bf;font-size:11px;text-align:center}.global-rankings>.rules-link{flex-shrink:0;margin-top:5px;padding:7px}.player-card-sheet{height:calc(var(--app-height,100dvh) - 10px);max-height:calc(var(--app-height,100dvh) - 10px);overflow:hidden;padding:10px 18px max(10px,env(safe-area-inset-bottom));border-radius:24px 24px 0 0}.player-card-sheet .sheet-home-bar{position:static;padding:0}.player-card-sheet>.eyebrow{margin:5px 0 0;font-size:9px}.player-card-sheet>h2{margin:1px 0 4px;font-size:24px}.player-card-sheet .sheet-close{top:10px}.player-profile-identity{gap:10px;margin:5px 0}.player-profile-identity h3{font-size:16px}.player-profile-identity p{margin-top:2px;font-size:11px}.player-card-sheet .profile-avatar{width:48px;height:48px;flex-basis:48px;font-size:18px}.player-card-sheet .social-tabs{margin:5px 0}.player-card-sheet .social-tabs button{padding:7px}.player-rank-badge{padding:8px 12px;margin:5px 0;border-radius:12px}.player-rank-badge h3{font-size:19px;margin:2px 0}.player-rank-badge>span{margin-top:3px;font-size:10px}.player-metrics{gap:5px}.player-metrics div{padding:5px 3px}.player-metrics dt{font-size:10px}.player-metrics dd{margin-top:2px;font-size:17px}.player-card-sheet .profile-puzzle{margin:5px 0;padding:6px 9px;font-size:11px}.player-card-sheet>h3{margin:5px 0 0;font-size:12px}.player-card-sheet .profile-recent{display:grid;grid-template-columns:1fr 1fr;gap:5px}.player-card-sheet .profile-recent article{gap:2px;padding:5px 7px;border:1px solid #ffffff12;border-radius:8px}.player-card-sheet .profile-recent small,.player-card-sheet .profile-recent span{font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-card-sheet .rules-link{margin-top:5px;padding:6px}.player-card-sheet .social-note{margin:5px 0;font-size:10px}.player-card-sheet .social-error{margin:4px 0;padding:7px}@media(max-height:650px){.player-card-sheet{padding-top:6px}.player-card-sheet>.eyebrow{display:none}.player-card-sheet>h2{font-size:20px}.player-profile-identity{margin:2px 0}.player-card-sheet .profile-avatar{width:40px;height:40px;flex-basis:40px}.player-rank-badge{padding:5px 10px}.player-rank-badge>small,.player-rank-badge>span{font-size:9px}.player-metrics div{padding:3px}.player-metrics dd{font-size:15px}.player-card-sheet .profile-recent article:nth-child(2){display:none}.player-card-sheet .profile-recent{grid-template-columns:1fr}.global-rankings .leaderboard-hero{display:none}.global-rank-list li{min-height:47px}}.lobby-page .friend-hero--split{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0;overflow:hidden;cursor:default}.friend-hero__half{min-width:0;min-height:64px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 11px;border:0;color:#172a27;background:transparent;text-align:left;cursor:pointer}.friend-hero__half+.friend-hero__half{border-left:1px solid #8a775b42}.friend-hero__half--online{background:linear-gradient(135deg,#fff4d4,#e9c67f)}.friend-hero__half .friend-hero__icon{width:40px;height:40px;border-radius:14px}.friend-hero__half--online .friend-hero__icon{background:linear-gradient(145deg,#1c665b,#0b3d3a);box-shadow:0 8px 18px #0a3d3538}.friend-hero__half small,.friend-hero__half strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend-hero__half small{font-size:9px}.friend-hero__half strong{margin-top:2px;font-size:16px}.friend-hero__half small i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#20b879;box-shadow:0 0 8px #20b879}.online-match-page{position:relative;display:flex;flex-direction:column;gap:12px;height:var(--app-height,100dvh);overflow:hidden;padding:14px 16px max(14px,env(safe-area-inset-bottom));color:#f3e5c7;background-image:linear-gradient(180deg,#25131580,#0b1b1fa6),url(/assets/matchmaking-v44r2/background.webp);background-position:center,center top;background-size:cover,cover;background-repeat:no-repeat}.match-sky{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.match-sky:before{content:"";position:absolute;top:-30%;right:-30%;bottom:-30%;left:-30%;background:radial-gradient(circle at 20% 15%,#f0b05d2c,transparent 28%),radial-gradient(circle at 85% 64%,#3d9b8730,transparent 34%)}.match-sky i{position:absolute;width:8px;height:8px;border-radius:50%;background:#e9b75b;box-shadow:0 0 18px #ffc45c;animation:match-lantern 4.6s ease-in-out infinite}.match-sky i:nth-child(1){right:8%;top:16%}.match-sky i:nth-child(2){left:7%;top:43%;animation-delay:-1.5s}.match-sky i:nth-child(3){right:16%;bottom:12%;animation-delay:-2.8s}.match-page-header,.match-live-strip,.match-intro,.match-game-list,.match-search-card,.match-found-card,.match-trust,.match-error{position:relative;z-index:1}.match-page-header{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:9px}.match-page-header>button{width:38px;height:38px;border:1px solid #ead6a63d;border-radius:12px;color:#f5e7c6;background:#102d2abf}.match-page-header div small,.match-page-header div strong{display:block}.match-page-header div small{color:#c69b58;font-size:8px;letter-spacing:.18em}.match-page-header div strong{margin-top:1px;font-size:18px}.match-page-header>span{display:flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid #4ba78355;border-radius:99px;color:#7de0b5;background:#0e3b33a8;font-size:9px}.match-live-strip{display:grid;grid-template-columns:1fr 1fr;min-height:36px;border:1px solid #dfc58c3d;border-radius:12px;background:#101f25c9;box-shadow:0 12px 28px #0004}.match-live-strip span{display:flex;align-items:center;justify-content:center;gap:5px;color:#cfba91;font-size:10px}.match-live-strip span+span{border-left:1px solid #dfc58c28}.match-live-strip i{width:7px;height:7px;border-radius:50%;background:#21c67f;box-shadow:0 0 9px #21c67f}.match-live-strip strong{color:#f3bb51;font-size:13px}.match-intro h1{margin:3px 0 1px;font-size:25px}.match-game-list{display:grid;gap:8px;min-height:0;flex:1}.match-game-card{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:11px;min-height:64px;padding:8px 13px;border:1px solid #d6bd8542;border-radius:17px;color:#f4e6c5;background:linear-gradient(120deg,#18352fdb,#132326d9);box-shadow:0 10px 26px #0003;text-align:left}.match-game-card:active{transform:scale(.985)}.match-game-card__seal{display:grid;place-items:center;width:46px;height:46px;overflow:hidden;border:1px solid #ffe3a75c;border-radius:14px;background:linear-gradient(145deg,#21463e,#102925);box-shadow:inset 0 0 0 1px #fff4d31f,0 7px 16px #0005}.match-game-card__seal img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 5px #0007)}.match-game-card span strong,.match-game-card span small{display:block}.match-game-card span strong{font-size:16px}.match-game-card span small{margin-top:3px;color:#b8c7b9;font-size:9px}.match-search-card,.match-found-card{display:flex;flex:1;min-height:0;flex-direction:column;align-items:center;justify-content:center;padding:18px;border:1px solid #dfb76c55;border-radius:24px;background:linear-gradient(160deg,#3a171be8,#1a292ae8);box-shadow:0 24px 55px #0007,inset 0 1px #fff1;text-align:center}.match-search-card__heading{display:flex;align-items:center;gap:11px;align-self:stretch;text-align:left}.match-search-card__heading>svg{color:#efb658}.match-search-card__heading strong,.match-search-card__heading small{display:block}.match-search-card__heading strong{font-size:17px}.match-search-card__heading small{margin-top:3px;color:#d3b985;font-size:10px}.match-radar{position:relative;width:138px;height:138px;margin:17px auto;border:1px solid #ebb85d44;border-radius:50%;background:repeating-radial-gradient(circle,#f1bd5c14 0 1px,transparent 1px 31px)}.match-radar:before{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:50%;background:conic-gradient(from 0deg,#efb75f66,transparent 28%);animation:match-radar 1.7s linear infinite}.match-radar i{position:absolute;width:7px;height:7px;border-radius:50%;background:#f8c66c;box-shadow:0 0 12px #ffc968}.match-radar i:nth-child(1){left:28%;top:24%}.match-radar i:nth-child(2){right:20%;top:53%}.match-radar i:nth-child(3){left:43%;bottom:15%}.match-radar b{position:absolute;top:45px;right:45px;bottom:45px;left:45px;display:grid;place-items:center;border-radius:50%;color:#2b2017;background:linear-gradient(145deg,#f8d78f,#b87b35);box-shadow:0 0 30px #efb75f55}.match-game-copy strong{font-size:19px}.match-game-copy p{max-width:300px;margin:7px auto;color:#c8cabd;font-size:11px;line-height:1.7}.match-cancel{display:flex;align-items:center;justify-content:center;gap:7px;min-width:150px;min-height:42px;margin-top:12px;border:1px solid #e0bd7d59;border-radius:13px;color:#f6dba9;background:#6b272d6e;font-weight:700}.match-found-card>small{color:#e8b761;font-size:9px;letter-spacing:.22em}.match-found-card>h1{margin:5px 0 15px;font-size:25px}.match-versus{display:grid;grid-template-columns:1fr 40px 1fr;align-items:center;width:100%;max-width:310px}.match-versus>div{display:flex;min-width:0;flex-direction:column;align-items:center;gap:5px}.match-versus .user-avatar{width:62px;height:62px;border:2px solid #e2bd72;background:#174237;font-size:21px}.match-versus strong{max-width:105px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.match-versus small{padding:2px 8px;border-radius:99px;color:#ffd47f;background:#6c4424;font-size:8px}.match-versus>b{color:#e1aa4e;font:italic 800 20px Georgia,serif}.match-countdown{display:flex;align-items:baseline;justify-content:center;gap:6px;width:100%;margin:18px 0 10px;padding:12px;border:1px solid #e1b6664f;border-radius:15px;background:#efb656}.match-countdown span,.match-countdown small{color:#43201d;font-size:12px}.match-countdown strong{min-width:38px;color:#401c1d;font-size:37px;line-height:1}.match-found-card>p{color:#c9baa0;font-size:10px}.match-trust{display:flex;align-items:center;justify-content:center;gap:6px;color:#aabbb2;font-size:9px}.match-error{position:absolute;z-index:9;left:50%;bottom:24px;translate:-50%;width:max-content;max-width:calc(100% - 32px);padding:10px 14px;border:1px solid #d46b6b66;border-radius:99px;color:#ffe7dd;background:#6a262bef}@keyframes match-radar{to{transform:rotate(360deg)}}@keyframes match-lantern{50%{transform:translateY(-12px);opacity:.45}}@media(max-height:680px){.online-match-page{gap:8px;padding-top:9px}.match-game-list{gap:5px}.match-game-card{min-height:54px}.match-intro h1{font-size:21px}.match-search-card,.match-found-card{padding:12px}.match-radar{width:112px;height:112px;margin:9px}.match-radar b{top:37px;right:37px;bottom:37px;left:37px}.match-found-card>h1{margin-bottom:8px}.match-countdown{margin:10px 0 5px}}.mahjong-entry{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:65px;margin:7px 0;border:1px solid #cfb6766b;border-radius:16px;padding:10px 15px;color:#fff0cd;text-align:left;background:linear-gradient(90deg,#07231bea,#092c1760),url(/assets/mahjong-v45/banner.png) center/cover;box-shadow:inset 0 1px #fff2}.mahjong-entry strong,.mahjong-entry small{display:block}.mahjong-entry strong{font-size:18px}.mahjong-entry small{font-size:9px;margin-top:4px;color:#ddd0a9}.lobby-page:has(.mahjong-entry){gap:6px}.lobby-page:has(.mahjong-entry) .game-card--xiangqi,.lobby-page:has(.mahjong-entry) .game-card--gomoku{min-height:110px}.lobby-page:has(.mahjong-entry) .welcome-block{margin-bottom:5px}.mahjong-create{display:flex;flex-direction:column;gap:16px;height:var(--app-height,100dvh);overflow:hidden;color:#fff1d1;background:#102c24}.mahjong-create-art{height:120px;background:url(/assets/mahjong-v45/banner.png) center/cover;border-radius:16px}.mahjong-create h1,.mahjong-create p{margin:0}.mahjong-create>p{color:#c4d3bc;font-size:13px}.mahjong-create>section{padding:16px;border:1px solid #d4bd7266;border-radius:18px;background:#19382f}.mahjong-create>section>div{display:flex;gap:10px}.mahjong-create>section>div button{flex:1;padding:14px 0;background:#09251e;color:#e5d4ae;border:1px solid #947d4d;border-radius:12px}.mahjong-create>section>div button.active{background:#ceb579;color:#1c2c22}.mahjong-create>section p{font-size:12px;line-height:1.7;margin:14px 0}.mahjong-create>section>.primary-button{width:100%}.mahjong-create>small{font-size:11px;line-height:1.8}.mahjong-frame{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;background:#0e281b}.mahjong-frame iframe{position:absolute;display:block;width:100%;height:100%;border:0;transform-origin:top left}.mahjong-frame-back{position:absolute;z-index:150;left:12px;top:12px}.mahjong-fullscreen{position:absolute;right:12px;top:12px}.mahjong-help-actions{display:flex;gap:10px}.mahjong-create>.home-button{align-self:flex-start}@media(max-height:690px){.lobby-page:has(.mahjong-entry) .welcome-block{margin:0}.lobby-page:has(.mahjong-entry) .welcome-block .eyebrow{display:none}.lobby-page:has(.mahjong-entry) .welcome-block h1{font-size:26px}.lobby-page:has(.mahjong-entry) .game-card--xiangqi,.lobby-page:has(.mahjong-entry) .game-card--gomoku{min-height:95px}.mahjong-entry{min-height:56px;margin:4px 0}.mahjong-create-art{height:90px}.mahjong-create{gap:10px}}.mahjong-create>section>.primary-button{background:linear-gradient(135deg,#e6ce8c,#b38a42);border:1px solid #ebd29c;color:#17352b;box-shadow:inset 0 1px #fff7,0 8px 20px #061b1644}.mahjong-create>section>.primary-button:disabled{background:#5b645f;border-color:#7a857b;color:#e3e5df}.mahjong-create>section h2{margin:0 0 12px;font-size:22px}.mahjong-frame{background:#102c24 url(/mahjong/assets/mahjong-garden-table-v2.png) center/cover no-repeat}.mahjong-resume-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.mahjong-create-art{flex-shrink:1;min-height:50px}.mahjong-create>section,.mahjong-help-actions,.mahjong-create>.home-button{flex-shrink:0}@media(max-height:650px){.mahjong-create{gap:8px;padding-top:12px;padding-bottom:12px}.mahjong-create-art{height:65px}.mahjong-create>h1{font-size:26px}.mahjong-create>section{padding:12px}.mahjong-create>section h2{font-size:19px;margin-bottom:8px}.mahjong-create>section>div button{padding:11px 0}.mahjong-create>section p{font-size:11px;margin:10px 0}.mahjong-create>section>.primary-button{min-height:44px}.mahjong-create>small{font-size:10px}}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}.app-shell,.app-surface{height:var(--app-height,100%)}.lobby-page{gap:6px;padding:calc(10px + var(--app-safe-top,0px)) calc(14px + var(--app-safe-right,0px)) calc(10px + var(--app-safe-bottom,0px)) calc(14px + var(--app-safe-left,0px));overflow:auto}.lobby-page .brand{flex-wrap:wrap;gap:6px;min-height:44px}.lobby-page .brand>div:nth-child(2){flex:1 1 auto;min-width:76px;max-width:145px}.lobby-page .brand>div:nth-child(2)>strong{font-size:21px;line-height:1.1;white-space:nowrap;letter-spacing:0}.lobby-page .brand>div:nth-child(2)>strong>small{display:none}.lobby-page .brand>div:nth-child(2)>span{font-size:9px;letter-spacing:0;white-space:nowrap}.lobby-page .brand .brand__mark{width:36px;height:40px;font-size:26px}.lobby-page .brand .brand__profile{min-width:44px;max-width:42%;margin-left:auto}.lobby-page .brand .brand__identity{max-width:110px}.lobby-page .brand .language-toggle--top{flex-shrink:0;margin:0;padding:5px 8px;min-width:34px}.lobby-page .welcome-block{margin:0}.lobby-page .welcome-block .eyebrow{display:none}.lobby-page .welcome-block h1{font-size:clamp(22px,6vw,30px);margin:2px 0;line-height:1.2}.lobby-page .friend-hero--split{min-height:64px;padding:0}.lobby-page .friend-hero__half{gap:6px;padding:8px;grid-template-columns:32px minmax(0,1fr)}.lobby-page .friend-hero__half>.friend-hero__icon{width:32px;height:36px}.lobby-page .friend-hero__half>svg{display:none}.lobby-page .friend-hero__half strong{font-size:16px;line-height:1.25}.lobby-page .friend-hero__half small{font-size:9px;line-height:1.3}.lobby-page .game-grid{flex:1 0 152px;min-height:152px;grid-template-rows:minmax(90px,1.6fr) minmax(54px,.7fr);gap:8px}.lobby-page .game-grid .game-card{min-height:0;padding:10px 12px}.lobby-page .game-card>span{font-size:19px;line-height:1.25;white-space:nowrap}.lobby-page .game-card>small{font-size:9px;line-height:1.3}.lobby-page .game-card--dark>span,.lobby-page .game-card--wolf-sheep>span{font-size:15px}.lobby-page .mahjong-entry{flex:none;min-height:62px;margin:0;padding:9px 12px}.lobby-page .mahjong-entry strong{font-size:17px;line-height:1.3}.lobby-page .lobby-social-actions button{min-height:44px;padding:6px 9px}.lobby-page .join-card{min-height:40px;padding:6px 10px}.lobby-page .secondary-actions button{min-height:44px;padding:5px;gap:2px}.lobby-page .secondary-actions{position:relative}.lobby-page .secondary-actions .language-toggle--history{display:none}html[data-compact=true] .lobby-page .brand>div:nth-child(2)>strong{font-size:19px}html[data-short=true] .lobby-page{gap:5px;padding-top:calc(6px + var(--app-safe-top,0px));padding-bottom:calc(6px + var(--app-safe-bottom,0px))}html[data-short=true] .lobby-page .game-grid{flex-basis:128px;min-height:128px;grid-template-rows:74px 48px;gap:6px}html[data-short=true] .lobby-page .friend-hero--split,html[data-short=true] .lobby-page .mahjong-entry{min-height:50px}html[data-short=true] .lobby-page .lobby-social-actions button,html[data-short=true] .lobby-page .secondary-actions button{min-height:38px}html[data-short=true] .lobby-page .brand>div:nth-child(2)>span{display:none}.info-dialog__subtitle{display:inline-block;margin-left:10px;font:500 12px/1.3 system-ui;letter-spacing:0;color:#d9c48e;white-space:nowrap}.info-backdrop{height:var(--app-height,100%);padding:calc(8px + var(--app-safe-top,0px)) calc(8px + var(--app-safe-right,0px)) calc(8px + var(--app-safe-bottom,0px)) calc(8px + var(--app-safe-left,0px))}.info-dialog.wallet-dialog{max-height:100%;min-height:0}.wallet-dialog .info-dialog__body{max-height:none}.wallet-dialog .wallet-section-title{flex-wrap:wrap}.social-toast{top:calc(8px + var(--app-safe-top,0px));bottom:auto;max-width:90%;padding:8px 12px}html[data-compact=true] .wallet-v48{gap:10px}html[data-compact=true] .wallet-dialog>header{padding:10px 14px}html[data-compact=true] .wallet-v48 .wallet-nav{padding-top:6px;padding-bottom:6px}html[data-compact=true] .wallet-v48 .wallet-nav button{min-height:42px;gap:3px;padding:4px}html[data-compact=true] .wallet-v48 .wallet-hero{padding:14px}html[data-compact=true] .wallet-profile{margin-bottom:12px}html[data-compact=true] .wallet-v48 .wallet-hero-bottom{margin-top:12px;padding-top:12px}html[data-compact=true] .wallet-v48 .wallet-total{font-size:30px;margin-top:8px}html[data-compact=true] .wallet-v48 .wallet-shortcuts button{min-height:44px;padding:6px;gap:3px}html[data-compact=true] .wallet-v48 .wallet-empty{min-height:56px;padding:10px;gap:6px}html[data-compact=true] .wallet-v48 .wallet-empty>svg{width:25px;height:25px}html[data-compact=true] .wallet-v48 .wallet-methods{grid-template-columns:1fr 1fr;gap:6px}html[data-compact=true] .wallet-v48 .wallet-methods>button{min-height:64px;padding:8px;gap:5px}html[data-compact=true] .wallet-v48 .wallet-methods>button>b{font-size:12px}html[data-compact=true] .wallet-v48 .wallet-methods>button>svg{width:20px;height:20px}html[data-compact=true] .wallet-v48 .wallet-methods>button>svg:last-child:not(:first-child){display:none}html[data-compact=true] .wallet-v48 .wallet-section-title{margin:0}html[data-compact=true] .wallet-v48 .wallet-section-title h3{font-size:14px}html[data-compact=true] .wallet-v48 .wallet-note{padding:8px;font-size:10px}html[data-short=true] .wallet-v48 .wallet-profile{margin-bottom:8px}html[data-short=true] .wallet-v48 .wallet-hero-bottom{padding-top:8px;margin-top:8px}html[data-short=true] .wallet-v48 .wallet-shortcuts{gap:6px}@media(max-width:450px){html[data-compact=true] .lobby-page .game-grid{flex-basis:138px;min-height:138px;grid-template-rows:minmax(80px,1.5fr) minmax(50px,.7fr)}html[data-compact=true] .lobby-page .mahjong-entry{min-height:52px}html[data-compact=true] .lobby-page .friend-hero--split{min-height:56px}html[data-compact=true] .lobby-page .welcome-block h1{font-size:24px}html[data-short=true] .lobby-page .game-grid{flex-basis:128px;min-height:128px;grid-template-rows:74px 48px}}.page.mahjong-create .mahjong-settings-heading h2{font-size:13px;line-height:1.3}.lobby-page .game-grid{grid-template-rows:minmax(0,1.6fr) minmax(0,.7fr)}@media(max-width:450px){html[data-compact=true] .lobby-page .game-grid{grid-template-rows:minmax(0,1.5fr) minmax(0,.7fr);flex-basis:134px;min-height:134px}html[data-compact=true] .lobby-page .secondary-actions button{min-height:40px}html[data-compact=true] .lobby-page .lobby-social-actions button{min-height:42px}}html[data-compact=true] .lobby-page{padding:calc(8px + var(--app-safe-top,0px)) calc(14px + var(--app-safe-right,0px)) calc(8px + var(--app-safe-bottom,0px)) calc(14px + var(--app-safe-left,0px))}html[data-compact=true] .lobby-page .welcome-block{display:none}.lobby-page .game-grid.game-grid--balanced{flex:1 1 0;min-height:192px;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:8px}.lobby-page .game-grid.game-grid--balanced>button{height:auto;min-height:0;margin:0;padding:10px 13px;border-radius:16px;border:1px solid #c7b48166;box-shadow:inset 0 1px #fff2,0 3px 9px #00171655}.lobby-page .game-grid--balanced>.mahjong-entry{grid-column:1/-1;min-width:0;align-items:center}.lobby-page .game-grid--balanced .game-card>span,.lobby-page .game-grid--balanced .mahjong-entry strong{font-size:18px;line-height:1.3;font-weight:700;letter-spacing:.01em}.lobby-page .game-grid--balanced .game-card>small,.lobby-page .game-grid--balanced .mahjong-entry small{font-size:10px;line-height:1.35;margin-top:3px;color:#e5dac3}.lobby-page .game-grid--balanced .game-card>svg{width:18px;height:18px;right:12px;bottom:13px;color:#f3dfac}.lobby-page .lobby-social-actions,.lobby-page .lobby-join-row,.lobby-page .secondary-actions{gap:8px}.lobby-page .lobby-social-actions>button,.lobby-page .lobby-join-row>button,.lobby-page .secondary-actions>button{min-height:50px;border:1px solid #c6b38766;border-radius:14px;background:linear-gradient(145deg,#23463ddd,#102c28f0);box-shadow:inset 0 1px #fff1,0 3px 9px #001a1544}.lobby-page .lobby-social-actions>button{grid-template-columns:26px minmax(0,1fr);padding:8px 11px;gap:2px 9px}.lobby-page .lobby-social-actions>button>strong{font-size:14px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lobby-page .lobby-social-actions>button>small{font-size:10px;line-height:1.25}.lobby-page .lobby-join-row>button{padding:8px 11px;gap:9px;font-size:13px}.lobby-page .secondary-actions>button{padding:5px 3px;font-size:12px;gap:3px;line-height:1.2;color:#e5dfc8}.lobby-page .lobby-social-actions>button>svg,.lobby-page .lobby-join-row>button>svg:first-child,.lobby-page .secondary-actions>button>svg{width:24px;height:24px;flex-shrink:0;stroke-width:1.8;color:#e8cc8b}.lobby-page .lobby-join-row>button>svg:last-child:not(:first-child){width:16px;height:16px;color:#b4c4b2}.brand .brand__mark.brand__mark--jade{width:44px;height:44px;border:0;border-radius:0;background:none;box-shadow:none;flex-shrink:0}.brand__mark--jade>img{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 3px #00140b80)}html[data-compact=true] .lobby-page .game-grid.game-grid--balanced{min-height:180px}html[data-compact=true] .lobby-page .lobby-social-actions>button,html[data-compact=true] .lobby-page .lobby-join-row>button,html[data-compact=true] .lobby-page .secondary-actions>button{min-height:48px}html[data-short=true] .lobby-page .game-grid.game-grid--balanced{min-height:168px;gap:6px}html[data-short=true] .lobby-page .game-grid.game-grid--balanced>button{padding:7px 10px;border-radius:13px}html[data-short=true] .lobby-page .game-grid--balanced .game-card>span,html[data-short=true] .lobby-page .game-grid--balanced .mahjong-entry strong{font-size:16px}html[data-short=true] .lobby-page .game-grid--balanced .game-card>small,html[data-short=true] .lobby-page .game-grid--balanced .mahjong-entry small{font-size:9px;margin-top:2px}html[data-short=true] .lobby-page .lobby-social-actions>button{padding:6px 9px}html[data-short=true] .lobby-page .lobby-social-actions>button>strong{font-size:13px}html[data-compact=true] .lobby-page .game-grid.game-grid--balanced,html[data-short=true] .lobby-page .game-grid.game-grid--balanced{grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr))}.lobby-page .brand{display:grid;grid-template-columns:44px minmax(64px,1fr) 34px minmax(72px,130px);grid-template-rows:auto;gap:6px;align-items:center}.lobby-page .brand>.brand__mark{grid-column:1;grid-row:1}.lobby-page .brand>div:nth-child(2){grid-column:2;grid-row:1;min-width:0}.lobby-page .brand .language-toggle--top{grid-column:3;grid-row:1}.lobby-page .brand .brand__profile{grid-column:4;grid-row:1;width:100%;max-width:100%;min-width:0;margin:0}html[lang=vi] .lobby-page .brand{grid-template-columns:44px minmax(0,1fr) 38px minmax(60px,90px);gap:5px}html[lang=vi] .lobby-page .brand>div:nth-child(2)>strong{font-size:clamp(14px,4.1vw,17px);line-height:1.15}html[lang=vi] .lobby-page .brand .brand__profile{max-width:100%;width:100%}html[lang=vi] .lobby-page .brand .language-toggle--top{margin:0;padding:0 4px;white-space:nowrap;letter-spacing:0}html[lang=vi] .lobby-page .friend-hero__half strong{font-size:13px;line-height:1.1;white-space:normal}html[lang=vi] .lobby-page .game-grid--balanced .game-card>span{font-size:16px;white-space:normal;line-height:1.15}html[lang=vi] .lobby-page .game-grid--balanced .game-card>small,html[lang=vi] .lobby-page .game-grid--balanced .mahjong-entry small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html[lang=vi] .lobby-page .game-grid--balanced .mahjong-entry>span{min-width:0}html[lang=vi] .lobby-page .game-grid--balanced .mahjong-entry strong{font-size:15px;line-height:1.15}html[lang=vi] .lobby-page .lobby-social-actions>button{height:48px;padding:5px 8px;gap:2px 6px}html[lang=vi] .lobby-page .lobby-social-actions>button>strong{font-size:11px;white-space:normal}html[lang=vi] .lobby-page .lobby-social-actions>button>small{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}html[lang=vi] .lobby-page .lobby-join-row>button{height:48px;padding:6px 8px;gap:6px;font-size:11px}html[lang=vi] .lobby-page .secondary-actions>button{min-height:58px;padding:4px 3px;font-size:10px;line-height:1.1}html[lang=vi][data-short=true] .lobby-page .game-grid--balanced>button{padding:6px 9px}html[lang=vi][data-short=true] .lobby-page .game-grid--balanced .game-card>span{font-size:13px}html[lang=vi][data-short=true] .lobby-page .game-grid--balanced .mahjong-entry strong{font-size:12px}html[lang=vi][data-short=true] .lobby-page .game-grid--balanced .mahjong-entry small{font-size:8px;line-height:1.15;margin-top:1px}html[data-mahjong-view=create] .page.mahjong-create{width:min(100%,520px);margin:auto;padding:calc(max(var(--app-safe-top,0px),12px) + 8px) 16px calc(max(var(--app-safe-bottom,0px),12px) + 4px);gap:12px;background:#0c2b22;overflow:hidden}html[data-mahjong-view=create] .page.mahjong-create .mahjong-create__header{display:flex;justify-content:space-between;gap:8px;flex-shrink:0}html[data-mahjong-view=create] .page.mahjong-create .mahjong-create__header button{min-height:36px;font-size:12px;padding:6px 10px}html[data-mahjong-view=create] .page.mahjong-create .mahjong-create__hero{flex-shrink:0;padding:18px 14px;border:1px solid #b2ba7c66;border-radius:15px;background:linear-gradient(90deg,#0a2a21e8,#0a2a2150),url(/assets/mahjong-v45/banner.png) center/cover}html[data-mahjong-view=create] .page.mahjong-create .mahjong-create__hero h1{font-size:clamp(20px,5.7vw,28px);line-height:1.35}.mahjong-create__hero p{font-size:11px;color:#d2c59c;margin-top:5px!important}html[data-mahjong-view=create] .page.mahjong-create .mahjong-create__settings{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;padding:0;border:0;background:none;overflow:auto;overscroll-behavior:contain}html[data-mahjong-view=create] .page.mahjong-create .mahjong-create__settings>.mahjong-settings-group{display:block;min-height:0}html[data-mahjong-view=create] .page.mahjong-create .mahjong-settings-heading{display:flex;justify-content:space-between;align-items:center}html[data-mahjong-view=create] .page.mahjong-create .mahjong-settings-group h2{font-size:14px;margin:0 0 7px;color:#ded0a5}html[data-mahjong-view=create] .page.mahjong-create .mahjong-money-choice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;grid-auto-rows:minmax(60px,1fr);flex:1}html[data-mahjong-view=create] .page.mahjong-create .mahjong-settings-group:first-child{display:flex;flex:1;flex-direction:column}html[data-mahjong-view=create] .page.mahjong-create .mahjong-money-choice>button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:0;min-height:60px;padding:10px 3px;border:1px solid #b9c39366;border-radius:12px;background:linear-gradient(140deg,#234e3f,#173d30);color:#e8dab5}html[data-mahjong-view=create] .page.mahjong-create .mahjong-money-choice>button.active{border:2px solid #ddc381;background:linear-gradient(145deg,#777046,#39563b);color:#fff0c6}html[data-mahjong-view=create] .page.mahjong-create .mahjong-money-choice strong{font-size:15px}.mahjong-money-choice small{font-size:10px;opacity:.75}html[data-mahjong-view=create] .page.mahjong-create .mahjong-round-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}html[data-mahjong-view=create] .page.mahjong-create .mahjong-round-choice>button{height:42px;padding:5px;border:1px solid #a5b78c66;border-radius:10px;color:#f4e4b8;background:#1a4335}.mahjong-round-choice>button.active{background:#666d45!important;border-color:#e4c780!important}html[data-mahjong-view=create] .page.mahjong-create .mahjong-create__description{display:block}.mahjong-create__description p{font-size:10px!important;line-height:1.5!important;margin:0!important;color:#b8c3a5}html[data-mahjong-view=create] .page.mahjong-create .mahjong-create__settings>.primary-button{min-height:46px;flex-shrink:0;margin-top:0}html[data-mahjong-view=create] .page.mahjong-create .mahjong-help-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex-shrink:0}.mahjong-help-actions button{justify-content:center;font-size:12px;min-height:40px}html[data-mahjong-view=create] .page.mahjong-create .mahjong-create>small{font-size:9px;line-height:1.2;flex-shrink:0;text-align:center}@media(max-height:680px){html[data-mahjong-view=create] .page.mahjong-create{gap:7px;padding-left:12px;padding-right:12px}html[data-mahjong-view=create] .page.mahjong-create .mahjong-create__hero{padding:10px 12px}html[data-mahjong-view=create] .page.mahjong-create .mahjong-create__settings{gap:7px}html[data-mahjong-view=create] .page.mahjong-create .mahjong-money-choice{gap:6px;grid-auto-rows:minmax(52px,1fr)}html[data-mahjong-view=create] .page.mahjong-create .mahjong-money-choice>button{min-height:52px;padding:6px 2px}html[data-mahjong-view=create] .page.mahjong-create .mahjong-money-choice strong{font-size:13px}html[data-mahjong-view=create] .page.mahjong-create .mahjong-create__settings>.primary-button{min-height:40px}.mahjong-help-actions button{min-height:36px}}.rich-invite-cover{aspect-ratio:1630 / 1080;object-fit:contain;background:#e6d4ad}.result-rematch-error{grid-column:1 / -1;margin:0;padding:7px 10px;border:1px solid #c89a69;border-radius:9px;color:#ffe2ba;background:#573b29;font-size:12px;line-height:1.4}.room-move-status{position:fixed;bottom:8px;left:50%;transform:translate(-50%);z-index:45;margin:0;padding:7px 14px;border-radius:18px;background:#143e35;color:#f3dda2;pointer-events:none;font-size:13px}.record-export-dialog{width:min(94vw,620px);max-height:calc(var(--app-height,100dvh) - 28px);display:flex;flex-direction:column}.record-export-dialog .info-dialog__body{min-height:0;overflow:auto}.record-export-dialog textarea{display:block;width:100%;min-height:120px;height:min(44dvh,360px);resize:none;padding:12px;border:1px solid #a58a55;border-radius:10px;background:#102d27;color:#f0e0b9;font:13px/1.6 monospace;box-sizing:border-box}.record-export-dialog a{display:block;margin-top:10px;color:#edd49e;font-size:12px;overflow-wrap:anywhere}.record-export-actions{display:flex;gap:10px;padding:10px 16px}.record-export-actions button{flex:1;min-height:44px;border-radius:10px;border:1px solid #b99c62;background:#d8bc7c;color:#16382c}.record-export-actions button:disabled{opacity:.45}.user-avatar{position:relative;isolation:isolate}.user-avatar>.user-avatar__fallback,.user-avatar>.user-avatar__remote{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.user-avatar>.user-avatar__remote{opacity:0}.user-avatar>.user-avatar__remote.is-loaded{opacity:1}.invite-sheet--rich .rich-invite-cover{display:block;width:100%;height:auto;aspect-ratio:3 / 1;object-fit:contain}.invite-share-steps{margin:10px 0 0;padding:9px 12px;border:1px solid #b9965d55;border-radius:10px;background:#cfb47b16;color:#725538;font-size:12px;line-height:1.7}.fair-mask{box-sizing:border-box;bottom:auto;height:min(100dvh,var(--app-height,100dvh));padding:max(8px,var(--room-safe-top,var(--app-safe-top,env(safe-area-inset-top,0px)))) max(8px,var(--room-safe-right,var(--app-safe-right,env(safe-area-inset-right,0px)))) max(8px,var(--room-safe-bottom,var(--app-safe-bottom,env(safe-area-inset-bottom,0px)))) max(8px,var(--room-safe-left,var(--app-safe-left,env(safe-area-inset-left,0px))))}.info-backdrop{box-sizing:border-box;padding:max(8px,var(--room-safe-top,var(--app-safe-top,env(safe-area-inset-top,0px)))) max(8px,var(--room-safe-right,var(--app-safe-right,env(safe-area-inset-right,0px)))) max(8px,var(--room-safe-bottom,var(--app-safe-bottom,env(safe-area-inset-bottom,0px)))) max(8px,var(--room-safe-left,var(--app-safe-left,env(safe-area-inset-left,0px))))}.info-backdrop .info-dialog{max-height:100%;min-height:0}.info-dialog .info-dialog__body{min-height:0;overflow:auto}.fair-mask .fair-panel{height:100%;max-height:100%;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto auto;overflow:hidden;box-sizing:border-box}.fair-panel .fair-center{min-height:0;overflow:hidden}.fair-panel .fair-detail,.fair-panel .fair-records{min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.fair-panel .fair-intro{min-height:0;overflow:auto;grid-template-rows:minmax(0,1fr) auto}.fair-intro>img{min-height:0;max-height:100%;object-fit:contain}.fair-intro article{min-height:0;height:100%;max-height:100%;align-self:stretch;overflow:auto}.fair-intro footer{grid-row:2;position:sticky;bottom:0;background:#173e2e;z-index:1}.fair-panel .fair-message{margin:0;max-height:44px;overflow:auto;flex-shrink:0}.fair-panel .fair-return{justify-self:end;flex-shrink:0}.room-seats>div{position:relative}.room-seats .seat-toggle{position:absolute;right:8px;top:8px;width:32px;height:32px;padding:0!important;border-radius:50%;font:24px/1 system-ui;background:#294e40;border:1px solid #c4b57a80;color:#fff2cf;z-index:1}.room-seats .seat-toggle:disabled{opacity:.3}.room-seats>.seat-closed{background:#0b281f80;border-style:dashed}.seat-closed>b{opacity:.3}.room-seats>.seat-closed>small{visibility:hidden}.settlement-fit .result-players{grid-template-rows:repeat(var(--result-seats,4),minmax(0,1fr))}.settlement-fit .ledger-head,.settlement-fit .ledger-row{grid-template-columns:minmax(120px,1.5fr) repeat(var(--result-seats,4),minmax(50px,1fr))}.remote-lobby.lobby-v2 .room-waiting .room-seats .seat-toggle{grid-area:auto;align-self:start;justify-self:end;min-height:32px;height:32px;width:32px;top:6px;right:6px;border-radius:50%;font-size:22px;line-height:1}.remote-lobby .room-waiting .room-seats{align-content:start;grid-auto-rows:minmax(min-content,1fr);scroll-padding:4px}html[data-short-board=true] .remote-lobby.lobby-v2 .room-waiting{gap:5px;padding:7px 10px}html[data-short-board=true] .remote-lobby.lobby-v2 .room-waiting>header{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 10px}html[data-short-board=true] .remote-lobby.lobby-v2 .room-waiting>header h1{order:-1;font-size:19px;line-height:1.25;margin:0}html[data-short-board=true] .remote-lobby.lobby-v2 .room-waiting>header>small,html[data-short-board=true] .remote-lobby.lobby-v2 .room-waiting>header>p{font-size:11px;line-height:1.3;margin:0}html[data-short-board=true] .remote-lobby.lobby-v2 .room-waiting .room-seats>div{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;justify-items:start;gap:2px 6px;padding:6px;min-height:min-content}html[data-short-board=true] .remote-lobby.lobby-v2 .room-waiting .room-seats b{grid-column:1;grid-row:1/3;width:34px;height:34px;font-size:22px}html[data-short-board=true] .remote-lobby.lobby-v2 .room-waiting .room-seats strong{grid-column:2;grid-row:1;align-self:end;padding-right:28px;font-size:13px;line-height:1.25}html[data-short-board=true] .remote-lobby.lobby-v2 .room-waiting .room-seats small{grid-column:2;grid-row:2;align-self:start;font-size:11px;line-height:1.25}html[data-short-board=true] .remote-lobby.lobby-v2 .room-waiting .room-seats button:not(.seat-toggle){grid-column:1/-1;grid-row:3;align-self:center;width:100%;height:32px;min-height:32px;padding:3px}html[data-tiny-board=true] .remote-lobby.lobby-v2 .room-waiting{gap:3px;padding:5px 8px}html[data-tiny-board=true] .remote-lobby.lobby-v2 .room-waiting>header>p{display:none}html[data-tiny-board=true] .remote-lobby.lobby-v2 .room-waiting>header h1{font-size:17px}html[data-tiny-board=true] .remote-lobby.lobby-v2 .room-waiting .room-code strong{font-size:16px}html[data-tiny-board=true] .remote-lobby.lobby-v2 .room-waiting .room-seats>div{grid-template-columns:28px minmax(0,1fr);gap:2px 4px;padding:4px}html[data-tiny-board=true] .remote-lobby.lobby-v2 .room-waiting .room-seats b{width:28px;height:28px;font-size:18px}html[data-tiny-board=true] .remote-lobby.lobby-v2 .room-waiting .room-seats .seat-toggle{width:28px;height:28px;min-height:28px;top:4px;right:4px}html[data-tiny-board=true] .remote-lobby.lobby-v2 .room-waiting .room-seats strong{font-size:12px}html[data-tiny-board=true] .remote-lobby.lobby-v2 .room-waiting .room-seats small{font-size:10px}html[data-tiny-board=true] .remote-lobby.lobby-v2 .room-waiting .room-seats button:not(.seat-toggle){height:28px;min-height:28px}html[data-tiny-board=true] .remote-lobby .room-waiting-controls .room-waiting-actions{grid-template-rows:32px}html[data-tiny-board=true] .remote-lobby.lobby-v2 .room-waiting-controls .room-waiting-actions>button,html[data-tiny-board=true] .remote-lobby.lobby-v2 .room-waiting-controls .waiting-voice>.voice-toggle{height:32px;font-size:11px}@media(orientation:portrait){.fair-panel .fair-intro{grid-template-rows:minmax(80px,1fr) auto auto}.fair-intro footer{grid-row:3}.fair-panel .fair-center{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);gap:8px}.fair-panel .fair-records{display:flex;flex-flow:row wrap;border:0;padding:0;gap:4px}.fair-records h3{display:none}.fair-records>button{flex:1;min-width:70px}.fair-records .fair-pager{width:100%}.fair-checks{grid-template-columns:repeat(2,minmax(0,1fr))}.fair-wall{grid-template-columns:repeat(8,minmax(0,1fr))}}@media(max-height:360px){.fair-header small,.fair-header .fair-local{display:none}.fair-panel .fair-message{max-height:25px;font-size:8px}.fair-header h2{font-size:16px}.fair-panel .fair-center{padding-top:3px}.fair-detail>p{font-size:10px;margin:4px 0}.fair-wait{padding:6px}.fair-intro h3{font-size:16px}.fair-intro p{font-size:10px;line-height:1.4}.fair-intro article small{font-size:9px}}html[data-tiny-board=true] .fair-header{padding:3px 10px;gap:6px}html[data-tiny-board=true] .fair-header small,html[data-tiny-board=true] .fair-header .fair-local{display:none}html[data-tiny-board=true] .fair-header h2{font-size:16px}html[data-tiny-board=true] .fair-header>button{width:28px;height:28px}html[data-tiny-board=true] .fair-tabs{padding:0 10px 4px}html[data-tiny-board=true] .fair-tabs button{padding:4px 8px}html[data-tiny-board=true] .fair-panel .fair-intro{padding:4px 10px;gap:4px 10px}html[data-tiny-board=true] .fair-intro footer button{padding:3px 8px}html[data-tiny-board=true] .fair-panel .fair-message{min-height:18px;max-height:18px;padding:0 10px}html[data-tiny-board=true] .fair-panel .home-button.fair-return{height:24px;min-height:24px;margin:0 10px 4px;padding:3px 8px;font-size:10px}
