dialog.scroll-dialog{max-height:calc(100dvh - 32px);padding:0;overflow:hidden}dialog.scroll-dialog[open]{flex-direction:column;display:flex}.dialog-scroll{overscroll-behavior:contain;min-width:0;min-height:0;padding:var(--dialog-padding,0px);scrollbar-gutter:stable;flex:auto;overflow:auto}.dialog-scroll>*,.dialog-scroll fieldset{min-width:0}.dialog-scroll :is(input:not([type=checkbox]):not([type=radio]),textarea,select){max-width:100%}.dialog-scroll,.rating-drawer-body,.emoji-body{scrollbar-width:thin;scrollbar-color:#a4b2a0 transparent}@media (forced-colors:active){.dialog-scroll,.rating-drawer-body,.emoji-body{scrollbar-color:auto}}.knowledge-posts,.vector-content,.vector-metadata{clip-path:inset(0 round 9px);overscroll-behavior:contain}dialog.rating-drawer{overflow:hidden}.global-announcement[data-v-866870d9]{right:max(18px,env(safe-area-inset-right));bottom:calc(88px + env(safe-area-inset-bottom));z-index:1200;max-width:min(300px,100vw - 36px);font-family:inherit;position:fixed}.announcement-trigger[data-v-866870d9]{color:#263e30;text-align:left;cursor:pointer;background:#fffff8f5;border:1px solid #d5e2d4;border-radius:18px;align-items:center;gap:11px;width:100%;padding:12px 16px 12px 12px;display:flex;box-shadow:0 6px 24px #18382420}.announcement-trigger[data-v-866870d9]:focus-visible,.announcement-icon-button[data-v-866870d9]:focus-visible{outline-offset:3px;outline:3px solid #79a98a}.announcement-horn[data-v-866870d9]{color:#3b6f45;background:#e4f0df;border-radius:12px;flex-shrink:0;place-items:center;width:38px;height:38px;display:grid}.announcement-preview[data-v-866870d9]{flex-direction:column;gap:4px;min-width:0;display:flex}.announcement-preview small[data-v-866870d9]{letter-spacing:1px;color:#71856f;gap:12px;font-size:10px;display:flex}.announcement-title[data-v-866870d9]{white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-size:13px;font-weight:600;overflow:hidden}.global-announcement-dialog[data-v-866870d9]{box-sizing:border-box;--dialog-padding:24px;color:#263e30;background:#fffffa;border:1px solid #dbe4d7;border-radius:24px;width:min(480px,100vw - 32px);max-height:80dvh;padding:0;overflow:hidden;box-shadow:0 24px 90px #12301d33}.global-announcement-dialog[data-v-866870d9]::backdrop{background:#172b225e}.global-announcement-dialog header[data-v-866870d9],.global-announcement-dialog footer[data-v-866870d9],.announcement-switch[data-v-866870d9]{justify-content:space-between;align-items:center;gap:12px;display:flex}.announcement-dialog-label[data-v-866870d9]{color:#61815d;align-items:center;gap:8px;font-size:12px;display:flex}.global-announcement-dialog h2[data-v-866870d9]{overflow-wrap:anywhere;margin:22px 0 16px;font-size:22px;line-height:1.4}.announcement-full-content[data-v-866870d9]{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.9}.global-announcement-dialog footer[data-v-866870d9]{color:#7b8979;margin-top:28px;font-size:12px}.announcement-icon-button[data-v-866870d9]{color:#3e5e40;cursor:pointer;background:#edf2e8;border:0;border-radius:10px;place-items:center;min-width:36px;min-height:36px;display:grid}@media (width<=600px){.global-announcement[data-v-866870d9]{max-width:min(230px,100vw - 24px);right:12px}.announcement-trigger[data-v-866870d9]{border-radius:15px;gap:8px;padding:9px 12px 9px 9px}.announcement-title[data-v-866870d9]{max-width:165px;font-size:12px}.announcement-horn[data-v-866870d9]{width:32px;height:32px}.global-announcement-dialog[data-v-866870d9]{--dialog-padding:22px;padding:0}}:root{color:var(--text-primary);background:var(--background);font-synthesis:none;text-rendering:optimizelegibility;--primary:#176b50;--primary-dark:#104b39;--primary-light:#e7f0e9;--background:#f4ebdd;--surface:#fff;--accent:#d9b879;--accent-dark:#b58b43;--secondary:#a85e43;--text-primary:#29352f;--text-secondary:#7b827a;--border:#e5e0d5;--green:var(--primary);--green-dark:var(--primary-dark);--green-soft:var(--primary-light);--coral:var(--secondary);--coral-soft:color-mix(in srgb, var(--secondary) 10%, var(--surface));--gold:var(--accent-dark);--gold-soft:color-mix(in srgb, var(--accent) 20%, var(--surface));--blue:var(--primary);--blue-soft:var(--primary-light);--ink:var(--text-primary);--muted:var(--text-secondary);--line:var(--border);--page:var(--background);--danger:var(--secondary);--shadow-card:0 5px 22px #29352f0d;--shadow-raised:0 12px 32px #29352f17;font-family:MiSans,Source Han Sans SC,Noto Sans CJK SC,Inter,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html{background:var(--page);min-width:320px}body{min-width:320px;min-height:100dvh;margin:0}button,input,textarea,select{font:inherit;letter-spacing:0}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #176b5238}.app-layout{min-height:100vh}.app-main{min-width:0;min-height:100vh}.app-layout.chat-layout-shell{height:100dvh;min-height:0}.chat-layout-shell>.app-main{height:100%;min-height:0;overflow:hidden}.page{width:min(1180px,100%);margin:0 auto;padding:28px 32px 52px}.brand-lockup{align-items:center;gap:11px;display:inline-flex}.brand-lockup>span:last-child{gap:1px;display:grid}.brand-lockup strong{font-size:18px;font-weight:800}.brand-lockup small{color:var(--muted);font-size:9px;font-weight:700}.brand-mark{color:#fff;background:var(--green);border-radius:8px;place-items:center;width:36px;height:36px;display:grid}.avatar{color:#fff;background:var(--green);flex:none;place-items:center;font-weight:800;display:grid}.avatar-small{border-radius:8px;width:38px;height:38px}.avatar-large{background:var(--coral);border-radius:8px;width:72px;height:72px;font-size:27px}.icon-button{cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:40px;height:40px;display:grid}.icon-button:hover{background:#edf2ef}.primary-button{color:#fff;background:var(--green);cursor:pointer;border:0;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 18px;font-weight:750;display:inline-flex}.primary-button:hover{background:var(--green-dark)}.primary-button:disabled{cursor:not-allowed;opacity:.55}.secondary-button{border:1px solid var(--line);min-height:40px;color:var(--ink);cursor:pointer;white-space:nowrap;background:#fff;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:0 13px;display:inline-flex}.secondary-button:hover{background:#f5f7f6;border-color:#aebbb4}.secondary-button:disabled{cursor:not-allowed;opacity:.5}.mobile-bottom-nav{z-index:30;height:66px;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);background:#fffffff5;grid-template-columns:repeat(2,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-bottom-nav a{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;font-weight:650;display:flex}.mobile-bottom-nav a.router-link-exact-active{color:var(--green)}.page-loading{min-height:280px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.page-error{min-height:300px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex}.page-error h2{color:var(--ink);font-size:18px}.page-error p{max-width:460px;font-size:12px;line-height:1.6}.page-error button{margin-top:5px}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.section-header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:15px;display:flex}.section-header h2{font-size:19px;font-weight:800}.section-header p{color:var(--muted);margin-top:4px;font-size:12px}.text-action{color:var(--green);cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:2px;padding:5px 0;font-size:13px;display:inline-flex}.content-section{margin-top:32px}.membership-page{max-width:960px}.membership-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.membership-heading h1{margin:7px 0;font-size:29px}.membership-heading p,.muted{color:var(--muted);font-size:14px;line-height:1.7}.membership-eyebrow{color:var(--green);letter-spacing:2px;font-size:11px;font-weight:750}.membership-card{color:#fff;background:linear-gradient(120deg,#104b3b,#23745b);border-radius:16px;align-items:center;gap:24px;padding:32px;display:flex}.membership-emblem{color:#f4d69a;background:#ffffff0c;border:1px solid #ffffff40;border-radius:20px;flex:0 0 74px;place-items:center;height:74px;display:grid}.membership-card span{color:#d4e9df;font-size:12px}.membership-card h2{margin:5px 0 10px;font-size:28px}.membership-card p{color:#e2f1eb;font-size:13px;line-height:1.8}.membership-steps{color:var(--muted);justify-content:space-between;gap:12px;padding:24px 8px;font-size:13px;display:flex}.membership-steps span{align-items:center;gap:8px;display:flex}.membership-panel{border:1px solid var(--line);background:#fff;border-radius:12px;min-width:0;margin-bottom:22px;padding:24px}.membership-panel h2{margin-bottom:14px;font-size:18px}.membership-panel h2 small{color:var(--muted);margin-left:8px;font-size:12px;font-weight:400}.membership-form{gap:14px;display:grid}.membership-form h2{margin:0}.membership-form p{color:var(--muted);font-size:13px;line-height:1.7}.membership-form label{font-size:13px;font-weight:650}.membership-form textarea{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);resize:vertical;background:#fff;border-radius:7px;padding:11px 12px;line-height:1.8}.membership-form-footer,.membership-record header,.membership-pagination{justify-content:space-between;align-items:center;gap:14px;display:flex}.membership-form-footer small,.membership-record small,.membership-record time,.membership-pagination{color:var(--muted);font-size:12px}.membership-record{border-top:1px solid var(--line);padding:20px 0}.membership-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0;font-size:14px;line-height:1.8}.membership-badge{white-space:nowrap;color:var(--muted);background:#edf1ee;border-radius:6px;padding:5px 9px;font-size:12px;font-weight:650;display:inline-flex}.membership-badge.APPROVED{background:var(--green-soft);color:var(--green)}.membership-badge.PENDING{background:var(--gold-soft);color:#8b611b}.membership-badge.REJECTED{background:var(--coral-soft);color:#a43e2b}.membership-empty{text-align:center;color:var(--muted);padding:42px 12px;font-size:14px;line-height:1.8}.membership-empty svg{margin-bottom:12px}.membership-empty h2{color:var(--ink);font-size:17px}.membership-error{color:#993b31;overflow-wrap:anywhere;background:#fff0ed;border:1px solid #efc4ba;border-radius:8px;margin-bottom:18px;padding:12px 16px;font-size:14px}.membership-pagination{border-top:1px solid var(--line);padding-top:18px}.membership-pagination>div{gap:8px;display:flex}@media (width<=600px){.membership-heading{flex-direction:column;align-items:start;gap:14px}.membership-heading h1{font-size:24px}.membership-card{align-items:start;gap:16px;padding:24px 20px}.membership-emblem{border-radius:12px;flex-basis:48px;height:48px}.membership-emblem svg{width:26px}.membership-card h2{font-size:24px}.membership-steps{gap:6px;font-size:11px}.membership-steps span{text-align:center;flex-direction:column}.membership-panel{padding:18px}.membership-record header{align-items:start}.membership-record time{text-align:right;font-size:11px}.membership-pagination{flex-wrap:wrap}}.login-page{background:#fff;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);min-height:100vh;display:grid}.login-visual{background:var(--green-dark);min-height:100vh;position:relative;overflow:hidden}.login-visual img{object-fit:cover;opacity:.82;width:100%;height:100%}.login-visual:after{content:"";background:#0c271f6b;position:absolute;inset:0}.login-visual-copy{z-index:1;color:#fff;position:absolute;bottom:10%;left:8%}.login-visual-copy span{margin-bottom:13px;font-size:13px;font-weight:700;display:block}.login-visual-copy strong{font-size:35px;font-weight:800;line-height:1.35}.login-panel{place-items:center;padding:48px;display:grid}.login-form-wrap{width:min(390px,100%)}.login-heading{margin:56px 0 25px}.login-heading h1{font-size:28px}.login-heading p{color:var(--muted);margin-top:8px;font-size:14px}.auth-tabs{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;margin-bottom:24px;display:grid}.auth-tabs button{height:42px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000}.auth-tabs button[aria-selected=true]{color:var(--green);border-bottom-color:var(--green);font-weight:750}.field-label{margin:17px 0 7px;font-size:13px;font-weight:700;display:block}.field-input{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:#fff;border-radius:7px;padding:10px 12px}.field-input:focus{border-color:var(--green)}.password-field{position:relative}.password-field input{padding-right:46px}.password-field button{width:40px;height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;position:absolute;top:2px;right:2px}.form-error{color:var(--danger);margin-top:12px;font-size:13px}.auth-submit{width:100%;margin-top:22px}.login-note{text-align:center;color:var(--muted);margin-top:18px;font-size:11px}.home-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.home-header span{color:var(--green);font-size:12px;font-weight:750}.home-header h1{margin-top:4px;font-size:25px;line-height:1.3}.notification-button{border:1px solid var(--line);background:#fff;position:relative}.notification-button i{background:var(--coral);border:2px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:8px;right:8px}.announcement{color:#7a5010;background:var(--gold-soft);text-align:left;cursor:pointer;border:0;border-radius:7px;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;width:100%;min-height:40px;padding:8px 12px;display:grid}.announcement span{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.featured-banner{background:var(--green-dark);border-radius:8px;height:300px;margin-top:18px;position:relative;overflow:hidden}.featured-banner img{object-fit:cover;width:100%;height:100%}.featured-banner:after{content:"";background:#08231b85;position:absolute;inset:0}.featured-overlay{z-index:1;color:#fff;position:absolute;bottom:28px;left:32px}.featured-overlay>span{font-size:12px;font-weight:750}.featured-overlay h2{margin:8px 0 17px;font-size:27px;line-height:1.35}.featured-overlay button{min-height:38px;color:var(--green-dark);cursor:pointer;background:#fff;border:0;border-radius:6px;align-items:center;gap:7px;padding:0 14px;font-weight:750;display:inline-flex}.quick-actions{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px;display:grid}.quick-action{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:8px;grid-template-columns:44px 1fr auto;align-items:center;gap:12px;min-height:76px;padding:13px;display:grid}.quick-action>span{border-radius:8px;place-items:center;width:42px;height:42px;display:grid}.quick-action.ai>span{color:var(--green);background:var(--green-soft)}.quick-action.hall>span{color:var(--coral);background:var(--coral-soft)}.quick-action div{gap:4px;min-width:0;display:grid}.quick-action small{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:11px;overflow:hidden}.quick-action>svg{color:#9ba7a1}.game-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.game-card{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;min-width:0;transition:transform .18s,box-shadow .18s;overflow:hidden}.game-card:hover{transform:translateY(-3px);box-shadow:0 12px 26px #1932271a}.game-cover-wrap{aspect-ratio:4/3;background:#dce5df;position:relative;overflow:hidden}.game-cover{object-fit:cover;width:100%;height:100%;transition:transform .25s}.game-card:hover .game-cover{transform:scale(1.035)}.score{color:#7b530d;background:#fff8e0f0;border-radius:5px;align-items:center;gap:4px;padding:4px 7px;font-size:11px;font-weight:800;display:inline-flex;position:absolute;top:8px;right:8px}.game-favorite-button{width:32px;height:32px;color:var(--muted);cursor:pointer;background:#fffffff0;border:0;border-radius:7px;place-items:center;display:grid;position:absolute;top:8px;left:8px;box-shadow:0 3px 12px #1130251f}.game-favorite-button:hover,.game-favorite-button.active{color:var(--coral)}.game-favorite-button:disabled{opacity:.55;cursor:wait}.game-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.game-title-row h3{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:15px;overflow:hidden}.game-title-row>span{color:var(--blue);flex:none;font-size:10px}.game-card-body>p{min-height:34px;color:var(--muted);margin:8px 0 11px;font-size:11px;line-height:1.55}.game-meta{color:var(--muted);flex-wrap:wrap;gap:11px;font-size:10px;display:flex}.game-meta span{align-items:center;gap:4px;display:inline-flex}.event-section{scroll-margin-top:20px}.event-list{gap:10px;display:grid}.event-item{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:112px;padding:15px;display:grid}.event-date-mark{width:48px;height:48px;color:var(--coral);background:var(--coral-soft);border-radius:8px;place-items:center;display:grid}.event-copy{min-width:0}.event-copy>div{align-items:center;gap:8px;display:flex}.event-copy h3{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.event-copy p{color:var(--muted);margin:6px 0 8px;font-size:11px;line-height:1.55}.event-copy small{color:var(--muted);align-items:center;gap:4px;margin-right:14px;font-size:10px;display:inline-flex}.event-status{color:var(--coral);background:var(--coral-soft);border-radius:4px;flex:none;padding:3px 6px;font-size:9px}.event-status.registered{color:var(--green);background:var(--green-soft)}.event-action{justify-items:end;gap:9px;display:grid}.event-action>span{color:var(--muted);align-items:center;gap:4px;font-size:10px;display:inline-flex}.event-action button{color:#fff;background:var(--green);cursor:pointer;border:0;border-radius:6px;min-width:82px;height:34px;padding:0 10px;font-size:11px;font-weight:700}.event-action button.secondary{border:1px solid var(--line);color:var(--muted);background:#fff}.event-action button:disabled{opacity:.5;cursor:not-allowed}.home-split{grid-template-columns:.82fr 1.18fr;gap:28px;display:grid}.ranking-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.ranking-list li{border-bottom:1px solid var(--line);grid-template-columns:30px 1fr auto 18px;align-items:center;gap:10px;min-height:56px;display:grid}.rank-number{text-align:center;font-size:16px;font-weight:850}.ranking-list li:nth-child(-n+3) .rank-number{color:var(--coral)}.ranking-list div{gap:3px;min-width:0;display:grid}.ranking-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.ranking-list small{color:var(--muted);font-size:10px}.rank-score{font-size:12px;font-weight:800}.trend-up{color:var(--green)}.trend-down{color:var(--coral)}.trend-flat{color:var(--muted);text-align:center}.room-list{gap:9px;display:grid}.room-item{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:92px;padding:13px;display:grid}.room-item.compact{min-height:73px;padding:9px 11px}.room-symbol{width:46px;height:46px;color:var(--blue);background:var(--blue-soft);border-radius:8px;place-items:center;font-size:17px;font-weight:850;display:grid}.room-symbol[data-game=doudizhu]{color:var(--coral);background:var(--coral-soft)}.room-symbol[data-game=texas-holdem]{color:var(--green);background:var(--green-soft)}.room-copy{min-width:0}.room-title{align-items:center;gap:8px;display:flex}.room-title h3{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.room-status{color:var(--green);background:var(--green-soft);white-space:nowrap;border-radius:4px;padding:2px 5px;font-size:9px}.room-status.starting{color:var(--blue);background:var(--blue-soft)}.room-status.playing{color:var(--coral);background:var(--coral-soft)}.room-status.finished{color:var(--gold);background:var(--gold-soft)}.room-status.closed,.room-status.unknown{color:var(--muted);background:#edf0ee}.room-copy>p{color:var(--muted);margin-top:5px;font-size:10px}.room-tags{gap:5px;min-height:18px;margin-top:5px;display:flex}.room-tags span{color:var(--blue);align-items:center;gap:3px;font-size:9px;display:inline-flex}.room-action{justify-items:end;gap:8px;display:grid}.room-action>span{color:var(--muted);align-items:center;gap:4px;font-size:11px;display:inline-flex}.room-action button{border:1px solid var(--green);min-width:58px;height:30px;color:var(--green);cursor:pointer;background:#fff;border-radius:6px;font-size:11px;font-weight:700}.room-action button:hover{color:#fff;background:var(--green)}.room-action button:disabled{border-color:var(--line);color:#98a39e;cursor:not-allowed;background:#f1f4f2}.club-pulse{color:#fff;background:var(--green-dark);border-radius:8px;grid-template-columns:repeat(3,1fr);margin-top:32px;padding:17px 20px;display:grid}.club-pulse>div{border-right:1px solid #ffffff38;justify-content:center;align-items:center;gap:10px;display:flex}.club-pulse>div:last-child{border-right:0}.club-pulse span{gap:2px;display:grid}.club-pulse strong{font-size:17px}.club-pulse small{color:#ffffffbf;font-size:10px}.game-detail-page{max-width:1040px}.game-detail-hero{background:var(--green-dark);border-radius:8px;height:360px;position:relative;overflow:hidden}.game-detail-hero img{object-fit:cover;width:100%;height:100%}.game-detail-hero:after{content:"";background:#081f188f;position:absolute;inset:0}.game-detail-overlay{z-index:1;color:#fff;width:min(500px,70%);position:absolute;bottom:36px;left:38px}.game-detail-overlay>span{font-size:11px;font-weight:750}.game-detail-overlay h1{margin-top:7px;font-size:34px;line-height:1.2}.game-detail-overlay p{color:#ffffffd1;margin-top:10px;font-size:13px;line-height:1.6}.game-detail-actions{gap:9px;margin-top:20px;display:flex}.game-ai-button{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff8c;border-radius:7px;align-items:center;gap:7px;min-height:44px;padding:0 16px;font-weight:750;display:inline-flex}.game-ai-button:hover{background:#fff3}.game-facts{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:repeat(4,1fr);margin-top:12px;padding:17px 8px;display:grid}.game-facts>div{border-right:1px solid var(--line);min-width:0;color:var(--green);justify-content:center;align-items:center;gap:9px;padding:0 12px;display:flex}.game-facts>div:last-child{border-right:0}.game-facts span{gap:2px;min-width:0;display:grid}.game-facts strong{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-size:12px;overflow:hidden}.game-facts small{color:var(--muted);font-size:9px}.game-detail-layout{grid-template-columns:.78fr 1.22fr;gap:34px;margin-top:34px;display:grid}.game-description>p{color:var(--muted);font-size:13px;line-height:1.8}.game-detail-tags{flex-wrap:wrap;gap:7px;margin-top:18px;display:flex}.game-detail-tags span{color:var(--green);background:var(--green-soft);border-radius:5px;padding:5px 8px;font-size:10px}.game-rooms-section{min-width:0}.game-rooms-empty{min-height:210px;color:var(--muted);text-align:center;border:1px dashed #b9c7bf;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.game-rooms-empty strong{color:var(--ink);font-size:14px}.game-rooms-empty p{font-size:11px}.game-rooms-empty button{margin-top:7px}.chat-page{overscroll-behavior-y:contain;scroll-behavior:smooth;background:#f4f7f5;flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;overflow-y:auto}.chat-status{z-index:2;color:#526159;background:var(--surface);border-bottom:1px solid var(--line);flex-shrink:0;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 52px;font-size:11px;display:flex;position:sticky;top:0}.chat-status-mark{color:#68766f;background:#edf1ef;border-radius:50%;place-items:center;width:24px;height:24px;display:grid}.chat-status-mark.active{color:var(--green);background:var(--green-soft)}.chat-status-mark.complete{color:#fff;background:var(--green)}.chat-status small{border-left:1px solid var(--line);color:var(--green);padding-left:8px;font-size:9px;font-weight:750}.chat-clear-button{color:#68766f;cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;width:30px;height:30px;display:grid;position:absolute;right:max(14px,50% - 410px)}.chat-clear-button:hover:not(:disabled){color:#b33c35;background:#fff0ee}.chat-clear-button:disabled{opacity:.35;cursor:not-allowed}.chat-messages{flex:1 0 auto;min-width:0;min-height:0;padding:28px max(20px,50% - 410px) 36px}.suggestion-area{text-align:center;margin:35px auto 30px}.suggestion-area>p{color:var(--muted);margin-top:7px;font-size:12px}.suggestion-list{grid-template-columns:repeat(2,1fr);gap:8px;width:min(640px,100%);margin:18px auto 0;display:grid}.suggestion-list button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:7px;min-height:42px;padding:9px 12px;font-size:11px}.suggestion-list button:hover{color:var(--green);border-color:var(--green)}.chat-row{grid-template-columns:34px minmax(0,1fr);align-items:start;gap:10px;margin:18px 0;display:grid}.chat-row.user{grid-template-columns:minmax(0,1fr) 32px}.chat-row.user .message-avatar{color:var(--coral);background:var(--coral-soft);grid-area:1/2}.chat-row.user .message-bubble{color:#fff;background:var(--green);border-color:var(--green);grid-area:1/1;justify-self:end}.message-avatar{width:34px;height:34px;color:var(--green);background:#edf6f1;border:1px solid #dce6e0;border-radius:7px;place-items:center;display:grid}.message-bubble{background:#fff;border:1px solid #dfe7e2;border-radius:8px;width:fit-content;max-width:min(680px,88%);min-height:42px;padding:11px 14px;box-shadow:0 5px 18px #1f362b0b}.message-bubble p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.75}.message-bubble.error{color:var(--danger);background:#fff8f7;border-color:#edc7c2}.message-bubble.typing p:after{content:"";vertical-align:-2px;background:currentColor;width:2px;height:13px;margin-left:3px;animation:.75s step-end infinite caret;display:inline-block}.chat-recommendations{gap:7px;margin-top:11px;display:grid}.chat-recommendation{width:100%;min-width:min(520px,70vw);color:var(--ink);text-align:left;cursor:pointer;background:#f8fbf9;border:1px solid #dce7e1;border-radius:7px;grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:12px;padding:10px 11px;display:grid}.chat-recommendation:hover{background:var(--green-soft);border-color:#a9cbb9}.chat-recommendation-main{gap:3px;min-width:0;display:grid}.chat-recommendation-main strong{font-size:13px}.chat-recommendation-main small{overflow-wrap:anywhere;color:#65736c;font-size:10px;line-height:1.5}.chat-recommendation-meta{color:#526159;white-space:nowrap;gap:9px;font-size:10px;display:flex}.chat-recommendation-meta span{align-items:center;gap:3px;display:inline-flex}.chat-records{gap:7px;margin-top:11px;display:grid}.chat-record{background:#f8fbf9;border:1px solid #dce7e1;border-radius:7px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;min-width:min(460px,66vw);padding:9px 10px;display:grid}.chat-record-game{width:32px;height:32px;color:var(--green);background:var(--green-soft);border-radius:6px;place-items:center;font-weight:700;display:grid}.chat-record>span:nth-child(2){gap:2px;min-width:0;display:grid}.chat-record strong{overflow-wrap:anywhere;font-size:12px}.chat-record small{color:var(--muted);font-size:9px}.chat-record-result{color:var(--green);font-size:11px;font-weight:700}.chat-rule-sources{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.chat-source-badge{color:#315c7c;background:#edf4f9;border-radius:5px;align-items:center;gap:5px;padding:4px 7px;font-size:11px;font-weight:600;display:inline-flex}.message-bubble .chat-source-note{color:#62716a;margin:6px 0;font-size:11px;line-height:1.6}.message-bubble.typing .chat-source-note:after{display:none}.chat-rule-sources summary{width:fit-content;min-height:36px;color:var(--green);cursor:pointer;padding:9px 0;font-size:12px}.chat-source-list{gap:6px;margin:2px 0 0;padding:0;list-style:none;display:grid}.chat-source-list a{border:1px solid var(--line);min-height:44px;color:var(--ink);background:#f8fbf9;border-radius:6px;align-items:center;gap:12px;padding:9px 10px;text-decoration:none;display:flex}.chat-source-list a>span:first-child{overflow-wrap:anywhere;flex:1;gap:3px;min-width:0;display:grid}.chat-source-list strong{font-size:12px;font-weight:500;line-height:1.5}.chat-source-list small{color:#62716a;font-size:10px}.chat-source-list svg{color:var(--green);flex-shrink:0}.chat-source-list a:hover{border-color:var(--green);background:var(--green-soft)}.chat-source-list a:focus-visible,.chat-rule-sources summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}.chat-source-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@keyframes caret{50%{opacity:0}}.response-progress{min-height:18px;color:var(--muted);align-items:center;gap:7px;font-size:11px;display:flex}.response-progress svg{color:var(--green)}.response-progress i{background:var(--green);border-radius:50%;width:4px;height:4px;animation:1.15s ease-in-out infinite thinking-dot}.response-progress i:nth-last-child(2){animation-delay:.14s}.response-progress i:last-child{animation-delay:.28s}@keyframes thinking-dot{0%,65%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}.chat-composer{z-index:2;border:1px solid var(--line);background:#fff;border-radius:8px 8px 0 0;flex-shrink:0;grid-template-columns:1fr 42px;align-items:end;gap:8px;width:min(840px,100% - 32px);margin:0 auto;padding:10px;display:grid;position:sticky;bottom:0;box-shadow:0 -8px 24px #1932270f}.chat-composer textarea{resize:none;border:0;outline:0;min-height:40px;max-height:120px;padding:9px 6px;line-height:1.5}.chat-composer button{color:#fff;background:var(--green);cursor:pointer;border:0;border-radius:7px;place-items:center;width:40px;height:40px;display:grid}.chat-composer button:disabled{opacity:.45;cursor:not-allowed}.chat-business-links{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.chat-business-links a{border:1px solid var(--line);max-width:100%;min-height:36px;color:var(--green);background:var(--green-soft);overflow-wrap:anywhere;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.chat-business-links svg{flex-shrink:0}.chat-check-in{border:1px solid var(--line);background:var(--green-soft);border-radius:10px;gap:4px;margin-top:12px;padding:10px 12px;display:grid}.chat-check-in strong{color:var(--green);font-size:13px}.chat-check-in span{color:var(--muted);font-size:11px}.hall-page{max-width:920px}.search-field{border:1px solid var(--line);background:#fff;border-radius:7px;align-items:center;gap:9px;min-height:44px;padding:0 12px;display:flex}.search-field svg{color:var(--muted);flex:none}.search-field input{background:0 0;border:0;outline:0;width:100%}.create-room-button{white-space:nowrap}.hall-room-list{gap:11px}.empty-state{min-height:320px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state h2{color:var(--ink);margin-top:12px;font-size:17px}.empty-state p{margin-top:6px;font-size:12px}.create-room-dialog{--dialog-padding:0;width:min(480px,100% - 28px);color:var(--ink);background:#fff;border:0;border-radius:8px;padding:0;box-shadow:0 24px 80px #09241b47}.create-room-dialog::backdrop{background:#0d1e188c}.create-room-dialog form,.favorites-dialog-content{padding:24px}.favorites-dialog-content .record-list{max-height:360px;margin-top:18px;overflow-y:auto}.favorites-dialog-content .empty-state{min-height:220px}.create-room-dialog header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.create-room-dialog h2{font-size:20px}.create-room-dialog header p{color:var(--muted);margin-top:5px;font-size:11px}.form-columns{grid-template-columns:1fr 1fr;gap:12px;display:grid}.switch-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;justify-content:space-between;align-items:center;min-height:60px;margin-top:18px;padding:10px 0;display:flex}.switch-row span{gap:3px;display:grid}.switch-row strong{font-size:13px}.switch-row small{color:var(--muted);font-size:10px}.switch-row input{opacity:0;pointer-events:none;position:absolute}.switch-row i{color:#0000;background:#ccd5d0;border-radius:12px;align-items:center;width:42px;height:24px;padding:3px;transition:background .2s;display:flex}.switch-row i svg{background:#fff;border-radius:50%;width:18px;height:18px;padding:2px;transition:transform .2s}.switch-row input:checked+i{color:var(--green);background:var(--green)}.switch-row input:checked+i svg{transform:translate(18px)}.dialog-submit{width:100%;margin-top:20px}.room-detail-page{max-width:920px}.room-detail-header{grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:12px;margin-bottom:16px;display:grid}.room-detail-header>div{min-width:0}.room-detail-header span{color:var(--green);font-size:10px;font-weight:800}.room-detail-header h1{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:20px;overflow:hidden}.room-stage{color:#fff;background:#174c39;border-radius:8px;grid-template-columns:minmax(220px,.7fr) minmax(380px,1.3fr);align-items:center;gap:34px;min-height:360px;padding:35px;display:grid;box-shadow:inset 0 0 0 8px #113b2e,inset 0 0 0 10px #ffffff1c}.room-stage[data-game=texas-holdem]{background:#264a59;box-shadow:inset 0 0 0 8px #193944,inset 0 0 0 10px #ffffff1c}.room-stage[data-game=blackjack]{background:#5b3f22;box-shadow:inset 0 0 0 8px #422d18,inset 0 0 0 10px #ffffff1c}.room-stage-copy span{color:#b8e2cf;align-items:center;gap:6px;font-size:10px;font-weight:750;display:inline-flex}.room-stage-copy h2{max-width:290px;margin-top:12px;font-size:27px;line-height:1.22}.room-stage-copy p{color:#ffffffad;margin-top:10px;font-size:11px;line-height:1.7}.seat-ring{background:#05191233;border:2px solid #ffffff38;border-radius:48%;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:12px;min-height:230px;padding:28px 20px;display:grid}.seat-ring article{text-align:center;justify-items:center;gap:5px;min-width:0;display:grid}.seat-ring article>div{color:#183d30;background:#f7f5ec;border:2px solid #ffffffb3;border-radius:50%;place-items:center;width:52px;height:52px;font-size:17px;font-weight:850;display:grid}.seat-ring article.owner>div{border-color:var(--gold);box-shadow:0 0 0 4px #e7b54e2b}.seat-ring article strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;overflow:hidden}.seat-ring article small{color:#ffffff9e;align-items:center;gap:3px;font-size:9px;display:inline-flex}.seat-ring .empty-seat{opacity:.52}.seat-ring .empty-seat>div{color:#fffc;background:0 0;border-style:dashed}.owner-console{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:20px;margin-top:12px;padding:18px;display:grid}.owner-console>div:first-child>span{color:var(--green);font-size:9px;font-weight:800}.owner-console h2{margin-top:4px;font-size:16px}.owner-console p{color:var(--muted);margin-top:5px;font-size:10px}.room-game-options{gap:8px;display:flex}.room-game-options label{color:var(--muted);gap:4px;font-size:9px;display:grid}.room-game-options input{border:1px solid var(--line);border-radius:5px;width:82px;height:34px;padding:0 8px}.room-start-button{min-width:138px}.owner-actions{align-items:center;gap:8px;display:flex}.danger-button{min-height:44px;color:var(--danger);cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d9aaa5;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:0 13px;display:inline-flex}.danger-button:hover{background:#fff6f5}.danger-button:disabled{opacity:.48;cursor:not-allowed}.member-waiting{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:12px;min-height:72px;margin-top:12px;display:flex}.member-waiting>div{gap:4px;display:grid}.member-waiting>button{margin-left:auto;margin-right:16px}.member-waiting strong{font-size:12px}.member-waiting span{color:var(--muted);font-size:10px}.slow-spin{color:var(--green);animation:1.7s linear infinite spin}.play-page{max-width:920px}.play-title{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.play-title span{color:var(--green);font-size:11px;font-weight:750}.play-title h1{margin-top:3px;font-size:21px}.session-setup{border:1px solid var(--line);background:#fff;border-radius:8px;max-width:620px;padding:22px}.session-setup>p:first-child{color:var(--muted);margin-bottom:20px;font-size:11px;line-height:1.7}.session-setup textarea{resize:vertical;min-height:82px}.session-create{width:100%;margin-top:19px}.inline-error{color:var(--danger);background:#fff8f7;border:1px solid #ecc8c4;border-radius:6px;margin:12px 0;padding:9px 11px;font-size:11px}.session-status{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr)) 38px;align-items:center;gap:10px;padding:12px 14px;display:grid}.session-status>div{gap:3px;min-width:0;display:grid}.session-status span{color:var(--muted);font-size:9px}.session-status strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.playing-card-image{aspect-ratio:2/3;object-fit:fill;-webkit-user-select:none;user-select:none;width:auto;display:block}.playing-card-image--table{filter:drop-shadow(0 2px 2px #03130d33);height:60px}.playing-card-image--hand{pointer-events:none;width:48px;height:72px}.playing-card-image--mini{filter:drop-shadow(0 2px 2px #03130d47);width:30px;height:45px}.card-animation--deal{opacity:0;animation:card-deal-in .46s cubic-bezier(.2,.82,.24,1.16) var(--card-delay,0s) forwards}.card-animation--flip{opacity:0;transform-origin:50%;animation:card-flip-in .52s cubic-bezier(.2,.72,.24,1) var(--card-delay,0s) forwards}.card-animation--play{opacity:0;animation:card-play-in .48s cubic-bezier(.18,.78,.22,1.12) var(--card-delay,0s) forwards}@keyframes card-deal-in{0%{opacity:0;transform:translate(90px,-100px)rotate(12deg)scale(.72)}65%{opacity:1;transform:translate(-2px,3px)rotate(-2deg)scale(1.04)}to{opacity:1;transform:none}}@keyframes card-flip-in{0%{opacity:0;transform:perspective(500px)rotateY(90deg)scale(.85)}60%{opacity:1;transform:perspective(500px)rotateY(-8deg)scale(1.04)}to{opacity:1;transform:none}}@keyframes card-play-in{0%{opacity:0;transform:translate(var(--play-x,0),var(--play-y,100px)) rotate(var(--play-rotate,-6deg)) scale(.78)}70%{opacity:1;transform:translateY(-4px)rotate(1deg)scale(1.04)}to{opacity:1;transform:none}}.game-table{color:#fff;background:radial-gradient(#277458 0,#17543e 70%,#103d2d 100%);border:12px solid #50351f;border-radius:46%/20%;min-height:510px;margin-top:14px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 3px #ffffff1f,inset 0 0 70px #00000061,0 18px 35px #281f1433}.game-table:after{content:"";z-index:-1;border-radius:inherit;border:8px solid #b98a55;position:absolute;inset:-8px}.game-table[data-game=texas-holdem]{background:radial-gradient(#376d78 0,#244e59 72%,#173742 100%)}.game-table[data-game=blackjack]{background:radial-gradient(#28735a 0,#164c3c 72%,#0b3328 100%);border-color:#633e20}.felt-pattern{opacity:.16;background-image:radial-gradient(circle,#fff 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000,#0000 78%);mask-image:radial-gradient(#000,#0000 78%)}.table-brand{color:#ffffff29;text-transform:uppercase;letter-spacing:.18em;pointer-events:none;justify-items:center;gap:4px;font-family:Georgia,serif;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.table-brand span{font-size:28px;font-weight:800}.table-brand small{font-size:9px}.table-seat{z-index:4;justify-items:center;gap:5px;transition:filter .2s,transform .2s;display:grid;position:absolute}.table-seat.current .seat-profile{outline:3px solid #f0bf52;animation:1.7s ease-in-out infinite active-seat-pulse;box-shadow:0 0 0 6px #f0bf522e,0 8px 20px #0000004d}.table-seat.current:after{content:"行动中";color:#32240c;background:#f0bf52;border-radius:10px;padding:3px 7px;font-size:8px;font-weight:850}.table-seat.folded{filter:grayscale();opacity:.52}.table-seat.self .seat-profile{background:#fff8dc}.seat-bottom{bottom:12px;left:50%;transform:translate(-50%)}.seat-top{top:12px;left:50%;transform:translate(-50%)}.seat-left{top:50%;left:16px;transform:translateY(-50%)}.seat-right{top:50%;right:16px;transform:translateY(-50%)}.seat-top-left{top:18px;left:18%}.seat-top-right{top:18px;right:18%}.seat-profile{color:#20352c;background:#fffffff0;border:1px solid #ffffffb3;border-radius:12px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:132px;padding:7px 9px;display:grid;box-shadow:0 7px 17px #0000003d}.seat-avatar{color:#fff;background:linear-gradient(145deg,#cb8e42,#8d5525);border-radius:50%;place-items:center;width:36px;height:36px;font-size:14px;font-weight:850;display:grid}.seat-profile>div{gap:2px;min-width:0;display:grid}.seat-profile strong{text-overflow:ellipsis;white-space:nowrap;max-width:72px;font-size:10px;overflow:hidden}.seat-profile small{color:#718078;font-size:8px}.seat-profile b{color:#3e2b11;background:#f2c35d;border-radius:50%;place-items:center;width:20px;height:20px;font-size:9px;display:grid}.role-crown{color:#d49826}.seat-cards{justify-content:center;height:43px;padding-left:12px;display:flex}.seat-cards .playing-card-image{margin-left:-12px}.seat-bet{color:#38250b;background:#f3c961;border-radius:12px;align-items:center;gap:4px;padding:3px 8px;font-size:9px;font-weight:800;animation:.42s cubic-bezier(.18,.8,.22,1.3) chip-drop;display:inline-flex}.table-center{z-index:2;background:#06221824;border:1px solid #ffffff29;border-radius:50%;align-content:center;place-items:center;gap:11px;width:min(52%,480px);min-height:170px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.center-metrics{color:#ffffffa6;gap:20px;font-size:9px;display:flex}.center-metrics b{color:#fff;margin-left:3px;font-size:13px}.played-trick{justify-items:center;gap:7px;display:grid}.played-trick small{color:#d6eadf;font-size:9px}.played-trick>div,.board-cards,.bottom-cards{justify-content:center;align-items:center;display:flex}.played-trick .playing-card-image{margin-left:-13px}.played-trick .playing-card-image:first-child{margin-left:0}.played-trick.play-from-left{--play-x:-170px;--play-y:0;--play-rotate:-10deg}.played-trick.play-from-right{--play-x:170px;--play-y:0;--play-rotate:10deg}.played-trick.play-from-top,.played-trick.play-from-top-left,.played-trick.play-from-top-right{--play-x:0;--play-y:-145px;--play-rotate:7deg}.played-trick.play-from-bottom{--play-x:0;--play-y:145px;--play-rotate:-7deg}.table-action-indicator{z-index:8;color:#fff;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#051d16c2;border:1px solid #ffffff4d;border-radius:18px;align-items:center;gap:7px;padding:7px 12px;font-size:9px;display:inline-flex;position:absolute;bottom:22%;left:50%;transform:translate(-50%);box-shadow:0 7px 18px #0003}.action-flash-enter-active,.action-flash-leave-active{transition:opacity .2s,transform .2s}.action-flash-enter-from,.action-flash-leave-to{opacity:0;transform:translate(-50%,8px)}@keyframes active-seat-pulse{0%,to{box-shadow:0 0 0 5px #f0bf521f,0 8px 20px #0000004d}50%{box-shadow:0 0 0 10px #f0bf523d,0 8px 24px #00000057}}@keyframes chip-drop{0%{opacity:0;transform:translateY(-18px)scale(.55)rotate(-12deg)}70%{transform:translateY(2px)scale(1.08)}to{opacity:1;transform:none}}.empty-table{color:#fff9;justify-items:center;gap:4px;display:grid}.empty-table span{font-family:Georgia,serif;font-size:18px}.empty-table small{font-size:9px}.bottom-cards{gap:3px}.bottom-cards>small{color:#ffffff8c;margin-right:5px;font-size:8px}.pot,.dealer-label{align-items:baseline;gap:8px;display:flex}.pot small,.pot span,.dealer-label small{color:#ffffff9e;font-size:9px}.pot strong{color:#f1c861;font-size:26px}.dealer-label span{font-family:Georgia,serif;font-size:16px}.dealer-label b{font-size:13px}.board-cards{gap:7px}.card-slot{background:#00000014;border:1px dashed #ffffff47;border-radius:5px;width:40px;height:60px}.event-log summary{cursor:pointer;grid-template-columns:1fr auto auto;align-items:center;gap:8px;list-style:none;display:grid}.event-log summary::-webkit-details-marker{display:none}.event-log summary span{color:var(--muted);font-size:9px}.event-log[open] summary svg{transform:rotate(180deg)}.my-hand{border:1px solid var(--line);background:#fff;border-radius:8px;margin-top:12px;padding:14px}.my-hand header>div{justify-content:space-between;align-items:baseline;display:flex}.my-hand header span{font-size:13px;font-weight:750}.my-hand header small{color:var(--muted);font-size:9px}.card-row{flex-wrap:wrap;gap:7px;min-height:78px;margin-top:12px;padding-top:6px;display:flex}.card-row button{cursor:pointer;background:0 0;border:0;border-radius:5px;width:48px;height:72px;padding:0;transition:transform .16s,filter .16s;overflow:visible}.card-row button:hover{transform:translateY(-3px)}.card-row button[aria-pressed=true]{filter:drop-shadow(0 0 4px #1b654be6);outline:2px solid var(--green);outline-offset:1px;transform:translateY(-7px)}.card-row button.static{cursor:default}.card-row button.static:hover{transform:none}.action-bar{border:1px solid var(--line);background:#fff;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;min-height:58px;margin-top:12px;padding:10px;display:flex}.action-bar button{color:#fff;background:var(--green);cursor:pointer;border:0;border-radius:6px;min-height:36px;padding:0 14px}.action-bar button:disabled{opacity:.4;cursor:not-allowed}.action-bar label{color:var(--muted);align-items:center;gap:6px;font-size:10px;display:inline-flex}.action-bar input{border:1px solid var(--line);border-radius:5px;width:92px;height:36px;padding:0 8px}.action-bar>span{color:var(--muted);align-items:center;gap:6px;font-size:11px;display:inline-flex}.final-ranking{border:1px solid var(--line);background:#fff;border-radius:8px;margin-top:12px;padding:14px}.final-ranking header{color:var(--green);align-items:center;gap:9px;display:flex}.final-ranking header div{gap:2px;display:grid}.final-ranking header strong{color:var(--ink);font-size:13px}.final-ranking header span{color:var(--muted);font-size:9px}.final-ranking ol{gap:6px;margin:12px 0 0;padding:0;list-style:none;display:grid}.final-ranking li{border:1px solid var(--line);border-radius:6px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:34px;padding:0 9px;display:grid}.final-ranking li b{color:#fff;background:var(--green);border-radius:50%;place-items:center;width:22px;height:22px;font-size:10px;display:grid}.final-ranking li span{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.final-ranking li small{color:var(--muted);font-size:9px}.event-log{border:1px solid var(--line);background:#fff;border-radius:8px;margin-top:12px;padding:15px}.event-log>strong{font-size:12px}.event-log ol{max-height:190px;margin-top:9px;list-style:none;overflow:auto}.event-log li{border-top:1px solid var(--line);color:var(--muted);padding:7px 0;font-size:10px}.friends-page{max-width:860px}.friend-search{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:20px minmax(0,1fr) 40px auto;align-items:center;gap:8px;padding:8px 8px 8px 14px;display:grid}.friend-search>svg{color:var(--muted)}.friend-search input{min-width:0;height:40px;color:var(--ink);background:0 0;border:0;outline:0}.friend-search .primary-button{grid-column:4;min-height:40px}.friend-tabs{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;margin:24px 0 18px;display:grid}.friend-tabs button{height:45px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000}.friend-tabs button[aria-selected=true]{border-bottom-color:var(--green);color:var(--green);font-weight:750}.friend-tabs span{color:#fff;background:var(--coral);border-radius:9px;place-items:center;min-width:18px;height:18px;margin-left:4px;font-size:9px;display:inline-grid}.friend-panel{margin-top:24px}.friend-panel>header{justify-content:space-between;align-items:end;margin-bottom:13px;display:flex}.friend-panel h1{font-size:20px}.friend-panel header p{color:var(--muted);margin-top:4px;font-size:11px}.friend-list{gap:9px;display:grid}.friend-list article{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:76px;padding:12px 14px;display:grid}.friend-avatar{width:44px;height:44px;color:var(--green);background:var(--green-soft);border-radius:8px;place-items:center;font-size:16px;font-weight:800;display:grid}.friend-copy{gap:3px;min-width:0;display:grid}.friend-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.friend-copy span,.friend-copy small{color:var(--muted);font-size:9px}.friend-relation{color:var(--muted);white-space:nowrap;background:#edf1ef;border-radius:5px;padding:5px 8px;font-size:10px}.friend-relation[data-status=REQUEST_RECEIVED]{color:var(--coral);background:var(--coral-soft)}.friend-relation[data-status=FRIEND]{color:var(--green);background:var(--green-soft)}.friend-delete{color:var(--muted)}.friend-delete:hover,.friend-request-actions .reject:hover{color:var(--danger);background:#fbeceb}.friend-request-actions{gap:6px;display:flex}.friend-request-actions .reject{border:1px solid var(--line);color:var(--muted)}.friend-request-actions .accept{color:#fff;background:var(--green)}.friend-request-actions .accept:hover{color:#fff;background:var(--green-dark)}.friend-empty{min-height:220px;color:var(--muted);text-align:center;border:1px dashed #b9c7bf;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex}.friend-empty strong{color:var(--ink);font-size:14px}.friend-empty p{font-size:10px}.profile-page{max-width:900px}.profile-title{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.profile-title>span{font-size:20px;font-weight:800}.profile-identity{color:#fff;background:var(--green-dark);border-radius:8px;grid-template-columns:72px 1fr 40px;align-items:center;gap:16px;padding:22px;display:grid}.identity-copy h1{font-size:21px}.identity-copy p{color:#ffffffa6;margin-top:4px;font-size:11px}.identity-copy span{color:#7b530d;background:var(--gold-soft);border-radius:4px;margin-top:9px;padding:4px 7px;font-size:10px;font-weight:750;display:inline-block}.level-progress{gap:5px;width:min(360px,100%);margin-top:10px;display:grid}.level-progress progress{width:100%;height:6px;accent-color:var(--gold);background:#fff3;border:0;border-radius:3px;overflow:hidden}.level-progress progress::-webkit-progress-bar{background:#fff3}.level-progress progress::-webkit-progress-value{background:var(--gold)}.level-progress progress::-moz-progress-bar{background:var(--gold)}.level-progress small{color:#ffffffb8;font-size:9px}.profile-identity>button{color:#fff;cursor:pointer;background:0 0;border:0;width:38px;height:38px}.profile-identity>.profile-edit{border-radius:8px;justify-self:end;place-items:center;display:grid}.profile-identity>.profile-edit:hover{background:#ffffff20}.profile-identity>.profile-edit:focus-visible{outline-offset:2px;outline:2px solid #fff}.profile-stats{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:repeat(3,1fr);margin-top:12px;padding:18px 0;display:grid}.profile-stats div{text-align:center;border-right:1px solid var(--line);gap:4px;display:grid}.profile-stats div:last-child{border-right:0}.profile-stats strong{font-size:21px}.profile-stats span{color:var(--muted);font-size:10px}.profile-section{border:1px solid var(--line);background:#fff;border-radius:8px;padding:18px}.record-list{display:grid}.record-list article{border-top:1px solid var(--line);grid-template-columns:38px 1fr auto;align-items:center;gap:11px;min-height:62px;display:grid}.record-game{width:36px;height:36px;color:var(--blue);background:var(--blue-soft);border-radius:7px;place-items:center;font-weight:800;display:grid}.record-list article div{gap:4px;display:grid}.record-list strong{font-size:12px}.record-list small{color:var(--muted);font-size:9px}.record-result{color:var(--muted);font-size:11px}.record-result.win{color:var(--green);font-weight:750}.achievement-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.achievement-grid article{border:1px solid var(--line);text-align:center;border-radius:7px;justify-items:center;gap:5px;min-width:0;padding:15px 8px;display:grid}.achievement-grid article>span{width:38px;height:38px;color:var(--gold);background:var(--gold-soft);border-radius:8px;place-items:center;display:grid}.achievement-grid strong{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:11px;overflow:hidden}.achievement-grid small{color:var(--muted);font-size:9px;line-height:1.4}.achievement-grid article.locked{opacity:.42;filter:grayscale()}.profile-menu{border:1px solid var(--line);background:#fff;border-radius:8px;margin-top:28px}.profile-menu :is(button,a){border:0;border-bottom:1px solid var(--line);cursor:pointer;background:0 0;justify-content:space-between;align-items:center;width:100%;min-height:52px;padding:0 15px;display:flex}.profile-menu :is(button,a):last-child{border-bottom:0}.profile-menu :is(button,a)>span{align-items:center;gap:10px;font-size:12px;display:inline-flex}.profile-menu svg{color:var(--muted)}.logout-button{width:100%;min-height:44px;color:var(--danger);cursor:pointer;background:#fff;border:1px solid #ecc8c4;border-radius:7px;justify-content:center;align-items:center;gap:8px;margin-top:13px;display:flex}.toast{z-index:120;top:calc(18px + env(safe-area-inset-top));border:1px solid #b7d8ca;border-left:4px solid var(--green);width:min(430px,100% - 28px);min-height:68px;color:var(--ink);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffffa;border-radius:8px;align-items:center;gap:12px;padding:11px 44px 11px 12px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 18px 48px #142d2333,0 3px 10px #142d231a}.toast__icon{color:#fff;background:var(--green);border-radius:50%;flex:0 0 38px;place-items:center;width:38px;height:38px;display:grid}.toast__copy{text-align:left;gap:3px;min-width:0;display:grid}.toast__copy strong{font-size:13px;line-height:1.25}.toast__copy>span{color:#52615a;overflow-wrap:anywhere;font-size:12px;line-height:1.45}.toast__close{width:30px;height:30px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.toast__close:hover{color:var(--ink);background:#edf2ef}.toast--info{border-color:#bfd5e7;border-left-color:var(--blue)}.toast--info .toast__icon{background:var(--blue)}.toast--warning{border-color:#e8d29e;border-left-color:var(--gold)}.toast--warning .toast__icon{background:var(--gold)}.toast--error{border-color:#e9bbb6;border-left-color:var(--danger)}.toast--error .toast__icon{background:var(--danger)}.toast-enter-active{transition:opacity .22s ease-out,transform .28s cubic-bezier(.2,.8,.2,1)}.toast-leave-active{transition:opacity .16s ease-in,transform .16s ease-in}.toast-enter-from{opacity:0;transform:translate(-50%,-18px)scale(.97)}.toast-leave-to{opacity:0;transform:translate(-50%,-8px)scale(.98)}@media (width>=900px){.app-layout{grid-template-columns:230px minmax(0,1fr);display:grid}.mobile-bottom-nav{display:none}}@media (width<=899px){.page{padding:20px 16px 88px}.login-page{grid-template-columns:1fr}.login-visual{display:none}.login-panel{align-items:center;min-height:100vh;padding:28px 22px}.login-form-wrap{width:min(420px,100%)}.login-heading{margin-top:42px}.featured-banner{height:260px}.featured-overlay{bottom:22px;left:22px}.featured-overlay h2{font-size:23px}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-split{grid-template-columns:1fr;gap:0}.game-detail-layout{grid-template-columns:1fr;gap:32px}.toast{top:calc(14px + env(safe-area-inset-top))}}@media (prefers-reduced-motion:reduce){.toast-enter-active,.toast-leave-active{transition:opacity .12s}}@media (width<=600px){.home-header h1{font-size:21px}.featured-banner{height:230px}.featured-overlay h2{font-size:20px}.quick-actions{grid-template-columns:1fr}.game-detail-page{padding-top:16px}.game-detail-hero{height:330px}.game-detail-hero:after{background:#081f1894}.game-detail-overlay{width:auto;bottom:22px;left:20px;right:20px}.game-detail-overlay h1{font-size:28px}.game-detail-overlay p{font-size:12px}.game-detail-actions{margin-top:16px}.game-facts{grid-template-columns:1fr 1fr;gap:0;padding:5px 0}.game-facts>div{justify-content:flex-start;min-height:62px;padding:0 14px}.game-facts>div:nth-child(2){border-right:0}.game-facts>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.game-detail-layout{margin-top:28px}.game-grid{scroll-snap-type:x mandatory;gap:11px;margin-right:-16px;padding-right:16px;display:flex;overflow-x:auto}.game-card{scroll-snap-align:start;flex:0 0 74%}.club-pulse{padding:14px 7px}.club-pulse>div{gap:6px}.club-pulse svg{display:none}.club-pulse strong{font-size:15px}.club-pulse small{font-size:8px}.suggestion-list{grid-template-columns:1fr}.chat-messages{padding:18px 13px}.message-bubble{max-width:92%}.chat-recommendation{grid-template-columns:minmax(0,1fr) 18px;min-width:0}.chat-recommendation-meta{flex-wrap:wrap;grid-area:2/1/auto/-1}.chat-record{min-width:0}.chat-composer{border-left:0;border-right:0;border-radius:0;width:100%}.create-room-button{width:100%}.room-item{grid-template-columns:42px minmax(0,1fr) auto;gap:9px;padding:11px 9px}.room-symbol{width:40px;height:40px}.room-tags{max-width:150px;overflow:hidden}.room-action button{min-width:52px}.form-columns{grid-template-columns:1fr;gap:0}.room-stage{grid-template-columns:1fr;gap:24px;min-height:0;padding:26px 18px}.room-stage-copy h2{font-size:22px}.seat-ring{min-height:190px;padding:22px 10px}.seat-ring article>div{width:44px;height:44px}.owner-console{grid-template-columns:1fr;align-items:stretch}.room-game-options{grid-template-columns:repeat(3,1fr);display:grid}.room-game-options input{width:100%}.room-start-button{grid-column:1/-1;width:100%}.owner-actions{grid-template-columns:1fr 1.35fr;display:grid}.session-status{grid-template-columns:1fr 1fr 1fr 34px;padding:10px}.play-page{padding-left:8px;padding-right:8px}.play-title,.session-status,.my-hand,.action-bar,.final-ranking,.event-log{margin-left:8px;margin-right:8px}.game-table{border-width:7px;border-radius:34%/13%;min-height:540px}.table-center{width:62%;min-height:160px}.seat-profile{grid-template-columns:30px minmax(0,1fr) auto;gap:5px;min-width:104px;padding:5px 6px}.seat-avatar{width:28px;height:28px;font-size:11px}.seat-profile strong{max-width:55px}.seat-left{left:3px}.seat-right{right:3px}.seat-top-left{left:6%}.seat-top-right{right:6%}.played-trick .playing-card-image--table,.board-cards .playing-card-image--table{height:50px}.card-slot{width:33px;height:50px}.my-hand{overflow:hidden}.card-row{flex-wrap:nowrap;padding:10px 8px 12px;overflow-x:auto}.card-row button{flex:0 0 42px;width:42px}.playing-card-image--hand{width:42px;height:63px}.event-item{grid-template-columns:42px minmax(0,1fr);align-items:start;padding:12px}.event-date-mark{width:40px;height:40px}.event-action{grid-column:2;grid-template-columns:1fr auto;place-items:center start}.event-action button{justify-self:end}.event-copy small{margin:4px 0 0;display:flex}.friend-search{grid-template-columns:20px minmax(0,1fr) 34px;padding-right:8px}.friend-search .primary-button{grid-column:1/-1;width:100%}.friend-list article{grid-template-columns:42px minmax(0,1fr) auto;gap:9px;padding:11px 10px}.friend-avatar{width:40px;height:40px}.friend-list .secondary-button{min-height:36px;padding:0 10px;font-size:11px}.profile-identity{grid-template-columns:62px 1fr 32px;padding:17px 14px}.avatar-large{width:62px;height:62px}.achievement-grid{gap:6px}.achievement-grid article{padding:12px 4px}.record-result{text-align:right;max-width:90px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.avatar img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.forum-back{color:var(--green);align-items:center;gap:8px;margin-bottom:23px;font-size:12px;display:inline-flex}.forum-article{padding:30px 34px}.forum-article-labels{gap:8px;display:flex}.forum-article h1{overflow-wrap:anywhere;letter-spacing:-.3px;margin:13px 0 22px;font-size:27px;line-height:1.55}.forum-author{align-items:center;gap:11px;display:flex}.forum-author strong{font-size:13px}.forum-author small{color:#8d9a90;margin-top:4px;font-size:12px;line-height:1.6;display:block}.forum-article>.forum-author{border-bottom:1px solid var(--line);margin-bottom:26px;padding-bottom:23px}.forum-article-actions{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;margin-top:28px;padding-top:24px;display:flex}.forum-article-actions .secondary-button{font-size:12px}.forum-article-actions .selected{background:var(--green-soft);color:var(--green);border-color:#b7d4c6}.forum-owner-actions{color:#8a988f;align-items:center;gap:17px;margin-left:auto;display:flex}.forum-owner-actions button{color:#b5796b;cursor:pointer;background:0 0;border:0;padding:5px}.forum-comments{margin-top:20px;padding:26px 30px}.forum-comments>header{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.forum-comments h2{font-size:18px}.forum-comments h2 small{color:#94a096;margin-left:6px;font-size:13px;font-weight:400}.forum-comments header>span{color:#98a298;font-size:12px}.forum-comment{border-bottom:1px solid #edf1ee;gap:12px;padding:23px 0;display:flex}.forum-comment>div{flex:1;min-width:0}.forum-comment-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.forum-comment-meta strong{font-size:12px}.forum-comment-meta time{color:#98a49b;font-size:12px}.forum-comment p{white-space:pre-wrap;overflow-wrap:anywhere;color:#56675c;margin:9px 0;font-size:13px;line-height:1.9}.forum-comment-tools{gap:15px;display:flex}.forum-comment-tools button{color:var(--green);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px}.forum-reply-reference{color:#789080;background:#f3f6f3;border-radius:6px;align-items:center;gap:10px;margin:10px 0;padding:9px 12px;font-size:12px;display:flex}.forum-reply-reference button{cursor:pointer;color:inherit;background:0 0;border:0}.forum-compose{margin-top:24px}.forum-compose label{margin-bottom:12px;font-size:14px;font-weight:600;display:block}.forum-compose textarea{border:1px solid var(--line);resize:vertical;background:#f8faf8;border-radius:8px;width:100%;min-height:115px;padding:14px;font-size:13px;line-height:1.7}.forum-compose-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:12px;display:flex}.forum-compose-footer>span{color:#8e9b91;font-size:12px}.forum-compose-footer small{margin-top:5px;font-size:12px;display:block}.forum-compose-footer button{flex-shrink:0;font-size:12px}.forum-muted{color:var(--muted);font-size:12px;line-height:1.8}.forum-error{color:var(--danger);background:#fcf0ed;border-radius:7px;margin:12px 0;padding:12px;font-size:12px;line-height:1.7}.forum-home-entry{color:var(--green);background:#edf5ef;border:1px solid #dbe8de;border-radius:12px;align-items:center;gap:14px;margin-top:18px;padding:20px 24px;display:flex}.forum-home-entry>span{background:#dcebe1;border-radius:11px;place-items:center;width:42px;height:42px;display:grid}.forum-home-entry strong{font-size:15px;display:block}.forum-home-entry small{color:#7e9586;margin-top:5px;font-size:12px;display:block}.forum-home-entry>svg{margin-left:auto}.forum-report-dialog{border:1px solid var(--line);--dialog-padding:26px;width:90%;max-width:460px;color:var(--ink);border-radius:14px;padding:0}.forum-report-dialog::backdrop{background:#122b2260}.forum-report-dialog label{margin:18px 0 8px;font-size:13px;display:block}.forum-report-dialog textarea{border:1px solid var(--line);resize:vertical;border-radius:8px;width:100%;min-height:130px;padding:12px}.forum-report-dialog form>div{justify-content:flex-end;gap:12px;margin-top:18px;display:flex}.forum-report-dialog p{color:var(--danger);margin-top:12px;font-size:12px}.forum-list-toolbar{flex-wrap:wrap}.forum-layout-shell .app-main{--scene-height:56.3vw;background-color:var(--page);background-image:linear-gradient(transparent 65%, var(--page)), url(/club/forest-community.png);background-position:top;background-size:100% var(--scene-height), 100% auto;background-repeat:no-repeat;min-height:100vh}.forum-layout-shell .forum-back,.forum-layout-shell .compose-heading,.forum-layout-shell .compose-heading h1,.forum-layout-shell .compose-heading p{color:var(--page)}@media (width>=900px){.forum-layout-shell .app-main{--scene-height:calc((100vw - 230px) * .563)}}.forum-page{--forum-paper:#fff8ed;width:min(1420px,100%);max-width:1420px;padding:30px 32px 60px}.forum-heading{min-height:100px;color:var(--page);align-items:center;gap:18px;margin-bottom:26px;display:flex}.forum-heading>div{min-width:0}.forum-heading-mark{color:var(--accent);flex-shrink:0}.forum-eyebrow{color:var(--accent);letter-spacing:2.5px;margin-bottom:3px;font-size:12px;font-weight:750;display:block}.forum-heading h1{font-size:32px;font-weight:800;line-height:1.4}.forum-heading p{color:var(--page);margin-top:3px;font-size:14px}.forum-heading .primary-button{color:var(--primary-dark);background:var(--accent);border:1px solid var(--accent-dark);border-radius:10px;flex-shrink:0;min-height:44px;margin-left:auto;padding:0 22px;font-size:14px}.forum-heading .primary-button:hover{background:var(--page)}.forum-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:26px;display:grid}.forum-main-column{min-width:0}.forum-panel,.forum-overview{background:var(--forum-paper);border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:0 5px 18px #402b120a}.forum-overview{background:linear-gradient(120deg,#fff8ed,#f6ebd8);grid-template-columns:minmax(160px,1fr) minmax(0,1.2fr);gap:12px 18px;margin-bottom:12px;padding:16px 20px;display:grid}.forum-overview-heading{align-items:center;gap:10px;min-width:0;display:flex}.forum-community-mark{background:var(--primary);width:36px;height:36px;color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-dark);border-radius:9px;flex-shrink:0;place-items:center;display:grid}.forum-community-mark svg{width:21px;height:21px}.forum-overview h2{font-size:17px;line-height:1.5}.forum-overview p{color:var(--text-secondary);margin-top:2px;font-size:11px}.forum-members{display:none}.forum-avatar{background:var(--primary-light);width:36px;height:36px;color:var(--primary-dark);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex;overflow:hidden}.forum-avatar img{object-fit:cover;width:100%;height:100%}.forum-members .forum-avatar{border:3px solid var(--forum-paper);background:var(--gold-soft);width:40px;height:40px;margin-left:-8px}.forum-metrics{grid-template-columns:repeat(3,1fr);align-self:center;margin:0;display:grid}.forum-metrics>div{border-right:1px solid var(--border);grid-template-columns:auto;justify-content:center;align-items:center;gap:2px;display:grid}.forum-metrics>div:last-child{border:0}.forum-metrics svg{display:none}.forum-metrics strong{font-size:22px;line-height:1.2}.forum-metrics span{color:var(--text-secondary);font-size:11px}.forum-hot-topics{border-top:1px solid var(--border);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:6px;padding-top:10px;font-size:13px;display:flex}.forum-hot-topics button{color:var(--ink);background:var(--forum-paper);cursor:pointer;border:1px solid #d9b87947;border-radius:24px;padding:3px 10px;font-size:11px;font-weight:650}.forum-hot-topics button:hover{background:var(--accent)}.forum-hot-topics small{color:var(--muted);margin-left:7px}.forum-search{background:var(--forum-paper);color:var(--muted);border:7px solid #d9b87924;border-radius:12px;align-items:center;gap:12px;padding:2px 6px 2px 12px;display:flex}.forum-search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:14px}.forum-search:focus-within{box-shadow:0 0 0 2px var(--accent-dark)}.forum-search button{background:var(--primary);color:var(--page);cursor:pointer;border:0;border-radius:24px;padding:8px 25px;font-weight:650}.forum-search-hint{color:var(--ink);margin:6px 12px 10px;font-size:12px}.forum-tabs{flex-wrap:wrap;gap:5px;margin:0 0 12px;display:flex}.forum-tabs button{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;align-items:center;gap:7px;padding:9px 15px;font-size:14px;font-weight:650;display:inline-flex}.forum-tabs button svg{color:var(--primary)}.forum-tabs button.active{background:var(--primary);color:var(--page);border-color:var(--accent-dark)}.forum-tabs button.active svg{color:var(--accent)}.forum-tabs button:hover:not(.active){background:var(--gold-soft)}.forum-list-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:18px 26px;font-size:13px;display:flex}.forum-list-toolbar>div{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.forum-list-toolbar button{cursor:pointer;background:0 0;border:0;border-radius:16px;align-items:center;gap:5px;padding:4px 8px;font-size:13px;display:inline-flex}.forum-list-toolbar button.active{background:var(--gold-soft);color:var(--primary-dark);font-weight:700}.forum-post-card{border-bottom:1px solid var(--border);margin:0 28px;padding:21px 0;display:block}.forum-post-card:hover h2{color:var(--primary)}.forum-post-meta{flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:7px;font-size:13px;display:flex}.forum-post-meta .forum-avatar{width:30px;height:30px;font-size:13px}.forum-post-meta time{color:var(--muted)}.forum-post-meta>.forum-badge{background:var(--primary-light);color:var(--primary-dark);border-radius:20px;margin-left:auto;padding:4px 14px}.forum-badge{background:var(--primary-light);color:var(--primary-dark);vertical-align:middle;border-radius:5px;padding:2px 7px;font-size:12px;font-weight:600;line-height:1.5;display:inline-block}.forum-badge.green{background:var(--primary);color:var(--page)}.forum-badge.gold{background:var(--accent);color:var(--primary-dark)}.forum-post-card h2{overflow-wrap:anywhere;margin-bottom:5px;font-size:20px;line-height:1.6}.forum-excerpt{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:14px;line-height:1.8;display:-webkit-box;overflow:hidden}.forum-post-bottom{justify-content:space-between;align-items:center;gap:14px;margin-top:18px;display:flex}.forum-tags{overflow-wrap:anywhere;flex-wrap:wrap;gap:10px;font-size:13px;display:flex}.forum-stats{color:var(--primary);flex-shrink:0;align-items:center;gap:18px;font-size:13px;display:flex}.forum-stats span{align-items:center;gap:7px;display:inline-flex}.forum-stats svg{width:18px;height:18px}.forum-empty{text-align:center;color:var(--muted);padding:40px 22px}.forum-empty h2{color:var(--ink);margin:12px 0;font-size:18px}.forum-empty p{margin-bottom:18px}.forum-pagination{justify-content:center;align-items:center;gap:16px;padding:22px;font-size:13px;display:flex}.forum-side-panel{margin-bottom:18px;padding:25px 28px}.forum-side-panel h3{align-items:center;gap:10px;margin-bottom:15px;font-size:18px;line-height:1.5;display:flex}.forum-side-panel h3 svg{color:var(--primary);flex-shrink:0}.forum-side-panel p{font-size:14px;line-height:1.9}.forum-scene-detail{background:url(/club/forest-community.png) 86% 29%/210%;border-radius:13px;height:120px;margin:16px 0}.forum-club-promises{margin:0;padding:0;font-size:13px;list-style:none}.forum-club-promises li{align-items:baseline;gap:8px;margin-top:5px;display:flex}.forum-club-promises svg{color:var(--primary);flex-shrink:0;align-self:center}.forum-library-art{aspect-ratio:1.9;object-fit:cover;object-position:center 70%;width:calc(100% + 56px);max-width:none;margin:14px -28px -25px}.forum-signature{color:var(--ink);text-align:center;font-size:12px}@media (width<=1100px){.forum-layout{grid-template-columns:minmax(0,1fr) 240px;gap:20px}.forum-side-panel{padding:22px}.forum-library-art{width:calc(100% + 44px);margin:14px -22px -22px}.forum-overview{padding:14px 16px}.forum-heading-mark{display:none}}@media (width<=850px){.forum-layout-shell .app-main{background-position:60% 0;background-size:100% 700px,auto 700px}.forum-layout{grid-template-columns:1fr}.forum-sidebar{display:none}.forum-heading{min-height:130px}.forum-heading>div{background:#104b39b8;border-radius:12px;min-width:0;padding:10px}.forum-heading p{max-width:360px}}@media (width<=520px){.forum-page{padding:18px 14px 40px}.forum-heading{flex-wrap:wrap;gap:16px;margin-bottom:24px}.forum-heading>div{flex-basis:100%}.forum-heading h1{font-size:28px}.forum-heading .primary-button{min-height:38px;margin-left:6px;font-size:14px}.forum-overview{grid-template-columns:110px minmax(0,1fr);gap:10px;padding:12px}.forum-overview-heading{gap:7px}.forum-community-mark{border-radius:8px;width:28px;height:28px}.forum-overview h2{font-size:15px}.forum-overview-heading p,.forum-members .forum-avatar:nth-child(n+2){display:none}.forum-metrics>div{text-align:center;grid-template-columns:1fr;gap:3px}.forum-metrics svg{display:none}.forum-metrics strong{font-size:18px}.forum-metrics span{font-size:10px}.forum-hot-topics{gap:6px}.forum-hot-topics>span{font-size:11px}.forum-hot-topics button{padding:3px 7px;font-size:10px}.forum-search{gap:6px;padding-left:6px}.forum-search input{font-size:12px}.forum-search button{padding:8px 14px}.forum-search-hint{line-height:1.7}.forum-tabs button{padding:8px 10px;font-size:13px}.forum-list-toolbar{padding:16px}.forum-list-toolbar>div{gap:3px}.forum-post-card{margin:0 17px}.forum-post-meta{font-size:12px}.forum-post-meta>.forum-badge{padding:3px 8px}.forum-post-card h2{font-size:18px}.forum-article,.forum-comments{padding:22px 19px}.forum-article h1{font-size:24px}}body{font-variant-numeric:tabular-nums;font-size:14px;line-height:1.6}.app-main{isolation:isolate;background:linear-gradient(90deg, transparent 50%, #f4ebdd73), radial-gradient(ellipse at 90% 0, #d9b8791f, transparent 44%), color-mix(in srgb, var(--page) 65%, var(--surface));position:relative}.profile-page,.account-page,.chat-page,.rating-page{isolation:isolate;position:relative}.profile-page:before,.account-page:before,.chat-layout-shell>.app-main:before,.rating-page:before{content:"";z-index:-1;aspect-ratio:3/2;opacity:.75;-webkit-mask-composite:source-in;pointer-events:none;background:url(/club/club-library.png) 100% 0/cover no-repeat;width:min(420px,65%);position:absolute;top:0;right:0;-webkit-mask-image:radial-gradient(100% 100% at 100% 0,#000 8%,#000000d9 28%,#00000059 55%,#0000 78%),linear-gradient(270deg,#0000,#000 8%);mask-image:radial-gradient(100% 100% at 100% 0,#000 8%,#000000d9 28%,#00000059 55%,#0000 78%),linear-gradient(270deg,#0000,#000 8%);-webkit-mask-composite:source-in;mask-composite:intersect}.chat-layout-shell>.app-main:before{max-height:calc(100% - 42px);top:42px}.page{padding-top:32px}.page h1{letter-spacing:-.6px;font-size:clamp(26px,2.4vw,32px);line-height:1.35}.section-header h2{font-size:21px}.section-header p,.home-header>div>span{color:var(--muted);font-size:13px}.primary-button,.secondary-button,.field-input,.suggestion-list button{border-radius:10px}.primary-button{box-shadow:0 3px 8px #104b391a}.secondary-button:hover,.icon-button:hover{background:var(--green-soft)}button,a{transition:background-color .18s,border-color .18s,box-shadow .18s}:is(button,a,input,textarea,select):focus-visible{outline:3px solid var(--accent-dark);outline-offset:3px}.brand-mark{width:42px;height:42px;color:var(--accent);border-radius:12px;box-shadow:inset 0 0 0 1px #d9b87973}.brand-lockup small{letter-spacing:1.7px;color:var(--accent-dark);font-size:10px}.game-card,.room-item,.quick-action,.event-item,.membership-panel,.game-facts{border-color:var(--line);box-shadow:var(--shadow-card);border-radius:16px}.game-card:hover{box-shadow:var(--shadow-raised);transform:translateY(-3px)}.game-cover{filter:saturate(.82)sepia(.08)}.game-card-body{padding:17px}.game-title-row h3{font-size:17px}.game-card-body>p,.game-meta{font-size:12px}.score{background:var(--gold-soft);color:var(--ink);border:1px solid var(--accent);border-radius:8px}.game-detail-hero,.featured-banner{box-shadow:var(--shadow-raised);border-radius:20px}.featured-banner{background:var(--green-dark) url(/club/table.svg) center / cover;height:260px}.featured-banner>img{object-position:center 30%;filter:saturate(.85)}.featured-banner:after{background:linear-gradient(90deg,#104b39e6,#104b3959 65%,#104b391a)}.featured-overlay{max-width:calc(100% - 64px);bottom:34px;left:36px}.featured-overlay>span{color:var(--accent);letter-spacing:2px;font-size:11px}.featured-overlay h2{margin:12px 0 20px;font-size:clamp(25px,2.8vw,34px);font-weight:750;line-height:1.5}.featured-overlay button{background:var(--accent);color:var(--primary-dark);border-radius:10px;min-height:44px;padding:0 18px}.featured-overlay button:hover{background:var(--background)}.announcement{background:var(--gold-soft);color:var(--ink);border:1px solid var(--accent);border-radius:10px}.announcement>svg{color:var(--secondary)}.quick-action{min-height:94px;padding:20px}.quick-action>span{border-radius:12px}.quick-action strong{font-size:16px}.quick-action small{font-size:12px}.club-pulse{background:var(--primary-dark);border:1px solid var(--accent-dark);border-radius:16px}.room-symbol{background:var(--green-soft);color:var(--primary);border-radius:12px}.room-symbol[data-game=blackjack]{color:var(--accent-dark);background:var(--gold-soft)}.game-rooms-empty:before,.friend-empty:before{content:"";background:url(/club/pieces.svg) 50%/contain no-repeat;width:120px;height:88px;margin:0 auto 12px;display:block}.game-rooms-empty,.friend-empty{border-color:var(--accent);background:var(--surface);border-radius:16px;padding:26px}.game-rooms-empty p,.friend-empty p{font-size:12px}.chat-page{background:0 0}.club-assistant{object-fit:contain;width:144px;height:120px;margin:0 auto 16px}.suggestion-area h1{font-size:clamp(26px,3vw,30px)}.suggestion-area>p{font-size:14px}.suggestion-list{gap:12px;margin-top:24px}.suggestion-list button{min-height:52px;box-shadow:var(--shadow-card);padding:13px 17px;font-size:13px}.message-bubble{border-color:var(--line);box-shadow:var(--shadow-card);border-radius:14px}.message-bubble p{font-size:14px}.chat-composer{border-color:var(--line);background:var(--surface)}.chat-source-badge{color:var(--primary);background:var(--primary-light)}.game-table,.game-table[data-game]{background:radial-gradient(ellipse at center, var(--primary), var(--primary-dark));border-color:var(--accent-dark);box-shadow:0 0 0 3px var(--primary-dark), 0 0 0 9px var(--accent), 0 15px 30px #29352f21}.room-detail-page{background-image:repeating-linear-gradient(2deg,#0000 0 26px,#b58b4308 27px 28px)}.membership-card{background:linear-gradient(120deg, var(--primary-dark), var(--primary));border:1px solid var(--accent-dark);border-radius:20px}.membership-emblem{color:var(--accent)}.login-page,.login-panel{background:var(--page)}.login-visual>img{filter:saturate(.75)sepia(.16)}.app-main .compose-paper,.app-main .compose-settings,.app-main .compose-footer{border-color:var(--border);box-shadow:var(--shadow-card)}.app-main .compose-heading h1,.app-main .compose-title input{color:var(--ink)}.app-main .compose-symbol,.app-main .compose-tips{background:var(--primary-light);color:var(--primary)}.app-main .compose-categories button.selected,.app-main .compose-actions .primary-button{background:var(--primary);border-color:var(--primary)}.app-main .compose-field input,.app-main .compose-field select,.app-main .compose-title{border-color:var(--border);background:var(--surface)}@media (width<=600px){.featured-banner{height:260px}.featured-overlay{max-width:calc(100% - 44px);bottom:24px;left:22px}.featured-overlay>span{letter-spacing:1px;font-size:10px}.quick-action{padding:14px}.suggestion-list{grid-template-columns:1fr}.club-assistant{width:120px;height:100px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}.game-card:hover{transform:none}}.app-main .workspace-main .room-stage{background:radial-gradient(ellipse at 50% 30%, var(--primary), var(--primary-dark));border:6px solid var(--accent-dark);box-shadow:inset 0 0 0 2px var(--accent), var(--shadow-raised);border-radius:20px}.app-main .workspace-main .owner-console,.app-main .workspace-main .room-detail-header{border-color:var(--border)}.app-main .compose-heading p,.app-main .compose-field p,.app-main .compose-tips p{color:var(--muted);font-size:12px}.profile-identity{color:var(--surface);background:linear-gradient(90deg, var(--primary-dark) 42%, #104b3980), url(/club/forest-community.png) right 30% / cover;border-radius:16px;padding:28px}.profile-identity .identity-copy h1,.profile-identity .identity-copy h2,.profile-identity .identity-copy strong{color:var(--surface)}.profile-identity .identity-copy p,.profile-identity .identity-copy small,.profile-identity .level-progress{color:var(--primary-light)}.profile-identity .profile-edit{color:var(--accent)}.profile-stats,.profile-menu,.record-list{background:color-mix(in srgb, var(--background) 20%, var(--surface));border-color:var(--border);border-radius:14px}@media (width<=600px){.profile-identity{padding:20px 16px}.profile-page:before,.account-page:before{display:none}}@media (width<=899px){.app-main{padding-bottom:calc(66px + env(safe-area-inset-bottom))}.page{padding-bottom:32px}.mobile-bottom-nav{height:calc(66px + env(safe-area-inset-bottom))}}.desktop-sidebar{display:none}@media (width>=900px){.desktop-sidebar{isolation:isolate;border-right:1px solid color-mix(in srgb, var(--accent) 50%, var(--border));background:linear-gradient(120deg, var(--surface), color-mix(in srgb, var(--page) 75%, var(--surface)));flex-direction:column;gap:0;height:100dvh;padding:30px 16px 18px;display:flex;position:sticky;top:0;overflow-y:auto}.desktop-sidebar:before{content:"";opacity:.48;z-index:-1;pointer-events:none;background:url(/club/sidebar-ivy.png) 100% 0/contain no-repeat;width:132px;height:172px;position:absolute;top:0;right:0;-webkit-mask-image:linear-gradient(#000 45%,#0000);mask-image:linear-gradient(#000 45%,#0000)}.desktop-sidebar .brand-lockup{flex-shrink:0;gap:10px}.desktop-sidebar .brand-mark{border:1px solid var(--accent-dark);color:var(--accent);flex-shrink:0;box-shadow:inset 0 0 0 2px #d9b8792e}.desktop-sidebar .brand-lockup strong{color:var(--primary-dark);font-size:17px}.desktop-sidebar .brand-lockup small{letter-spacing:1.3px;font-size:9px}.desktop-nav{flex-shrink:0;gap:8px;margin-top:36px;display:grid}.desktop-nav a,.sidebar-shortcuts a{min-height:44px;color:var(--primary-dark);border:1px solid #0000;border-radius:11px;align-items:center;gap:12px;padding:0 14px;font-size:14px;display:flex;position:relative}.desktop-nav a:hover,.sidebar-shortcuts a:hover{background:var(--primary-light)}.desktop-nav a.router-link-exact-active,.sidebar-shortcuts a.router-link-active{color:var(--surface);background:linear-gradient(110deg, var(--primary-dark), var(--primary));border-color:#d9b87973;font-weight:700;box-shadow:0 4px 10px #104b391f}.desktop-nav a.router-link-exact-active:before,.sidebar-shortcuts a.router-link-active:before{content:"";background:var(--accent);border-radius:4px;width:4px;position:absolute;top:7px;bottom:7px;left:0}.sidebar-shortcuts{flex-shrink:0;gap:7px;margin-top:27px;display:grid}.sidebar-shortcuts>span{letter-spacing:1px;color:var(--primary-dark);align-items:center;gap:15px;margin:0 14px 8px;font-size:12px;display:flex}.sidebar-shortcuts>span:after{content:"";background:linear-gradient(90deg, var(--accent), transparent);flex:1;height:1px}.sidebar-art{pointer-events:none;flex:auto;place-items:center;min-height:0;padding:18px 0;display:grid}.sidebar-art img{opacity:.38;filter:saturate(.7);width:100%;max-width:200px;height:auto;-webkit-mask-image:radial-gradient(65% 60%,#000 45%,#0000 100%);mask-image:radial-gradient(65% 60%,#000 45%,#0000 100%)}.sidebar-account-row{border:1px solid color-mix(in srgb, var(--accent) 40%, var(--page));background:#fff6;border-radius:14px;flex-shrink:0;align-items:center;gap:5px;margin-top:auto;padding:7px;display:flex}.sidebar-account{border-radius:8px;flex:1;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:3px;display:grid}.sidebar-account:hover{background:var(--primary-light)}.sidebar-account>div:last-child{gap:3px;min-width:0;display:grid}.sidebar-account .avatar{border:1px solid #d9b87959;width:36px;height:38px}.sidebar-account strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.sidebar-account small{color:var(--muted);align-items:center;gap:4px;font-size:11px;display:flex}.sidebar-logout{border:1px solid color-mix(in srgb, var(--secondary) 25%, var(--surface));width:32px;height:34px;color:var(--secondary);cursor:pointer;background:0 0;border-radius:9px;flex:0 0 32px;place-items:center;padding:0;display:grid}.sidebar-logout:hover:not(:disabled){background:var(--coral-soft);border-color:var(--secondary)}.sidebar-logout:disabled{opacity:.5;cursor:wait}}@media (width>=900px) and (height<=760px){.desktop-sidebar{padding-top:22px}.desktop-nav{margin-top:25px}.sidebar-shortcuts{margin-top:20px}.sidebar-art{padding:8px 0}.sidebar-art img{max-width:130px}}@media (width>=900px) and (height<=600px){.sidebar-art{display:none}.sidebar-account-row{margin-top:22px}}
