.v10-filter-grid,.v10-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--sp-4);align-items:end}.v10-table-scroll{overflow:auto}.v10-table{border-collapse:collapse;width:100%;text-align:left}.v10-table th{color:var(--text-muted);font-size:.78rem;font-weight:500;white-space:nowrap}.v10-table td,.v10-table th{padding:var(--sp-4);border-bottom:1px solid var(--line)}.v10-table td{font-variant-numeric:tabular-nums}.v10-table td small{display:block;color:var(--text-muted)}.ranking-publication{display:grid;gap:var(--sp-2);padding:var(--sp-4);border-left:2px solid var(--glacier);background:var(--glass-sunk);color:var(--text-soft)}.ranking-publication small{color:var(--text-muted)}.ranking-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:var(--sp-4);max-width:1050px;width:100%;margin:auto}.ranking-card{isolation:isolate;position:relative;aspect-ratio:2/3;min-width:0;max-height:530px}.ranking-card:before{content:"";position:absolute;top:8%;right:10%;bottom:8%;left:10%;background:radial-gradient(ellipse at top,var(--abyss-4),var(--abyss-1) 70%);border-radius:var(--r-lg);box-shadow:var(--glow-glacier);z-index:-1}.ranking-card.rank-1{order:2}.ranking-card.rank-2{order:1;transform:scale(.92)}.ranking-card.rank-3{order:3;transform:scale(.88)}.ranking-card-art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:fill;pointer-events:none;z-index:1}.ranking-card-content{position:absolute;top:19%;right:13%;bottom:16%;left:13%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);text-align:center;z-index:2;min-width:0}.ranking-card-content .social-avatar{width:64px;height:64px}.ranking-player-name{font-size:clamp(1rem,2vw,1.45rem);font-weight:700;max-width:100%;overflow-wrap:anywhere}.ranking-card-content small{color:var(--text-muted);font-size:.72rem}.ranking-card-content p{font-size:.8rem;margin:0}.ranking-podium-points{font-size:clamp(2rem,5vw,3.6rem);font-family:var(--font-mono);line-height:1.1;color:var(--glacier)}.rank-1 .ranking-podium-points{color:var(--aurora)}.ranking-user{display:flex;align-items:center;gap:var(--sp-4);min-width:150px}.ranking-position{font:600 1.3rem var(--font-mono);color:var(--glacier)}.ranking-avatar{display:inline-flex;position:relative;flex-shrink:0;isolation:isolate}.ranking-avatar-art{position:absolute;top:-30%;right:-30%;bottom:-30%;left:-30%;width:160%;height:160%;object-fit:contain;pointer-events:none;z-index:2}.ranking-frame-choices{display:flex;flex-wrap:wrap;gap:var(--sp-6);padding:var(--sp-5)}.ranking-frame-choices>div{display:grid;justify-items:center;gap:var(--sp-5);opacity:.48}.ranking-frame-choices>div.eligible{opacity:1}.ranking-avatar.preview .social-avatar{width:68px;height:68px}.profile-ring{position:relative}.profile-ring .ranking-avatar-art{top:-26%;right:-26%;bottom:-26%;left:-26%;width:152%;height:152%}.v10-season-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--sp-4)}.v10-season-record{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-5);border:1px solid var(--glacier-line);border-radius:var(--r-md);background:var(--glass-raise)}.v10-season-record h3,.v10-season-record p{margin:0}.v10-season-record small{color:var(--text-muted)}.v10-season-record a{margin-top:var(--sp-3)}.v10-points{font:600 2.3rem var(--font-mono);color:var(--aurora)}.v10-workbench{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.8fr);gap:var(--sp-5);align-items:start}.v10-user-list{max-height:500px;overflow:auto;display:grid;gap:var(--sp-2)}.v10-user-list button{display:flex;align-items:center;gap:var(--sp-3);text-align:left;padding:var(--sp-3)}.v10-user-list button[aria-pressed=true]{border-color:var(--aurora);background:var(--aurora-glass)}.v10-user-list small{display:block;color:var(--text-muted)}.v10-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--sp-4)}.v10-stat-cell{background:var(--glass-raise);padding:var(--sp-5);border:1px solid var(--line-strong);border-radius:var(--r-lg);display:grid;gap:var(--sp-3)}.v10-stat-cell h3{margin:0}.v10-stat-cell[data-faction=THRALL]{border-color:var(--aurora-line)}.v10-stat-value{font:500 2.5rem var(--font-mono);color:var(--glacier)}.v10-stat-cell[data-faction=THRALL] .v10-stat-value{color:var(--aurora)}.v10-bar{height:7px;background:var(--abyss-0);overflow:hidden;border-radius:var(--r-pill)}.v10-bar>span{height:100%;display:block;background:linear-gradient(90deg,var(--glacier),var(--aurora));transform-origin:left}.v10-contribution-row{display:grid;grid-template-columns:minmax(100px,1fr) 2fr 3ch;gap:var(--sp-3);align-items:center;font-size:.8rem}.room-card .room-host{display:flex;align-items:center;gap:var(--sp-3);color:var(--text-soft);font-size:.85rem}.room-host .social-avatar{width:26px;height:26px}.room-card time{font-size:.75rem;color:var(--text-muted)}@media (max-width: 800px){.ranking-podium{gap:0}.ranking-card-content{gap:4px}.ranking-card-content .social-avatar{width:40px;height:40px}.ranking-card-content small,.ranking-card-content p{font-size:.65rem}.ranking-card-content p{display:none}.v10-workbench{grid-template-columns:1fr}}@media (max-width: 560px){.ranking-podium{grid-template-columns:1fr;max-width:330px;gap:var(--sp-4)}.ranking-card.rank-1,.ranking-card.rank-2,.ranking-card.rank-3{order:initial;transform:none}.ranking-card-content{gap:var(--sp-3)}.ranking-card-content .social-avatar{width:64px;height:64px}.ranking-card-content small{font-size:.8rem}.ranking-player-name{font-size:1.4rem}.ranking-podium-points{font-size:3rem}.ranking-card-content p{display:block}.v10-table td,.v10-table th{padding:var(--sp-3)}}@media (prefers-reduced-motion: reduce){.ranking-page *{animation:none!important;transition:none!important}}[data-activity=low] .ranking-page *,[data-power-mode=low] .ranking-page *,[data-low-activity=true] .ranking-page *{animation:none!important;transition:none!important}.ranking-player-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.35}.v10-user-list button>span:last-child{min-width:0;overflow-wrap:anywhere}.v10-table code{display:block;max-width:360px;max-height:120px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}.social-avatar{width:38px;height:38px;flex:0 0 38px;border-radius:50%;object-fit:cover;border:1px solid var(--line-strong);background:var(--surface-2, #162e42)}.social-avatar.fallback{display:inline-grid;place-items:center;color:var(--aurora);font-weight:700;font-size:16px}.social-user{display:flex;align-items:center;gap:12px;min-width:0}.social-user h2{margin:0 0 5px;overflow-wrap:anywhere}.role-chip{color:var(--text-muted);font-size:10px;white-space:nowrap}.role-chip.vip{color:var(--amber)}.role-chip.admin,.role-chip.support{color:var(--aurora)}.friend-list{border-top:1px solid var(--line-strong);padding-top:15px;margin-top:18px}.friend-list h3{margin:0 0 6px}.friend-row{display:flex;align-items:center;gap:9px;width:100%;padding:10px 6px;background:transparent;border:0;border-radius:var(--r-sm);text-align:left;color:var(--text);cursor:pointer}.friend-row:hover,.friend-row.active{background:#d4f06d14}.friend-row span:not(.social-avatar){min-width:0;overflow-wrap:anywhere}.friend-row strong,.friend-row small{display:block}.friend-row small{font-size:10px;color:var(--text-muted);margin-top:3px}.user-actions-list{display:grid;gap:8px}.user-actions-list button{text-align:left;padding:13px;border:1px solid var(--line-strong);background:transparent;border-radius:var(--r-sm)}.lobby-chat-card{display:grid;gap:8px;margin-top:15px;padding:10px;border:1px solid var(--line-strong);border-radius:var(--r-sm)}.lobby-chat-card p{font-size:12px}.chat-page .chat-messages{display:flex;flex-direction:column;align-items:stretch;gap:16px}.chat-page .chat-message{display:flex;align-items:flex-start;align-self:flex-start;gap:10px;max-width:85%;width:fit-content;background:transparent;border:none;padding:0;margin:0}.chat-page .chat-message.own{background:transparent;border:0;padding:0;border-radius:0;align-self:flex-end;flex-direction:row-reverse}.chat-page .chat-message .message-content{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.chat-page .chat-message.own .message-content{align-items:flex-end}.message-avatar-button{border:0;background:transparent;padding:0;cursor:pointer;flex:0 0 38px}.message-name{padding:0;border:none;background:transparent;color:var(--text);cursor:pointer;font-weight:700;overflow-wrap:anywhere;text-align:left}.message-name:hover{color:var(--aurora)}.chat-page .chat-message-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:6px}.chat-page .chat-message-meta time{font-size:10px;color:var(--text-muted)}.chat-page .chat-message p.message-bubble{width:fit-content;max-width:100%;margin:0;padding:10px 14px;border-radius:3px 14px 14px;background-color:var(--abyss-2);border:1px solid var(--line-strong);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}.chat-page .chat-message.own p.message-bubble{border-radius:14px 3px 14px 14px;background-color:var(--abyss-2);border-color:var(--aurora-line)}.chat-page .chat-message p.message-bubble.vip-bubble{padding-right:70px;min-height:52px;background-color:var(--abyss-2)}.chat-page .chat-message p.message-bubble.vip-bubble--ice{border-color:var(--ice)}.chat-page .chat-message p.message-bubble.vip-bubble--sakura{border-color:var(--coral-soft)}.chat-page .chat-message p.message-bubble.vip-bubble--stars{border-color:var(--aurora)}.chat-page .chat-message.grouped{margin-top:-10px}.chat-page .chat-message.grouped .message-avatar-button{visibility:hidden}.moderation-card{display:grid;gap:12px}.moderation-card pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:280px;overflow:auto;padding:14px;background:#07111f;border-radius:var(--r-sm)}.audit-filters{display:flex;align-items:end;flex-wrap:wrap;gap:12px}.audit-filters label{flex:1;min-width:160px}.audit-message{border-bottom:1px solid var(--line-strong);padding:14px 0}.audit-message p{white-space:pre-wrap;overflow-wrap:anywhere}.audit-message small{color:var(--text-muted)}.slot-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.slot-form .full{grid-column:1 / -1}@media (max-width: 760px){.chat-page .chat-shell{grid-template-columns:1fr}.chat-page .chat-channels{max-height:280px;overflow-y:auto}.chat-page .chat-message{max-width:95%}.chat-page .chat-main{min-height:480px}.slot-form{grid-template-columns:1fr}}.blacklist-notifications{position:fixed;right:24px;bottom:100px;max-width:min(440px,90vw);z-index:80;display:grid;gap:8px;max-height:50vh;overflow:auto}.blacklist-notifications .notice{display:flex;gap:12px;align-items:center;margin:0;background:#122636;box-shadow:0 8px 32px #0006}.skill-map{position:relative;min-height:540px;overflow:hidden;background:var(--glass-sunk)}.skill-contours{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;fill:none;stroke:var(--line-strong);stroke-width:1;pointer-events:none}.skill-count{font:500 28px var(--font-mono);color:var(--aurora)}.skill-node{position:absolute;transform:translate(-50%,-50%);width:150px;min-height:136px;padding:16px 12px;display:flex;flex-direction:column;align-items:center;gap:8px;border-radius:var(--r-lg);background:var(--abyss-2);border:1px solid var(--line-strong);color:var(--text)}.skill-node:hover{transform:translate(-50%,-50%);border-color:var(--aurora);background:var(--abyss-3)}.skill-node svg{width:40px;height:40px;color:var(--glacier)}.skill-node small{color:var(--text-dim);line-height:1.5;font-weight:400}.skill-node.selected{border-color:var(--aurora);box-shadow:var(--glow-aurora);background:var(--abyss-3)}.skill-node.selected svg{color:var(--aurora)}.lobby-preparation{padding:18px;border-bottom:1px solid var(--line)}.lobby-preparation h2{margin:0}.lobby-seats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:16px 0}.lobby-seat{display:grid;gap:8px;padding:12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--glass)}.lobby-seat>div{display:flex;gap:6px;flex-wrap:wrap}.host-chip{display:inline-flex;padding:2px 7px;border-radius:var(--r-pill);border:1px solid var(--aurora-line);color:var(--aurora);font-size:11px}@media (max-width:640px){.skill-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-height:0;padding:18px}.skill-node,.skill-node:hover{position:relative;inset:auto!important;transform:none;width:100%}}.match-total{display:flex;align-items:baseline;gap:24px}.match-total strong{font:600 48px/1.2 var(--font-sans);letter-spacing:-.04em;color:var(--glacier)}.match-total small{margin-left:auto;color:var(--text-muted)}.match-row{display:flex;align-items:center;gap:20px;color:inherit;transition:transform .2s,border-color .2s}.match-row:hover{transform:translateY(-2px);border-color:#8ddbc855}.match-row>div{margin-right:auto;display:grid;gap:8px}.match-row small{color:#9caab5}.match-table-wrap{overflow:auto}.match-table{width:100%;border-collapse:collapse;min-width:700px}.match-table td,.match-table th{text-align:left;padding:14px 10px;border-bottom:1px solid #ffffff12}.match-table th{font-size:12px;color:#9caab5}.match-table details{font-size:12px;min-width:120px}.match-table details b{float:right}.match-anomaly,.match-ledger,.leaderboard-row{display:flex;align-items:center;gap:20px;border-bottom:1px solid #ffffff12;padding:16px 0}.match-anomaly span{flex:1}.match-ledger strong,.leaderboard-row b{margin-left:auto;font-variant-numeric:tabular-nums}.leaderboard-rank{width:36px;color:#b5e3de}.leaderboard-row small{margin-left:auto;color:#9caab5}.evidence-json{white-space:pre-wrap;overflow-wrap:anywhere;max-height:420px;overflow:auto;font-size:12px}@media (max-width:800px){.match-row{flex-wrap:wrap;gap:12px}.match-row>div{width:100%}.match-total{flex-wrap:wrap;gap:12px}.match-total small{width:100%;margin:0}.match-anomaly,.match-ledger{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){.match-row{transition:none}.match-row:hover{transform:none}}.table-wrap.admin-rooms-table{max-height:70vh;overflow:auto}.admin-rooms-table thead th{position:sticky;top:0;z-index:var(--z-sticky);background:linear-gradient(145deg,#162b44eb,#091626f5);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line-strong)}.admin-rooms-table tbody tr{transition:background-color var(--dur-2) var(--ease-out)}@media (prefers-reduced-motion: no-preference){.admin-rooms-table tbody tr.admin-row-flash-good{animation:admin-row-flash-good 1.2s var(--ease-out)}.admin-rooms-table tbody tr.admin-row-flash-bad{animation:admin-row-flash-bad 1.2s var(--ease-out)}.admin-rooms-table tbody tr.admin-row-flash-warn{animation:admin-row-flash-warn 1.2s var(--ease-out)}@keyframes admin-row-flash-good{0%{background-color:#d4f06d38}to{background-color:#d4f06d00}}@keyframes admin-row-flash-bad{0%{background-color:#ff6f5c33}to{background-color:#ff6f5c00}}@keyframes admin-row-flash-warn{0%{background-color:#ffcf6e33}to{background-color:#ffcf6e00}}}.room-card-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.room-card-actions .room-config-button{height:36px;min-height:36px;width:96px;flex:0 0 96px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center}.room-create-page{width:100%;max-width:960px;margin:0 auto}.home-hero-title .home-mask-line{display:block;overflow:hidden;margin-bottom:-.09em;padding-bottom:.09em;background:none;-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:inherit}.home-hero-title .home-mask-inner{will-change:transform}.home-orbit-shift{position:absolute;right:9%;bottom:10%;width:190px;height:190px;pointer-events:none}.home-orbit-shift .hero-orbit{top:0;right:auto;bottom:auto;left:0;width:100%;height:100%}.signal-panel.home-signal{justify-content:center;align-items:center;gap:14px;min-height:330px;text-align:center}.home-signal .signal-kicker{color:var(--aurora-dim);font:500 11px var(--font-mono);letter-spacing:.18em;text-transform:uppercase}.home-signal .home-signal-hint{max-width:250px}.home-radar{position:relative;flex:0 0 auto;width:min(196px,72%);aspect-ratio:1;border:1px solid var(--glacier-line);border-radius:50%;background:radial-gradient(circle,#82d8d214,#0814227a 72%);box-shadow:inset 0 0 30px #82d8d214}.home-radar-ring{position:absolute;border:1px solid rgba(130,216,210,.15);border-radius:50%}.home-radar-ring.r1{top:18%;right:18%;bottom:18%;left:18%}.home-radar-ring.r2{top:33%;right:33%;bottom:33%;left:33%}.home-radar-ring.r3{top:44%;right:44%;bottom:44%;left:44%}.home-radar-axis{position:absolute;background:#82d8d21a}.home-radar-axis.h{top:50%;right:5%;left:5%;height:1px}.home-radar-axis.v{top:5%;bottom:5%;left:50%;width:1px}.home-radar-sweep{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(212,240,109,.38),rgba(212,240,109,.07) 16%,transparent 27%)}.home-radar-blip{position:absolute;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;border-radius:50%;background:var(--aurora);box-shadow:0 0 10px #d4f06dcc}.home-radar .home-radar-count{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;margin:0;font-size:40px;letter-spacing:-.05em;text-shadow:0 0 20px rgba(212,240,109,.4)}.home-text-link{display:inline-flex;align-items:center;gap:5px}.home-text-link svg{transition:transform var(--dur-2) var(--ease-out)}.home-text-link:hover svg{transform:translate(3px)}.download-copy .home-sha{display:flex;align-items:center;gap:7px;margin-top:9px}.download-copy .home-sha code{flex:1 1 auto;min-width:0;margin-top:0}.home-sha-copy{display:inline-grid;flex:0 0 auto;place-items:center;width:22px;height:22px;padding:0;border:1px solid var(--line);border-radius:var(--r-xs);color:var(--text-dim);background:transparent;cursor:pointer;transition:color var(--dur-1) var(--ease-out),border-color var(--dur-1),transform var(--dur-1) var(--ease-out)}.home-sha-copy:hover{color:var(--aurora);border-color:var(--aurora-line);transform:translateY(-1px)}.home-sha-copy:active{transform:scale(.92)}@media (prefers-reduced-motion: no-preference){@keyframes home-radar-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes home-radar-blip{0%,to{opacity:.38;transform:scale(.8)}50%{opacity:1;transform:scale(1.22)}}.home-radar-sweep{animation:home-radar-spin 4.8s linear infinite}.home-radar-blip{animation:home-radar-blip 2.6s var(--ease-out) infinite}}@media (max-width: 980px){.signal-panel.home-signal{min-height:300px}}@media (max-width: 560px){.home-orbit-shift{right:-20px;bottom:35px;opacity:.45}}.room-join-page .detail-hero{align-items:center;flex-wrap:wrap;padding:26px 0 32px}.room-join-page .detail-hero h1{margin:10px 0 8px}.room-join-page .panel{padding:24px}.room-join-page .panel .panel-header{margin-bottom:16px}.room-join-page .rule-list{gap:12px}.rj-back-link{display:inline-flex;align-items:center;gap:6px;width:fit-content}.rj-back-link svg{transform:rotate(180deg)}.rj-join-card{display:grid;gap:20px;padding:26px;border:1px solid var(--aurora-line);border-radius:var(--r-lg);background:linear-gradient(145deg,#162b449e,#091626c7);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-raise),var(--glow-aurora)}.rj-join-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.rj-steps{display:flex;align-items:center;gap:10px;margin:0;padding:0 0 16px;border-bottom:1px solid var(--line);list-style:none}.rj-steps li{display:flex;align-items:center}.rj-steps li:first-child:after{content:"";width:36px;height:1px;margin-left:10px;background:linear-gradient(90deg,var(--line-strong),transparent)}.rj-step{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid transparent;border-radius:var(--r-pill);color:var(--text-muted);background:none;font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:color var(--dur-2),border-color var(--dur-2),background var(--dur-2)}.rj-step:hover{color:var(--text-soft)}.rj-step.active{color:var(--aurora)}.rj-step-index{position:relative;display:grid;place-items:center;width:22px;height:22px;border:1px solid var(--line-strong);border-radius:50%;color:var(--text-muted);font:11px var(--font-mono);transition:color var(--dur-2),background var(--dur-2),border-color var(--dur-2),box-shadow var(--dur-2)}.rj-step.active .rj-step-index{color:var(--ink);border-color:transparent;background:linear-gradient(135deg,var(--aurora-bright),var(--aurora));box-shadow:var(--glow-aurora)}@media (prefers-reduced-motion: no-preference){@keyframes rj-step-pulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:0;transform:scale(1.6)}}.rj-step.active .rj-step-index:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border:1px solid var(--aurora);border-radius:50%;animation:rj-step-pulse 2.4s var(--ease-out) infinite}}.rj-step-panel{display:grid;gap:18px}.rj-snapshot{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:10px}.rj-snapshot-tile{display:grid;gap:8px;align-content:start;padding:13px 14px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--glass-sunk)}.rj-tile-head{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:11px}.rj-tile-head svg{flex:0 0 auto;color:var(--aurora-dim)}.rj-snapshot-tile>strong{color:var(--text-strong);font:600 15px var(--font-mono)}.rj-snapshot-tile .status-badge{justify-self:start}.rj-rules-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.rj-summary-label{margin-right:2px;color:var(--text-muted);font-size:11px}.rj-rule-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border:1px solid var(--line);border-radius:var(--r-pill);background:#08142273;color:var(--text-muted);font-size:11px}.rj-rule-chip strong{color:var(--aurora);font:500 12px var(--font-mono)}.rj-step-actions{display:flex;justify-content:flex-end;gap:10px}.rj-step-actions.start{justify-content:flex-start}.rj-join-message{margin:0;padding:12px 14px;border-left:2px solid var(--aurora-deep);border-radius:var(--r-xs);background:var(--glass-sunk);color:var(--text-soft);font-size:13px;line-height:1.7}.rj-methods{display:grid;gap:10px}.rj-method{display:flex;align-items:center;gap:14px;padding:15px 16px;border:1px solid var(--line);border-radius:var(--r-md);background:#0f20348c;transition:transform var(--dur-2) var(--ease-out),border-color var(--dur-2)}.rj-method:hover{transform:translateY(-2px);border-color:var(--line-strong)}.rj-method-icon{display:grid;place-items:center;flex:0 0 auto;width:38px;height:38px;border-radius:11px;color:var(--ink);background:linear-gradient(135deg,var(--aurora-bright),var(--aurora-deep))}.rj-method-icon.cool{background:linear-gradient(135deg,var(--glacier),var(--ice))}.rj-method-body{flex:1;min-width:0;display:grid;gap:4px;justify-items:start}.rj-method-body>strong{font-size:14px}.rj-method-body>p{margin:0;color:var(--text-muted);font-size:12px;line-height:1.55}.rj-address-chip{padding:5px 9px;border:1px solid var(--glacier-line);border-radius:var(--r-xs);background:#08142299;color:var(--glacier);font:12px var(--font-mono);-webkit-user-select:all;user-select:all}.rj-method>.primary-button,.rj-method>.secondary-button{flex:0 0 auto;white-space:nowrap}.rj-hints{display:grid;gap:8px}.rj-hint{display:flex;align-items:flex-start;gap:8px;margin:0;color:var(--text-muted);font-size:12px;line-height:1.6}.rj-hint svg{flex:0 0 auto;margin-top:2px;color:var(--aurora-dim)}.rj-back-btn svg{transform:rotate(180deg)}@media (max-width: 640px){.rj-join-card{padding:20px 18px}.rj-method{flex-wrap:wrap}.rj-method>.primary-button,.rj-method>.secondary-button{width:100%}.rj-step-actions{flex-direction:column;align-items:stretch}}.lobby-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:24px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r-lg);background:linear-gradient(145deg,#162b449e,#091626c7);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.lobby-search{display:flex;flex:1 1 230px;align-items:center;gap:9px;min-width:190px;padding:10px 14px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--glass-sunk);color:var(--text-muted);transition:border-color var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out)}.lobby-search:focus-within{border-color:var(--aurora-line);box-shadow:var(--glow-aurora)}.lobby-search input{width:auto;flex:1;min-width:0;padding:0;border:0;background:transparent;color:var(--text);font-size:13px}.lobby-search input::placeholder{color:var(--text-dim)}.lobby-search input:focus{border-color:transparent;box-shadow:none}.lobby-search-clear{display:grid;place-items:center;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:#98b8dc1f;color:var(--text-muted);transition:color var(--dur-1),background var(--dur-1),transform var(--dur-1) var(--ease-out)}.lobby-search-clear:hover{color:var(--aurora);background:var(--aurora-glass);transform:scale(1.08)}.lobby-map-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.lobby-chip{padding:8px 15px;border:1px solid var(--line);border-radius:var(--r-pill);background:transparent;color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.02em;transition:color var(--dur-1),border-color var(--dur-1),background var(--dur-1),box-shadow var(--dur-1),transform var(--dur-1) var(--ease-out)}.lobby-chip:hover{color:var(--text-strong);border-color:var(--line-strong);transform:translateY(-1px)}.lobby-chip.active{color:var(--ink);border-color:var(--aurora);background:linear-gradient(135deg,var(--aurora-bright),var(--aurora) 55%,var(--aurora-deep));box-shadow:var(--glow-aurora)}.lobby-chip.active:hover{color:var(--ink)}.lobby-chip:focus-visible,.lobby-search-clear:focus-visible,.lobby-clear-filters:focus-visible{outline:2px solid var(--aurora);outline-offset:2px}.lobby-result-count{margin-left:auto;color:var(--text-dim);font:12px var(--font-mono);white-space:nowrap}.lobby-clear-filters{padding:9px 20px;border:1px solid var(--aurora-line);border-radius:var(--r-pill);background:var(--aurora-glass);color:var(--aurora);font-size:13px;font-weight:700;transition:background var(--dur-1),box-shadow var(--dur-1),transform var(--dur-1) var(--ease-out)}.lobby-clear-filters:hover{background:#d4f06d29;box-shadow:var(--glow-aurora);transform:translateY(-1px)}.room-progress{height:4px;margin-top:14px;overflow:hidden;border-radius:var(--r-pill);background:#82d8d229}.room-progress-fill{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--aurora-deep),var(--aurora));transform:scaleX(0);transform-origin:left center;transition:transform var(--dur-2) var(--ease-out)}.room-progress.indeterminate .room-progress-fill{width:34%;opacity:.45;transform:none}@media (prefers-reduced-motion: no-preference){@keyframes room-progress-scan{0%{transform:translate(-110%)}to{transform:translate(320%)}}.room-progress.indeterminate .room-progress-fill{animation:room-progress-scan 1.6s var(--ease-out) infinite}}@media (max-width: 720px){.lobby-result-count{width:100%;margin-left:0}}.profile-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);background:linear-gradient(145deg,#162b449e,#091626c7);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-raise);transition:border-color var(--dur-2) var(--ease-out)}.profile-card:hover{border-color:var(--line-strong)}.profile-banner{position:relative;height:108px;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(120% 170% at 12% -30%,rgba(212,240,109,.32),transparent 55%),radial-gradient(130% 180% at 80% -40%,rgba(130,216,210,.3),transparent 58%),radial-gradient(150% 200% at 45% 135%,rgba(146,216,255,.16),transparent 60%),linear-gradient(120deg,var(--abyss-3),var(--abyss-2) 55%,var(--abyss-1))}.profile-banner:after{content:"";position:absolute;top:-10%;right:-25%;bottom:-10%;left:-25%;background:linear-gradient(105deg,transparent 40%,rgba(231,255,152,.13) 50%,transparent 60%);transform:translate(-72%);pointer-events:none}.profile-card-body{position:relative;display:flex;align-items:flex-end;gap:var(--sp-5);margin-top:-52px;padding:0 var(--sp-5) var(--sp-5)}.profile-dropzone{position:relative;flex:0 0 auto;border-radius:34px}.profile-ring{padding:4px;border-radius:34px;background:conic-gradient(from 215deg,var(--aurora),var(--glacier),var(--ice),var(--aurora-deep),var(--aurora));box-shadow:var(--glow-aurora);transition:transform var(--dur-2) var(--ease-out),box-shadow var(--dur-2) var(--ease-out)}.profile-photo{display:grid;place-items:center;width:112px;height:112px;border-radius:30px;object-fit:cover;background:linear-gradient(145deg,var(--abyss-3),var(--abyss-1))}.profile-photo-initial{color:var(--aurora);font-size:44px;font-weight:700}.profile-dropzone.drag-over .profile-ring{transform:translateY(-2px);box-shadow:var(--glow-aurora-strong),0 0 0 5px #d4f06d33}.profile-drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:8px;padding:10px;border-radius:34px;background:#07111fd6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--aurora);font-size:11px;font-weight:700;line-height:1.4;text-align:center;opacity:0;pointer-events:none;transition:opacity var(--dur-2) var(--ease-out)}.profile-drop-overlay svg{color:var(--aurora-bright)}.profile-dropzone.drag-over .profile-drop-overlay,.profile-dropzone.uploading .profile-drop-overlay{opacity:1}.profile-upload-bar{display:block;width:64px;height:4px;overflow:hidden;border-radius:var(--r-pill);background:#98b8dc2e}.profile-upload-bar span{display:block;width:42%;height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--aurora-deep),var(--aurora-bright));transform:translate(-110%)}.profile-id{display:grid;justify-items:start;gap:8px;min-width:0;padding-bottom:2px}.profile-id h2{margin:0;color:var(--text-strong);font-size:30px;letter-spacing:-.02em}.profile-role{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border:1px solid var(--aurora-line);border-radius:var(--r-pill);color:var(--aurora);background:var(--aurora-glass);font-size:11px;font-weight:700;letter-spacing:.04em}.profile-role.admin{color:var(--ice);border-color:#92d8ff4d;background:#92d8ff17}.profile-sub{margin:0;color:var(--text-muted);font:13px var(--font-mono)}.profile-id-footer{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:8px}.profile-tip{margin:0;max-width:400px;color:var(--text-dim);font-size:12px;line-height:1.6}.profile-picker{position:relative;overflow:hidden;cursor:pointer}.profile-picker input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.profile-picker.disabled{opacity:.45;cursor:not-allowed}.profile-picker.disabled input{cursor:not-allowed}.profile-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}@media (max-width: 900px){.profile-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.profile-card-body{flex-direction:column;align-items:flex-start;gap:var(--sp-4);margin-top:-60px}.profile-stat-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion: no-preference){@keyframes profile-banner-sheen{0%{transform:translate(-72%)}55%,to{transform:translate(72%)}}@keyframes profile-upload-slide{0%{transform:translate(-110%)}to{transform:translate(270%)}}.profile-banner:after{animation:profile-banner-sheen 7s var(--ease-out) infinite}.profile-upload-bar span{animation:profile-upload-slide 1.1s var(--ease-out) infinite}}.chat-page .chat-channel{position:relative}.chat-page .chat-channel>span.chat-channel-pill{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-base);border-radius:var(--r-sm);background:var(--aurora);box-shadow:var(--glow-aurora)}.chat-page .chat-channel>span.chat-channel-label,.chat-page .chat-channel>small{position:relative;z-index:var(--z-raise)}.chat-page .chat-channel.active{color:var(--ink);border-color:var(--aurora);background:var(--aurora);box-shadow:none}.chat-page .chat-channel.active small{color:#08111da8}.chat-page .chat-channel.active:hover{color:var(--ink);border-color:var(--aurora);background:var(--aurora);box-shadow:none;transform:none}.chat-page .chat-body{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0}.chat-page .chat-body .chat-messages{flex:1 1 auto;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}.chat-page .chat-body .chat-messages::-webkit-scrollbar{width:8px}.chat-page .chat-body .chat-messages::-webkit-scrollbar-thumb{border-radius:var(--r-pill);background:var(--line-strong)}.chat-page .chat-body .chat-messages::-webkit-scrollbar-track{background:transparent}.chat-page .chat-message.grouped{margin-top:-9px}.chat-page .chat-message.grouped p{margin-top:0}.chat-page .chat-new-messages{position:absolute;bottom:14px;left:50%;z-index:var(--z-raise);display:inline-flex;align-items:center;gap:7px;padding:8px 15px;border:1px solid var(--aurora);border-radius:var(--r-pill);color:var(--ink);background:var(--aurora);box-shadow:var(--glow-aurora-strong);font-size:12px;font-weight:700;letter-spacing:.01em;white-space:nowrap;cursor:pointer;transition:background var(--dur-1),border-color var(--dur-1)}.chat-page .chat-new-messages:hover{border-color:var(--aurora-bright);background:var(--aurora-bright)}.chat-page .chat-new-messages svg{flex:none}.chat-page .chat-composer-field{position:relative;flex:1 1 auto;min-width:0}.chat-page .chat-composer-field input{padding-right:64px}.chat-page .chat-char-count{position:absolute;top:50%;right:13px;transform:translateY(-50%);color:var(--text-dim);font:10px var(--font-mono);pointer-events:none;transition:color var(--dur-1)}.chat-page .chat-char-count.warn{color:var(--amber)}.chat-page .chat-char-count.limit{color:var(--coral)}.chat-page .chat-channel:focus-visible{outline:2px solid var(--glacier);outline-offset:3px}.chat-search{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);color:var(--text-secondary)}.chat-search input{min-width:0;flex:1}.chat-channels .list-controls{gap:var(--space-2);font-size:var(--text-xs)}.chat-channels .list-controls input{width:100%;min-width:0}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-000.woff2) format("woff2");unicode-range:U+0-3FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-001.woff2) format("woff2");unicode-range:U+400-7FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-007.woff2) format("woff2");unicode-range:U+1C00-1FFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-008.woff2) format("woff2");unicode-range:U+2000-23FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-009.woff2) format("woff2");unicode-range:U+2400-27FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-00a.woff2) format("woff2");unicode-range:U+2800-2BFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-00b.woff2) format("woff2");unicode-range:U+2C00-2FFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-00c.woff2) format("woff2");unicode-range:U+3000-33FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-00d.woff2) format("woff2");unicode-range:U+3400-37FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-00e.woff2) format("woff2");unicode-range:U+3800-3BFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-00f.woff2) format("woff2");unicode-range:U+3C00-3FFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-010.woff2) format("woff2");unicode-range:U+4000-43FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-011.woff2) format("woff2");unicode-range:U+4400-47FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-012.woff2) format("woff2");unicode-range:U+4800-4BFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-013.woff2) format("woff2");unicode-range:U+4C00-4FFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-014.woff2) format("woff2");unicode-range:U+5000-53FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-015.woff2) format("woff2");unicode-range:U+5400-57FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-016.woff2) format("woff2");unicode-range:U+5800-5BFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-017.woff2) format("woff2");unicode-range:U+5C00-5FFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-018.woff2) format("woff2");unicode-range:U+6000-63FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-019.woff2) format("woff2");unicode-range:U+6400-67FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-01a.woff2) format("woff2");unicode-range:U+6800-6BFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-01b.woff2) format("woff2");unicode-range:U+6C00-6FFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-01c.woff2) format("woff2");unicode-range:U+7000-73FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-01d.woff2) format("woff2");unicode-range:U+7400-77FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-01e.woff2) format("woff2");unicode-range:U+7800-7BFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-01f.woff2) format("woff2");unicode-range:U+7C00-7FFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-020.woff2) format("woff2");unicode-range:U+8000-83FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-021.woff2) format("woff2");unicode-range:U+8400-87FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-022.woff2) format("woff2");unicode-range:U+8800-8BFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-023.woff2) format("woff2");unicode-range:U+8C00-8FFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-024.woff2) format("woff2");unicode-range:U+9000-93FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-025.woff2) format("woff2");unicode-range:U+9400-97FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-026.woff2) format("woff2");unicode-range:U+9800-9BFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-027.woff2) format("woff2");unicode-range:U+9C00-9FFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-03e.woff2) format("woff2");unicode-range:U+F800-FBFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-03f.woff2) format("woff2");unicode-range:U+FC00-FFFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-07c.woff2) format("woff2");unicode-range:U+1F000-1F3FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-080.woff2) format("woff2");unicode-range:U+20000-203FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-081.woff2) format("woff2");unicode-range:U+20400-207FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-083.woff2) format("woff2");unicode-range:U+20C00-20FFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-084.woff2) format("woff2");unicode-range:U+21000-213FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-085.woff2) format("woff2");unicode-range:U+21400-217FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-08a.woff2) format("woff2");unicode-range:U+22800-22BFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-08d.woff2) format("woff2");unicode-range:U+23400-237FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-08f.woff2) format("woff2");unicode-range:U+23C00-23FFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-090.woff2) format("woff2");unicode-range:U+24000-243FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-092.woff2) format("woff2");unicode-range:U+24800-24BFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-095.woff2) format("woff2");unicode-range:U+25400-257FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-096.woff2) format("woff2");unicode-range:U+25800-25BFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-097.woff2) format("woff2");unicode-range:U+25C00-25FFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-098.woff2) format("woff2");unicode-range:U+26000-263FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-099.woff2) format("woff2");unicode-range:U+26400-267FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-09a.woff2) format("woff2");unicode-range:U+26800-26BFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-09b.woff2) format("woff2");unicode-range:U+26C00-26FFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-09e.woff2) format("woff2");unicode-range:U+27800-27BFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-09f.woff2) format("woff2");unicode-range:U+27C00-27FFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-0a1.woff2) format("woff2");unicode-range:U+28400-287FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-0a2.woff2) format("woff2");unicode-range:U+28800-28BFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-0a3.woff2) format("woff2");unicode-range:U+28C00-28FFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-0a5.woff2) format("woff2");unicode-range:U+29400-297FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-0a6.woff2) format("woff2");unicode-range:U+29800-29BFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-0a7.woff2) format("woff2");unicode-range:U+29C00-29FFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-0a9.woff2) format("woff2");unicode-range:U+2A400-2A7FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-0aa.woff2) format("woff2");unicode-range:U+2A800-2ABFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-0ab.woff2) format("woff2");unicode-range:U+2AC00-2AFFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-0ac.woff2) format("woff2");unicode-range:U+2B000-2B3FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-0ad.woff2) format("woff2");unicode-range:U+2B400-2B7FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-0ae.woff2) format("woff2");unicode-range:U+2B800-2BBFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-0af.woff2) format("woff2");unicode-range:U+2BC00-2BFFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-0b0.woff2) format("woff2");unicode-range:U+2C000-2C3FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-0b1.woff2) format("woff2");unicode-range:U+2C400-2C7FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-0b2.woff2) format("woff2");unicode-range:U+2C800-2CBFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-0b3.woff2) format("woff2");unicode-range:U+2CC00-2CFFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-0b5.woff2) format("woff2");unicode-range:U+2D400-2D7FF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-0be.woff2) format("woff2");unicode-range:U+2F800-2FBFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-0c3.woff2) format("woff2");unicode-range:U+30C00-30FFF}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sc-0c4.woff2) format("woff2");unicode-range:U+31000-313FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/manrope-var-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-mono-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/dm-mono-500-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--abyss-0: #030911;--abyss-1: #07111f;--abyss-2: #0c1d31;--abyss-3: #16324e;--abyss-4: #1a3f61;--aurora: #d4f06d;--aurora-bright: #e7ff98;--aurora-deep: #b8d94f;--aurora-dim: #a5ba78;--glacier: #82d8d2;--ice: #92d8ff;--coral: #ff6f5c;--coral-soft: #ffae9e;--amber: #ffcf6e;--text: #e8eef7;--text-strong: #f2f8ff;--text-soft: #c9d5e2;--text-muted: #8ea1bb;--text-dim: #7188a1;--ink: #08111d;--line: rgba(152, 184, 220, .13);--line-strong: rgba(152, 184, 220, .26);--aurora-line: rgba(212, 240, 109, .3);--glacier-line: rgba(130, 216, 210, .22);--glass: rgba(12, 29, 49, .66);--glass-strong: rgba(12, 29, 49, .88);--glass-sunk: rgba(8, 20, 34, .45);--glass-raise: linear-gradient(145deg, rgba(22, 43, 68, .78), rgba(9, 22, 38, .88));--aurora-glass: rgba(212, 240, 109, .08);--r-xs: 7px;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-xl: 30px;--r-pill: 99px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--sp-7: 48px;--sp-8: 64px;--shadow-raise: 0 16px 38px rgba(0, 0, 0, .22);--shadow-float: 0 30px 90px rgba(0, 0, 0, .45);--shadow-hero: 0 35px 100px rgba(0, 0, 0, .32);--glow-aurora: 0 0 25px rgba(212, 240, 109, .18);--glow-aurora-strong: 0 8px 30px rgba(212, 240, 109, .28);--glow-glacier: 0 0 25px rgba(130, 216, 210, .16);--dur-1: .16s;--dur-2: .28s;--dur-3: .5s;--dur-4: .9s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-emph: cubic-bezier(.34, 1.56, .64, 1);--stagger: 45ms;--z-backdrop: -1;--z-base: 0;--z-raise: 1;--z-sticky: 20;--z-header: 30;--z-overlay: 40;--z-modal: 50;--z-toast: 60;--font-sans: "Noto Sans SC", "Hiragino Sans", "Yu Gothic", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "DM Mono", ui-monospace, SFMono-Regular, monospace;--px: 0;--py: 0}:root{font-family:var(--font-sans);color:var(--text);background:var(--abyss-1);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;background:var(--abyss-1);-webkit-font-smoothing:antialiased}::selection{color:var(--text-strong);background:#d4f06d47}*{scrollbar-width:thin;scrollbar-color:rgba(152,184,220,.3) transparent}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:var(--r-pill);background:#98b8dc3d;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background-color:#98b8dc66}body,button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none;transition:color var(--dur-1) var(--ease-out)}button{cursor:pointer}:focus-visible{outline:2px solid var(--aurora);outline-offset:2px}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--text-muted);font:500 10px var(--font-mono);letter-spacing:.16em;text-transform:uppercase}.eyebrow:before{content:"";flex:0 0 auto;width:14px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--aurora),var(--glacier));opacity:.85}h1,h2,h3,p{margin-top:0}h1{margin-bottom:14px;font-size:clamp(34px,5vw,62px);letter-spacing:-.065em;line-height:1.04}h2{letter-spacing:-.04em}.muted,.hero p,.detail-hero p{color:var(--text-muted);line-height:1.7}.loading-card,.empty-card,.empty-inline{padding:42px;color:var(--text-muted);text-align:center;border:1px dashed var(--line-strong);border-radius:18px}.empty-card{margin:20px 0}.empty-icon{color:var(--aurora);font-size:34px}.alert{margin:18px 0;padding:13px 16px;border-radius:12px;font-size:13px}.alert.error{color:var(--coral-soft);background:#ff6f5c1f;border:1px solid rgba(255,111,92,.27)}.alert.success{color:var(--aurora);background:#d4f06d1a;border:1px solid rgba(212,240,109,.25)}.stack{display:grid;gap:22px}.narrow{max-width:900px;margin:0 auto}.back-link{color:var(--text-soft);font-size:13px}.inline-link,.text-link,.auth-switch a{color:var(--aurora);text-decoration:underline}.text-link{white-space:nowrap;font-size:13px}.inline-actions,.hero-actions,.modal-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.primary-button,.secondary-button{display:inline-flex;justify-content:center;align-items:center;gap:7px;border-radius:var(--r-sm);padding:11px 16px;border:1px solid transparent;font-weight:700;font-size:13px;transition:transform var(--dur-1) var(--ease-out),border-color var(--dur-1),background var(--dur-1),color var(--dur-1),box-shadow var(--dur-1)}.primary-button{color:var(--ink);background:linear-gradient(135deg,var(--aurora-bright),var(--aurora) 55%,var(--aurora-deep));box-shadow:0 6px 18px #d4f06d29}.primary-button:hover{background:linear-gradient(135deg,#f0ffab,var(--aurora-bright) 55%,var(--aurora));transform:translateY(-2px);box-shadow:var(--glow-aurora-strong)}.primary-button:active{transform:translateY(0) scale(.97)}.secondary-button{color:var(--text-soft);border-color:var(--line-strong);background:#98b8dc12;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.secondary-button:hover{border-color:var(--aurora);color:var(--aurora);transform:translateY(-1px);box-shadow:0 8px 20px #00000047}.secondary-button:active{transform:scale(.97)}.primary-button:disabled,.secondary-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.full{width:100%;margin-top:10px}label{display:grid;gap:8px;margin:15px 0;color:var(--text-soft);font-size:13px}input,select,textarea{width:100%;border:1px solid var(--line-strong);border-radius:9px;padding:12px 13px;color:var(--text);outline:none;background:#05101db3;transition:border-color var(--dur-1) var(--ease-out),box-shadow var(--dur-1) var(--ease-out)}textarea{resize:vertical;line-height:1.6}input:focus,select:focus,textarea:focus{border-color:var(--aurora);box-shadow:0 0 0 3px #d4f06d1f,0 0 22px #d4f06d12}select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;padding:8px 12px;border:1px solid var(--line-strong);border-radius:var(--r-sm);color:var(--text-soft);background:#98b8dc12;font-size:13px;font-weight:600}button:hover:not(:disabled){border-color:var(--aurora)}button:disabled{opacity:.45;cursor:not-allowed;transform:none}.text-button,.link-button,.danger-text{background:transparent;border-color:transparent}.icon-button{width:34px;min-width:34px;padding:7px}.primary-button{color:var(--ink);background:linear-gradient(135deg,var(--aurora-bright),var(--aurora) 55%,var(--aurora-deep))}.checkbox-label{display:flex;align-items:center;gap:10px}.checkbox-label input{width:18px;height:18px;margin:0;box-shadow:none}.verification-row{display:flex;align-items:center;gap:12px}.verification-row label{flex:1}.announcement-strip{display:flex;align-items:center;gap:18px;padding:14px 20px;margin-bottom:24px;border:1px solid var(--aurora-line);border-radius:var(--r-md);background:#d4f06d0f}.announcement-strip>strong{color:var(--aurora);white-space:nowrap}.announcement-scroll{display:flex;gap:32px;overflow-x:auto;padding:6px 0;white-space:nowrap;scroll-behavior:smooth}.announcement-scroll a:hover{color:var(--aurora);text-decoration:underline}.announcement-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;max-height:45vh;overflow:auto;padding:12px 0;border-bottom:1px solid var(--line)}.announcement-body time{color:var(--text-muted);font-size:12px}.news-detail{max-width:900px;margin:auto}.news-detail h1{margin-top:28px;font-size:clamp(28px,4vw,46px)}.news-detail>p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;margin-top:28px}.news-detail>img{display:block;max-width:100%;max-height:420px;object-fit:cover;margin:24px auto;border-radius:var(--r-md)}.nav-pill,.side-pill,.scroll-hairline{pointer-events:none}.backdrop-scene{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-backdrop);overflow:hidden;pointer-events:none;background:var(--abyss-1)}.scene-layer{position:absolute;top:0;right:0;bottom:0;left:0}.scene-abyss{background:radial-gradient(120% 90% at 78% -10%,var(--abyss-4) 0,transparent 40%),radial-gradient(80% 60% at 0 70%,rgba(22,91,106,.25),transparent 45%),linear-gradient(180deg,var(--abyss-1) 0%,#050d18 60%,var(--abyss-0) 100%)}.scene-abyss:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.scene-skyglow{transform:translate3d(calc(var(--px) * 4px),calc(var(--py) * 3px),0);will-change:transform}.scene-skyglow:before,.scene-skyglow:after{content:"";position:absolute;border-radius:50%;will-change:transform}.scene-skyglow:before{top:-18%;left:-12%;width:55vmax;height:55vmax;background:radial-gradient(circle,rgba(146,216,255,.08),transparent 65%);animation:skyglow-drift-a 60s ease-in-out infinite alternate}.scene-skyglow:after{bottom:-22%;right:-14%;width:48vmax;height:48vmax;background:radial-gradient(circle,rgba(130,216,210,.07),transparent 62%);animation:skyglow-drift-b 78s ease-in-out infinite alternate}.scene-aurora{transform:translate3d(calc(var(--px) * 22px),calc(var(--py) * 14px),0);will-change:transform}.aurora-band{position:absolute;display:block;border-radius:50%;filter:blur(60px);will-change:transform,opacity}.band-a{top:-14%;left:-18%;width:130%;height:42vh;background:linear-gradient(100deg,transparent 8%,rgba(212,240,109,.16) 32%,rgba(130,216,210,.22) 55%,rgba(146,216,255,.12) 76%,transparent 92%);opacity:.55;transform:rotate(-8deg);animation:aurora-drift-a 26s ease-in-out infinite alternate}.band-b{top:4%;right:-28%;width:120%;height:36vh;background:linear-gradient(80deg,transparent 12%,rgba(130,216,210,.18) 38%,rgba(212,240,109,.12) 60%,transparent 88%);opacity:.45;transform:rotate(6deg);animation:aurora-drift-b 34s ease-in-out infinite alternate}.band-c{top:28%;left:8%;width:90%;height:30vh;background:linear-gradient(120deg,transparent 20%,rgba(146,216,255,.08) 50%,rgba(212,240,109,.06) 72%,transparent 90%);opacity:.4;animation:aurora-drift-c 42s ease-in-out infinite alternate}.band-d{top:46%;left:-12%;width:110%;height:24vh;background:linear-gradient(95deg,transparent 15%,rgba(146,216,255,.14) 42%,rgba(130,216,210,.1) 62%,rgba(212,240,109,.05) 80%,transparent 94%);opacity:.35;filter:blur(70px);transform:rotate(3deg);animation:aurora-drift-d 50s ease-in-out infinite alternate}.scene-stars{transform:translate3d(calc(var(--px) * 7px),calc(var(--py) * 5px),0)}.scene-stars:before,.scene-stars:after{content:"";position:absolute;top:-40px;right:-40px;bottom:-40px;left:-40px;background-repeat:repeat}.scene-stars:before{background-image:radial-gradient(1.4px 1.4px at 22% 28%,rgba(232,238,247,.85),transparent 100%),radial-gradient(1px 1px at 64% 12%,rgba(146,216,255,.7),transparent 100%),radial-gradient(1.2px 1.2px at 81% 44%,rgba(232,238,247,.6),transparent 100%),radial-gradient(1px 1px at 38% 58%,rgba(212,240,109,.5),transparent 100%),radial-gradient(1.3px 1.3px at 90% 72%,rgba(232,238,247,.55),transparent 100%),radial-gradient(1px 1px at 8% 76%,rgba(130,216,210,.6),transparent 100%);background-size:640px 640px;animation:stars-twinkle 7s ease-in-out infinite alternate}.scene-stars:after{background-image:radial-gradient(1px 1px at 30% 40%,rgba(232,238,247,.45),transparent 100%),radial-gradient(1.1px 1.1px at 72% 24%,rgba(232,238,247,.4),transparent 100%),radial-gradient(1px 1px at 52% 82%,rgba(146,216,255,.45),transparent 100%),radial-gradient(1.2px 1.2px at 12% 8%,rgba(232,238,247,.4),transparent 100%);background-size:420px 420px;opacity:.6;animation:stars-twinkle 9s ease-in-out infinite alternate-reverse}.scene-icefield{transform:translate3d(calc(var(--px) * 16px),0,0);will-change:transform}.scene-icefield i{position:absolute;left:-60%;right:-60%;bottom:0;background-repeat:repeat-x;-webkit-mask-image:linear-gradient(to top,black 55%,transparent 97%);mask-image:linear-gradient(to top,black 55%,transparent 97%);will-change:transform}.scene-icefield i:nth-child(1){height:26vh;opacity:.5;animation:ice-drift-a 48s ease-in-out infinite alternate;background-image:linear-gradient(171deg,transparent 58%,rgba(146,216,255,.12) 59.5%,rgba(146,216,255,.05) 72%,transparent 85%),linear-gradient(186deg,transparent 48%,rgba(232,238,247,.08) 49.5%,rgba(232,238,247,.03) 66%,transparent 80%),linear-gradient(179deg,transparent 66%,rgba(130,216,210,.1) 67.5%,rgba(130,216,210,.04) 78%,transparent 90%),linear-gradient(180deg,transparent 55%,rgba(146,216,255,.06) 78%,rgba(146,216,255,.1) 100%);background-size:720px 100%,1050px 100%,540px 100%,100% 100%;background-position:0 0,130px 0,260px 0,0 0}.scene-icefield i:nth-child(2){height:32vh;opacity:.3;animation:ice-drift-b 74s ease-in-out infinite alternate;background-image:linear-gradient(174deg,transparent 52%,rgba(146,216,255,.08) 54%,transparent 72%),linear-gradient(183deg,transparent 62%,rgba(130,216,210,.06) 64%,transparent 82%),linear-gradient(180deg,transparent 45%,rgba(10,24,40,.35) 75%,rgba(6,16,28,.5) 100%);background-size:880px 100%,620px 100%,100% 100%}.scene-snow{opacity:.5;transform:translate3d(calc(var(--px) * 12px),0,0)}.scene-snow:before,.scene-snow:after,.scene-snow i{content:"";position:absolute;top:-100%;right:0;bottom:0;left:0;background-repeat:repeat;will-change:transform}.scene-snow:before{background-image:radial-gradient(2px 2px at 30% 40%,rgba(232,238,247,.55),transparent 100%),radial-gradient(1.6px 1.6px at 70% 15%,rgba(232,238,247,.4),transparent 100%),radial-gradient(2.2px 2.2px at 55% 75%,rgba(232,238,247,.5),transparent 100%);background-size:340px 340px;animation:snow-fall 19s linear infinite}.scene-snow:after{background-image:radial-gradient(1.4px 1.4px at 18% 62%,rgba(232,238,247,.35),transparent 100%),radial-gradient(1.8px 1.8px at 84% 38%,rgba(232,238,247,.45),transparent 100%);background-size:220px 220px;animation:snow-fall 13s linear infinite}.scene-snow i{background-image:radial-gradient(2.6px 2.6px at 42% 22%,rgba(242,248,255,.6),transparent 100%),radial-gradient(2.2px 2.2px at 68% 58%,rgba(242,248,255,.5),transparent 100%);background-size:480px 480px;animation:snow-fall 27s linear infinite}.scene-watershimmer{overflow:hidden;transform:translate3d(calc(var(--px) * 10px),0,0);mix-blend-mode:screen;opacity:.55;-webkit-mask-image:linear-gradient(to top,black 30%,transparent 92%);mask-image:linear-gradient(to top,black 30%,transparent 92%);animation:water-pulse 9s ease-in-out infinite alternate}.scene-watershimmer:before{content:"";position:absolute;left:-60%;right:-60%;bottom:0;height:22vh;background-image:repeating-linear-gradient(100deg,transparent 0 46px,rgba(130,216,210,.05) 52px 54px,transparent 60px 120px),repeating-linear-gradient(79deg,transparent 0 90px,rgba(146,216,255,.04) 96px 99px,transparent 106px 200px),radial-gradient(60% 90% at 50% 110%,rgba(130,216,210,.12),transparent 70%);animation:water-shimmer 16s linear infinite;will-change:transform}.scene-vignette{background:radial-gradient(ellipse 90% 70% at 50% 42%,transparent 52%,rgba(3,8,16,.6) 100%)}.scene-vignette:before{content:"";position:absolute;inset:0 0 auto 0;height:1px;background:linear-gradient(90deg,transparent,rgba(212,240,109,.25),rgba(130,216,210,.25),transparent);opacity:.5}.backdrop-scene[data-variant=admin] .aurora-band{opacity:.22}.backdrop-scene[data-variant=admin] .band-d{opacity:.15}.backdrop-scene[data-variant=admin] .scene-skyglow{opacity:.5}.backdrop-scene[data-variant=admin] .scene-icefield{opacity:.4}.backdrop-scene[data-variant=admin] .scene-watershimmer{opacity:.25}.backdrop-scene[data-variant=admin] .scene-snow{opacity:.18}.backdrop-scene[data-variant=admin] .scene-stars{opacity:.6}@keyframes aurora-drift-a{0%{transform:rotate(-9deg) translate3d(-3%,-2%,0) scaleY(1)}to{transform:rotate(-5deg) translate3d(4%,3%,0) scaleY(1.12)}}@keyframes aurora-drift-b{0%{transform:rotate(7deg) translate3d(3%,1%,0) scaleY(1.05)}to{transform:rotate(3deg) translate3d(-4%,-3%,0) scaleY(.94)}}@keyframes aurora-drift-c{0%{transform:translate3d(-4%,2%,0);opacity:.3}to{transform:translate3d(5%,-2%,0);opacity:.48}}@keyframes aurora-drift-d{0%{transform:rotate(4deg) translate3d(-3%,1%,0) scaleY(1);opacity:.26}to{transform:rotate(1deg) translate3d(3%,-2%,0) scaleY(1.1);opacity:.4}}@keyframes skyglow-drift-a{0%{transform:translate3d(-3%,-2%,0) scale(1)}to{transform:translate3d(3%,2.5%,0) scale(1.08)}}@keyframes skyglow-drift-b{0%{transform:translate3d(2.5%,2%,0) scale(1.05)}to{transform:translate3d(-2.5%,-2%,0) scale(1)}}@keyframes ice-drift-a{0%{transform:translate3d(-1.6%,0,0)}to{transform:translate3d(1.8%,0,0)}}@keyframes ice-drift-b{0%{transform:translate3d(1.4%,0,0)}to{transform:translate3d(-1.8%,0,0)}}@keyframes water-shimmer{0%{transform:translateZ(0)}to{transform:translate3d(-120px,0,0)}}@keyframes water-pulse{0%{opacity:.42}to{opacity:.62}}@keyframes stars-twinkle{0%{opacity:.45}to{opacity:.95}}@keyframes snow-fall{0%{transform:translateZ(0)}to{transform:translate3d(-4%,50%,0)}}@keyframes fade-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes dot-pulse{0%,to{box-shadow:0 0 #d4f06d73}55%{box-shadow:0 0 0 5px #d4f06d00}}@keyframes sheen-sweep{0%{transform:translate(-130%) skew(-18deg)}to{transform:translate(230%) skew(-18deg)}}@keyframes orbit-spin{0%{transform:rotate(-18deg)}to{transform:rotate(342deg)}}.rise-in{animation:fade-rise var(--dur-3) var(--ease-out) both}.stagger>*{animation:fade-rise var(--dur-3) var(--ease-out) both}.stagger>*:nth-child(1){animation-delay:0ms}.stagger>*:nth-child(2){animation-delay:calc(var(--stagger) * 1)}.stagger>*:nth-child(3){animation-delay:calc(var(--stagger) * 2)}.stagger>*:nth-child(4){animation-delay:calc(var(--stagger) * 3)}.stagger>*:nth-child(5){animation-delay:calc(var(--stagger) * 4)}.stagger>*:nth-child(6){animation-delay:calc(var(--stagger) * 5)}.stagger>*:nth-child(7){animation-delay:calc(var(--stagger) * 6)}.stagger>*:nth-child(8){animation-delay:calc(var(--stagger) * 7)}.stagger>*:nth-child(9){animation-delay:calc(var(--stagger) * 8)}.stagger>*:nth-child(10){animation-delay:calc(var(--stagger) * 9)}.stagger>*:nth-child(11){animation-delay:calc(var(--stagger) * 10)}.stagger>*:nth-child(12){animation-delay:calc(var(--stagger) * 11)}.status-badge.ready .status-dot,.status-badge.running .status-dot,.status-badge.online .status-dot,.status-badge.active .status-dot,.status-dot.online{animation:dot-pulse 2.4s var(--ease-out) infinite}.sheen{position:relative;overflow:hidden}.sheen:before{content:"";position:absolute;top:0;bottom:0;left:0;width:45%;background:linear-gradient(90deg,transparent,rgba(232,238,247,.07),transparent);transform:translate(-130%) skew(-18deg);pointer-events:none}.sheen:hover:before{animation:sheen-sweep .9s var(--ease-out)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.scene-aurora,.scene-stars,.scene-snow,.scene-skyglow,.scene-icefield,.scene-watershimmer{transform:none!important}}.app-shell{min-height:100vh;display:flex;flex-direction:column}.topbar{min-height:76px;padding:0 clamp(18px,5vw,72px);display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);background:#07111f99;backdrop-filter:blur(22px) saturate(1.35);-webkit-backdrop-filter:blur(22px) saturate(1.35);position:sticky;top:0;z-index:var(--z-header);box-shadow:0 14px 44px #03081052}.scroll-hairline{position:absolute;left:0;right:0;bottom:-1px;height:2px;transform-origin:0 50%;background:linear-gradient(90deg,var(--aurora),var(--glacier),var(--ice));box-shadow:0 0 12px #d4f06d59}.brand{display:inline-flex;gap:12px;align-items:center;font-weight:800;letter-spacing:-.03em;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:35px;height:35px;color:var(--abyss-1);background:linear-gradient(135deg,var(--aurora-bright),var(--aurora) 60%,var(--aurora-deep));border-radius:10px;font:700 12px var(--font-mono);transform:rotate(-7deg);box-shadow:var(--glow-aurora);transition:transform var(--dur-2) var(--ease-emph),box-shadow var(--dur-2)}.brand:hover .brand-mark{transform:rotate(0) scale(1.06);box-shadow:var(--glow-aurora-strong)}.topnav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px;color:var(--text-soft);font-size:13px}.topnav a{position:relative;padding:8px 11px;border-radius:var(--r-sm)}.topnav a.active{color:var(--aurora)}.nav-pill{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(212,240,109,.26);border-radius:var(--r-sm);background:#d4f06d1a}.nav-label{position:relative;z-index:1}.topnav a:hover,.link-button:hover,.back-link:hover,.table-link:hover,.text-link:hover,.auth-switch a:hover{color:var(--aurora)}.nav-register{padding:9px 13px;color:var(--ink);border-radius:var(--r-sm);background:linear-gradient(135deg,var(--aurora-bright),var(--aurora) 60%,var(--aurora-deep));font-weight:800;box-shadow:0 6px 18px #d4f06d29;transition:transform var(--dur-1) var(--ease-out),box-shadow var(--dur-1)}.nav-register:hover{color:var(--ink)!important;transform:translateY(-1px);box-shadow:var(--glow-aurora-strong)}.topnav-actions{display:inline-flex;align-items:center;gap:12px;margin-left:10px;padding-left:14px;border-left:1px solid var(--line)}.link-button,.text-button,.danger-text,.icon-button{border:0;background:transparent;color:inherit}.user-menu{display:inline-flex;align-items:center;gap:8px;color:var(--text-soft);white-space:nowrap}.user-avatar{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--aurora-line);border-radius:50%;color:var(--aurora);background:#d4f06d14;font-size:12px;font-weight:800}.user-menu small{padding:2px 7px;border-radius:var(--r-pill);color:var(--aurora-dim);background:#d4f06d17;font-size:10px}.user-menu .link-button{margin-left:4px;color:var(--text-soft);font-size:12px}.language-switcher{display:block;margin:0}.language-switcher select{width:auto;min-width:82px;padding:7px 9px;border-radius:var(--r-sm);color:var(--text-soft);font-size:11px;background:#98b8dc14}.page-container{width:min(1240px,calc(100% - 40px));margin:0 auto;flex:1;padding:45px 0 92px}.footer{display:flex;justify-content:space-between;gap:20px;padding:24px 5vw;color:var(--text-dim);border-top:1px solid var(--line);font:12px var(--font-mono)}.admin-layout{display:grid;grid-template-columns:232px 1fr;gap:26px}.sidebar{position:sticky;top:100px;align-self:start;min-height:480px;padding:22px 14px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-raise)}.sidebar h2{margin:12px 10px 20px}.side-nav{display:grid;gap:6px}.side-nav-group{display:grid;gap:4px}.side-nav-group+.side-nav-group{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.side-nav-group-label{padding:0 12px 5px;color:var(--text-dim);font:500 10px var(--font-mono);letter-spacing:.14em;text-transform:uppercase}.side-nav a{position:relative;display:flex;align-items:center;gap:10px;padding:11px 12px;color:var(--text-soft);border-radius:var(--r-sm);font-size:13px;transition:color var(--dur-1) var(--ease-out),background var(--dur-1)}.side-nav a:hover{color:var(--text-strong);background:#98b8dc14}.side-nav a.active{color:var(--ink)}.side-nav a.active:hover{color:var(--ink);background:none}.side-pill,.side-nav a>span.side-pill{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:var(--r-sm);background:linear-gradient(135deg,var(--aurora-bright),var(--aurora) 60%,var(--aurora-deep));box-shadow:var(--glow-aurora)}.side-nav a>svg,.side-nav a>span:not(.side-pill){position:relative;z-index:1}.sidebar-user{display:flex;gap:10px;align-items:center;margin-top:34px;padding:12px 10px 0;border-top:1px solid var(--line);color:var(--text-soft);font-size:12px}.sidebar-user small{display:block;margin-top:3px;color:var(--text-dim);font:10px var(--font-mono)}.admin-content{min-width:0}.content-header{align-items:end}.content-header h1{margin:11px 0 6px;font-size:42px}.content-header p{margin:0}.field{display:grid;gap:8px;margin:15px 0}.field-label{color:var(--text-soft);font-size:13px;margin:0;display:block}.field-required{color:var(--aurora);font-style:normal;margin-left:3px}.field-hint{color:var(--text-dim);font-size:12px}.field-error{margin:0;color:var(--coral-soft);font-size:12px}.ui-input[aria-invalid=true],.ui-textarea[aria-invalid=true],.ui-select select[aria-invalid=true]{border-color:var(--coral)}.ui-input[aria-invalid=true]:focus,.ui-textarea[aria-invalid=true]:focus,.ui-select select[aria-invalid=true]:focus{border-color:var(--coral);box-shadow:0 0 0 3px #ff6f5c1f,0 0 22px #ff6f5c12}.ui-input.mono,.ui-textarea.mono{font-family:var(--font-mono)}.ui-select{position:relative;display:block}.ui-select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:36px}.ui-select>svg{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.ui-switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:42px;height:24px;flex:0 0 42px;padding:2px;border:0;border-radius:var(--r-pill);background:var(--abyss-3);cursor:pointer;transition:background var(--dur-2) var(--ease-out)}.ui-switch:before{content:"";display:block;width:18px;height:18px;border-radius:50%;background:var(--text-strong);transition:transform var(--dur-2) var(--ease-out)}.ui-switch:checked{background:linear-gradient(135deg,var(--glacier),var(--aurora-deep))}.ui-switch:checked:before{transform:translate(18px)}.ui-switch:focus{border:0;box-shadow:none}.ui-switch:focus-visible{outline:2px solid var(--aurora);outline-offset:2px}.ui-switch:disabled{opacity:.45;cursor:not-allowed}.panel-header>.inline-actions{margin-left:auto}.anchored-popover{position:fixed;z-index:var(--z-popover,var(--z-modal));width:230px;max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);overflow:auto;display:grid;gap:14px;background:var(--abyss-2);box-shadow:var(--shadow-hero)}.list-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:12px 0}.list-controls label{display:grid;gap:5px;color:var(--text-dim)}.list-controls>span{margin:auto 0}.rich-body{line-height:1.9;overflow-wrap:anywhere;color:var(--text-soft);font-size:14px}.rich-body h1,.rich-body h2,.rich-body h3{color:var(--text-strong);letter-spacing:-.03em;line-height:1.3;margin:1.1em 0 .5em}.rich-body h1{font-size:1.55em}.rich-body h2{font-size:1.35em}.rich-body h3{font-size:1.18em}.rich-body p{margin:0 0 .9em}.rich-body>:last-child{margin-bottom:0}.rich-body strong{color:var(--text-strong)}.rich-body u{text-decoration-color:var(--glacier);text-underline-offset:3px}.rich-body blockquote{margin:1em 0;padding:10px 16px;border-left:3px solid var(--glacier);border-radius:0 var(--r-sm) var(--r-sm) 0;background:var(--glass-sunk);color:var(--text-muted)}.rich-body ul,.rich-body ol{margin:0 0 .9em;padding-left:1.4em}.rich-body li{margin:.25em 0}.rich-body a{color:var(--aurora);text-decoration:underline;text-underline-offset:2px}.rich-body .align-left{text-align:left}.rich-body .align-center{text-align:center}.rich-body .align-right{text-align:right}.rich-legacy{white-space:pre-wrap}.rich-body:not(.rich-legacy){white-space:normal}.news-detail .rich-body{margin-top:28px}.rich-editor-wrap{display:grid}.rich-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:3px;padding:5px;margin-bottom:8px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--glass-sunk);width:fit-content;max-width:100%}.rich-tool-group{display:inline-flex;align-items:center;gap:3px}.rich-tool{min-height:30px;min-width:30px;width:auto;padding:4px 7px;border:0;border-radius:var(--r-pill);background:transparent;color:var(--text-muted);font:600 11px var(--font-mono)}.rich-tool:hover:not(:disabled){color:var(--text-strong);background:#98b8dc17}.rich-tool[aria-pressed=true]{color:var(--aurora);background:var(--aurora-glass)}.rich-tool:disabled{opacity:.4}.rich-divider{width:1px;height:18px;margin:0 4px;background:var(--line)}.rich-editor{min-height:180px;max-height:50vh;overflow:auto;padding:12px 13px;border:1px solid var(--line-strong);border-radius:9px;background:#05101db3;transition:border-color var(--dur-1) var(--ease-out),box-shadow var(--dur-1) var(--ease-out)}.rich-editor:focus{border-color:var(--aurora);box-shadow:0 0 0 3px #d4f06d1f,0 0 22px #d4f06d12;outline:none}.rich-editor:empty:before{content:attr(data-placeholder);color:var(--text-dim)}.rich-counter{margin:6px 2px 0;text-align:right;color:var(--text-dim);font:10px var(--font-mono)}.rich-counter.over{color:var(--coral-soft)}.portal-home{display:grid;gap:58px}.portal-hero{isolation:isolate;position:relative;min-height:550px;display:flex;align-items:center;overflow:hidden;padding:clamp(34px,7vw,88px);border:1px solid var(--line-strong);border-radius:30px;background-image:linear-gradient(90deg,#050e1af7,#050e1ac7 37%,#050e1a1a 78%),linear-gradient(0deg,rgba(5,14,26,.62),transparent 48%),url(/assets/portal-hero.webp);background-image:linear-gradient(90deg,#050e1af7,#050e1ac7 37%,#050e1a1a 78%),linear-gradient(0deg,rgba(5,14,26,.62),transparent 48%),image-set(url(/assets/portal-hero.avif) type("image/avif"),url(/assets/portal-hero.webp) type("image/webp"));background-position:center;background-size:cover;box-shadow:var(--shadow-hero)}.portal-hero:before{content:"";position:absolute;z-index:-1;top:-20px;right:-20px;bottom:-20px;left:-20px;background:inherit;filter:blur(18px);opacity:.24;transform:scale(1.04)}.portal-hero:after{content:"";position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 85% 25%,rgba(212,240,109,.14),transparent 23%),linear-gradient(135deg,transparent 45%,rgba(83,213,207,.06))}.portal-hero-copy{position:relative;z-index:1;max-width:555px}.portal-hero h1{margin:18px 0 20px;font-size:clamp(45px,7vw,82px);color:var(--text-strong)}.portal-hero h1 span{display:block;background:linear-gradient(100deg,var(--text-strong) 30%,var(--ice) 75%,var(--glacier));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.portal-hero p{max-width:500px;margin-bottom:28px;color:#aec0d1;font-size:16px;line-height:1.75}.hero-orbit{position:absolute;right:9%;bottom:10%;width:190px;height:190px;border:1px solid rgba(212,240,109,.21);border-radius:50%;opacity:.8;transform:rotate(-18deg);animation:orbit-spin 46s linear infinite}.hero-orbit:before,.hero-orbit:after{content:"";position:absolute;top:17px;right:17px;bottom:17px;left:17px;border:1px solid rgba(156,236,227,.16);border-radius:50%}.hero-orbit:after{top:42px;right:42px;bottom:42px;left:42px;border-color:#d4f06d3d}.hero-orbit span{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--aurora);box-shadow:0 0 15px var(--aurora)}.hero-orbit span:nth-child(1){top:14px;left:51%}.hero-orbit span:nth-child(2){right:17px;bottom:32px;background:var(--glacier);box-shadow:0 0 15px var(--glacier)}.hero-orbit span:nth-child(3){left:29px;bottom:24px}.portal-section{display:grid;gap:22px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:24px}.section-heading h2{margin:8px 0 5px;font-size:clamp(26px,4vw,38px)}.section-heading p{max-width:620px;margin:0;color:var(--text-muted);font-size:13px;line-height:1.7}.download-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.download-card{display:flex;align-items:flex-start;gap:17px;min-height:190px;padding:24px;border:1px solid var(--line);border-radius:var(--r-lg);background:linear-gradient(145deg,#18314b94,#091626cc);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:transform var(--dur-2) var(--ease-out),border-color var(--dur-2),box-shadow var(--dur-2)}.download-card:hover{transform:translateY(-4px);border-color:var(--line-strong);box-shadow:var(--shadow-raise)}.download-card.accent{border-color:#d4f06d52;background:linear-gradient(145deg,#384d3366,#091c28e6)}.download-card .secondary-button{margin-left:auto;align-self:center;white-space:nowrap}.download-icon{display:grid;place-items:center;flex:0 0 auto;width:44px;height:44px;border:1px solid rgba(212,240,109,.35);border-radius:13px;color:var(--aurora);font-size:20px}.download-copy{min-width:0;flex:1}.download-copy h3{margin:8px 0 7px;font-size:19px}.download-copy p{min-height:40px;margin-bottom:14px;color:var(--text-muted);font-size:12px;line-height:1.6}.download-meta{display:flex;flex-wrap:wrap;gap:9px 15px;color:var(--text-soft);font:10px var(--font-mono)}.download-copy code{display:block;overflow:hidden;max-width:100%;margin-top:9px;color:var(--text-dim);font:10px var(--font-mono);text-overflow:ellipsis;white-space:nowrap}.portal-split{grid-template-columns:minmax(0,1.8fr) minmax(220px,.7fr);align-items:start;gap:26px}.compact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.compact-grid .room-card{padding:18px}.compact-grid .room-card h2{margin:19px 0 14px;font-size:17px}.compact-grid .room-card-footer{margin-top:21px}.signal-panel{min-height:238px;display:flex;flex-direction:column;justify-content:flex-end;padding:25px;border:1px solid var(--glacier-line);border-radius:var(--r-lg);background:radial-gradient(circle at 80% 20%,rgba(130,216,210,.18),transparent 38%),#13323e6b;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--glow-glacier)}.signal-panel strong{margin:5px 0 10px;color:var(--aurora);font:700 66px/1 var(--font-mono);letter-spacing:-.1em}.signal-panel span:last-child{color:#89aab3;font-size:11px;line-height:1.65}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.news-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform var(--dur-2) var(--ease-out),border-color var(--dur-2),box-shadow var(--dur-2)}.news-card:hover{transform:translateY(-4px);border-color:var(--line-strong);box-shadow:var(--shadow-raise)}.news-card-image{height:116px;display:flex;align-items:flex-end;padding:15px;background:linear-gradient(135deg,#224966e6,#081826e6);background-position:center;background-size:cover}.news-card-image span{color:var(--aurora);font:10px var(--font-mono);letter-spacing:.16em}.news-card-body{padding:18px}.news-card time{color:var(--text-dim);font:10px var(--font-mono)}.news-card h3{margin:9px 0 8px;font-size:17px}.news-card p{margin:0;color:#8fa5b8;font-size:12px;line-height:1.65}.feedback-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:29px 32px;border:1px solid rgba(212,240,109,.27);border-radius:var(--r-lg);background:linear-gradient(105deg,#d4f06d21,#0e2a37ad);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--glow-aurora)}.feedback-banner h2{margin:9px 0 7px;font-size:25px}.feedback-banner p{max-width:690px;margin:0;color:var(--aurora-dim);font-size:13px;line-height:1.65}.hero{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:44px}.page-hero h1{margin-top:13px}.hero p{max-width:590px;margin-bottom:0}.hero-stats{min-width:145px;padding:18px 20px;border:1px solid rgba(212,240,109,.3);border-radius:18px;background:#d4f06d12}.hero-stats strong{display:block;color:var(--aurora);font-size:38px;letter-spacing:-.07em}.hero-stats span{color:var(--aurora-dim);font-size:12px}.room-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}.room-card,.node-card{display:block;padding:24px;border:1px solid var(--line);border-radius:var(--r-lg);background:linear-gradient(145deg,#162b449e,#091626c7);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:transform var(--dur-2) var(--ease-out),border-color var(--dur-2),box-shadow var(--dur-2)}.room-card:hover,.node-card:hover{transform:translateY(-5px);border-color:#d4f06d94;box-shadow:var(--shadow-raise),var(--glow-aurora)}.room-card:hover .arrow,.node-card:hover .arrow{transform:translate(5px)}.room-card-top,.panel-header,.content-header,.room-card-footer{display:flex;align-items:center;justify-content:space-between;gap:14px}.room-map{color:var(--text-soft);font:12px var(--font-mono)}.room-card h2{margin:24px 0 18px;font-size:22px}.room-meta{display:flex;flex-wrap:wrap;gap:16px;color:var(--text-muted);font-size:13px}.room-meta-item{display:inline-flex;align-items:center;gap:6px}.room-meta-item svg{color:var(--aurora-dim)}.room-card-footer{margin-top:34px;padding-top:16px;border-top:1px solid var(--line);color:#b7c8da;font:12px var(--font-mono)}.arrow{display:inline-block;color:var(--aurora);font-size:20px;transition:transform var(--dur-2) var(--ease-out)}.status-badge{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid transparent;border-radius:var(--r-pill);color:var(--text-soft);background:#8ea1bb1f;font-size:11px;font-weight:600;letter-spacing:.02em;white-space:nowrap}.status-badge.ready,.status-badge.running,.status-badge.online,.status-badge.active,.status-badge.published{color:var(--aurora);border-color:#d4f06d38;background:#d4f06d1c}.status-badge.failed,.status-badge.degraded,.status-badge.unknown,.status-badge.disabled{color:var(--coral-soft);background:#ff6f5c1f}.status-badge.new,.status-badge.in_progress{color:var(--ice);background:#48aae51f}.status-badge.connecting{color:var(--amber);border-color:#ffc45740;background:#ffc4571a}.status-badge.offline{color:var(--coral-soft);border-color:#ff6f5c4d;background:#ff6f5c1a}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor}.detail-hero{display:flex;justify-content:space-between;gap:24px;align-items:end;padding:22px 0 36px;border-bottom:1px solid var(--line)}.detail-hero h1{margin-bottom:8px}.detail-hero p{margin-bottom:0}.join-panel{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:30px;border:1px solid rgba(212,240,109,.3);border-radius:var(--r-lg);background:linear-gradient(125deg,#d4f06d24,#112b3fb8);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:var(--shadow-raise)}.join-panel h2{margin:8px 0;font:500 27px var(--font-mono);color:var(--text-strong)}.join-panel p{margin:0;color:var(--aurora-dim);font-size:13px}.join-options{display:grid;gap:12px}.join-option{display:flex;align-items:center;gap:16px;padding:18px;border:1px solid var(--line);border-radius:15px;background:#0f2034a6}.join-option>div{flex:1}.join-option strong{display:block;margin-bottom:5px}.join-option p{margin:0;color:var(--text-muted);font-size:13px}.option-icon{display:grid;place-items:center;width:38px;height:38px;color:var(--abyss-1);background:var(--aurora);border-radius:11px;font-weight:800}.notice{padding:14px 16px;color:var(--text-muted);background:#8ea1bb14;border-radius:12px;font-size:12px;line-height:1.6}.rule-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rule-pill{display:flex;align-items:center;justify-content:space-between;gap:13px;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:#08142273}.rule-pill span{color:var(--text-muted);font-size:12px}.rule-pill strong{color:var(--aurora);font:500 15px var(--font-mono)}.auth-layout{display:grid;grid-template-columns:1fr minmax(320px,430px);align-items:stretch;gap:80px;min-height:620px}.auth-art{position:relative;align-self:center;padding:30px 0}.auth-art h1{max-width:600px;margin-top:18px}.auth-art p{max-width:530px;color:var(--text-muted);line-height:1.8}.auth-glow{width:290px;height:170px;margin-top:80px;border-radius:50%;background:radial-gradient(ellipse,rgba(212,240,109,.25),transparent 65%);filter:blur(8px)}.register-glow{background:radial-gradient(ellipse,rgba(130,216,210,.27),transparent 65%)}.auth-card{align-self:center;padding:31px;border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--glass-strong);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:var(--shadow-float)}.auth-card h2{margin:38px 0 10px;font-size:26px}.auth-card .muted{font-size:13px;margin-bottom:26px}.auth-switch{margin:22px 0 0;color:var(--text-muted);font-size:12px;text-align:center}.steam-button,.disabled-login,.mock-hint{display:block;margin-top:12px;padding:12px;text-align:center;border-radius:9px;font-size:13px}.steam-button{color:var(--text-soft);background:#17365c}.disabled-login{color:var(--text-dim);background:#7589a01a}.mock-hint{color:var(--text-muted);background:#8ea1bb14;line-height:1.55}.mock-hint code{color:var(--aurora)}.mock-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:9px}.account-chip{padding:5px 11px;border:1px solid var(--line-strong);border-radius:var(--r-pill);color:var(--text-soft);background:#08142280;font:11px var(--font-mono);transition:color var(--dur-1) var(--ease-out),border-color var(--dur-1),box-shadow var(--dur-1),transform var(--dur-1) var(--ease-out)}.account-chip:hover{color:var(--aurora);border-color:var(--aurora);transform:translateY(-1px);box-shadow:var(--glow-aurora)}.account-chip:active{transform:scale(.95)}.auth-shake{align-self:center}.auth-card input:focus-visible{border-color:var(--aurora);box-shadow:var(--glow-aurora),0 0 0 3px #d4f06d29}.auth-back-link{display:inline-flex;align-items:center;gap:7px;width:fit-content}.auth-back-link:hover{color:var(--aurora)}.auth-back-icon{flex:0 0 auto;transform:scaleX(-1)}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stat-card{display:flex;justify-content:space-between;align-items:end;padding:18px;border-radius:var(--r-md);background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 26px #0308102e;transition:transform var(--dur-2) var(--ease-out),border-color var(--dur-2),box-shadow var(--dur-2)}.stat-card:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:var(--shadow-raise)}.stat-card span{color:var(--text-muted);font-size:12px}.stat-card strong{font-size:32px;letter-spacing:-.07em}.stat-card.green strong{color:var(--aurora)}.stat-card.blue strong{color:var(--ice)}.panel{padding:22px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 10px 32px #03081033}.panel h2{margin:0;font-size:17px}.panel-header{margin-bottom:18px}.text-button{color:var(--text-soft);font-size:12px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:700px}th,td{padding:15px 10px;text-align:left;border-top:1px solid var(--line);color:var(--text-soft);font-size:13px}th{color:var(--text-dim);font:11px var(--font-mono);text-transform:uppercase}td small,td:first-child small{display:block;margin-top:5px;color:var(--text-dim);font:10px var(--font-mono)}.table-link{color:var(--text);font-weight:700}.table-actions{display:flex;flex-wrap:wrap;gap:8px}.table-actions button{padding:5px 7px;color:var(--text-soft);border:1px solid var(--line-strong);border-radius:6px;background:transparent;font-size:11px;transition:color var(--dur-1),border-color var(--dur-1),transform var(--dur-1) var(--ease-out)}.table-actions button:hover{color:var(--aurora);border-color:var(--aurora);transform:translateY(-1px)}.table-actions .danger-text,.danger-text{color:var(--coral-soft);border:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:center;padding:20px;background:#030a13b8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.modal-card{width:min(560px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:26px;border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--glass-strong);backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);box-shadow:var(--shadow-float),var(--glow-aurora)}.wide-modal{width:min(760px,100%)}.modal-card h2{margin:9px 0 0}.icon-button{color:#a6bbcf;font-size:26px;transition:color var(--dur-1) var(--ease-out),transform var(--dur-1) var(--ease-out)}.icon-button:hover{color:var(--aurora);transform:rotate(90deg)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 15px}.modal-actions{justify-content:flex-end;margin-top:25px}.template-strip{display:grid;gap:12px;padding:16px;border:1px solid rgba(212,240,109,.18);border-radius:13px;background:#d4f06d0e}.template-strip strong,.template-strip small{display:block}.template-strip small{margin-top:4px;color:#899fb3;font-size:11px}.template-actions{display:flex;gap:8px}.template-actions select{flex:1}.template-list{display:flex;flex-wrap:wrap;gap:7px}.template-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;color:var(--aurora);border-radius:7px;background:#d4f06d1a;font-size:11px}.template-chip button{padding:0;color:var(--aurora-dim);border:0;background:transparent}.rule-section{margin-top:17px;padding:14px 16px;border:1px solid var(--line);border-radius:13px}.rule-section .panel-header{margin-bottom:0}.rule-section h3{margin:0;font-size:14px}.rule-section .muted{margin:4px 0 0;font-size:11px}.rules-grid label{margin-bottom:10px}.template-save-row{display:flex;gap:8px;margin-top:16px}.template-save-row input{min-width:0}.node-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px}.node-card h2{margin:22px 0 7px;font-size:18px}.node-card p,.node-card small{color:var(--text-muted);font-size:12px}.chip-list{display:flex;flex-wrap:wrap;gap:6px;margin:16px 0}.chip{padding:5px 7px;color:var(--aurora-dim);border-radius:5px;background:#d4f06d17;font:10px var(--font-mono)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.info-list{margin:0}.info-list div{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-top:1px solid var(--line)}.info-list dt{color:var(--text-dim);font-size:12px}.info-list dd{max-width:64%;margin:0;color:var(--text-soft);text-align:right;font-size:12px;word-break:break-word}.info-list code,td code{color:var(--aurora);font:12px var(--font-mono)}.member-form{display:flex;gap:8px;margin-bottom:12px}.member-form input{min-width:0}.member-list{list-style:none;padding:0;margin:0}.member-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-top:1px solid rgba(152,184,220,.1)}.member-list small{display:block;margin-top:4px;color:var(--text-dim);font:10px var(--font-mono)}.member-list button{padding:5px;font-size:11px}.log-viewer,.secret-viewer{overflow:auto;min-height:150px;max-height:340px;margin:0;padding:16px;color:var(--text-soft);border-radius:10px;background:#06101c;font:11px/1.7 var(--font-mono);white-space:pre-wrap}.secret-viewer{color:var(--aurora);font-size:14px;-webkit-user-select:all;user-select:all}.count-label{color:#8198ae;font:11px var(--font-mono)}.loading-row{padding:25px 0;color:var(--text-muted);text-align:center}.translation-fieldset{margin:19px 0 0;padding:0 15px 8px;border:1px solid var(--line);border-radius:13px}.translation-fieldset legend{padding:0 8px;color:var(--aurora);font:11px var(--font-mono)}.translation-fieldset label{margin:13px 0}.news-editor{background:#11283ee6}.filter-row{display:flex;align-items:end;gap:12px}.filter-row label{width:210px;margin:0}.feedback-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(350px,1.1fr);gap:65px;align-items:start}.feedback-intro{padding-top:8px}.feedback-intro .back-link{display:inline-flex;align-items:center;gap:7px;margin-bottom:82px}.feedback-intro h1{margin-top:17px}.feedback-intro>p{max-width:500px;color:var(--text-muted);line-height:1.85}.feedback-steps{display:flex;gap:28px;margin-top:75px;color:var(--text-dim);font:11px var(--font-mono)}.feedback-steps b{margin-left:7px;color:var(--aurora);font-weight:400}.feedback-form{display:grid;gap:16px;align-content:start;min-width:0}.feedback-form .panel-header p{margin:5px 0 0;font-size:11px}.ticket-card{display:grid;gap:6px;margin-top:18px;padding:17px;border:1px solid rgba(212,240,109,.28);border-radius:12px;background:#d4f06d14;box-shadow:var(--glow-aurora)}.ticket-card span,.ticket-card small{color:var(--aurora-dim);font-size:11px}.ticket-card strong{color:var(--aurora);font:600 18px var(--font-mono);letter-spacing:.05em;-webkit-user-select:all;user-select:all}.feedback-recent{grid-column:1 / -1}.feedback-list{display:grid;gap:14px}.feedback-card{padding:18px;border:1px solid var(--line);border-radius:15px;background:var(--glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform var(--dur-2) var(--ease-out),border-color var(--dur-2),box-shadow var(--dur-2)}.feedback-card:hover{transform:translateY(-2px);border-color:var(--line-strong);box-shadow:var(--shadow-raise)}.feedback-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.feedback-card code,.feedback-admin-card code{color:var(--aurora);font:11px var(--font-mono)}.feedback-card h3,.feedback-admin-card h2{margin:7px 0 0;font-size:16px}.feedback-card>p,.feedback-body{margin:16px 0;color:var(--text-soft);font-size:13px;line-height:1.7;white-space:pre-wrap}.feedback-card-meta{display:flex;align-items:center;gap:15px;margin-top:4px;padding-top:14px;border-top:1px solid var(--line);color:var(--text-dim);font:10px var(--font-mono)}.admin-reply{position:relative;padding:11px 13px;border-radius:var(--r-sm);background:#d4f06d12}.admin-reply strong{display:inline-flex;align-items:center;gap:6px;color:var(--aurora);font-size:11px}.admin-reply p{margin:6px 0 0;color:var(--aurora-dim);font-size:12px;line-height:1.6;white-space:pre-wrap}.feedback-admin-list{display:grid;gap:15px}.feedback-admin-card h2{font-size:19px}.feedback-admin-card>.notice{margin:12px 0}.feedback-admin-card small{display:block;margin-top:8px;color:var(--text-dim);font:10px var(--font-mono)}.feedback-admin-actions{display:grid;grid-template-columns:180px 1fr auto;align-items:end;gap:12px;margin-top:19px;padding-top:14px;border-top:1px solid var(--line)}.feedback-admin-actions label{margin:0}.feedback-admin-actions .primary-button{margin-bottom:0}.feedback-intro .back-link .back-link-icon{transform:rotate(180deg)}.feedback-public-list .section-heading{margin-bottom:24px}.feedback-form .panel-header{margin-bottom:2px;padding-bottom:15px;border-bottom:1px solid var(--line)}.feedback-form .alert{margin:0}.feedback-form label{gap:9px;margin:0;color:var(--text-soft);font-size:12px;font-weight:600;letter-spacing:.02em}.feedback-form input,.feedback-form select,.feedback-form textarea{font-size:13px;font-weight:400;letter-spacing:0}.feedback-form input:hover,.feedback-form select:hover,.feedback-form textarea:hover{border-color:#98b8dc66}.feedback-form input:focus,.feedback-form select:focus,.feedback-form textarea:focus{border-color:var(--aurora);box-shadow:0 0 0 3px #d4f06d24,0 0 26px #d4f06d14}.feedback-form select{cursor:pointer}.feedback-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.feedback-field-hint{justify-self:end;color:var(--text-dim);font:10px var(--font-mono)}.feedback-form .primary-button{margin-top:2px}@media (max-width: 560px){.feedback-form-row{grid-template-columns:1fr}}.feedback-card .feedback-card-date{display:inline-flex;align-items:center;gap:6px}.feedback-card .vote-button{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:var(--r-pill);font-weight:600}.feedback-card .vote-button .pulse-value{font-family:var(--font-mono)}.feedback-card .vote-button.voted,.feedback-card .vote-button.voted:hover:not(:disabled){color:var(--ink);border-color:transparent;background:linear-gradient(135deg,var(--aurora-bright),var(--aurora) 60%,var(--aurora-deep));box-shadow:var(--glow-aurora)}.feedback-card .vote-button.voted.dislike,.feedback-card .vote-button.voted.dislike:hover:not(:disabled){color:var(--ink);background:linear-gradient(135deg,var(--coral-soft),var(--coral) 65%);box-shadow:0 0 22px #ff6f5c33}.feedback-thread{position:relative;display:grid;gap:9px;margin-top:16px;padding:2px 0 2px 21px}.feedback-thread:before{content:"";position:absolute;left:6px;top:9px;bottom:9px;width:2px;border-radius:2px;background:linear-gradient(180deg,var(--glacier-line),var(--line))}.feedback-thread .feedback-reply{position:relative;border-left:0;border-radius:0 var(--r-sm) var(--r-sm) 0}.feedback-thread .feedback-reply:before,.feedback-thread .admin-reply:before{content:"";position:absolute;left:-15px;top:17px;width:11px;height:2px;border-radius:2px;background:var(--line-strong)}.feedback-thread .feedback-reply.official:before,.feedback-thread .admin-reply:before{background:var(--aurora);box-shadow:0 0 8px #d4f06d59}.feedback-card .feedback-reply-form{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line)}.feedback-card .feedback-reply-form .secondary-button{flex:0 0 auto}@media (prefers-reduced-motion: no-preference){.feedback-list .feedback-card{animation:feedback-card-in var(--dur-3) var(--ease-out) backwards}.feedback-list .feedback-card:nth-child(2){animation-delay:calc(var(--stagger) * 1)}.feedback-list .feedback-card:nth-child(3){animation-delay:calc(var(--stagger) * 2)}.feedback-list .feedback-card:nth-child(4){animation-delay:calc(var(--stagger) * 3)}.feedback-list .feedback-card:nth-child(5){animation-delay:calc(var(--stagger) * 4)}.feedback-list .feedback-card:nth-child(n+6){animation-delay:calc(var(--stagger) * 5)}@keyframes feedback-card-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}.profile-page,.chat-page,.monitoring-page,.releases-page{padding-bottom:35px}.profile-hero{display:flex;align-items:center;gap:28px}.profile-avatar-wrap{display:grid;justify-items:center;gap:12px}.profile-avatar{width:104px;height:104px;border-radius:28px;object-fit:cover;border:1px solid rgba(212,240,109,.38);background:linear-gradient(145deg,#214461,#0a1727);box-shadow:var(--glow-aurora);transition:transform var(--dur-2) var(--ease-out),box-shadow var(--dur-2)}.profile-avatar:hover{transform:translateY(-3px);box-shadow:var(--glow-aurora-strong)}.profile-avatar-placeholder{display:grid;place-items:center;color:var(--aurora);font-size:42px;font-weight:700}.avatar-picker{position:relative;overflow:hidden;cursor:pointer}.avatar-picker input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.profile-summary h2{margin:9px 0 6px;font-size:30px}.profile-summary p{margin:0}.profile-hint{margin-top:18px!important;color:var(--text-muted);font-size:12px}.profile-stats{grid-template-columns:repeat(3,1fr)}.profile-stats .stat-card{min-height:86px}.security-mark{padding:8px 11px;color:var(--aurora);border:1px solid rgba(212,240,109,.25);border-radius:8px;font:10px var(--font-mono);letter-spacing:.08em;white-space:nowrap}.feedback-public-list{grid-column:1 / -1}.feedback-author{display:block;margin-top:8px;color:var(--text-muted);font-size:11px}.feedback-votes{display:inline-flex;gap:6px;margin-left:auto}.vote-button{padding:4px 7px;color:var(--text-muted);border:1px solid var(--line-strong);border-radius:7px;background:#08142280;font-size:11px;transition:color var(--dur-1),border-color var(--dur-1),transform var(--dur-1) var(--ease-emph),box-shadow var(--dur-1)}.vote-button:hover:not(:disabled),.vote-button.selected{color:var(--aurora);border-color:#d4f06d8c}.vote-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--glow-aurora)}.vote-button:active:not(:disabled){transform:scale(1.12)}.vote-button.selected.dislike{color:var(--coral-soft);border-color:#ff6f5c8c}.vote-button:disabled{cursor:not-allowed;opacity:.65}.feedback-replies{display:grid;gap:8px;margin-top:15px}.feedback-reply{padding:11px 13px;border-left:2px solid var(--line-strong);background:#8ea1bb0d}.feedback-reply.official{border-left-color:var(--aurora);background:#d4f06d14}.feedback-reply>div{display:flex;align-items:center;gap:9px;font-size:11px}.feedback-reply time{margin-left:auto;color:var(--text-dim);font:10px var(--font-mono)}.feedback-reply p{margin:7px 0 0;color:var(--text-soft);font-size:12px;line-height:1.6;white-space:pre-wrap}.official-label{padding:3px 5px;color:var(--abyss-1);border-radius:4px;background:var(--aurora);font-size:9px}.feedback-reply-form{display:flex;gap:8px;margin-top:14px}.feedback-reply-form input{min-width:0}.chat-shell{display:grid;grid-template-columns:205px minmax(0,1fr);min-height:560px;padding:0;overflow:hidden}.chat-channels{padding:22px 14px;border-right:1px solid var(--line);background:#05101d52}.chat-channels label{margin:20px 4px 0;font-size:11px}.chat-channel{display:grid;width:100%;gap:5px;margin-top:9px;padding:12px;color:var(--text-soft);border:1px solid transparent;border-radius:10px;background:transparent;text-align:left;transition:color var(--dur-1),background var(--dur-1),border-color var(--dur-1),transform var(--dur-1) var(--ease-out)}.chat-channel small{color:var(--text-dim);font:10px var(--font-mono);overflow:hidden;text-overflow:ellipsis;transition:color var(--dur-1)}.chat-channel:hover{color:var(--aurora);border-color:#d4f06d52;background:#d4f06d12;transform:translate(3px)}.chat-channel.active{color:var(--abyss-1);border-color:var(--aurora);background:var(--aurora);box-shadow:var(--glow-aurora)}.chat-channel.active small{color:#3b5722}.chat-main{display:grid;grid-template-rows:auto 1fr auto;min-width:0}.chat-header{display:flex;justify-content:space-between;gap:15px;padding:20px 23px;border-bottom:1px solid var(--line)}.chat-header span{color:var(--text-muted);font-size:12px}.chat-messages{overflow-y:auto;padding:24px}.chat-message{width:min(80%,630px);margin-bottom:14px;padding:11px 14px;border:1px solid var(--line);border-radius:13px 13px 13px 3px;background:#162b44b3}.chat-message.own{margin-left:auto;border-radius:13px 13px 3px;border-color:#d4f06d40;background:#d4f06d17}.chat-message-meta{display:flex;gap:10px;align-items:center}.chat-message-meta strong{color:var(--aurora);font-size:12px}.chat-message-meta time{color:var(--text-dim);font:10px var(--font-mono)}.chat-message p{margin:7px 0 0;color:var(--text-soft);font-size:13px;line-height:1.6;white-space:pre-wrap}.chat-composer{display:flex;gap:9px;padding:16px 22px;border-top:1px solid var(--line)}.chat-composer input{min-width:0}.monitoring-node{width:100%;color:inherit;text-align:left;cursor:pointer}.monitoring-node.selected{border-color:#d4f06db3;box-shadow:0 0 0 2px #d4f06d1c,var(--glow-aurora)}.monitoring-node-stats{display:flex;gap:13px;margin:17px 0 10px;color:var(--text-muted);font-size:11px}.monitoring-node-stats b{color:#dce7f1;font:13px var(--font-mono)}.resource-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}.resource-card{padding:15px;border:1px solid var(--line);border-radius:12px;background:#08142273;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.resource-card>div:first-child{display:flex;align-items:end;justify-content:space-between;gap:8px}.resource-card span{color:var(--text-muted);font-size:11px}.resource-card strong{color:var(--aurora);font:13px var(--font-mono);text-align:right}.resource-bar{height:5px;margin-top:14px;overflow:hidden;border-radius:99px;background:var(--line)}.resource-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8ecbd1,var(--aurora))}.monitoring-room-list{display:grid;gap:9px}.monitoring-room{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px;border-top:1px solid rgba(152,184,220,.1)}.monitoring-room strong,.monitoring-room small{display:block}.monitoring-room small{margin-top:5px;color:var(--text-dim);font:10px var(--font-mono)}.online-player-list{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.incident-list{display:grid;gap:11px}.incident-card{padding:15px;border:1px solid rgba(255,111,92,.2);border-radius:12px;background:#ff6f5c0b}.incident-card time{color:var(--text-dim);font:10px var(--font-mono)}.incident-card>strong{display:block;margin-top:12px;font:12px var(--font-mono);color:var(--aurora)}.incident-card p{margin:8px 0;color:var(--text-soft);font-size:13px;line-height:1.6}.incident-card small,.resolved-label{color:#8aa0b3;font-size:11px}.incident-card pre{overflow:auto;max-height:130px;margin:10px 0 0;padding:10px;color:#b4c4d2;background:#06101c;font:10px/1.6 var(--font-mono);white-space:pre-wrap}.resolved-label{display:block;margin-top:9px;color:var(--aurora-dim)}.release-upload-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:18px}.release-upload-footer .primary-button{margin-left:auto}.release-list{display:grid;gap:11px}.release-card{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:16px;border:1px solid var(--line);border-radius:13px;background:#08142259;transition:transform var(--dur-2) var(--ease-out),border-color var(--dur-2),box-shadow var(--dur-2)}.release-card:hover{transform:translateY(-2px);border-color:var(--line-strong);box-shadow:var(--shadow-raise)}.release-card-main{min-width:0}.release-card h3{margin:13px 0 5px;font-size:19px}.release-card p{margin:4px 0;color:#91a6bb;font-size:12px}.release-notes{max-width:650px;line-height:1.6;white-space:pre-wrap}.release-hash{display:block;max-width:600px;margin-top:10px;overflow:hidden;color:var(--aurora-dim);font:10px var(--font-mono);text-overflow:ellipsis}.release-card .table-actions{justify-content:flex-end}.toast-stack{position:fixed;top:88px;right:22px;z-index:var(--z-toast);display:grid;gap:10px;width:min(360px,calc(100vw - 40px));pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--glass-strong);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);box-shadow:var(--shadow-float);font-size:13px;color:var(--text);pointer-events:auto}.toast-icon{display:grid;place-items:center;flex:0 0 auto;width:22px;height:22px;border-radius:50%}.toast.success .toast-icon{color:var(--abyss-1);background:var(--aurora);box-shadow:var(--glow-aurora)}.toast.error .toast-icon{color:#fff;background:var(--coral)}.toast.info .toast-icon{color:var(--abyss-1);background:var(--glacier)}.toast.success{border-color:#d4f06d66}.toast.error{border-color:#ff6f5c73}.toast-message{flex:1;min-width:0}.toast-close{display:grid;place-items:center;padding:4px;color:var(--text-dim);border:0;background:transparent;transition:color var(--dur-1)}.toast-close:hover{color:var(--text-strong)}.skeleton-group{display:grid;gap:12px;padding:8px 0}.skeleton-card{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.skeleton-block{position:relative;overflow:hidden;height:14px;border-radius:var(--r-xs);background:#98b8dc1a}.skeleton-row .skeleton-block{height:44px}.skeleton-card .skeleton-block{height:170px;border-radius:var(--r-md)}.skeleton-block:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(232,238,247,.09),transparent);transform:translate(-100%);animation:skeleton-sweep 1.5s var(--ease-out) infinite}@keyframes skeleton-sweep{to{transform:translate(100%)}}.empty-state{display:grid;justify-items:center;gap:8px;padding:46px 22px;border:1px dashed var(--line-strong);border-radius:var(--r-md);text-align:center}.empty-state-icon{display:grid;place-items:center;width:58px;height:58px;margin-bottom:6px;color:var(--aurora);border:1px solid var(--aurora-line);border-radius:50%;background:#d4f06d0f;box-shadow:var(--glow-aurora)}.empty-state h3{margin:0;font-size:16px}.empty-state p{max-width:380px;margin:0;color:var(--text-muted);font-size:12px;line-height:1.7}.empty-state-action{margin-top:10px}.confirm-dialog h2{margin:9px 0 8px}.confirm-dialog p{margin:0 0 4px;line-height:1.7}.primary-button.danger{background:linear-gradient(135deg,#ff8a73,var(--coral) 60%,#d94a33);box-shadow:0 6px 18px #ff6f5c33;color:#fff}.primary-button.danger:hover{box-shadow:0 10px 26px #ff6f5c52}.page-transition{width:100%;will-change:transform,opacity}.pulse-value{display:inline-block}.empty-404{color:var(--aurora);font:800 22px var(--font-mono);letter-spacing:-.04em}.membership-page{display:grid;gap:var(--sp-5)}.membership-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-5)}.membership-hero{background:var(--glass-raise);border-color:var(--aurora-line);display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-6)}.membership-identity{display:flex;align-items:center;gap:var(--sp-5);flex:1 1 270px}.membership-identity h2{margin:var(--sp-2) 0}.membership-stats{display:flex;flex-wrap:wrap;gap:var(--sp-6)}.membership-stats>div{display:grid;gap:var(--sp-2)}.membership-stats strong{font:600 2rem var(--font-mono);color:var(--aurora)}.membership-stats small,.member-list-row small{display:block;color:var(--text-muted)}.membership-emphasis{color:var(--aurora)}.vip-badge{display:inline-flex;flex-shrink:0;border:1px solid var(--aurora-line);border-radius:var(--r-pill);padding:2px 8px;background:var(--aurora-glass);color:var(--aurora);font:600 11px var(--font-mono);vertical-align:middle;white-space:nowrap}.vip-avatar{--avatar-size:60px;width:var(--avatar-size);height:var(--avatar-size);flex:none;position:relative;display:inline-grid;place-items:center}.vip-avatar>.social-avatar{position:absolute;width:50%;height:50%;top:20%;left:25%;object-fit:cover}.vip-frame-art{width:100%;height:100%;object-fit:contain;position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.membership-identity .vip-avatar,.decoration-preview .vip-avatar{--avatar-size:128px}.frame-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--sp-3);margin:var(--sp-5) 0}.frame-option{min-width:0;display:grid;gap:var(--sp-2);justify-items:center;padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--glass-sunk);color:var(--text);cursor:pointer;text-align:center}.frame-option small{color:var(--text-muted);font-size:11px}.frame-option.selected,.bubble-options .selected{border-color:var(--aurora);box-shadow:var(--glow-aurora)}.frame-thumbnail{display:grid;place-items:center;position:relative;width:120px;max-width:100%;aspect-ratio:1}.frame-thumbnail>span{font:600 14px var(--font-mono);color:var(--ice)}.decoration-preview{display:flex;gap:var(--sp-4);align-items:center;min-height:150px;padding:var(--sp-4);border-radius:var(--r-lg);background:var(--glass-sunk)}.vip-bubble{position:relative;border:1px solid var(--glacier-line);border-radius:var(--r-md);padding:var(--sp-3) 70px var(--sp-3) var(--sp-4);min-height:52px;color:var(--text-strong);background-color:var(--abyss-2);background-repeat:no-repeat;background-position:right bottom;background-size:70px auto;overflow-wrap:anywhere}.vip-bubble--ice{border-color:var(--ice);background-image:url(/assets/bubble-ice-DuX89pAm.webp)}.vip-bubble--sakura{border-color:var(--coral-soft);background-image:url(/assets/bubble-sakura-DHdSkYyJ.webp)}.vip-bubble--stars{border-color:var(--aurora);background-image:url(/assets/bubble-stars-Ce8gvivL.webp)}.bubble-options{display:flex;gap:var(--sp-3);flex-wrap:wrap;margin:var(--sp-5) 0}.bubble-options button{padding:var(--sp-4) var(--sp-5);cursor:pointer}.profession-progress{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}.profession-progress>div>div{display:flex;justify-content:space-between;gap:var(--sp-2)}.profession-progress progress{width:100%;height:5px;accent-color:var(--glacier)}.profession-progress small{color:var(--text-muted)}.member-list-row{display:flex;justify-content:space-between;gap:var(--sp-4);align-items:center;padding:var(--sp-3) 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.member-list-row p{margin:var(--sp-1) 0}.donation-qr{margin:var(--sp-4) 0;text-align:center}.donation-qr img{max-width:100%;height:auto;border-radius:var(--r-sm)}.room-card--vip{border:1px solid var(--aurora-line);box-shadow:var(--glow-glacier)}.room-card--vip:after{content:"";pointer-events:none;position:absolute;right:0;bottom:0;width:100px;height:100px;background:url(/assets/frame-10-C7bZPZMi.webp) center/contain no-repeat;opacity:.45}@media (max-width:850px){.membership-columns{grid-template-columns:1fr}.membership-hero{gap:var(--sp-4)}}@media (max-width:480px){.frame-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.profession-progress{grid-template-columns:1fr}.decoration-preview{flex-direction:column;align-items:flex-start}}.admin-recipient-list{max-height:260px;overflow:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--sp-2)}.admin-recipient-list>label{display:flex;gap:var(--sp-2);align-items:center;padding:var(--sp-2);border-bottom:1px solid var(--line)}.admin-recipient-list>label>span{flex:1;overflow-wrap:anywhere}.admin-activity-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--sp-4);align-items:end;margin-bottom:var(--sp-5)}.message-bubble.vip-bubble{padding-right:70px;background-color:var(--abyss-2);min-height:52px}@media (max-width: 980px){.topbar{align-items:flex-start;padding-top:16px;padding-bottom:16px}.topnav{gap:10px 14px}.portal-split{grid-template-columns:1fr}.signal-panel{min-height:170px}.feedback-layout{gap:30px}.feedback-intro .back-link{margin-bottom:50px}}@media (max-width: 800px){.page-container{padding-top:32px}.hero,.detail-hero,.join-panel,.content-header,.feedback-banner{align-items:flex-start;flex-direction:column}.hero-stats{width:100%}.download-grid,.news-grid{grid-template-columns:1fr}.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-layout{grid-template-columns:1fr;gap:20px}.sidebar{position:static;min-height:auto;padding:16px 14px}.sidebar h2{margin-bottom:12px}.side-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0}.side-nav-group{display:contents}.side-nav-group-label{display:none}.sidebar-user{margin-top:15px}.detail-grid,.feedback-layout{grid-template-columns:1fr}.feedback-intro .back-link{margin-bottom:45px}.feedback-steps{margin-top:40px}.feedback-recent,.feedback-public-list{grid-column:auto}.auth-layout{grid-template-columns:1fr;gap:15px;min-height:0}.auth-art{min-height:auto}.auth-art h1{font-size:42px}.auth-glow{margin-top:20px}.summary-grid,.resource-grid,.feedback-admin-actions{grid-template-columns:1fr}.feedback-admin-actions .primary-button{justify-self:start}.chat-shell{grid-template-columns:1fr}.chat-channels{border-right:0;border-bottom:1px solid var(--line)}.chat-channel{display:inline-grid;width:calc(50% - 7px);margin-right:7px}.chat-messages{min-height:310px}.monitoring-room,.release-card,.release-upload-footer{align-items:flex-start;flex-direction:column}.online-player-list,.release-card .table-actions{justify-content:flex-start}}@media (max-width: 560px){.topbar{display:block}.topnav{justify-content:flex-start;margin-top:15px}.user-menu{flex-wrap:wrap}.portal-hero{min-height:590px;padding:29px;border-radius:22px;background-position:61% center}.portal-hero h1{font-size:47px}.hero-orbit{right:-20px;bottom:35px;opacity:.45}.compact-grid,.rule-list{grid-template-columns:1fr}.join-panel{padding:22px}.join-panel h2{font-size:21px;overflow-wrap:anywhere}.form-grid{grid-template-columns:1fr}.template-actions,.template-save-row{flex-direction:column}.content-header h1{font-size:34px}.feedback-steps{gap:13px}.footer{display:block}.footer span+span{display:block;margin-top:6px}}.account-menu{position:relative;flex:none}.account-trigger{display:flex;gap:var(--sp-2);align-items:center;color:var(--text);background:transparent;border:0;cursor:pointer;padding:var(--sp-1)}.account-trigger .vip-avatar{--avatar-size:60px}.account-trigger .social-avatar{width:36px;height:36px}.account-trigger .vip-avatar>.social-avatar{width:50%;height:50%}.account-trigger>span{display:grid;gap:var(--sp-1);text-align:left}.account-trigger small{color:var(--text-muted);font-size:.75rem}.account-dropdown{position:absolute;z-index:50;right:0;top:calc(100% + var(--sp-2));min-width:200px;display:grid;padding:var(--sp-2);border:1px solid var(--line);border-radius:var(--r-md);background:var(--abyss-2);box-shadow:var(--shadow-float)}.topnav .account-dropdown a,.account-dropdown button{display:block;text-align:left;border:0;background:transparent;color:var(--text);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-sm);cursor:pointer;white-space:nowrap}.topnav .account-dropdown a:hover,.account-dropdown button:hover{background:var(--glass-raise);color:var(--aurora)}.collection-controls{display:grid;gap:var(--sp-4);margin:var(--sp-4) 0}.collection-controls:empty{display:none}.list-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--sp-3)}.list-filters>label{display:grid;gap:var(--sp-2);flex:1 1 150px;max-width:260px;min-width:130px;margin:0}.list-filters>label>span{font-size:.75rem;color:var(--text-muted);white-space:nowrap}.list-filters input,.list-filters select{margin:0;min-width:0;width:100%}.list-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-4);padding:var(--sp-3) 0;border-top:1px solid var(--line);color:var(--text-muted);font-size:.875rem;font-variant-numeric:tabular-nums}.list-pagination>span{margin-right:auto;white-space:nowrap}.list-pagination>label{display:flex;align-items:center;gap:var(--sp-2);margin:0;white-space:nowrap}.list-pagination select{width:auto;min-width:70px;margin:0}.pagination-actions{display:flex;gap:var(--sp-3);align-items:center;white-space:nowrap}.pagination-actions button{white-space:nowrap}.member-table-scroll{overflow-x:auto}.member-selection-table{width:100%;border-collapse:collapse;font-size:.875rem}.member-selection-table th,.member-selection-table td{padding:var(--sp-3);text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}.member-selection-table th{color:var(--text-muted);font-weight:500;white-space:nowrap}.member-selection-table td{min-width:90px}.member-selection-table td:first-child{min-width:44px}.member-selection-table .selected{background:var(--glass-raise)}.member-selection-table input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--aurora)}.inline-checkbox{display:flex!important;align-items:center!important;gap:var(--sp-2);flex-wrap:nowrap!important}.inline-checkbox input[type=checkbox]{width:18px;height:18px;flex:none;margin:0}.inline-checkbox span{line-height:1.5}img.vip-badge{width:52px;height:48px;object-fit:contain;display:inline-block;padding:0;border:0;border-radius:0;background:transparent;vertical-align:middle}.membership-identity img.vip-badge,.decoration-preview img.vip-badge{width:88px;height:80px}.bubble-options small{display:block;margin-top:var(--sp-2);color:var(--aurora)}@media (max-width:640px){.list-pagination{gap:var(--sp-3)}.pagination-actions{width:100%;justify-content:space-between}.account-trigger>.account-identity{display:none}.list-filters>label{max-width:none;flex-basis:140px}}body{line-height:1.6}h1{line-height:1.2;letter-spacing:-.025em}h2{line-height:1.35;letter-spacing:-.02em}input,select,textarea,table{font-variant-numeric:tabular-nums}
