.lobby{position:relative;flex:1;min-height:0;overflow:auto;padding:var(--sp-5) var(--sp-6) var(--sp-8)}.lobby-glow{position:fixed;inset:0;pointer-events:none;background:radial-gradient(700px 380px at 14% 8%,rgba(28,129,99,.22),transparent 62%),radial-gradient(680px 360px at 88% 92%,rgba(201,155,69,.14),transparent 60%)}.lobby-hero,.lobby-main{max-width:1180px;margin-left:auto;margin-right:auto;position:relative}.lobby-hero{position:relative;display:flex;align-items:center;gap:var(--sp-4);max-width:1200px;margin:0 auto var(--sp-6);flex-wrap:wrap}.lobby-logo{font-size:calc(54px * var(--fs-scale));line-height:1;filter:drop-shadow(0 6px 18px rgba(var(--c-accent-rgb),.35))}.lobby-title{margin:0;font-family:var(--font-serif);font-size:calc(46px * var(--fs-scale));font-weight:800;letter-spacing:.18em;background:linear-gradient(180deg,#fdf3d6 0%,var(--c-gold-400) 55%,var(--c-gold-600) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 8px 30px rgba(var(--c-accent-rgb),.18)}.lobby-sub{margin:4px 0 0;color:var(--c-text-dim);font-size:calc(14px * var(--fs-scale));letter-spacing:.16em}.lobby-tags{margin-left:auto;display:flex;gap:var(--sp-2);flex-wrap:wrap}.lobby-main{position:relative;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:var(--sp-5);align-items:start}@media(max-width:980px){.lobby-main{grid-template-columns:1fr}}.lobby-card{padding:var(--sp-5)}.lobby-tabs{display:flex;gap:var(--sp-1);padding:4px;border-radius:var(--r-md);background:#00000040;margin-bottom:var(--sp-5)}.lobby-tab{flex:1;padding:9px 12px;border:none;border-radius:var(--r-sm);background:transparent;color:var(--c-text-dim);font-size:calc(14px * var(--fs-scale));font-weight:600;transition:all var(--dur-fast) var(--ease-out)}.lobby-tab:hover{color:var(--c-text);background:#ffffff0d}.lobby-tab.active{background:linear-gradient(180deg,rgba(var(--c-accent-rgb),.24),rgba(var(--c-accent-rgb),.1));color:var(--c-gold-200);box-shadow:inset 0 0 0 1px rgba(var(--c-accent-rgb),.32)}.lobby-form{display:grid;gap:var(--sp-5)}.field{display:grid;gap:var(--sp-2)}.field>span{font-size:calc(13px * var(--fs-scale));font-weight:700;color:var(--c-gold-300);letter-spacing:.08em}.field input[type=text],.field input:not([type]){padding:11px 14px;border-radius:var(--r-md);border:1px solid var(--border-soft);background:#00000047;color:var(--c-text);font-size:calc(15px * var(--fs-scale));outline:none;transition:border-color var(--dur-fast) var(--ease-out)}.field input:focus{border-color:var(--c-gold-400);box-shadow:0 0 0 3px rgba(var(--c-accent-rgb),.14)}input[type=range]{-webkit-appearance:none;appearance:none;height:6px;border-radius:var(--r-full);background:#ffffff1f;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:linear-gradient(180deg,var(--c-gold-300),var(--c-gold-600));border:2px solid rgba(255,255,255,.35);cursor:pointer}.toggle{display:flex;align-items:center;gap:var(--sp-3);font-size:calc(14.5px * var(--fs-scale));cursor:pointer;user-select:none}.toggle input{width:18px;height:18px;accent-color:var(--c-gold-500);cursor:pointer}.choice-list{display:grid;gap:var(--sp-2)}.choice-list.row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.choice{display:grid;gap:2px;text-align:left;padding:11px 14px;border-radius:var(--r-md);border:1px solid var(--border-soft);background:#ffffff08;color:var(--c-text);transition:all var(--dur-fast) var(--ease-out)}.choice b{font-size:calc(14.5px * var(--fs-scale))}.choice small{color:var(--c-text-faint);font-size:calc(12px * var(--fs-scale));line-height:1.5}.choice:hover{border-color:var(--border-strong);background:#ffffff0f}.choice.active{border-color:var(--c-gold-400);background:linear-gradient(180deg,rgba(var(--c-accent-rgb),.18),rgba(var(--c-accent-rgb),.06));box-shadow:0 0 0 1px rgba(var(--c-accent-rgb),.28)}.avatar-row{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.avatar-chip{width:46px;height:46px;border-radius:var(--r-md);border:1px solid var(--border-soft);background:#ffffff0a;font-size:calc(22px * var(--fs-scale));line-height:1;transition:all var(--dur-fast) var(--ease-out)}.avatar-chip:hover{transform:translateY(-2px);border-color:var(--border-strong)}.avatar-chip.active{border-color:var(--c-gold-400);background:rgba(var(--c-accent-rgb),.18);box-shadow:var(--sh-glow)}.swatch-row{display:flex;gap:var(--sp-3);flex-wrap:wrap}.swatch{display:grid;gap:6px;justify-items:center;padding:var(--sp-3);border-radius:var(--r-md);border:1px solid var(--border-soft);background:#ffffff08;transition:all var(--dur-fast) var(--ease-out)}.swatch i{display:grid;place-items:center;font-style:normal;font-family:var(--font-serif);font-weight:700;color:#b91c1c}.tile-swatch i{width:46px;height:62px;border-radius:8px;font-size:calc(22px * var(--fs-scale));box-shadow:inset 0 -4px #0000001f,0 3px 10px #00000059}.table-swatch i{width:62px;height:46px;border-radius:8px;box-shadow:inset 0 0 0 3px #5a3c19d9,0 3px 10px #00000059}.swatch em{font-style:normal;font-size:calc(12px * var(--fs-scale));color:var(--c-text-dim)}.swatch.active{border-color:var(--c-gold-400);box-shadow:var(--sh-glow)}.swatch.active em{color:var(--c-gold-200)}.lobby-start{width:100%;margin-top:var(--sp-2)}.roadmap{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-2)}.roadmap-item{display:flex;align-items:center;gap:var(--sp-3);padding:10px 12px;border-radius:var(--r-md);background:#ffffff06;border:1px solid rgba(255,255,255,.05)}.roadmap-icon{font-size:calc(20px * var(--fs-scale))}.roadmap-item b{display:block;font-size:calc(14px * var(--fs-scale))}.roadmap-item small{color:var(--c-text-faint);font-size:calc(12px * var(--fs-scale))}.roadmap-badge{margin-left:auto;font-size:calc(11px * var(--fs-scale));padding:2px 8px;border-radius:var(--r-full);background:rgba(var(--c-info-rgb),.14);color:#8ec8ff;border:1px solid rgba(var(--c-info-rgb),.28);white-space:nowrap}.feature-list{margin:0;padding-left:18px;display:grid;gap:8px;color:var(--c-text-dim);font-size:calc(13.5px * var(--fs-scale));line-height:1.65}.feature-list li::marker{color:var(--c-gold-400)}.lobby-note{margin:var(--sp-3) 0 0;font-size:calc(12px * var(--fs-scale));line-height:1.6;color:var(--c-text-faint)}.lobby-sep{border:0;border-top:1px solid var(--border-soft);margin:var(--sp-2) 0}.voice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}@media(max-width:560px){.voice-grid{grid-template-columns:1fr}}.voice-card{position:relative;display:flex;flex-direction:column;gap:3px;padding:var(--sp-3);text-align:left;border-radius:var(--r-md);border:1px solid var(--border-soft);background:var(--surface-2);color:var(--text-1);cursor:pointer;transition:border-color .16s,background .16s,transform .16s}.voice-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.voice-card.active{border-color:var(--c-gold-400);background:rgba(var(--c-accent-rgb),.1);box-shadow:0 0 0 1px rgba(var(--c-accent-rgb),.35)}.voice-card b{font-size:calc(14px * var(--fs-scale));letter-spacing:.05em}.voice-card small{font-size:calc(11.5px * var(--fs-scale));line-height:1.5;color:var(--text-3)}.voice-play{position:absolute;top:8px;right:10px;font-size:calc(11px * var(--fs-scale));color:var(--c-gold-300);opacity:.7}.voice-card.active .voice-play{opacity:1}.hint{margin:0;font-size:calc(12px * var(--fs-scale));line-height:1.6;color:var(--text-3)}.sfx-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2);margin-top:6px}@media(max-width:560px){.sfx-grid{grid-template-columns:1fr}}.sfx-card{position:relative;display:flex;flex-direction:column;gap:3px;padding:var(--sp-3);text-align:left;border-radius:var(--r-md);border:1px solid var(--border-soft);background:var(--surface-2);color:var(--text-1);cursor:pointer;transition:border-color .16s,background .16s,transform .16s}.sfx-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.sfx-card.active{border-color:var(--c-gold-400);background:rgba(var(--c-accent-rgb),.1);box-shadow:0 0 0 1px rgba(var(--c-accent-rgb),.35)}.sfx-card b{font-size:calc(14px * var(--fs-scale));letter-spacing:.05em}.sfx-card small{font-size:calc(11.5px * var(--fs-scale));line-height:1.5;color:var(--text-3)}.sfx-preview{margin-top:2px;font-size:calc(10.5px * var(--fs-scale));color:var(--c-gold-300);opacity:.55}.sfx-card.active .sfx-preview{opacity:.9}.music-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}@media(max-width:560px){.music-grid{grid-template-columns:1fr}}.music-card{position:relative;display:flex;flex-direction:column;gap:3px;padding:var(--sp-3);text-align:left;border-radius:var(--r-md);border:1px solid var(--border-soft);background:var(--surface-2);color:var(--text-1);cursor:pointer;transition:border-color .16s,background .16s,transform .16s}.music-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}.music-card.active{border-color:var(--c-gold-400);background:rgba(var(--c-accent-rgb),.1);box-shadow:0 0 0 1px rgba(var(--c-accent-rgb),.35)}.music-card b{font-size:calc(14px * var(--fs-scale));letter-spacing:.05em}.music-card small{font-size:calc(11.5px * var(--fs-scale));line-height:1.5;color:var(--text-3)}.music-bars{position:absolute;top:12px;right:12px;display:flex;align-items:flex-end;gap:2px;height:14px}.music-bars i{display:block;width:3px;border-radius:1px;background:var(--c-gold-300);animation:musicBar .9s ease-in-out infinite}.music-bars i:nth-child(2){animation-delay:.15s}.music-bars i:nth-child(3){animation-delay:.3s}@keyframes musicBar{0%,to{height:4px}50%{height:14px}}.lobby-faq{position:relative;max-width:1200px;margin:var(--sp-6) auto 0}.lobby-faq-title{margin:0 0 var(--sp-3);font-family:var(--font-serif);font-size:calc(20px * var(--fs-scale));letter-spacing:.12em;color:var(--c-gold-300)}.lobby-faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3);margin:0}@media(max-width:980px){.lobby-faq-list{grid-template-columns:1fr}}.lobby-faq-item{padding:var(--sp-4);border:1px solid var(--border-soft);border-radius:var(--r-md);background:var(--surface-2)}.lobby-faq-item dt{margin:0 0 6px;font-weight:700;color:var(--text-1)}.lobby-faq-item dd{margin:0;font-size:calc(13px * var(--fs-scale));line-height:1.7;color:var(--c-text-dim)}.notif{position:relative;display:inline-flex}.notif-btn{position:relative;font-size:calc(15px * var(--fs-scale));line-height:1;padding:4px 8px}.notif-btn.has-unread{color:#ffd479}.notif-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#e5484d;color:#fff;font-size:calc(10px * var(--fs-scale));font-weight:700;line-height:16px;text-align:center;box-shadow:0 0 0 2px #071813e6}.notif-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:var(--z-modal);width:320px;max-height:60vh;overflow-y:auto;padding:8px;animation:popIn var(--dur-fast, .16s) var(--ease-out, ease-out) both}.notif-head{padding:4px 8px 8px;color:var(--c-text-dim, rgba(244, 236, 216, .6));font-size:calc(12px * var(--fs-scale))}.notif-empty{padding:12px 8px;color:var(--c-text-dim, rgba(244, 236, 216, .6));font-size:calc(13px * var(--fs-scale));text-align:center}.notif-row{display:flex;flex-direction:column;border-radius:10px}.notif-row.is-request{background:#d9b06214}.notif-main{display:flex;align-items:center;gap:8px;width:100%;padding:8px;border:0;border-radius:10px;background:transparent;color:inherit;cursor:pointer;text-align:left}.notif-main:hover{background:#ffffff0f}.notif-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.notif-name{display:flex;align-items:center;gap:6px;font-size:calc(13px * var(--fs-scale));font-weight:600}.notif-tag{padding:0 5px;border-radius:6px;background:#d9b06238;color:#ffd479;font-size:calc(10px * var(--fs-scale));font-style:normal}.notif-text{overflow:hidden;color:var(--c-text-dim, rgba(244, 236, 216, .65));font-size:calc(12px * var(--fs-scale));text-overflow:ellipsis;white-space:nowrap}.notif-meta{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex:0 0 auto}.notif-dot{min-width:18px;height:18px;border-radius:9px;background:#e5484d;color:#fff;font-size:calc(11px * var(--fs-scale));line-height:18px;text-align:center}.notif-time{color:var(--c-text-dim, rgba(244, 236, 216, .45));font-size:calc(10px * var(--fs-scale))}.notif-actions{display:flex;gap:6px;padding:0 8px 8px}.notif-more{width:100%;margin-top:4px;padding:8px;border:0;border-radius:10px;background:transparent;color:var(--c-accent, #d9b062);cursor:pointer;font-size:calc(12px * var(--fs-scale))}.notif-more:hover{background:#ffffff0f}.friend-avatar{position:relative;display:inline-flex;flex:0 0 auto}.online-dot{position:absolute;right:-1px;bottom:-1px;width:10px;height:10px;border-radius:50%;background:#6b7f76;box-shadow:0 0 0 2px #071813e6}.online-dot.on{background:#4ecb8b;box-shadow:0 0 0 2px #071813e6,0 0 8px #4ecb8be6}.social-prefs{display:flex;flex-direction:column;gap:10px}.pref-row{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.pref-row input{margin-top:3px}.pref-row span{display:flex;flex-direction:column;gap:2px}.pref-row b{font-size:calc(13px * var(--fs-scale));font-weight:600}.pref-row em{color:var(--c-text-dim, rgba(244, 236, 216, .6));font-size:calc(12px * var(--fs-scale));font-style:normal}.chat-mute{margin-left:8px}.chat-conn{margin-left:8px;font-weight:400}.chat-note{margin:6px 0 0;color:var(--c-text-dim, rgba(244, 236, 216, .45));font-size:calc(11.5px * var(--fs-scale));line-height:1.5}.chat-image{display:block;max-width:min(320px,100%);max-height:240px;margin-top:4px;border-radius:8px;border:1px solid rgba(217,176,98,.25);cursor:zoom-in;object-fit:contain}.chat-attach{display:flex;align-items:center;gap:10px;margin-bottom:8px;padding:8px;border-radius:10px;background:#00000038}.chat-attach img{width:72px;height:72px;border-radius:8px;object-fit:cover;border:1px solid rgba(217,176,98,.3)}.chat-link{color:var(--c-accent, #d9b062);text-decoration:underline;word-break:break-all}.chat-link:hover{color:#ffd479}.player-card{position:fixed;z-index:var(--z-modal);width:272px;padding:14px;border-radius:16px;border:1px solid rgba(217,176,98,.45);background:linear-gradient(180deg,#14382dfa,#071813fa);box-shadow:0 18px 44px #0000008c;color:var(--c-text, #f4ecd8);font-size:calc(13px * var(--fs-scale));pointer-events:auto;animation:playerCardIn .16s var(--ease-out, ease-out) both}@keyframes playerCardIn{0%{opacity:0;transform:translateY(6px) scale(.98)}}.player-card-close{position:absolute;top:6px;right:8px;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:transparent;color:#f4ecd88c;cursor:pointer;font-size:calc(12px * var(--fs-scale));line-height:1}.player-card-close:hover{background:#ffffff1a;color:#fff}.player-card-head{display:flex;align-items:center;gap:10px;padding-right:18px}.player-card-avatar{display:grid;place-items:center;flex:0 0 auto;width:56px;height:56px;border-radius:50%;border:2px solid rgba(217,176,98,.55);background:#061a14e6;font-size:calc(30px * var(--fs-scale));line-height:1;overflow:hidden}.player-card-id{min-width:0}.player-card-name{display:flex;align-items:center;gap:6px;font-size:calc(16px * var(--fs-scale));font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-card-dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:#4ecb8b;box-shadow:0 0 8px #4ecb8be6}.player-card-sub{color:#f4ecd88c;font-size:calc(12px * var(--fs-scale));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.player-card-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 12px;margin-top:10px;padding:10px;border-radius:10px;background:#00000038}.player-card-stats>div{display:flex;flex-direction:column;gap:1px;min-width:0}.player-card-stats span{color:#f4ecd899;font-size:calc(11.5px * var(--fs-scale))}.player-card-stats b{color:#f0dfae;font-size:calc(16px * var(--fs-scale));line-height:1.15}.player-card-bio{margin:10px 0 0;color:#f4ecd8d1;line-height:1.5;white-space:pre-wrap;word-break:break-word}.player-card-ai{margin-top:10px;padding:10px;border-radius:10px;background:#00000038;border:1px solid rgba(217,176,98,.22)}.player-card-ai-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;color:#f0dfae;font-size:calc(12.5px * var(--fs-scale));font-weight:700;letter-spacing:.06em}.player-card-ai-rows{display:grid;gap:4px}.player-card-ai-rows>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0}.player-card-ai-rows span{flex:0 0 auto;color:#f4ecd899;font-size:calc(11.5px * var(--fs-scale))}.player-card-ai-rows b{min-width:0;overflow:hidden;color:#f0dfae;font-size:calc(13px * var(--fs-scale));text-overflow:ellipsis;white-space:nowrap}.player-card-meta{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:10px;color:#f4ecd873;font-size:calc(11.5px * var(--fs-scale))}.player-card-actions{display:flex;align-items:center;gap:8px;margin-top:12px}.player-card-actions .btn{flex:0 0 auto}.player-card-safety{margin-top:8px;padding-top:8px;border-top:1px solid rgba(217,176,98,.18)}.player-card-report{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.player-card-report .btn{font-size:calc(12px * var(--fs-scale));padding:4px 8px}.player-card-note{margin:10px 0 0;color:#f4ecd88c;font-size:calc(12px * var(--fs-scale))}.wall-card{padding:var(--sp-4) var(--sp-4) var(--sp-5)}.wall-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap}.wall-head-main{min-width:0}.wall-hint{margin:6px 0 0;color:var(--c-text-faint);font-size:calc(12.5px * var(--fs-scale));line-height:1.6;max-width:62ch}.wall-head-actions{display:flex;align-items:center;gap:var(--sp-2);flex:0 0 auto}.wall-total{color:var(--c-text-dim);font-size:calc(12.5px * var(--fs-scale));font-variant-numeric:tabular-nums}.wall-rules{margin-top:var(--sp-3)}.player-card-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(252px,1fr));gap:var(--sp-3);margin-top:var(--sp-4)}.player-card-tile{display:flex;flex-direction:column;height:auto;padding:14px;border-radius:var(--r-lg);border:1px solid rgba(217,176,98,.28);background:linear-gradient(180deg,#14382db8,#071813b8);box-shadow:var(--sh-sm);color:var(--c-text, #f4ecd8);font-size:calc(13px * var(--fs-scale));transition:border-color var(--dur-fast, .15s) var(--ease-out, ease-out),transform var(--dur-fast, .15s) var(--ease-out, ease-out)}.player-card-tile:hover{border-color:#d9b06299;transform:translateY(-2px)}.player-card-tile .player-card-head{padding-right:0}.player-card-tile .player-card-actions{margin-top:auto;padding-top:12px;flex-wrap:wrap}.wall-sentinel{padding:var(--sp-4) 0 2px;text-align:center;color:var(--c-text-faint);font-size:calc(12.5px * var(--fs-scale));min-height:20px}.wall-end{margin:var(--sp-4) 0 0;padding-top:var(--sp-3);border-top:1px solid var(--border-soft);text-align:center;color:var(--c-text-faint);font-size:calc(12.5px * var(--fs-scale))}@media(max-width:600px){.player-card-wall{grid-template-columns:1fr}}.game-root{position:relative;width:100%;height:100%;overflow:hidden;background:#06120e}.game-canvas{position:absolute;inset:0;z-index:var(--z-canvas)}.game-canvas canvas{display:block}.game-topbar{position:absolute;top:var(--sp-3);left:0;right:0;margin-inline:auto;width:fit-content;z-index:var(--z-overlay);display:flex;align-items:center;gap:var(--sp-3);padding:6px 10px;border-radius:var(--r-full);background:var(--surface-glass);border:1px solid var(--border-soft);backdrop-filter:blur(12px);pointer-events:none;max-width:96vw}.game-topbar>*{pointer-events:auto}.game-info{display:flex;gap:var(--sp-2);flex-wrap:wrap}.game-actionbar{position:absolute;left:50%;bottom:12px;transform:translate(-50%);z-index:var(--z-panel);display:flex;align-items:center;gap:var(--sp-3);padding:10px var(--sp-4);border-radius:var(--r-xl);background:var(--surface-glass);border:1px solid var(--border-soft);backdrop-filter:blur(14px);box-shadow:var(--sh-lg);max-width:min(94vw,980px);flex-wrap:wrap;justify-content:center}.act-hu{animation:pulseGold 1.1s ease-in-out infinite}@keyframes pulseGold{0%,to{box-shadow:0 0 rgba(var(--c-accent-rgb),.5)}50%{box-shadow:0 0 26px 6px rgba(var(--c-accent-rgb),.55)}}.game-hint{position:absolute;left:var(--sp-4);bottom:16px;z-index:var(--z-overlay);display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-lg);background:var(--surface-glass);border:1px solid var(--border-soft);backdrop-filter:blur(12px);max-width:34vw;flex-wrap:wrap}.game-hint-label{font-weight:800;color:var(--c-gold-300);font-size:calc(15px * var(--fs-scale));letter-spacing:.1em}.game-hint-tiles{display:flex;gap:6px;flex-wrap:wrap}.game-hint-tile{padding:2px 8px;border-radius:var(--r-sm);background:#7efcb01f;border:1px solid rgba(126,252,176,.35);color:#9dfbc4;font-size:calc(13px * var(--fs-scale));font-weight:700}.game-hint-tile.dora{background:rgba(var(--c-accent-rgb),.14);border-color:rgba(var(--c-accent-rgb),.45);color:var(--c-gold-200)}.game-hint-tile.furiten{background:rgba(var(--c-danger-rgb),.16);border-color:rgba(var(--c-danger-rgb),.5);color:#ffb3b1}.game-dora{position:absolute;left:var(--sp-4);bottom:74px;z-index:var(--z-overlay);display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-lg);background:var(--surface-glass);border:1px solid var(--border-soft);backdrop-filter:blur(12px);max-width:34vw;flex-wrap:wrap}.game-score-pos{color:var(--c-success);font-weight:700;font-variant-numeric:tabular-nums}.game-score-neg{color:var(--c-danger);font-weight:700;font-variant-numeric:tabular-nums}.modal-backdrop{position:fixed;inset:0;z-index:var(--z-modal);display:grid;place-items:center;background:radial-gradient(ellipse at center,#020a0814,#020a0852 58%,#020a0899);animation:fadeIn var(--dur-mid) var(--ease-out) both}@media(min-width:1180px){.modal-backdrop{justify-items:end;padding:0 clamp(12px,2vw,28px)}.result-shell{width:368px}}.modal-backdrop.is-collapsed{justify-items:end;align-items:end;padding:0 clamp(12px,2vw,28px) var(--sp-5)}.result-shell{display:flex;flex-direction:column;gap:var(--sp-3);width:min(560px,92vw)}.result-modal{position:relative;width:100%;background:linear-gradient(180deg,#112a22fb,#091612fe);backdrop-filter:none;border-color:rgba(var(--c-accent-rgb),.22)}.result-collapse{position:absolute;top:var(--sp-3);right:var(--sp-3);padding:5px 12px;border-radius:var(--r-full);border:1px solid var(--border-soft);background:#ffffff0d;color:var(--text-3);font-size:calc(12px * var(--fs-scale));white-space:nowrap;cursor:pointer;transition:color .16s,border-color .16s}.result-collapse:hover{color:var(--c-gold-200);border-color:var(--c-gold-400)}.result-pill{display:flex;align-items:center;gap:var(--sp-3);width:100%;padding:10px var(--sp-4);border-radius:var(--r-full);border:1px solid rgba(var(--c-accent-rgb),.28);background:#0a1a15f0;color:var(--text-1);cursor:pointer;text-align:left;box-shadow:var(--sh-md)}.result-pill b{font-family:var(--font-serif);font-size:calc(16px * var(--fs-scale));letter-spacing:.06em;color:var(--c-gold-200);flex:none}.result-pill span{flex:1;min-width:0;font-size:calc(12.5px * var(--fs-scale));color:var(--text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-pill em{flex:none;font-style:normal;font-size:calc(12px * var(--fs-scale));color:var(--c-gold-300)}.modal{width:min(560px,92vw);max-height:88vh;overflow:auto;padding:var(--sp-6)}.result-modal{animation:popIn var(--dur-slow) var(--ease-out) both}.result-headline{font-size:calc(40px * var(--fs-scale));font-weight:800;letter-spacing:.12em;text-align:center;margin-bottom:var(--sp-3);font-family:var(--font-serif)}.result-headline.win{color:var(--c-gold-300);text-shadow:0 0 26px rgba(var(--c-accent-rgb),.55)}.result-headline.lose{color:var(--c-red-400)}.result-headline.draw{color:var(--c-ink-200)}.result-block{margin-top:var(--sp-4);padding:var(--sp-4);border-radius:var(--r-md);background:#ffffff0a;border:1px solid var(--border-soft)}.result-winner{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.result-tile{margin-left:auto;font-family:var(--font-serif);font-size:calc(22px * var(--fs-scale));font-weight:700;color:var(--c-gold-200)}.result-tai{margin-top:var(--sp-3)}.result-tai-total{font-size:calc(17px * var(--fs-scale));font-weight:700;color:var(--c-jade-200);margin-bottom:var(--sp-2)}.result-tai-list{display:flex;flex-wrap:wrap;gap:6px}.result-tai-item{display:inline-flex;gap:4px;padding:3px 9px;border-radius:var(--r-full);background:rgba(var(--c-accent-rgb),.12);border:1px solid rgba(var(--c-accent-rgb),.28);font-size:calc(12.5px * var(--fs-scale));color:var(--c-gold-200)}.result-tai-item b{color:var(--c-gold-300)}.result-deltas{display:grid;gap:6px}.result-delta{display:flex;justify-content:space-between;font-size:calc(14px * var(--fs-scale))}.result-actions{display:flex;gap:var(--sp-3);justify-content:center;margin-top:var(--sp-5)}@media(max-width:900px){.game-hint{max-width:70vw}}@media(max-height:760px){.game-actionbar{bottom:4px;padding:6px 10px;gap:var(--sp-2)}.game-actionbar .btn-lg{padding:8px 16px;font-size:calc(15px * var(--fs-scale));border-radius:var(--r-md)}.game-hint,.game-dora{bottom:4px;padding:4px 10px}.game-dora{bottom:52px}}.room-root{position:relative;width:100%;height:100%;overflow:hidden;background:#06120e}.room-canvas{position:absolute;inset:0;z-index:var(--z-canvas)}.room-canvas-hidden{visibility:hidden;pointer-events:none}.room-canvas canvas{display:block}.room-topbar{position:absolute;top:var(--sp-3);left:0;right:0;margin-inline:auto;width:fit-content;z-index:var(--z-overlay);display:flex;align-items:center;gap:var(--sp-3);padding:6px 12px;border-radius:var(--r-full);background:var(--surface-glass);border:1px solid var(--border-soft);backdrop-filter:blur(12px);max-width:96vw;flex-wrap:wrap;justify-content:center}.room-wait{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:var(--z-panel);width:min(720px,94vw);max-height:88vh;overflow:auto;padding:var(--sp-6)}.room-wait h2{margin:0 0 var(--sp-2);font-family:var(--font-serif);font-size:calc(26px * var(--fs-scale));letter-spacing:.08em;color:var(--c-gold-200);text-align:center}.room-wait>p{text-align:center;font-size:calc(13.5px * var(--fs-scale));margin:0 0 var(--sp-5)}.room-seats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--sp-3)}.room-seat{display:grid;justify-items:center;gap:6px;padding:var(--sp-4) var(--sp-3);border-radius:var(--r-lg);border:1px dashed rgba(var(--c-accent-rgb),.3);background:#ffffff08;color:var(--c-text);transition:all var(--dur-fast) var(--ease-out)}.room-seat.empty:hover:not(:disabled){border-color:var(--c-gold-400);background:rgba(var(--c-accent-rgb),.1);transform:translateY(-2px)}.room-seat.taken{border-style:solid;border-color:rgba(var(--c-accent-rgb),.35);background:rgba(var(--c-accent-rgb),.07);cursor:default;opacity:1}.room-seat.mine{border-color:var(--c-gold-400);box-shadow:var(--sh-glow)}.seat-avatar{font-size:calc(30px * var(--fs-scale));font-family:"Segoe UI Emoji","Noto Color Emoji",sans-serif}.seat-name{font-size:calc(14px * var(--fs-scale));font-weight:700}.room-wait-actions{display:flex;gap:var(--sp-3);justify-content:center;align-items:center;margin-top:var(--sp-5);flex-wrap:wrap}.room-chat{display:flex;flex-direction:column;height:190px}.room-chat .chat-log{flex:1}.room-chat.compact{position:absolute;right:var(--sp-4);bottom:230px;z-index:var(--z-overlay);width:280px;height:220px;padding:var(--sp-3);border-radius:var(--r-lg);background:var(--surface-glass);border:1px solid var(--border-soft);backdrop-filter:blur(12px)}.room-actionbar{position:absolute;left:50%;bottom:12px;transform:translate(-50%);z-index:var(--z-panel);display:flex;gap:var(--sp-3);padding:10px var(--sp-4);border-radius:var(--r-xl);background:var(--surface-glass);border:1px solid var(--border-soft);backdrop-filter:blur(14px);box-shadow:var(--sh-lg);flex-wrap:wrap;justify-content:center}.room-result{position:absolute;inset:0;margin:auto;height:fit-content;z-index:var(--z-modal);width:min(400px,92vw);padding:var(--sp-5);text-align:center;animation:popIn var(--dur-slow) var(--ease-out) both}@media(min-width:1180px){.room-result{left:auto;right:clamp(12px,2vw,28px);margin:0;margin-block:auto;height:fit-content;width:368px}}.room-result h3{margin:0 0 var(--sp-3);font-family:var(--font-serif);font-size:calc(24px * var(--fs-scale));letter-spacing:.08em;color:var(--c-gold-200)}@media(max-width:900px){.room-chat.compact{display:none}}.room-next{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:var(--sp-3)}.room-next .btn{min-width:220px}.room-next-count{font-size:calc(12px * var(--fs-scale));color:var(--text-3);letter-spacing:.04em}.wallet-card{margin-bottom:var(--sp-4, 16px)}.wallet-row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.wallet-cell{display:flex;flex-direction:column;gap:2px}.wallet-cell span{color:var(--c-text-dim, rgba(244, 236, 216, .6));font-size:calc(12px * var(--fs-scale))}.wallet-cell b{font-size:calc(22px * var(--fs-scale));color:#f0dfae}.wallet-cell.total b{color:#4ecb8b}.store-note{margin:10px 0 0;color:var(--c-text-dim, rgba(244, 236, 216, .5));font-size:calc(12px * var(--fs-scale));line-height:1.6}.pack-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.pack-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 12px 12px;border-radius:14px;border:1px solid rgba(217,176,98,.35);background:linear-gradient(180deg,#14382d99,#07181399);text-align:center}.pack-badge{position:absolute;top:-9px;padding:2px 8px;border-radius:8px;background:#d9b062;color:#201607;font-size:calc(11px * var(--fs-scale));font-weight:700}.pack-price{color:var(--c-text-dim, rgba(244, 236, 216, .7));font-size:calc(13px * var(--fs-scale))}.pack-points{font-size:calc(26px * var(--fs-scale));font-weight:700;color:#f0dfae}.pack-points em{margin-left:3px;font-size:calc(12px * var(--fs-scale));font-style:normal;font-weight:400}.pack-bonus{color:#4ecb8b;font-size:calc(12px * var(--fs-scale))}.item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.item-card{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:12px;border:1px solid rgba(217,176,98,.22);background:#0000002e}.item-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.item-desc{margin:0;color:var(--c-text-dim, rgba(244, 236, 216, .65));font-size:calc(12.5px * var(--fs-scale));line-height:1.5}.item-foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto}.item-price{font-size:calc(18px * var(--fs-scale));font-weight:700;color:#f0dfae}.item-price em{margin-left:3px;font-size:calc(11px * var(--fs-scale));font-style:normal;font-weight:400;color:var(--c-text-dim, rgba(244, 236, 216, .6))}.lock-badge{display:inline-flex;align-items:center;gap:3px;padding:1px 6px;border-radius:8px;background:#d9b06233;color:#d9b062;font-size:calc(10px * var(--fs-scale));font-weight:700}.is-locked{opacity:.62}.support-btn{position:relative;gap:6px}.support-points{padding:0 7px;border-radius:var(--r-full);background:#0000003d;font-size:calc(12px * var(--fs-scale));font-weight:700;font-variant-numeric:tabular-nums;color:var(--c-gold-200)}.support-dot{position:absolute;top:-3px;right:-3px;width:9px;height:9px;border-radius:50%;background:var(--c-gold-400);box-shadow:0 0 0 2px #061612e6;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.support-backdrop{position:fixed;inset:0;z-index:calc(var(--z-modal) - 5);display:grid;place-items:center;padding:var(--sp-4);background:#040a089e;backdrop-filter:blur(3px);animation:fadeIn var(--dur-fast) var(--ease-out) both}.support-modal{display:flex;flex-direction:column;width:min(780px,100%);max-height:min(86vh,900px);background:linear-gradient(180deg,#0e241dfc,#081612fc);border:1px solid var(--border-strong);box-shadow:var(--sh-lg);overflow:hidden}.support-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5) var(--sp-3);border-bottom:1px solid var(--border-soft)}.support-sub{margin:4px 0 0;font-size:calc(12.5px * var(--fs-scale));color:var(--c-text-faint);line-height:1.55}.support-body{flex:1;min-height:0;overflow:auto;padding:var(--sp-4) var(--sp-5) var(--sp-5)}.support-modal>.tabs{margin:0;border-radius:0;background:#0000004d;padding:var(--sp-2) var(--sp-5)}.points-bar{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--sp-2) var(--sp-3);padding:var(--sp-3) var(--sp-5);background:rgba(var(--c-accent-rgb),.06);border-bottom:1px solid var(--border-soft)}.points-main{display:flex;align-items:baseline;gap:var(--sp-2)}.points-value{font-size:calc(24px * var(--fs-scale));font-weight:800;font-variant-numeric:tabular-nums;color:var(--c-gold-200);line-height:1}.points-label{font-size:calc(12.5px * var(--fs-scale));letter-spacing:.08em;color:var(--c-text-dim)}.points-log{grid-column:1 / -1;display:grid;gap:2px;max-height:190px;overflow:auto;padding:var(--sp-2);border-radius:var(--r-md);background:#0000003d}.points-row{display:grid;grid-template-columns:52px 1fr auto;align-items:baseline;gap:var(--sp-2);padding:5px 8px;border-radius:var(--r-sm);font-size:calc(13px * var(--fs-scale))}.points-row:hover{background:#ffffff0a}.points-reason{color:var(--c-text-dim)}.delta-up{font-weight:700;font-variant-numeric:tabular-nums;color:var(--c-success)}.delta-down{font-weight:700;font-variant-numeric:tabular-nums;color:var(--c-danger)}.support-form{display:grid;gap:var(--sp-3)}.support-actions{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap}.support-actions .form-hint code,.ticket-note code{color:var(--c-jade-300)}.support-done{padding:10px 12px;border-radius:var(--r-md);background:rgba(var(--c-success-rgb),.12);border:1px solid rgba(var(--c-success-rgb),.32);color:#b6f0d4;font-size:calc(13.5px * var(--fs-scale))}.support-done code{color:var(--c-gold-200)}.support-history{margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--border-soft)}.ticket-row{align-items:flex-start}.ticket-row .main{display:grid;gap:3px}.ticket-note{font-size:calc(12.5px * var(--fs-scale));line-height:1.6;color:var(--c-text-dim);white-space:pre-wrap;word-break:break-word}.ticket-note.ok{color:var(--c-jade-200)}.ticket-events{display:grid;gap:6px;margin-top:6px;padding:var(--sp-3);border-radius:var(--r-md);background:#00000042}.ticket-body-text{font-size:calc(13px * var(--fs-scale));line-height:1.65;color:var(--c-text);white-space:pre-wrap;word-break:break-word}.ticket-event{display:grid;grid-template-columns:62px 76px 1fr;gap:var(--sp-2);font-size:calc(12px * var(--fs-scale));color:var(--c-text-dim)}.ticket-event b{color:var(--c-gold-300);font-weight:600;overflow:hidden;text-overflow:ellipsis}.ticket-evidence{margin:0;padding:var(--sp-2);border-radius:var(--r-sm);background:#00000059;color:var(--c-text-faint);font-family:var(--font-mono);font-size:calc(11.5px * var(--fs-scale));line-height:1.5;white-space:pre-wrap;word-break:break-word;max-height:220px;overflow:auto}.ask-panel{display:grid;gap:var(--sp-2)}.ask-log{display:grid;gap:var(--sp-3);min-height:120px;max-height:46vh;overflow:auto;padding:var(--sp-3);border-radius:var(--r-md);background:#0000003d;border:1px solid rgba(255,255,255,.05)}.ask-turn{display:grid;gap:6px}.ask-q{justify-self:end;max-width:86%;padding:8px 13px;border-radius:var(--r-md);background:linear-gradient(180deg,rgba(var(--c-accent-rgb),.22),rgba(var(--c-accent-rgb),.1));border:1px solid rgba(var(--c-accent-rgb),.28);font-size:calc(13.5px * var(--fs-scale));line-height:1.6;white-space:pre-wrap;word-break:break-word}.ask-a{display:flex;align-items:flex-start;gap:var(--sp-2);max-width:94%;padding:10px 13px;border-radius:var(--r-md);background:#ffffff0b;border:1px solid rgba(255,255,255,.07);font-size:calc(13.5px * var(--fs-scale));line-height:1.7}.ask-a.error{background:rgba(var(--c-danger-rgb),.12);border-color:rgba(var(--c-danger-rgb),.3);color:#ffc3c1}.ask-a.pending{color:var(--c-text-faint)}.ask-text{white-space:pre-wrap;word-break:break-word}.ask-pending{display:inline-flex;align-items:center;gap:var(--sp-2)}.drop-zone{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);border:1px dashed rgba(var(--c-accent-rgb),.34);background:#0003;color:var(--c-text-dim);font-size:calc(13px * var(--fs-scale));cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out)}.drop-zone:hover{border-color:var(--border-strong);background:rgba(var(--c-accent-rgb),.06)}.drop-zone.dragging{border-color:var(--c-gold-400);background:rgba(var(--c-accent-rgb),.12);color:var(--c-gold-200)}.drop-zone.full{opacity:.55;cursor:not-allowed}.drop-icon{font-size:calc(18px * var(--fs-scale));line-height:1}.attach-grid{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-2)}.attach-item{position:relative;width:88px;height:88px;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--border-soft);background:#0000004d}.attach-item img{width:100%;height:100%;object-fit:cover;display:block}.attach-item.error{border-color:rgba(var(--c-danger-rgb),.6)}.attach-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#00000080;font-size:calc(12px * var(--fs-scale));font-weight:700}.attach-overlay.error{color:#ffb9b7}.attach-remove{position:absolute;top:3px;right:3px;width:20px;height:20px;display:grid;place-items:center;border:none;border-radius:50%;background:#061612db;color:var(--c-text);font-size:calc(14px * var(--fs-scale));line-height:1;padding:0}.attach-remove:hover{background:var(--c-red-600)}.image-row{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:4px}.image-thumb{width:96px;height:96px;padding:0;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--border-soft);background:#0000004d;transition:border-color var(--dur-fast) var(--ease-out)}.image-row.small .image-thumb{width:64px;height:64px}.image-thumb:hover{border-color:var(--c-gold-400)}.image-thumb img{width:100%;height:100%;object-fit:cover;display:block}.ask-q-images{margin-top:var(--sp-2)}.lightbox{position:fixed;inset:0;z-index:calc(var(--z-modal) + 20);display:grid;place-items:center;gap:var(--sp-3);padding:var(--sp-5);background:#020605e0;animation:fadeIn var(--dur-fast) var(--ease-out) both}.lightbox img{max-width:min(1400px,94vw);max-height:86vh;border-radius:var(--r-md);box-shadow:var(--sh-lg);image-rendering:-webkit-optimize-contrast}.lightbox-close{position:fixed;top:var(--sp-4);right:var(--sp-4)}@media(max-width:720px){.support-backdrop{padding:0;place-items:stretch}.support-modal{max-height:100%;border-radius:0;border:none}.support-head,.points-bar,.support-body{padding-left:var(--sp-4);padding-right:var(--sp-4)}.support-modal>.tabs{padding-left:var(--sp-4);padding-right:var(--sp-4)}.ask-q,.ask-a{max-width:100%}.ticket-event{grid-template-columns:1fr;gap:0}}:root{--c-jade-900: #04150f;--c-jade-800: #0a2c22;--c-jade-700: #0f3d2f;--c-jade-600: #14614a;--c-jade-500: #1c8163;--c-jade-400: #35a37f;--c-jade-300: #6ec9a7;--c-jade-200: #a8e2c8;--c-gold-600: #a8762a;--c-gold-500: #c99b45;--c-gold-400: #d9b062;--c-gold-300: #ecd08f;--c-gold-200: #f7e7bd;--c-red-600: #a01e28;--c-red-500: #c0272d;--c-red-400: #e05a52;--c-ink-900: #070d0b;--c-ink-800: #0e1614;--c-ink-700: #16211e;--c-ink-600: #1f2d29;--c-ink-500: #2c3d38;--c-ink-400: #44595333;--c-ink-300: #6d8780;--c-ink-200: #9db3ac;--c-ink-100: #cfded8;--c-ink-50: #eef5f2;--c-text: #f2f7f5;--c-text-dim: #a9bdb6;--c-text-faint: #6d8780;--c-success: #3ecf8e;--c-warning: #f4b942;--c-danger: #ef5350;--c-info: #4aa8ff;--c-accent-rgb: 217, 176, 98;--c-primary-rgb: 28, 129, 99;--c-success-rgb: 62, 207, 142;--c-warning-rgb: 244, 185, 66;--c-danger-rgb: 239, 83, 80;--c-info-rgb: 74, 168, 255;--c-bg-rgb: 4, 21, 15;--bg-glow-1: #123a2c;--bg-glow-2: #123047;--surface-1: rgba(12, 32, 26, .72);--surface-2: rgba(18, 44, 36, .82);--surface-3: rgba(26, 60, 50, .9);--surface-glass: rgba(10, 28, 23, .6);--border-soft: rgba(var(--c-accent-rgb), .18);--border-strong: rgba(var(--c-accent-rgb), .42);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sp-8: 64px;--r-sm: 6px;--r-md: 10px;--r-lg: 16px;--r-xl: 24px;--r-full: 999px;--sh-sm: 0 1px 3px rgba(0, 0, 0, .35);--sh-md: 0 6px 18px rgba(0, 0, 0, .4);--sh-lg: 0 18px 48px rgba(0, 0, 0, .5);--sh-glow: 0 0 28px rgba(var(--c-accent-rgb), .28);--font-sans: "Noto Sans TC", "Microsoft JhengHei", "PingFang TC", "Heiti TC", system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif: "Noto Serif TC", "Songti TC", "PMingLiU", "MingLiU", serif;--font-mono: "JetBrains Mono", "Cascadia Code", Consolas, monospace;--fs-scale: .92;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-fast: .12s;--dur-mid: .24s;--dur-slow: .42s;--z-canvas: 1;--z-overlay: 10;--z-panel: 20;--z-modal: 40;--z-toast: 60}@media(prefers-reduced-motion:reduce){:root{--dur-fast: 0ms;--dur-mid: 0ms;--dur-slow: 0ms}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:var(--font-sans);color:var(--c-text);background:radial-gradient(1200px 700px at 20% -10%,var(--bg-glow-1) 0%,transparent 60%),radial-gradient(1000px 600px at 90% 110%,var(--bg-glow-2) 0%,transparent 55%),linear-gradient(160deg,var(--c-jade-900) 0%,var(--c-ink-900) 60%,var(--c-ink-900) 100%);background-attachment:fixed;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow:hidden}html.has-theme-bg body{background-image:linear-gradient(rgba(var(--c-bg-rgb),var(--theme-bg-scrim, .5)),rgba(var(--c-bg-rgb),var(--theme-bg-scrim, .5))),var(--theme-bg-image);background-size:cover,cover;background-position:center,center;background-repeat:no-repeat,no-repeat;background-attachment:fixed,fixed}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}a{color:var(--c-jade-300);text-decoration:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#0003}::-webkit-scrollbar-thumb{background:rgba(var(--c-accent-rgb),.25);border-radius:var(--r-full)}::-webkit-scrollbar-thumb:hover{background:rgba(var(--c-accent-rgb),.4)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:10px 20px;border-radius:var(--r-md);border:1px solid var(--border-soft);background:linear-gradient(180deg,#ffffff14,#ffffff05);color:var(--c-text);font-size:calc(15px * var(--fs-scale));font-weight:600;letter-spacing:.02em;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out);user-select:none}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--sh-md);border-color:var(--border-strong)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.42;cursor:not-allowed}.btn-primary{background:linear-gradient(180deg,var(--c-gold-400),var(--c-gold-600));border-color:var(--c-gold-300);color:#24180a;text-shadow:0 1px 0 rgba(255,255,255,.3)}.btn-primary:hover:not(:disabled){box-shadow:var(--sh-glow)}.btn-jade{background:linear-gradient(180deg,var(--c-jade-400),var(--c-jade-600));border-color:var(--c-jade-300);color:#05211a}.btn-danger{background:linear-gradient(180deg,var(--c-red-400),var(--c-red-600));border-color:var(--c-red-400)}.btn-ghost{background:transparent}.btn-sm{padding:6px 12px;font-size:calc(13px * var(--fs-scale))}.btn-lg{padding:14px 32px;font-size:calc(17px * var(--fs-scale));border-radius:var(--r-lg)}.card{background:var(--surface-1);border:1px solid var(--border-soft);border-radius:var(--r-lg);backdrop-filter:blur(12px);box-shadow:var(--sh-md)}.panel-title{font-size:calc(13px * var(--fs-scale));font-weight:700;letter-spacing:.12em;color:var(--c-gold-300);text-transform:uppercase;margin:0 0 var(--sp-3)}.tag{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--r-full);font-size:calc(12px * var(--fs-scale));font-weight:600;background:rgba(var(--c-accent-rgb),.14);color:var(--c-gold-300);border:1px solid rgba(var(--c-accent-rgb),.25)}.divider{height:1px;background:linear-gradient(90deg,transparent,var(--border-soft),transparent);margin:var(--sp-4) 0}.muted{color:var(--c-text-dim)}.faint{color:var(--c-text-faint)}.fade-in{animation:fadeIn var(--dur-mid) var(--ease-out) both}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes popIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes floatUp{0%{opacity:0;transform:translateY(10px)}15%{opacity:1;transform:translateY(0)}85%{opacity:1}to{opacity:0;transform:translateY(-14px)}}.app-shell{display:flex;flex-direction:column;height:100%;min-height:0}.app-nav{flex:0 0 auto;display:flex;align-items:center;gap:var(--sp-4);padding:10px var(--sp-5);background:#061410d9;border-bottom:1px solid var(--border-soft);backdrop-filter:blur(14px);z-index:var(--z-overlay)}.app-brand{display:flex;align-items:center;gap:10px;font-family:var(--font-serif);font-size:calc(20px * var(--fs-scale));font-weight:800;letter-spacing:.14em;color:var(--c-gold-300);cursor:pointer;user-select:none}.app-brand span.logo{font-size:calc(24px * var(--fs-scale));filter:drop-shadow(0 3px 10px rgba(var(--c-accent-rgb),.4))}.brand-tile{display:inline-grid;place-items:center;width:26px;height:32px;border-radius:5px;background:linear-gradient(180deg,#fdfaf2,#efe3cb);box-shadow:inset 0 -3px #78603847,inset 0 0 0 1px #96805a59,0 3px 9px #00000073;color:#c0272d;font-family:var(--font-serif);font-size:calc(18px * var(--fs-scale));font-weight:700;line-height:1;flex:0 0 auto}.brand-tile.lg{width:46px;height:58px;border-radius:8px;font-size:calc(30px * var(--fs-scale))}.emoji{font-family:"Segoe UI Emoji","Noto Color Emoji","Apple Color Emoji",Segoe UI Symbol,sans-serif;font-style:normal;line-height:1}.app-nav-links{display:flex;gap:var(--sp-1);flex:1;flex-wrap:wrap}.nav-link{padding:7px 14px;border-radius:var(--r-md);border:1px solid transparent;background:transparent;color:var(--c-text-dim);font-size:calc(14px * var(--fs-scale));font-weight:600;transition:all var(--dur-fast) var(--ease-out)}.nav-link:hover{color:var(--c-text);background:#ffffff0f}.nav-link.active{color:var(--c-gold-200);background:rgba(var(--c-accent-rgb),.14);border-color:rgba(var(--c-accent-rgb),.28)}.app-user{display:flex;align-items:center;gap:var(--sp-2)}.avatar.avatar-img,.avatar-img{overflow:hidden;padding:0}.avatar-img img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}.avatar-upload{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin-top:var(--sp-2)}.avatar-chip-image{display:grid;place-items:center;width:44px;height:44px;padding:0;overflow:hidden}.avatar-plain{width:100%;height:100%;background:transparent;font-size:0}.lang-switch{display:flex;gap:2px;padding:2px;border-radius:var(--r-full);background:#00000047;border:1px solid var(--border-soft);min-width:0;flex:0 1 auto;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}.lang-switch::-webkit-scrollbar{display:none}.lang-btn{min-width:28px;padding:4px 7px;flex:0 0 auto;border:none;border-radius:var(--r-full);background:transparent;color:var(--c-text-dim);font-size:calc(11.5px * var(--fs-scale));font-weight:700;letter-spacing:.02em;transition:background var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out)}.lang-btn:hover{color:var(--c-text);background:#ffffff12}.lang-btn.active{background:linear-gradient(180deg,rgba(var(--c-accent-rgb),.28),rgba(var(--c-accent-rgb),.12));color:var(--c-gold-200);box-shadow:inset 0 0 0 1px rgba(var(--c-accent-rgb),.34)}@media(max-width:900px){.lang-btn{min-width:24px;padding:3px 5px;font-size:calc(11px * var(--fs-scale))}}.user-chip{display:flex;align-items:center;gap:var(--sp-2);padding:5px 12px 5px 6px;border-radius:var(--r-full);border:1px solid var(--border-soft);background:#ffffff0a;color:var(--c-text);font-size:calc(14px * var(--fs-scale));font-weight:600}.user-chip .avatar{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:rgba(var(--c-accent-rgb),.18);font-size:calc(16px * var(--fs-scale))}.user-chip .role{font-size:calc(10px * var(--fs-scale));padding:1px 6px;border-radius:var(--r-full);background:rgba(var(--c-danger-rgb),.2);color:#ffb0ae;border:1px solid rgba(var(--c-danger-rgb),.4)}.user-chip .user-points{display:inline-flex;align-items:center;gap:3px;padding:2px 8px;border-radius:var(--r-full);background:#ffd47929;border:1px solid rgba(255,212,121,.4);color:#ffd479;font-size:calc(12px * var(--fs-scale));font-weight:700;font-variant-numeric:tabular-nums}.user-chip .user-points .coin{font-size:calc(11px * var(--fs-scale));opacity:.9}.user-chip .user-points.frozen{background:rgba(var(--c-danger-rgb),.18);border-color:rgba(var(--c-danger-rgb),.45);color:#ffb0ae}.page{flex:1;min-height:0;overflow:auto;padding:var(--sp-5) var(--sp-6) var(--sp-7)}.page-inner{max-width:1180px;margin:0 auto}.page-head{display:flex;align-items:baseline;gap:var(--sp-3);margin-bottom:var(--sp-5);flex-wrap:wrap}.page-title{margin:0;font-family:var(--font-serif);font-size:calc(28px * var(--fs-scale));font-weight:800;letter-spacing:.08em;color:var(--c-gold-200)}.page-sub{color:var(--c-text-faint);font-size:calc(13.5px * var(--fs-scale))}.grid-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-5);align-items:start}.grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-4)}.look-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-5);align-items:start}.look-col{display:grid;gap:var(--sp-5);align-content:start;min-width:0}@media(max-width:900px){.look-grid{grid-template-columns:1fr}}@media(max-width:900px){.grid-2{grid-template-columns:1fr}.page{padding:var(--sp-4)}}.stat-tile{padding:var(--sp-4);border-radius:var(--r-lg);background:linear-gradient(180deg,#ffffff0f,#ffffff03);border:1px solid var(--border-soft)}.stat-tile .label{font-size:calc(12px * var(--fs-scale));letter-spacing:.1em;color:var(--c-text-faint)}.stat-tile .value{margin-top:6px;font-size:calc(26px * var(--fs-scale));font-weight:800;font-variant-numeric:tabular-nums;color:var(--c-jade-200)}.list{display:grid;gap:var(--sp-2)}.list-row{display:flex;align-items:center;gap:var(--sp-3);padding:10px 12px;border-radius:var(--r-md);background:#ffffff08;border:1px solid rgba(255,255,255,.05)}.list-row:hover{background:#ffffff0e}.list-row .avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:rgba(var(--c-accent-rgb),.16);font-size:calc(19px * var(--fs-scale));flex:0 0 auto}.list-row .main{flex:1;min-width:0}.list-row .name{font-weight:700;font-size:calc(14.5px * var(--fs-scale))}.list-row .meta{font-size:calc(12px * var(--fs-scale));color:var(--c-text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-row .actions{display:flex;gap:6px;flex:0 0 auto}.empty{padding:var(--sp-5);text-align:center;color:var(--c-text-faint);font-size:calc(14px * var(--fs-scale))}.chat{display:flex;flex-direction:column;height:460px}.chat-log{flex:1;overflow:auto;display:flex;flex-direction:column;gap:8px;padding:var(--sp-3);border-radius:var(--r-md);background:#00000038;border:1px solid rgba(255,255,255,.05)}.chat-msg{display:flex;gap:8px;align-items:flex-start;font-size:calc(14px * var(--fs-scale));line-height:1.55}.chat-msg .who{flex:0 0 auto;font-weight:700;color:var(--c-gold-300);max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-msg .text{word-break:break-word;white-space:pre-wrap}.chat-msg.mine .who{color:var(--c-jade-300)}.chat-input{display:flex;gap:var(--sp-2);margin-top:var(--sp-3)}.chat-input input{flex:1;padding:10px 14px;border-radius:var(--r-md);border:1px solid var(--border-soft);background:#00000047;color:var(--c-text);outline:none}.chat-input input:focus{border-color:var(--c-gold-400)}.form-grid{display:grid;gap:var(--sp-4)}.form-field{display:grid;gap:6px}.form-field>label{font-size:calc(12.5px * var(--fs-scale));font-weight:700;letter-spacing:.06em;color:var(--c-gold-300)}.form-field input,.form-field textarea,.form-field select{width:100%;padding:10px 13px;border-radius:var(--r-md);border:1px solid var(--border-soft);background:#00000047;color:var(--c-text);font-size:calc(14.5px * var(--fs-scale));outline:none;transition:border-color var(--dur-fast) var(--ease-out)}.form-field input:focus,.form-field textarea:focus{border-color:var(--c-gold-400);box-shadow:0 0 0 3px rgba(var(--c-accent-rgb),.14)}.form-error{padding:9px 12px;border-radius:var(--r-md);background:rgba(var(--c-danger-rgb),.14);border:1px solid rgba(var(--c-danger-rgb),.35);color:#ffb9b7;font-size:calc(13.5px * var(--fs-scale))}.form-hint{font-size:calc(12px * var(--fs-scale));color:var(--c-text-faint)}.voice-studio .voice-status{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px}.voice-buy{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0}.voice-clone{margin:10px 0 14px;padding:10px 12px;border-left:3px solid var(--accent, #c8a24a);border-radius:6px;background:#c8a24a0f}.voice-clone-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0}.voice-clone-row progress{height:8px;min-width:120px}.voice-groups{display:flex;flex-direction:column;gap:10px;margin-top:8px}.voice-group-head{display:flex;align-items:baseline;gap:6px;font-size:calc(13.5px * var(--fs-scale));margin-bottom:6px}.voice-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px}.voice-slot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;border:1px solid var(--border-soft);border-radius:10px;background:#00000024}.voice-slot.filled{border-color:var(--c-jade, #4f9d7a)}.voice-slot-name{font-size:calc(13px * var(--fs-scale));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.voice-slot-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.invite-panel{margin-top:12px;padding:12px 14px;border:1px solid var(--border-soft);border-radius:12px;background:#00000029}.invite-row{padding:6px 0}.invite-row .name{display:flex;align-items:center;gap:8px}.data-table{width:100%;border-collapse:collapse;font-size:calc(13.5px * var(--fs-scale))}.data-table th{text-align:left;padding:8px 10px;color:var(--c-gold-300);font-size:calc(12px * var(--fs-scale));letter-spacing:.08em;border-bottom:1px solid var(--border-soft);white-space:nowrap}.data-table td{padding:9px 10px;border-bottom:1px solid rgba(255,255,255,.045);vertical-align:middle}.data-table tr:hover td{background:#ffffff08}.stats-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.badge{display:inline-block;padding:2px 8px;border-radius:var(--r-full);font-size:calc(11.5px * var(--fs-scale));font-weight:700}.badge.ok{background:rgba(var(--c-success-rgb),.16);color:#86e8bb}.badge.warn{background:rgba(var(--c-warning-rgb),.16);color:#f7d489}.badge.danger{background:rgba(var(--c-danger-rgb),.18);color:#ffaeab}.badge.info{background:rgba(var(--c-info-rgb),.16);color:#9dcdff}.badge.muted{background:#ffffff14;color:var(--c-text-dim)}.tabs{display:flex;gap:4px;padding:4px;border-radius:var(--r-md);background:#00000040;margin-bottom:var(--sp-4);flex-wrap:wrap}.tab{padding:8px 14px;border:none;border-radius:var(--r-sm);background:transparent;color:var(--c-text-dim);font-size:calc(14px * var(--fs-scale));font-weight:600}.tab:hover{color:var(--c-text);background:#ffffff0d}.tab.active{background:linear-gradient(180deg,rgba(var(--c-accent-rgb),.24),rgba(var(--c-accent-rgb),.1));color:var(--c-gold-200);box-shadow:inset 0 0 0 1px rgba(var(--c-accent-rgb),.32)}.loading{padding:var(--sp-5);text-align:center;color:var(--c-text-faint);font-size:calc(14px * var(--fs-scale))}.spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(var(--c-accent-rgb),.25);border-top-color:var(--c-gold-400);border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle}.toast-stack{position:fixed;right:var(--sp-4);top:var(--sp-4);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--sp-2);width:min(340px,calc(100vw - var(--sp-4) * 2));max-height:calc(100vh - var(--sp-4) * 2);overflow:hidden;pointer-events:none}.toast-stack>*{pointer-events:auto}.toast{padding:10px 14px;border-radius:var(--r-md);background:#0a1c17f2;border:1px solid var(--border-strong);box-shadow:var(--sh-lg);font-size:calc(13.5px * var(--fs-scale));animation:fadeIn var(--dur-mid) var(--ease-out) both}.toast.error{border-color:rgba(var(--c-danger-rgb),.5)}.toast.warn{border-color:rgba(var(--c-warning-rgb),.5)}.announcement{display:flex;align-items:flex-start;gap:var(--sp-3);padding:10px 14px;border-radius:var(--r-md);background:rgba(var(--c-info-rgb),.1);border:1px solid rgba(var(--c-info-rgb),.25);font-size:calc(13.5px * var(--fs-scale));margin-bottom:var(--sp-3)}.announcement.warning{background:rgba(var(--c-warning-rgb),.1);border-color:rgba(var(--c-warning-rgb),.3)}.announcement.critical{background:rgba(var(--c-danger-rgb),.12);border-color:rgba(var(--c-danger-rgb),.35)}.announcement b{color:var(--c-gold-200)}.auth-modal{width:min(440px,92vw)}.auth-head{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4)}.auth-logo{font-size:calc(38px * var(--fs-scale));line-height:1;filter:drop-shadow(0 4px 14px rgba(var(--c-accent-rgb),.4))}.auth-head h2{margin:0;font-family:var(--font-serif);font-size:calc(22px * var(--fs-scale));letter-spacing:.08em;color:var(--c-gold-200)}.auth-head p{margin:3px 0 0;font-size:calc(12.5px * var(--fs-scale))}.mfa-qr{display:block;margin:var(--sp-3) auto;padding:8px;border-radius:8px;background:#fff}.mfa-secret{display:block;padding:var(--sp-2) var(--sp-3);border-radius:6px;background:#ffffff14;color:var(--c-jade-200);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;word-break:break-all}.mfa-codes{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:var(--sp-2);margin:var(--sp-3) 0}.mfa-codes code{padding:6px var(--sp-2);border-radius:6px;background:#ffffff14;color:var(--c-jade-200);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-align:center}.room-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:var(--sp-4)}.seat-dots{display:flex;gap:5px}.seat-dot{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:calc(13px * var(--fs-scale));background:#ffffff0f;border:1px solid rgba(255,255,255,.1)}.seat-dot.filled{background:rgba(var(--c-accent-rgb),.18);border-color:rgba(var(--c-accent-rgb),.4)}.avatar,.avatar-chip,.user-chip .avatar,.seat-dot{font-family:"Segoe UI Emoji","Noto Color Emoji","Apple Color Emoji",Segoe UI Symbol,sans-serif}.seat-dot img,.seat-avatar img,.avatar-chip img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.style-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-3)}.style-card{display:grid;justify-items:center;gap:8px;padding:var(--sp-4) var(--sp-3);border-radius:var(--r-lg);border:1px solid var(--border-soft);background:#ffffff08;color:var(--c-text);text-align:center;transition:all var(--dur-fast) var(--ease-out)}.style-card:hover{border-color:var(--border-strong);background:#ffffff0f;transform:translateY(-2px)}.style-card.active{border-color:var(--c-gold-400);background:linear-gradient(180deg,rgba(var(--c-accent-rgb),.16),rgba(var(--c-accent-rgb),.04));box-shadow:var(--sh-glow)}.style-card b{font-size:calc(15px * var(--fs-scale));letter-spacing:.06em}.style-badge{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:var(--r-full);font-size:calc(10px * var(--fs-scale));font-weight:700;vertical-align:middle;background:rgba(var(--c-info-rgb),.16);color:#9dcdff;border:1px solid rgba(var(--c-info-rgb),.32)}.style-card small{color:var(--c-text-faint);font-size:calc(11.5px * var(--fs-scale));line-height:1.5}.style-preview{display:block;filter:drop-shadow(0 6px 14px rgba(0,0,0,.45))}.result-countdown{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4)}.countdown-toggle{flex:none;width:34px;height:34px;border-radius:var(--r-full);border:1px solid var(--border-soft);background:var(--surface-2);color:var(--c-gold-300);font-size:calc(12px * var(--fs-scale));line-height:1;cursor:pointer;transition:border-color .16s,background .16s}.countdown-toggle:hover{border-color:var(--c-gold-400);background:rgba(var(--c-accent-rgb),.12)}.countdown-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.countdown-track{height:4px;border-radius:var(--r-full);background:#ffffff1a;overflow:hidden}.countdown-fill{height:100%;border-radius:var(--r-full);background:linear-gradient(90deg,var(--c-gold-400),var(--c-gold-200));transition:width .9s linear}.countdown-text{font-size:calc(12px * var(--fs-scale));color:var(--text-3);letter-spacing:.04em}.btn-google,.btn-instagram,.btn-wechat{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:#fff;color:#1f2937;border:1px solid rgba(0,0,0,.12);font-weight:600}.btn-google:hover,.btn-instagram:hover,.btn-wechat:hover{background:#f5f7fa;border-color:#0003}.btn-instagram,.btn-wechat{margin-top:var(--sp-2)}.google-mark,.social-mark{width:18px;height:18px;flex:none}.btn-block{width:100%}.auth-divider{display:flex;align-items:center;gap:var(--sp-3);margin:var(--sp-4) 0;color:var(--text-3);font-size:calc(12px * var(--fs-scale))}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--border-soft)}.auth-callback{display:grid;place-items:center;min-height:70vh;padding:var(--sp-5)}.auth-callback-card{width:min(420px,92vw);padding:var(--sp-6);text-align:center}.auth-callback-card h2{margin:0 0 var(--sp-2);font-family:var(--font-serif);letter-spacing:.06em}.auth-callback-card .row{display:flex;justify-content:center;margin-top:var(--sp-4)}.auth-callback-spinner{width:28px;height:28px;margin:var(--sp-4) auto 0;border-radius:50%;border:3px solid rgba(var(--c-accent-rgb),.25);border-top-color:var(--c-gold-300);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.board-periods{margin-bottom:var(--sp-3)}.board-periods .tab{font-weight:700;letter-spacing:.04em}.board-filters{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5);align-items:center;margin-bottom:var(--sp-4)}.pill-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.pill-row-label{font-size:calc(12px * var(--fs-scale));color:var(--text-3);letter-spacing:.08em;margin-right:2px}.pill{padding:4px 12px;border-radius:var(--r-full);border:1px solid var(--border-soft);background:#ffffff0a;color:var(--text-2);font-size:calc(12.5px * var(--fs-scale));cursor:pointer;transition:border-color .16s,color .16s,background .16s}.pill:hover{border-color:var(--border-strong);color:var(--text-1)}.pill.active{border-color:var(--c-gold-400);background:rgba(var(--c-accent-rgb),.14);color:var(--c-gold-200);font-weight:600}.music-toggle{display:inline-flex;align-items:center;gap:7px;padding:5px 11px 5px 9px;border-radius:var(--r-full);border:1px solid var(--border-soft);background:#ffffff0a;color:var(--text-3);font-size:calc(12px * var(--fs-scale));cursor:pointer;max-width:190px;transition:border-color .16s,color .16s,background .16s}.music-toggle:hover{border-color:var(--c-gold-400);color:var(--c-gold-200)}.music-toggle.playing{border-color:rgba(var(--c-accent-rgb),.5);background:rgba(var(--c-accent-rgb),.1);color:var(--c-gold-200)}.music-toggle-icon{display:inline-flex;align-items:center;flex:none}.music-toggle-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.04em}@media(max-width:1100px){.music-toggle-name{display:none}.music-toggle{padding:5px 9px}}.music-ctl{position:relative;display:inline-flex;align-items:center;gap:2px;pointer-events:auto}.music-ctl-hud .music-toggle{background:#00000059;backdrop-filter:blur(6px)}.music-more{display:inline-flex;align-items:center;justify-content:center;width:20px;height:22px;padding:0;border:none;border-radius:var(--r-sm);background:transparent;color:var(--text-3);cursor:pointer;transition:color .16s,background .16s}.music-more:hover{color:var(--c-gold-200);background:rgba(var(--c-accent-rgb),.12)}.music-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:var(--z-modal, 60);width:268px;padding:var(--sp-3);border-radius:var(--r-md);border:1px solid var(--border-strong);background:var(--surface-1, #101a17);box-shadow:0 18px 40px #0000008c;animation:fade-in .14s ease-out}.music-panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-2)}.music-panel-head b{font-size:calc(13px * var(--fs-scale));letter-spacing:.08em;color:var(--c-gold-200)}.music-panel-close{border:none;background:transparent;color:var(--text-3);font-size:calc(18px * var(--fs-scale));line-height:1;cursor:pointer;padding:0 4px}.music-panel-close:hover{color:var(--text-1)}.music-panel-tracks{display:flex;flex-direction:column;gap:3px}.music-panel-track{display:flex;align-items:flex-start;gap:8px;padding:7px 9px;border-radius:var(--r-sm);border:1px solid transparent;background:transparent;color:var(--text-2);text-align:left;cursor:pointer;transition:background .14s,border-color .14s}.music-panel-track:hover{background:#ffffff0d}.music-panel-track.active{border-color:rgba(var(--c-accent-rgb),.45);background:rgba(var(--c-accent-rgb),.12);color:var(--text-1)}.music-panel-dot{flex:none;width:14px;font-size:calc(10px * var(--fs-scale));line-height:1.6;color:var(--c-gold-300)}.music-panel-text{display:flex;flex-direction:column;gap:2px;min-width:0}.music-panel-text b{font-size:calc(13px * var(--fs-scale))}.music-panel-text small{font-size:calc(11px * var(--fs-scale));line-height:1.45;color:var(--text-3)}.music-panel-vol{display:block;margin-top:var(--sp-3)}.music-panel-vol span{display:block;margin-bottom:4px;font-size:calc(11.5px * var(--fs-scale));color:var(--text-3)}.music-panel-vol input{width:100%}.music-panel-note{margin:var(--sp-3) 0 0;font-size:calc(11px * var(--fs-scale));line-height:1.5;color:var(--text-3)}.display-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}@media(max-width:720px){.display-choice{grid-template-columns:1fr}}.display-option{display:flex;flex-direction:column;gap:3px;padding:var(--sp-3);text-align:left;border-radius:var(--r-md);border:1px solid var(--border-soft);background:var(--surface-2);color:var(--text-1);cursor:pointer;transition:border-color .16s,background .16s}.display-option:hover{border-color:var(--border-strong)}.display-option.active{border-color:var(--c-gold-400);background:rgba(var(--c-accent-rgb),.1);box-shadow:0 0 0 1px rgba(var(--c-accent-rgb),.35)}.display-option b{font-size:calc(13.5px * var(--fs-scale))}.display-option small{font-size:calc(11.5px * var(--fs-scale));line-height:1.5;color:var(--text-3)}.announcement-backdrop{z-index:calc(var(--z-modal, 60) + 10);place-items:center;background:#040a08a8;backdrop-filter:blur(2px)}.announcement-modal{width:min(560px,calc(100vw - 40px));padding:var(--sp-5);border-left:3px solid var(--c-gold-400);background:var(--surface-1, #101a17);box-shadow:0 26px 70px #0009}.announcement-modal.level-warning{border-left-color:#e0a33a}.announcement-modal.level-critical{border-left-color:var(--c-danger)}.announcement-modal-head{display:flex;align-items:flex-start;gap:var(--sp-3);margin-bottom:var(--sp-4)}.announcement-modal-icon{font-size:calc(26px * var(--fs-scale));line-height:1.1}.announcement-modal-kicker{font-size:calc(11px * var(--fs-scale));letter-spacing:.22em;color:var(--text-3);margin-bottom:2px}.announcement-modal-head h2{margin:0;font-size:calc(20px * var(--fs-scale));letter-spacing:.04em}.announcement-modal-body{font-size:calc(14.5px * var(--fs-scale));line-height:1.85;color:var(--text-2);white-space:pre-wrap;max-height:46vh;overflow-y:auto}.announcement-modal-foot{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-3);margin-top:var(--sp-5)}.hud-button{display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 10px;border-radius:var(--r-full);border:1px solid var(--border-soft);background:#00000059;backdrop-filter:blur(6px);color:var(--text-3);font-size:calc(12px * var(--fs-scale));cursor:pointer;pointer-events:auto;transition:border-color .16s,color .16s,background .16s}.hud-button:hover{border-color:var(--c-gold-400);color:var(--c-gold-200);background:rgba(var(--c-accent-rgb),.12)}.game-settings-backdrop{place-items:center;background:#040a08a8;backdrop-filter:blur(2px);z-index:calc(var(--z-modal, 60) + 5)}.game-settings{width:min(560px,calc(100vw - 40px));max-height:min(78vh,680px);display:flex;flex-direction:column;padding:var(--sp-5);background:var(--surface-1, #101a17);box-shadow:0 26px 70px #0009}.game-settings-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--sp-3)}.game-settings-head h2{margin:0;font-size:calc(19px * var(--fs-scale));letter-spacing:.06em;color:var(--c-gold-200)}.game-settings-close{border:none;background:transparent;color:var(--text-3);font-size:calc(22px * var(--fs-scale));line-height:1;cursor:pointer;padding:0 6px}.game-settings-close:hover{color:var(--text-1)}.game-settings-tabs{margin-bottom:var(--sp-4)}.game-settings-body{display:flex;flex-direction:column;gap:var(--sp-4);overflow-y:auto}.game-settings-body .field span{display:block;margin-bottom:6px;font-size:calc(12.5px * var(--fs-scale));color:var(--text-3)}.game-settings-body input[type=range]{width:100%}.game-settings-note{margin:var(--sp-4) 0 0;padding-top:var(--sp-3);border-top:1px solid var(--border-soft);font-size:calc(11.5px * var(--fs-scale));line-height:1.5;color:var(--text-3)}.wind-draw-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:var(--sp-4);background:#0000009e;animation:fade-in .18s ease-out;pointer-events:none}.wind-draw{width:min(420px,100%);max-height:88vh;overflow-y:auto;padding:var(--sp-5);text-align:center;pointer-events:auto;cursor:pointer}.wind-draw-title{margin:0 0 4px;font-size:calc(20px * var(--fs-scale))}.wind-draw-subtitle{margin:0 0 var(--sp-4);font-size:calc(12.5px * var(--fs-scale))}.wind-draw-rounds{display:grid;gap:var(--sp-3);margin-bottom:var(--sp-4)}.wind-draw-round{padding:var(--sp-2) var(--sp-3);border:1px solid var(--border-soft);border-radius:10px;background:#ffffff05}.wind-draw-round-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-size:calc(11.5px * var(--fs-scale));color:var(--text-3)}.wind-draw-tie{color:#f0c674;font-weight:600}.wind-draw-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:var(--sp-3);padding:3px 0;opacity:.5}.wind-draw-row.is-best{opacity:1}.wind-draw-row.is-best .wind-draw-name{font-weight:700}.wind-draw-name{overflow:hidden;font-size:calc(13px * var(--fs-scale));text-align:left;text-overflow:ellipsis;white-space:nowrap}.wind-draw-total{min-width:54px;font-size:calc(12px * var(--fs-scale));color:var(--text-3);text-align:right}.wind-draw-dice{display:inline-flex;gap:6px}.die{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:1px;width:24px;height:24px;padding:3px;border-radius:5px;background:#f7f7f5;box-shadow:inset 0 -1px #0000002e,0 1px 2px #00000040}.die-pip{border-radius:50%;background:#23262b}.die-pip.is-off{background:transparent}.wind-draw-result{margin-bottom:var(--sp-4)}.wind-draw-east{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:var(--sp-3)}.wind-draw-east-badge{padding:1px 7px;border-radius:4px;background:#c8a75b;color:#1b1d21;font-size:calc(11px * var(--fs-scale));font-weight:700}.wind-draw-winds{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin:0;padding:0;list-style:none}.wind-draw-winds li{display:flex;align-items:center;gap:6px;font-size:calc(12.5px * var(--fs-scale))}.wind-chip{display:inline-grid;place-items:center;width:22px;height:22px;border:1px solid var(--border-soft);border-radius:5px;background:#ffffff14;font-size:calc(12px * var(--fs-scale));font-weight:700}.wind-chip-0{color:#e06c6c}.wind-chip-1{color:#6cc0e0}.wind-chip-2{color:#d8d8d8}.wind-chip-3{color:#8fd08f}.wind-draw-wind-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-editor{display:flex;flex-direction:column;width:min(1000px,94vw);max-height:88vh;padding:var(--sp-5)}.theme-editor-head h2{margin:0 0 4px}.theme-editor-head p{margin:0 0 var(--sp-4);font-size:calc(12.5px * var(--fs-scale))}.theme-editor-body{display:grid;grid-template-columns:230px 1fr;gap:var(--sp-5);min-height:0;overflow:hidden}.theme-list{display:flex;flex-direction:column;gap:6px;overflow-y:auto;padding-right:4px}.theme-list-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:4px;font-size:calc(12px * var(--fs-scale));color:var(--c-text-dim)}.theme-builtin-head{margin-top:var(--sp-3)}.theme-empty{font-size:calc(12px * var(--fs-scale))}.theme-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border:1px solid var(--border-soft);border-radius:var(--r-md);background:#ffffff08;color:var(--c-text);text-align:left}.theme-item:hover{border-color:var(--c-gold-400)}.theme-item.active{border-color:var(--c-gold-400);background:rgba(var(--c-accent-rgb),.12)}.theme-item-name{flex:1;overflow:hidden;font-size:calc(13px * var(--fs-scale));text-overflow:ellipsis;white-space:nowrap}.theme-item-on{font-size:calc(10.5px * var(--fs-scale));color:var(--c-gold-300)}.theme-swatch{display:inline-flex;gap:2px;flex:none}.theme-swatch i{display:block;width:9px;height:18px;border-radius:3px;border:1px solid rgba(0,0,0,.25)}.theme-fields{overflow-y:auto;padding-right:4px}.theme-name-field{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4)}.theme-name-field span{font-size:calc(12.5px * var(--fs-scale));color:var(--c-text-dim)}.theme-name-field input{flex:1}.theme-colors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px}.theme-color-row{display:grid;grid-template-columns:36px minmax(0,1fr) 96px;align-items:center;gap:10px}.theme-color-input{width:36px;height:30px;padding:0;border:1px solid var(--border-soft);border-radius:var(--r-sm);background:none}.theme-color-text{display:flex;flex-direction:column;overflow:hidden;font-size:calc(12.5px * var(--fs-scale));line-height:1.35}.theme-color-text em{overflow:hidden;font-size:calc(11px * var(--fs-scale));font-style:normal;text-overflow:ellipsis;white-space:nowrap}.theme-color-hex{font-family:var(--font-mono);font-size:calc(12px * var(--fs-scale))}.theme-color-hex.invalid{border-color:var(--c-danger)}.theme-bg{margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--border-soft)}.theme-bg-head{display:flex;flex-direction:column;gap:2px;margin-bottom:var(--sp-3);font-size:calc(12.5px * var(--fs-scale))}.theme-bg-head .faint{font-size:calc(11.5px * var(--fs-scale))}.theme-bg-row{display:flex;align-items:flex-start;gap:var(--sp-4)}.theme-bg-preview{display:grid;place-items:center;flex:none;width:208px;height:100px;overflow:hidden;border:1px solid var(--border-soft);border-radius:var(--r-md);background:#00000040;font-size:calc(12px * var(--fs-scale))}.theme-bg-preview img{width:100%;height:100%;object-fit:cover}.theme-bg-actions{display:flex;flex-direction:column;gap:8px}.theme-bg-scrim{display:flex;align-items:center;gap:var(--sp-3);margin-top:var(--sp-3);font-size:calc(12.5px * var(--fs-scale))}.theme-bg-scrim input[type=range]{flex:1}.theme-editor-actions{display:flex;justify-content:flex-end;gap:var(--sp-3);margin-top:var(--sp-4)}.theme-dirty{margin:6px 0 0;font-size:calc(11.5px * var(--fs-scale));text-align:right}@media(max-width:900px){.theme-editor-body{grid-template-columns:1fr;overflow-y:auto}.theme-list{max-height:180px}.theme-colors{grid-template-columns:1fr}}.tier-badge{display:inline-block;padding:1px 8px;border:1px solid currentColor;border-radius:var(--r-full);font-size:calc(11px * var(--fs-scale));font-weight:700;vertical-align:middle}.tier-1{color:var(--c-ink-200)}.tier-2{color:var(--c-jade-300)}.tier-3{color:var(--c-gold-300)}.tier-4{color:#ff8a65;background:#ff8a6524}.tier-card{margin-bottom:20px}.tier-card-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);font-size:calc(12.5px * var(--fs-scale))}.tier-card-hint{margin:6px 0 0;font-size:calc(12.5px * var(--fs-scale))}.play-entry{display:flex;flex-direction:column;gap:6px;padding:var(--sp-4);border-radius:var(--r-lg);background:linear-gradient(180deg,#ffffff0f,#ffffff03);border:1px solid var(--border-soft)}.play-entry-title{font-size:calc(14.5px * var(--fs-scale))}.play-entry-desc{color:var(--c-text-faint);font-size:calc(12.5px * var(--fs-scale));margin-bottom:auto}.create-desc{margin:-4px 0 10px;font-size:calc(12.5px * var(--fs-scale))}.stake-confirm-value{margin:4px 0 0;text-align:center;font-size:calc(26px * var(--fs-scale));font-weight:700;letter-spacing:.04em;color:var(--c-gold-300);white-space:nowrap}.stake-confirm-hint{margin:6px 0 14px;text-align:center;font-size:calc(12px * var(--fs-scale))}.stake-custom-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--sp-3);margin-top:8px}.stake-custom-row label{display:flex;flex-direction:column;gap:4px;font-size:calc(12px * var(--fs-scale));color:var(--c-text-faint)}.stake-custom-row input{width:96px;padding:8px 10px;border-radius:10px;background:#00000047;color:var(--c-text);border:1px solid var(--border-soft)}.stake-custom-preview{font-size:calc(13px * var(--fs-scale));font-weight:700;color:var(--c-gold-300);padding-bottom:8px}.room-stake-tag{color:var(--c-gold-300)}.room-row.locked{opacity:.55}.avatar-inline{display:inline-block;vertical-align:middle;width:1.2em;height:1.2em;font-size:1em;line-height:1}.avatar-inline img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}.theme-tabs{margin-bottom:var(--sp-4)}.theme-gallery{display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding-right:4px}.theme-gallery-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap}.theme-gallery-sort{display:flex;gap:4px}.theme-gallery-hint{margin:6px 0 var(--sp-3);font-size:calc(12px * var(--fs-scale))}.gallery-list{display:grid;gap:8px}.gallery-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:var(--sp-3);padding:8px 10px;border:1px solid var(--border-soft);border-radius:var(--r-md);background:#ffffff08}.gallery-item.previewing{border-color:var(--c-gold-400);background:rgba(var(--c-accent-rgb),.12)}.gallery-main{min-width:0}.gallery-name{display:flex;align-items:center;gap:8px;font-size:calc(13.5px * var(--fs-scale));font-weight:700;overflow:hidden}.gallery-mine,.gallery-previewing{padding:1px 6px;border-radius:var(--r-full);font-size:calc(10.5px * var(--fs-scale));font-weight:600}.gallery-mine{border:1px solid var(--border-soft);color:var(--c-text-dim)}.gallery-previewing{background:rgba(var(--c-accent-rgb),.2);color:var(--c-gold-200)}.gallery-meta{display:flex;align-items:center;gap:6px;margin-top:2px;font-size:calc(11.5px * var(--fs-scale));color:var(--c-text-faint)}.gallery-author-avatar{width:18px;height:18px;font-size:calc(13px * var(--fs-scale));line-height:1}.gallery-like{min-width:56px;color:var(--c-text-dim)}.gallery-like.liked{color:#e06c6c;border-color:#e06c6c73}.gallery-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}@media(max-width:900px){.gallery-item{grid-template-columns:auto minmax(0,1fr)}.gallery-actions{grid-column:1 / -1;justify-content:flex-start}}.cg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--sp-4);margin-top:var(--sp-4)}.cg-card{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4);cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out);border-left:3px solid rgba(var(--c-accent-rgb),.5)}.cg-card:hover{transform:translateY(-2px);border-color:var(--border-strong)}.cg-card.compact{padding:var(--sp-3)}.cg-card-head{display:flex;align-items:center;gap:var(--sp-3)}.cg-avatar .avatar{width:44px;height:44px;font-size:calc(24px * var(--fs-scale));line-height:44px}.cg-avatar-lg .avatar{width:64px;height:64px;font-size:calc(34px * var(--fs-scale));line-height:64px}.cg-card-title{flex:1;min-width:0}.cg-card-name{font-weight:700;font-size:calc(17px * var(--fs-scale));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cg-card-meta{display:flex;flex-wrap:wrap;gap:var(--sp-1);margin-top:4px}.cg-summary{margin:0;color:var(--c-text-dim);font-size:calc(14px * var(--fs-scale))}.cg-card-stats{display:flex;flex-wrap:wrap;gap:var(--sp-3);font-size:calc(13px * var(--fs-scale));color:var(--c-text-dim)}.cg-card-stats strong{color:var(--c-text)}.cg-rank{color:var(--c-gold-300)}.cg-card-foot{display:flex;justify-content:space-between;align-items:center;font-size:calc(12px * var(--fs-scale))}.cg-state.on{color:var(--c-success)}.cg-dim{color:var(--c-text-faint)}.cg-hint{color:var(--c-text-dim);font-size:calc(13px * var(--fs-scale));margin:var(--sp-3) 0 0}.cg-theme-walnut{border-left-color:#8b5a2b}.cg-theme-jade{border-left-color:var(--c-jade-400)}.cg-theme-sakura{border-left-color:#e08aa8}.cg-theme-night{border-left-color:#4a5b8f}.cg-level{padding:2px 10px;border-radius:var(--r-full);font-size:calc(12px * var(--fs-scale));font-weight:700;white-space:nowrap;border:1px solid transparent}.cg-level-bronze{color:#d9a066;background:#d9a06624;border-color:#d9a06666}.cg-level-silver{color:#cfd8dc;background:#cfd8dc24;border-color:#cfd8dc66}.cg-level-gold{color:var(--c-gold-300);background:rgba(var(--c-accent-rgb),.16);border-color:var(--border-strong)}.cg-level-platinum{color:#9fe8d8;background:#9fe8d824;border-color:#9fe8d86b}.cg-level-diamond{color:#b3d4ff;background:#b3d4ff29;border-color:#b3d4ff73}.cg-medals{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.cg-medal{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--r-full);font-size:calc(12px * var(--fs-scale));border:1px solid var(--border-soft);background:var(--surface-2)}.cg-medal.off{opacity:.42;filter:grayscale(1)}.cg-medal-icon{font-size:calc(14px * var(--fs-scale))}.cg-scorebar{display:flex;flex-direction:column;gap:6px;min-width:220px}.cg-scorebar-head{display:flex;justify-content:space-between;gap:var(--sp-3);font-size:calc(13px * var(--fs-scale))}.cg-scorebar-track{height:8px;border-radius:var(--r-full);background:#00000059;overflow:hidden}.cg-scorebar-fill{height:100%;background:linear-gradient(90deg,var(--c-jade-400),var(--c-gold-400));transition:width var(--dur-mid) var(--ease-out)}.cg-scorebar-ticks{display:flex;gap:4px}.cg-scorebar-ticks span{flex:1;height:3px;border-radius:var(--r-full);background:#ffffff1f}.cg-scorebar-ticks span.on{background:var(--c-gold-400)}.cg-title{margin-left:6px;background:rgba(var(--c-accent-rgb),.18);color:var(--c-gold-200)}.cg-filters{display:flex;flex-wrap:wrap;gap:var(--sp-3);align-items:center;margin-top:var(--sp-3)}.cg-filters input{flex:1;min-width:200px}.cg-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-3);margin-top:var(--sp-3)}.cg-form-grid label,.cg-block{display:flex;flex-direction:column;gap:4px;font-size:calc(13px * var(--fs-scale));color:var(--c-text-dim)}.cg-block{margin-top:var(--sp-3)}.cg-form-grid input,.cg-form-grid select,.cg-block textarea,.cg-apply textarea,.cg-post-input,.cg-title-input,.cg-danger-row input{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--r-sm);color:var(--c-text);padding:8px 10px;font:inherit}.cg-form-actions{display:flex;gap:var(--sp-2);justify-content:flex-end;align-items:center;margin-top:var(--sp-3)}.cg-check{display:inline-flex;gap:6px;align-items:center;font-size:calc(13px * var(--fs-scale));color:var(--c-text-dim);margin-right:auto}.cg-vis-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--sp-2)}.cg-vis{display:flex;flex-direction:column;gap:2px;text-align:left;padding:var(--sp-3);border-radius:var(--r-md);border:1px solid var(--border-soft);background:var(--surface-2);color:var(--c-text);cursor:pointer}.cg-vis.on{border-color:var(--border-strong);box-shadow:var(--sh-glow)}.cg-vis small{color:var(--c-text-dim)}.cg-hero{padding:var(--sp-5)}.cg-hero-top{display:flex;gap:var(--sp-4);align-items:flex-start}.cg-hero-main{flex:1;min-width:0}.cg-hero-main .page-title{margin:0 0 6px}.cg-hero-actions{display:flex;flex-direction:column;gap:var(--sp-2);align-items:flex-end}.cg-hero-score{display:flex;flex-wrap:wrap;gap:var(--sp-4);align-items:center;justify-content:space-between;margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid var(--border-soft)}.cg-suspended{margin-top:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);background:rgba(var(--c-danger-rgb),.14);border:1px solid rgba(var(--c-danger-rgb),.4);color:var(--c-text);font-size:calc(13px * var(--fs-scale))}.cg-apply{display:flex;flex-direction:column;gap:var(--sp-2);min-width:280px;padding:var(--sp-3);border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--border-soft)}.cg-question{margin:0;color:var(--c-gold-200);font-size:calc(13px * var(--fs-scale))}.cg-posts{display:flex;flex-direction:column;gap:var(--sp-3);margin-top:var(--sp-4)}.cg-post{padding:var(--sp-4)}.cg-post.announcement{border-left:3px solid var(--c-warning)}.cg-post-head{display:flex;align-items:center;gap:var(--sp-3)}.cg-post-head .main{flex:1;min-width:0}.cg-post-head .name{font-weight:600}.cg-post-head .meta{font-size:calc(12px * var(--fs-scale));color:var(--c-text-faint)}.cg-post-body{margin:var(--sp-3) 0 0;white-space:pre-wrap;word-break:break-word}.cg-post-input{width:100%;resize:vertical}.cg-member-row{align-items:center}.cg-member-actions{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.cg-member-actions select,.cg-title-input{background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--r-sm);color:var(--c-text);padding:4px 6px;font-size:calc(12px * var(--fs-scale))}.cg-title-input{width:90px}.cg-contribution{display:flex;flex-direction:column;align-items:flex-end;min-width:64px}.cg-contribution strong{font-size:calc(18px * var(--fs-scale));color:var(--c-gold-300)}.cg-contribution small{font-size:calc(11px * var(--fs-scale));color:var(--c-text-faint)}.cg-rank-no{width:34px;color:var(--c-gold-300);font-weight:700}.cg-about-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:var(--sp-3);margin:var(--sp-3) 0}.cg-about-stats strong{display:block;font-size:calc(20px * var(--fs-scale));color:var(--c-gold-200)}.cg-about-stats small{color:var(--c-text-faint);font-size:calc(12px * var(--fs-scale))}.cg-pre{white-space:pre-wrap;word-break:break-word}.cg-danger{border-color:rgba(var(--c-danger-rgb),.35)}.cg-danger-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(160px,240px) auto;gap:var(--sp-3);align-items:center;padding:var(--sp-3) 0;border-top:1px solid var(--border-soft)}.cg-danger-row p{margin:4px 0 0;font-size:calc(12px * var(--fs-scale))}@media(max-width:720px){.cg-hero-top,.cg-danger-row{grid-template-columns:1fr;flex-direction:column}.cg-hero-actions{align-items:stretch}}.rule-options-panel{margin-top:12px;padding:12px;border:1px solid var(--border-soft);border-radius:12px;background:#0000002e}.rule-option-list{display:flex;flex-direction:column;gap:6px}.rule-option{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:calc(13px * var(--fs-scale));cursor:pointer}.rule-option-label{min-width:96px;color:var(--c-text)}.rule-option-hint{flex:1 1 220px;color:var(--c-text-faint);font-size:calc(12px * var(--fs-scale))}.rule-option-number{width:72px;padding:4px 8px;border-radius:8px;border:1px solid var(--border-soft);background:#00000047;color:var(--c-text)}.rule-option-summary{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}.room-actions{display:flex;gap:6px;align-items:center}.score-preview{position:absolute;left:12px;bottom:96px;z-index:5;max-width:420px;padding:10px 12px;background:#0c0e12db;backdrop-filter:blur(6px)}.score-preview-head{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.score-preview-title{font-weight:700}.score-preview-wait{color:var(--c-jade, #7dfcb0);font-size:calc(13px * var(--fs-scale))}.score-preview-close{margin-left:auto;background:none;border:none;color:var(--c-text-faint);font-size:calc(16px * var(--fs-scale));cursor:pointer}.score-preview-rows{display:flex;flex-direction:column;gap:4px}.score-preview-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;font-size:calc(12px * var(--fs-scale));padding:3px 0;border-top:1px solid var(--border-soft)}.score-preview-tile{min-width:44px;font-weight:600}.score-preview-cell{display:inline-flex;align-items:baseline;gap:4px}.score-preview-kind{color:var(--c-text-faint)}.score-preview-items{display:inline-flex;flex-wrap:wrap;gap:4px;opacity:.85}.score-preview-foot{margin-top:6px;color:var(--c-text-faint);font-size:calc(11px * var(--fs-scale))}.table-status-row{position:absolute;top:54px;left:12px;z-index:4;display:flex;flex-wrap:wrap;gap:6px}@media(max-width:720px){.score-preview{left:8px;right:8px;bottom:84px;max-width:none}}
