:root{--bg:#080a0f;--bg2:#0c0f16;--panel:#11151d;--panel2:#161b25;--panel3:#1b2230;--line:rgba(148,166,196,.18);--line2:rgba(148,166,196,.28);--text:#f5f7fb;--muted:#aab4c5;--dim:#758197;--blue:#4b8dff;--blue2:#2874f0;--blue-soft:#9fc2ff;--gold:#8fb8ff;--green:#45c79b;--red:#ef7180;--sans:"Segoe UI","Microsoft YaHei UI","Microsoft YaHei",Arial,sans-serif;--serif:"Segoe UI","Microsoft YaHei UI","Microsoft YaHei",Arial,sans-serif;--mono:"Cascadia Mono",Consolas,monospace}
*{box-sizing:border-box}html,body{overflow-x:hidden;background:radial-gradient(circle at 78% 12%,rgba(49,102,190,.16),transparent 30%),radial-gradient(circle at 10% 84%,rgba(62,77,136,.1),transparent 32%),linear-gradient(145deg,#0b0e14,#07090d 62%,#0c1018);color:var(--text);font:14px/1.55 var(--sans);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}html{background:var(--bg)}
body{overflow-x:hidden;background:radial-gradient(circle at 78% 12%,rgba(78,91,156,.12),transparent 30%),radial-gradient(circle at 12% 78%,rgba(49,85,137,.09),transparent 34%),linear-gradient(145deg,#080b13,#05070d 62%,#090c15);color:var(--text);font:13px/1.55 var(--sans)}
button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:1px solid var(--ice);outline-offset:2px}.hidden{display:none!important}.wide{width:100%}
.world-backdrop{position:fixed;z-index:0;inset:0;overflow:hidden;pointer-events:none;background:linear-gradient(145deg,rgba(11,14,20,.22),rgba(7,9,13,.08))}.world-backdrop:before{position:absolute;inset:0;background-image:linear-gradient(rgba(132,153,187,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(132,153,187,.035) 1px,transparent 1px);background-size:48px 48px;content:""}.world-glow{position:absolute;border:1px solid rgba(97,139,209,.11);border-radius:50%}.glow-a{top:-270px;right:-40px;background:radial-gradient(circle,#6675c6,transparent 68%)}.glow-b{bottom:-300px;left:-140px;background:radial-gradient(circle,#426b9e,transparent 70%)}.world-rune{position:absolute;width:260px;height:1px;background:linear-gradient(90deg,transparent,rgba(111,148,207,.16),transparent);transform:rotate(-35deg)}.world-rune:before,.world-rune:after{display:none}.world-rune:before{inset:28px}.world-rune:after{inset:72px}.rune-a{top:6%;left:-210px}.rune-b{right:-210px;bottom:-80px;animation-direction:reverse}.world-noise{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 119px,rgba(255,255,255,.012) 120px);opacity:.55}
.shell{position:relative;z-index:1;width:min(1540px,100%);min-height:100vh;margin:auto;padding:0 20px 22px}
.topbar{position:relative;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 4px;border-bottom:1px solid rgba(126,147,180,.16)}.topbar:after{position:absolute;right:0;bottom:-1px;width:88px;height:2px;background:#4b8dff;content:""}
.brand-lockup,.topbar-right,.points-chip,.topbar-user{display:flex;align-items:center}.brand-lockup{gap:10px}.brand-crest,.profile-crest{display:grid;place-items:center;flex:none;border:1px solid #4e77b6;background:linear-gradient(145deg,#1d3e70,#12233f);color:#fff;box-shadow:inset 0 0 0 3px rgba(8,12,20,.45)}.brand-crest{width:34px;height:34px;border-radius:9px}.brand-crest b{font:700 16px var(--serif)}.brand-copy{display:grid;line-height:1}.brand-copy strong{font:700 14px var(--serif);letter-spacing:.2em}.brand-copy small{margin-top:3px;color:var(--dim);font-size:7px;letter-spacing:.22em}.brand-context{height:26px;display:flex;align-items:center;margin-left:17px;padding-left:17px;border-left:1px solid #293244;color:#d1d8e4;font-size:12px;font-weight:650}.topbar-right{gap:8px}.service-state{display:flex;align-items:center;gap:6px;color:#83a8b1;font-size:9px}.service-state i,.rail-status i,.featured-activity small i,.library-footer i{width:5px;height:5px;border-radius:50%;background:#82b4bf;box-shadow:0 0 9px rgba(130,180,191,.65)}.points-chip{height:34px;gap:8px;padding:0 12px;border:1px solid #293244;border-radius:8px;background:#10151e}.points-chip small{color:var(--dim);font-size:9px}.points-chip b{color:var(--gold);font:700 13px var(--serif);font-variant-numeric:tabular-nums}.topbar-user{min-width:76px;align-items:flex-end;flex-direction:column;line-height:1.1}.topbar-user small{color:var(--dim);font-size:8px}.topbar-user b{max-width:120px;overflow:hidden;text-overflow:ellipsis;font-size:11px;white-space:nowrap}
.frame-button,.search-frame button,.filter-bar button,.data-panel header button{min-height:34px;padding:0 13px;border:1px solid #344158;border-radius:8px;background:#151b25;color:#e4e9f2;font-size:10px;font-weight:650;transition:.18s}.frame-button:hover,.search-frame button:hover,.filter-bar button:hover,.data-panel header button:hover{border-color:#5d7fae;background:#1b2533;color:#fff;transform:translateY(-1px)}.icon-button{width:31px;padding:0;font-size:16px}
/* login: launcher identity dock + event preview */
.login-shell{width:min(1180px,100%);min-height:calc(100vh - 80px);display:grid;grid-template-columns:minmax(0,1fr) 380px;align-items:center;gap:54px;margin:auto;padding:42px 32px 62px}.login-console{grid-column:2;grid-row:1;position:relative;padding:29px;border:1px solid #303a4c;border-radius:14px;background:#121821;box-shadow:0 24px 70px rgba(0,0,0,.32)}.login-console:before{position:absolute;top:-1px;right:26px;left:26px;height:2px;background:linear-gradient(90deg,transparent,#4b8dff,transparent);content:"";pointer-events:none}.console-corners:before,.console-corners:after{display:none}.console-corners:before{top:-1px;left:-1px;border-top:2px solid;border-left:2px solid}.console-corners:after{right:-1px;bottom:-1px;border-right:2px solid;border-bottom:2px solid}.console-head{position:relative;display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.console-head h2{margin:6px 0 0;font-size:24px;line-height:1.15;letter-spacing:-.025em}.eyebrow,.overline{color:#83aff2;font:700 9px var(--mono);letter-spacing:.12em}.console-seal{width:36px;height:36px;display:grid;place-items:center;border:1px solid #3a4c68;border-radius:10px;background:#182131;color:#8db7fa;font:700 12px var(--mono)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:18px;padding:4px;border:1px solid #293446;border-radius:10px;background:#141a23}.auth-tab{height:36px;border:0;border-radius:7px;background:transparent;color:#8f9bae;font-size:11px;font-weight:650}.auth-tab.active{border:0;background:#202936;color:#f4f7fb;box-shadow:inset 0 0 0 1px #303d51}.form-stack{display:grid;gap:12px}.form-stack label,.bind-fields label,.small-dialog label{display:grid;gap:5px;color:#a9b4c4;font-size:10px;font-weight:600}.input-frame{height:43px;display:flex;align-items:center;overflow:hidden;border:1px solid #293446;border-radius:9px;background:#171d27;transition:border-color .18s,background .18s,box-shadow .18s}.input-frame:focus-within{border-color:#4c79b9;background:#19212d;box-shadow:0 0 0 2px rgba(75,141,255,.08)}.input-frame i{width:39px;align-self:stretch;display:grid;place-items:center;border-right:1px solid #253043;background:rgba(255,255,255,.012);color:#8796ab;font-style:normal;text-align:center;transition:color .18s,border-color .18s}.input-frame input{height:100%;min-width:0;flex:1;padding:0 12px;border:0;background:transparent;color:#f1f4f9;outline:0;font-size:12px;caret-color:#8db7fa}.input-frame input::placeholder,input::placeholder{color:#748196;opacity:1}
.input-frame:hover{border-color:#354359;background:#19202b}.input-frame:focus-within i{border-right-color:#344a68;color:#a9c8f7}
.login-console input:-webkit-autofill,.login-console input:-webkit-autofill:hover,.login-console input:-webkit-autofill:focus{-webkit-text-fill-color:#f1f4f9;-webkit-box-shadow:0 0 0 1000px #171d27 inset;caret-color:#8db7fa;transition:background-color 9999s ease-out 0s}
.login-console input:autofill{box-shadow:0 0 0 1000px #171d27 inset;color:#f1f4f9}
.arcane-button{min-height:44px;display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding:0 14px 0 18px;border:1px solid #6aa0f5;border-radius:9px;background:linear-gradient(110deg,#347ff1,#245db8);color:#fff;box-shadow:0 9px 24px rgba(35,100,204,.24);font-size:11px;font-weight:750;transition:.18s}.arcane-button:hover{border-color:#83b1ff;background:linear-gradient(110deg,#4b91fb,#2f6ac7);transform:translateY(-1px)}.arcane-button b{font:400 22px var(--serif)}.error{min-height:17px;margin:11px 0 0;color:#e59aa6;font-size:10px}.console-foot{display:flex;align-items:center;gap:9px;margin-top:14px;color:var(--dim);font-size:8px}.console-foot i{height:1px;flex:1;background:var(--line)}
.login-world{grid-column:1;grid-row:1;position:relative;min-height:510px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:48px 50px;border:1px solid #232c3b;border-radius:16px;background:linear-gradient(135deg,rgba(17,23,33,.96),rgba(10,13,19,.98));box-shadow:0 24px 70px rgba(0,0,0,.28)}.login-world:before{position:absolute;right:-90px;bottom:-110px;width:420px;height:420px;border:1px solid rgba(87,132,203,.14);border-radius:50%;content:""}.login-world-head{position:absolute;top:28px;right:34px;left:34px;display:flex;justify-content:space-between;color:#66758c;font-size:9px}.login-world-head b{display:flex;align-items:center;gap:6px;color:#8baab2;font-weight:500}.login-world-head i{width:5px;height:5px;border-radius:50%;background:#7eb0bb;box-shadow:0 0 9px #7eb0bb}.summon-core{position:absolute;right:-20px;bottom:-28px;width:330px;height:330px;opacity:.62}.core-ring{position:absolute;border:1px solid rgba(93,137,207,.19);border-radius:50%}.ring-one{inset:0;animation:worldSpin 30s linear infinite}.ring-one:before,.ring-one:after{inset:104px}.ring-one:after{inset:76px;border-style:solid}.ring-two{inset:34px;border-style:dashed;animation:worldSpin 32s linear infinite}.ring-three{inset:118px;border-color:#315a96;background:#13223b}.core-blade{position:absolute;top:50%;left:50%;width:230px;height:1px;background:linear-gradient(90deg,transparent,#89a7d5,transparent)}.blade-a{transform:translate(-50%,-50%) rotate(45deg)}.blade-b{transform:translate(-50%,-50%) rotate(-45deg)}.core-mark{position:absolute;inset:0;display:grid;place-items:center;color:#cfe0ff;font:800 64px var(--sans);letter-spacing:-.08em;text-shadow:0 0 25px rgba(75,141,255,.35)}.login-title{position:relative;z-index:2;max-width:510px}.login-title h1{margin:13px 0 18px;font:750 clamp(44px,5vw,68px)/1.03 var(--sans);letter-spacing:-.045em}.login-title h1 em{color:#c8d8f2;font-style:normal}.login-title p{max-width:510px;margin:0;color:#b5bfce;font-size:13px;line-height:1.75}.login-chapters{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:32px;border:0}.login-chapters span{display:grid;gap:5px;padding:13px;border-top:2px solid #2e3950;background:rgba(18,24,34,.7)}.login-chapters b{color:#79a9f7;font:700 11px var(--mono)}.login-chapters small{color:#aab4c3;font-size:9px}
/* player application */
.app{min-height:calc(100vh - 62px)}.portal-layout{min-height:calc(100vh - 66px);display:grid;grid-template-columns:188px minmax(0,1fr)}.portal-rail{position:sticky;top:0;height:calc(100vh - 66px);display:flex;flex-direction:column;padding:22px 12px 15px;border-right:1px solid #202836;background:rgba(10,13,19,.74)}.rail-profile{display:flex;align-items:center;gap:10px;padding:0 5px 18px;border-bottom:1px solid rgba(151,177,220,.1)}.profile-crest{width:39px;height:39px;flex:none;font:700 18px var(--serif)}.rail-profile div{min-width:0;display:grid;gap:3px}.rail-profile strong{overflow:hidden;text-overflow:ellipsis;font-size:12px;white-space:nowrap}.rail-profile small{color:var(--dim);font-size:8px}.rail-nav{display:grid;gap:2px;margin-top:16px}.rail-link{position:relative;min-height:53px;display:grid;grid-template-columns:25px 1fr auto;align-items:center;gap:7px;padding:6px 9px;border:1px solid transparent;border-radius:9px;background:transparent;color:#8d99ac;text-align:left;transition:.18s}.rail-link:hover,.rail-link.active{border-color:#30496f;background:linear-gradient(90deg,rgba(43,94,171,.32),rgba(24,31,43,.74));color:#fff}.rail-link.active:before{position:absolute;top:10px;bottom:10px;left:-13px;width:3px;border-radius:2px;background:#4b8dff;content:""}.rail-link>i{color:#8298bd;font-size:14px;font-style:normal;text-align:center}.rail-link span{display:grid;gap:2px}.rail-link b{font-size:11px}.rail-link small{color:#59677d;font-size:8px}.rail-link em{min-width:19px;padding:1px 4px;border:1px solid rgba(208,174,105,.22);color:var(--gold);font-size:8px;font-style:normal;text-align:center}.rail-status{display:grid;gap:5px;margin-top:auto;padding:13px 5px 0;border-top:1px solid rgba(151,177,220,.1)}.rail-status span{display:flex;align-items:center;gap:6px;color:#819ca4;font-size:8px}.rail-status small{color:#4c576a;font-size:7px}.portal-content{min-width:0;min-height:0;background:radial-gradient(circle at 67% 22%,rgba(76,90,154,.055),transparent 34%)}.player-page{min-height:calc(100vh - 66px);padding:clamp(28px,3.5vw,52px) clamp(30px,4vw,62px)}.page{animation:pageIn .25s ease both}.page-heading,.admin-heading{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px;padding-bottom:15px}.page-heading:after,.admin-heading:after{position:absolute;right:0;bottom:0;left:0;height:1px;background:linear-gradient(90deg,rgba(158,184,226,.23),rgba(158,184,226,.05) 55%,transparent);content:""}.page-heading h2,.admin-heading h2{margin:0 0 6px;font:750 clamp(30px,3.2vw,44px)/1 var(--sans);letter-spacing:-.04em}.page-heading p,.admin-heading p{max-width:620px;margin:0;color:var(--muted);font-size:11px}.page-count{display:flex;align-items:flex-end;gap:5px;color:var(--dim)}.page-count small{margin:0 7px 3px 0;font-size:8px}.page-count b{color:#d9e5f7;font:700 36px/.8 var(--mono)}.page-count span{font-size:12px}
.library-grid{min-height:480px;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.65fr);gap:15px}.featured-activity{position:relative;min-height:480px;overflow:hidden;padding:0;border:1px solid #344259;border-radius:14px;background:linear-gradient(135deg,#151b25,#0e131b 62%,#121a27);color:var(--text);text-align:left;isolation:isolate;box-shadow:0 18px 50px rgba(0,0,0,.24);transition:.2s}.featured-activity:before{position:absolute;top:0;right:0;width:42%;height:4px;background:linear-gradient(90deg,transparent,#4b8dff);content:""}.feature-art{position:absolute;top:50%;right:3%;width:350px;height:350px;transform:translateY(-50%);transition:.55s}.featured-activity:hover .feature-art{transform:translateY(-50%) translateX(-4px)}.feature-orbit{position:absolute;border:1px solid rgba(143,169,224,.23);border-radius:50%;animation:worldSpin 28s linear infinite}.feature-orbit:before{position:absolute;inset:14%;border:1px dashed rgba(104,151,222,.18);border-radius:50%;content:""}.orbit-outer{inset:0}.orbit-inner{inset:66px;animation-duration:18s;animation-direction:reverse}.feature-card{position:absolute;top:50%;left:50%;width:112px;height:160px;border:1px solid rgba(174,199,238,.55);border-radius:12px;background:linear-gradient(155deg,#1e2a3d,#101722);box-shadow:inset 0 0 0 4px #080d19,inset 0 0 0 6px rgba(141,170,220,.12),0 20px 38px rgba(0,0,0,.6)}.card-one{transform:translate(-96%,-45%) rotate(-18deg)}.card-two{transform:translate(-4%,-46%) rotate(17deg)}.card-main{display:grid;place-items:center;transform:translate(-50%,-56%)}.card-main b{color:#c9d9f5;font:600 42px var(--serif);text-shadow:0 0 20px #8c88d3}.feature-shade{position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,#0c1017,rgba(12,16,23,.94) 48%,rgba(12,16,23,.12) 82%)}.feature-copy{position:absolute;z-index:5;top:50%;left:clamp(30px,4vw,62px);width:min(53%,540px);transform:translateY(-50%)}.feature-copy>small{display:flex;align-items:center;gap:7px;color:#91a8ce;font-size:9px}.feature-copy>strong{display:block;margin:13px 0 11px;font:750 clamp(42px,4.5vw,64px)/.98 var(--sans);letter-spacing:-.05em}.feature-copy>p{max-width:450px;margin:0;color:#a0acc0;font-size:12px;line-height:1.75}.feature-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:17px}.feature-meta b{padding:5px 9px;border:1px solid #303c50;border-radius:6px;background:#141a24;color:#aeb9c9;font-size:8px;font-weight:600}.enter-activity{width:156px;height:41px;display:flex;align-items:center;justify-content:space-between;margin-top:22px;padding:0 13px 0 17px;border:1px solid #5897fb;border-radius:9px;background:#276bd3;color:#fff;font-size:11px;font-style:normal;font-weight:700}.enter-activity b{font:400 20px var(--serif)}.feature-number{position:absolute;z-index:5;right:17px;bottom:10px;color:rgba(191,210,239,.15);font:500 56px var(--serif)}
.activity-stack{display:grid;grid-template-rows:repeat(3,1fr);overflow:hidden;border:1px solid #202836;border-radius:12px;background:#0e1219}.activity-entry{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;min-width:0;padding:15px;border:0;border-bottom:1px solid #202836;background:#11161f;color:#8894a7;text-align:left;transition:.18s}.activity-entry:last-child{border-bottom:0}.activity-entry:hover{background:#171e29;color:#c8d1df}.entry-glyph{width:36px;height:36px;display:grid;place-items:center;border:1px solid #2f3b4e;border-radius:9px;background:#0b0f16;color:#6682ac}.activity-entry>span:nth-child(2){display:grid;gap:4px}.activity-entry small{color:#617088;font-size:8px}.activity-entry b{font:500 15px var(--serif)}.activity-entry em{color:#7c899e;font-size:9px;font-style:normal}.activity-entry>i{padding:3px 6px;border:1px solid rgba(145,169,210,.11);color:#586478;font-size:8px;font-style:normal}.library-footer{display:flex;justify-content:space-between;margin-top:11px;padding-top:8px;border-top:1px solid rgba(151,177,220,.075);color:#617087;font-size:9px}.library-footer span:first-child{display:flex;align-items:center;gap:6px}
/* player records/profile */
.compact-heading{align-items:center}.vault-summary{display:grid;grid-template-columns:repeat(3,1fr);margin-bottom:14px;border:1px solid #202836;border-radius:12px;background:#10151d}.vault-summary article{position:relative;min-height:92px;padding:16px 18px;border:0;border-right:1px solid rgba(151,177,220,.09);background:linear-gradient(180deg,rgba(17,25,42,.22),transparent)}.vault-summary article:last-child{border-right:0}.vault-summary small{color:var(--muted);font-size:9px}.vault-summary b{display:block;margin-top:7px;font:500 28px var(--serif);font-variant-numeric:tabular-nums}.vault-summary span{position:absolute;top:16px;right:16px;color:#57647a;font-size:8px}.data-panel{min-width:0;overflow:hidden;border:1px solid #202836;border-radius:12px;background:#10151d}.data-panel>header{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;border-bottom:1px solid #202836;background:#131922}.data-panel>header h3{margin:0;font:500 15px var(--serif)}.data-panel>header>span{color:var(--dim);font-size:9px}.data-panel header button{border:0;background:transparent;box-shadow:none;color:#8193af;font-size:9px}.reward-ledger{max-height:calc(100vh - 300px);min-height:260px;overflow-y:auto;padding:5px;overscroll-behavior:contain}.ledger-row{display:grid;grid-template-columns:34px minmax(0,1fr) 68px 135px;align-items:center;gap:10px;padding:9px;border-bottom:1px solid rgba(151,177,220,.07)}.ledger-row:hover{background:#151b25}.ledger-icon{width:31px;height:31px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px 2px 8px 2px;color:#879dc1}.ledger-copy{min-width:0;display:grid;gap:3px}.ledger-copy b{overflow:hidden;text-overflow:ellipsis;font-size:10px;white-space:nowrap}.ledger-copy small,.ledger-time{color:#637087;font-size:8px}.status-badge{min-width:58px;padding:3px 6px;border:1px solid var(--line);border-radius:8px 2px 8px 2px;color:#91a3bf;font-size:8px;text-align:center}.status-badge.pending{color:#ceb46f}.status-badge.sent{color:#82b9c3}.status-badge.failed{color:#dc8d99}.empty-state,.empty-cell{padding:30px!important;color:#68768d!important;font-size:10px!important;text-align:center!important}
.profile-grid{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(390px,1fr);border-block:1px solid rgba(151,177,220,.13)}.profile-card,.bind-console{min-height:350px;border:1px solid #202836;border-radius:12px;background:#10151d}.profile-card{display:grid;grid-template-columns:83px 1fr;align-content:start;gap:20px;border-right:1px solid rgba(151,177,220,.09)}.large-crest{width:72px;height:72px;display:grid;place-items:center;margin-bottom:28px;border:1px solid #4773b4;border-radius:17px;background:#172c4c;color:#d8e9ff;font:800 31px var(--sans)}.profile-card small{color:#6d7c95;font-size:8px}.profile-card h3{margin:8px 0 4px;font:500 24px var(--serif)}.profile-card p{margin:0;color:var(--muted);font-size:10px}.profile-card dl{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;margin:25px 0 0;border-top:1px solid var(--line)}.profile-card dl div{padding:15px 0}.profile-card dl div+div{padding-left:18px;border-left:1px solid var(--line)}.profile-card dt{color:var(--dim);font-size:9px}.profile-card dd{margin:6px 0 0;font:500 20px var(--serif)}.bind-console header{display:flex;align-items:center;justify-content:space-between}.bind-console h3{margin:0;font:500 20px var(--serif)}.bind-state{padding:4px 9px;border:1px solid #3f5e8b;border-radius:10px;background:#18243a;color:#9fc3fb;font-size:8px}.bind-console>p{max-width:530px;margin:20px 0;color:var(--muted);font-size:10px;line-height:1.7}.bind-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bind-fields input,.small-dialog input,.search-frame input,.filter-bar input,.filter-bar select{height:42px;border:1px solid #303b4e;border-radius:8px;background:#0b0f16;color:#fff;outline:0}.bind-console .arcane-button{width:190px;margin-top:18px}
/* admin operations */
.admin-page{min-height:calc(100vh - 66px)}.admin-shell{min-height:calc(100vh - 66px);display:grid;grid-template-columns:154px minmax(0,1fr)}.admin-rail{position:sticky;top:0;height:calc(100vh - 66px);display:flex;flex-direction:column;padding:22px 12px 15px;border-right:1px solid #202836;background:#0c1016}.admin-rail nav{display:grid}.admin-nav{position:relative;min-height:48px;display:grid;grid-template-columns:25px 1fr auto;align-items:center;gap:7px;padding:0 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:#8490a3;text-align:left}.admin-nav:hover,.admin-nav.active{border-color:#30476c;background:#182338;color:#fff}.admin-nav.active:before{position:absolute;top:10px;bottom:10px;left:-13px;width:3px;border-radius:2px;background:#4b8dff;content:""}.admin-nav i{color:#8499be;font-size:13px;font-style:normal;text-align:center}.admin-nav span{font-size:10px}.admin-nav em{padding:1px 4px;border:1px solid rgba(208,174,105,.22);color:var(--gold);font-size:7px;font-style:normal}.admin-rail footer{display:grid;gap:4px;margin-top:auto;padding:13px 4px 0;border-top:1px solid rgba(151,177,220,.1)}.admin-rail footer span{color:#819ca4;font-size:8px}.admin-rail footer i{display:inline-block;width:5px;height:5px;margin-right:5px;border-radius:50%;background:#82b4bf;box-shadow:0 0 8px #82b4bf}.admin-rail footer small{color:#536075;font-size:7px}.admin-workspace{min-width:0;min-height:0;padding:clamp(27px,3.2vw,47px) clamp(30px,3.8vw,58px);background:radial-gradient(circle at 72% 17%,rgba(76,90,154,.05),transparent 34%)}.admin-view{min-height:calc(100vh - 128px)}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border:1px solid #202836;border-radius:12px;background:#10151d}.metric-grid article{min-height:98px;padding:16px 17px;border:0;border-right:1px solid rgba(151,177,220,.09);background:linear-gradient(180deg,rgba(18,27,45,.23),transparent)}.metric-grid article:last-child{border-right:0}.metric-grid small{color:#8391a8;font-size:9px}.metric-grid b{display:block;margin:7px 0 4px;font:500 27px var(--serif);font-variant-numeric:tabular-nums}.metric-grid em{color:#59667b;font-size:8px;font-style:normal}.overview-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:14px;margin-top:14px}.overview-grid .data-panel{min-height:330px}.compact-list{padding:5px 9px}.compact-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;min-height:44px;padding:7px 6px;border-bottom:1px solid rgba(151,177,220,.07)}.compact-row>span{min-width:0;display:grid;gap:2px}.compact-row b{overflow:hidden;text-overflow:ellipsis;font-size:9px;white-space:nowrap}.compact-row small{color:#647188;font-size:8px}.compact-row>em{color:#8294b0;font-size:8px;font-style:normal}.search-frame,.filter-bar{display:flex;gap:5px}.search-frame input{width:220px}.filter-bar input{width:180px}.filter-bar select{width:110px}.search-frame button,.filter-bar button{height:39px}.table-panel{overflow:hidden}.table-scroll{max-height:calc(100vh - 195px);overflow:auto;overscroll-behavior:contain}table{width:100%;border-collapse:collapse;white-space:nowrap}th{position:sticky;z-index:2;top:0;height:42px;padding:0 13px;border-bottom:1px solid #344057;background:#151b24;color:#b4bece;font-size:8px;text-align:left}td{height:52px;padding:8px 13px;border-bottom:1px solid #202836;color:#c7d0de;font-size:9px}tbody tr:hover{background:rgba(116,145,196,.035)}td strong{display:block;color:#d8e1f0;font-size:10px}td small{color:#627087;font-size:8px}.table-action{min-height:27px;margin:2px;padding:0 8px;border:1px solid #39475d;border-radius:7px;background:#171e29;color:#d3dbe7;font-size:8px}.table-action+.table-action{margin-left:4px}.gacha-admin-grid{display:grid;grid-template-columns:minmax(340px,.82fr) minmax(420px,1.18fr);gap:14px}.pool-inspector{position:relative;min-height:400px;overflow:hidden;padding:29px;border:1px solid #202836;border-radius:12px;background:linear-gradient(145deg,#131a25,#0d1118)}.pool-inspector:before,.pool-inspector:after{display:none}.pool-inspector:before{position:absolute;right:-90px;bottom:-110px;width:300px;height:300px;border:1px solid rgba(75,141,255,.14);border-radius:50%;content:""}.pool-inspector:after{width:230px;height:230px;border-style:dashed;animation-direction:reverse}.pool-orb{width:62px;height:62px;display:grid;place-items:center;margin-bottom:24px;border:1px solid #4774b7;border-radius:16px;background:#172c4c;color:#b9d4ff;font-size:25px}.pool-inspector>div,.pool-inspector dl{position:relative;z-index:1}.pool-inspector small{display:block;margin-top:14px;color:#7585a0;font-size:8px}.pool-inspector h3{margin:6px 0;font:500 25px var(--serif)}.pool-inspector p{max-width:390px;margin:0;color:#8996aa;font-size:9px;line-height:1.6}.pool-inspector dl{width:100%;display:grid;grid-template-columns:repeat(4,1fr);margin:26px 0 0;border-top:1px solid var(--line)}.pool-inspector dl div{padding:12px 4px}.pool-inspector dl div+div{border-left:1px solid var(--line)}.pool-inspector dt{color:#657289;font-size:8px}.pool-inspector dd{margin:4px 0 0;font:500 14px var(--serif)}.system-grid{display:grid;grid-template-columns:repeat(2,1fr);border-block:1px solid rgba(151,177,220,.12)}.system-grid article{min-height:112px;display:grid;grid-template-columns:44px 1fr 10px;align-items:center;gap:12px;padding:16px;border:1px solid #202836;border-radius:11px;background:#10151d}.system-grid article:nth-child(2n){border-right:0}.system-grid article:nth-last-child(-n+2){border-bottom:0}.system-icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid #34445c;border-radius:10px;background:#172131;color:#8fb8f5;font-size:17px}.system-grid div{display:grid;gap:3px}.system-grid small{color:#617087;font-size:7px}.system-grid b{font:500 13px var(--serif)}.system-grid em{color:#78889f;font-size:9px;font-style:normal}.system-grid article>i{width:7px;height:7px;border-radius:50%;background:#79aeba;box-shadow:0 0 9px #79aeba}.system-note{display:flex;align-items:flex-start;gap:17px;margin-top:12px;padding:16px 18px;border:1px solid #2e394c;border-radius:10px;background:#111721}.system-note span{color:var(--gold);font-size:9px}.system-note p{margin:6px 0 0;color:#838da0;font-size:9px}
/* dialogs + scrollbars */
.dialog-overlay{position:fixed;z-index:400;inset:0;display:grid;place-items:center;padding:14px;background:rgba(3,5,10,.86)}.small-dialog{width:min(430px,100%);max-height:calc(100vh - 30px);overflow-y:auto;padding:22px;border:1px solid #3b4a61;border-radius:13px;background:#121821;box-shadow:0 22px 60px rgba(0,0,0,.45)}.small-dialog header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.small-dialog h3{margin:4px 0 0;font:500 20px var(--serif)}.small-dialog header button{width:29px;height:29px;border:1px solid var(--line);background:#0a0f1a;color:#91a1ba}.small-dialog>p{margin:0 0 14px;color:#aab8ce;font-size:10px}.small-dialog label+label{margin-top:10px}.toast{position:fixed;z-index:150;right:20px;bottom:20px;max-width:360px;padding:11px 15px;border:1px solid #46658e;border-radius:9px;background:#172335;color:#f4f7fb;box-shadow:0 16px 40px rgba(0,0,0,.4);font-size:10px}
*{scrollbar-width:thin;scrollbar-color:#6079a5 #080c14}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:#080c14}*::-webkit-scrollbar-thumb{border:2px solid #080c14;border-radius:6px 2px 6px 2px;background:linear-gradient(#7891ba,#4b6082)}*::-webkit-scrollbar-thumb:hover{background:linear-gradient(#9bb3da,#60799f)}
@keyframes worldSpin{to{transform:rotate(360deg)}}@keyframes pageIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
/* in-game browser: one explicit class-driven layout, no scale/zoom */
html.game-client-layout,html.game-client-layout body{height:100%;min-height:0;overflow:hidden}
html.game-client-layout body{font-size:11px}
html.game-client-layout .shell{width:100%;height:100%;min-height:0;padding:0 8px 7px;overflow:hidden}
html.game-client-layout .topbar{height:42px;padding:0 5px}
html.game-client-layout .brand-crest{width:27px;height:27px}html.game-client-layout .brand-crest b{font-size:13px}
html.game-client-layout .brand-copy strong{font-size:11px}html.game-client-layout .brand-copy small{font-size:6px}
html.game-client-layout .brand-context{position:absolute;top:0;left:50%;width:235px;height:41px;margin:0;padding:0;border:0;transform:translateX(-50%);font-size:14px;line-height:41px;text-align:center}
html.game-client-layout .topbar-right{gap:5px}html.game-client-layout .service-state{display:none}
html.game-client-layout .points-chip{height:27px;padding:0 8px}html.game-client-layout .points-chip small{font-size:8px}html.game-client-layout .points-chip b{font-size:12px}
html.game-client-layout .topbar-user{min-width:65px}html.game-client-layout .topbar-user small{font-size:7px}html.game-client-layout .topbar-user b{max-width:75px;font-size:9px}
html.game-client-layout .frame-button{min-height:27px;padding:0 8px;font-size:9px}html.game-client-layout .icon-button{width:28px;padding:0;font-size:14px}
html.game-client-layout .app{height:calc(100% - 42px);min-height:0;overflow:hidden}
/* readable login */
html.game-client-layout .login-shell{width:100%;height:calc(100% - 42px);min-height:0;grid-template-columns:minmax(0,1fr) 282px;gap:16px;padding:13px 18px 17px}
html.game-client-layout .login-console{grid-column:2;height:auto;padding:16px 17px 13px;border-radius:10px}
html.game-client-layout .console-head{margin-bottom:11px}html.game-client-layout .console-head h2{font-size:19px}html.game-client-layout .eyebrow,html.game-client-layout .overline{font-size:8px}
html.game-client-layout .console-seal{width:27px;height:27px;font-size:11px}html.game-client-layout .auth-tabs{margin-bottom:10px}html.game-client-layout .auth-tab{height:29px;font-size:10px}
html.game-client-layout .form-stack{gap:7px}html.game-client-layout .form-stack label{gap:3px;font-size:8px}html.game-client-layout .input-frame{height:34px;border-radius:7px}html.game-client-layout .input-frame i{width:30px}html.game-client-layout .input-frame input{padding:0 9px;font-size:9px}
html.game-client-layout .arcane-button{min-height:34px;margin-top:10px;padding:0 10px 0 13px;border-radius:7px;font-size:9px;box-shadow:0 6px 18px rgba(35,100,204,.18)}html.game-client-layout .arcane-button b{font-size:17px}
html.game-client-layout .error{min-height:12px;margin-top:7px;font-size:8px}html.game-client-layout .console-foot{margin-top:6px;font-size:7px}
html.game-client-layout .login-world{grid-column:1;min-height:0;height:100%;padding:28px 26px}html.game-client-layout .login-world-head{top:16px;right:22px;left:22px;font-size:8px}
html.game-client-layout .summon-core{top:auto;right:-30px;bottom:-65px;width:220px;height:220px}html.game-client-layout .ring-two{inset:31px}html.game-client-layout .ring-three{inset:67px}html.game-client-layout .core-mark{font-size:46px}
html.game-client-layout .login-title{max-width:390px}html.game-client-layout .login-title h1{margin:7px 0 8px;font-size:32px}html.game-client-layout .login-title p{max-width:390px;font-size:10px;line-height:1.55}
html.game-client-layout .login-chapters{margin-top:15px}html.game-client-layout .login-chapters span{padding:8px}html.game-client-layout .login-chapters b{font-size:9px}html.game-client-layout .login-chapters small{font-size:8px}
/* player shell: horizontal nav + scrollable content */
html.game-client-layout .portal-layout{height:100%;min-height:0;grid-template-columns:1fr;grid-template-rows:50px minmax(0,1fr)}
html.game-client-layout .portal-rail{position:static;width:auto;height:50px;display:grid;grid-template-columns:145px minmax(0,1fr) 105px;align-items:center;padding:4px 8px;border-right:0;border-bottom:1px solid rgba(151,177,220,.11);background:linear-gradient(180deg,rgba(15,22,36,.4),transparent)}
html.game-client-layout .rail-profile{height:39px;gap:7px;padding:0 9px 0 0;border:0;border-right:1px solid rgba(151,177,220,.1)}html.game-client-layout .profile-crest{width:32px;height:32px;font-size:14px}html.game-client-layout .rail-profile strong{font-size:10px}html.game-client-layout .rail-profile small{font-size:7px}
html.game-client-layout .rail-nav{height:39px;display:flex;align-items:stretch;justify-content:center;gap:2px;margin:0;padding:0 7px}
html.game-client-layout .rail-link{width:116px;min-height:0;height:39px;grid-template-columns:20px 1fr auto;gap:4px;padding:3px 6px;border:0}
html.game-client-layout .rail-link.active:before{top:auto;right:8px;bottom:-5px;left:8px;width:auto;height:2px;background:linear-gradient(90deg,transparent,#a8c5ec,transparent)}
html.game-client-layout .rail-link>i{font-size:12px}html.game-client-layout .rail-link b{font-size:10px}html.game-client-layout .rail-link small{font-size:7px}html.game-client-layout .rail-link em{font-size:7px}
html.game-client-layout .rail-status{display:grid;gap:3px;margin:0;padding:0 0 0 9px;border:0;border-left:1px solid rgba(151,177,220,.1)}html.game-client-layout .rail-status span{font-size:8px}html.game-client-layout .rail-status small{font-size:6px}
html.game-client-layout .portal-content{height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
html.game-client-layout .player-page{min-height:100%;height:auto;padding:11px 15px}
html.game-client-layout .page-heading{min-height:47px;margin-bottom:7px;padding-bottom:8px}html.game-client-layout .page-heading h2{font-size:23px}html.game-client-layout .page-heading p{font-size:9px}html.game-client-layout .page-count small{font-size:7px}html.game-client-layout .page-count b{font-size:26px}
html.game-client-layout .library-grid{height:calc(100vh - 126px);min-height:330px;grid-template-columns:minmax(0,1.45fr) minmax(240px,.72fr);gap:7px}
html.game-client-layout .featured-activity{min-height:330px;height:100%}html.game-client-layout .feature-art{right:-5px;width:220px;height:220px}html.game-client-layout .feature-card{width:70px;height:101px}html.game-client-layout .card-main b{font-size:27px}
html.game-client-layout .feature-copy{left:25px;width:59%}html.game-client-layout .feature-copy>small{font-size:8px}html.game-client-layout .feature-copy>strong{margin:8px 0 7px;font-size:34px}html.game-client-layout .feature-copy>p{font-size:10px;line-height:1.55}html.game-client-layout .feature-meta{margin-top:9px}html.game-client-layout .feature-meta b{padding:3px 5px;font-size:7px}html.game-client-layout .enter-activity{width:116px;height:30px;margin-top:11px;font-size:10px;box-shadow:0 4px 0 #050910}html.game-client-layout .feature-number{font-size:34px}
html.game-client-layout .activity-entry{grid-template-columns:33px 1fr auto;gap:8px;padding:8px 9px}html.game-client-layout .entry-glyph{width:31px;height:31px;font-size:13px}html.game-client-layout .activity-entry small{font-size:7px}html.game-client-layout .activity-entry b{font-size:12px}html.game-client-layout .activity-entry em{font-size:9px}html.game-client-layout .activity-entry>i{font-size:7px}
html.game-client-layout .library-footer{margin-top:5px;padding-top:5px;font-size:8px}
html.game-client-layout .compact-heading{min-height:47px}.game-client-layout .vault-summary{height:65px;margin-bottom:7px}.game-client-layout .vault-summary article{min-height:0;height:65px;padding:9px 12px}.game-client-layout .vault-summary small{font-size:8px}.game-client-layout .vault-summary b{margin-top:3px;font-size:18px}.game-client-layout .vault-summary span{top:9px;right:10px;font-size:7px}
html.game-client-layout .data-panel>header{height:38px;padding:0 10px}html.game-client-layout .data-panel>header h3{font-size:12px}html.game-client-layout .reward-ledger{height:calc(100vh - 205px);max-height:none;min-height:250px}.game-client-layout .ledger-row{grid-template-columns:28px minmax(0,1fr) 55px 102px;gap:7px;padding:6px}.game-client-layout .ledger-icon{width:26px;height:26px}.game-client-layout .ledger-copy b{font-size:9px}.game-client-layout .ledger-copy small,.game-client-layout .ledger-time{font-size:7px}.game-client-layout .status-badge{min-width:50px;font-size:7px}
html.game-client-layout .profile-grid{min-height:320px;grid-template-columns:.72fr 1fr}.game-client-layout .profile-card,.game-client-layout .bind-console{min-height:320px;padding:17px}.game-client-layout .profile-card{grid-template-columns:59px 1fr;gap:12px}.game-client-layout .large-crest{width:57px;height:66px;font-size:28px}.game-client-layout .profile-card h3{font-size:18px}.game-client-layout .profile-card dl{margin-top:16px}.game-client-layout .bind-console h3{font-size:16px}.game-client-layout .bind-console>p{margin:13px 0;font-size:9px}.game-client-layout .bind-fields input{height:33px;font-size:10px}.game-client-layout .bind-console .arcane-button{width:155px;margin-top:12px}
/* admin: horizontal nav + local scroll */
html.game-client-layout .admin-page{height:100%;min-height:0}.game-client-layout .admin-shell{height:100%;min-height:0;grid-template-columns:1fr;grid-template-rows:47px minmax(0,1fr)}
html.game-client-layout .admin-rail{position:static;width:auto;height:47px;display:grid;grid-template-columns:minmax(0,1fr) 94px;align-items:center;padding:4px 8px;border-right:0;border-bottom:1px solid rgba(151,177,220,.11);background:linear-gradient(180deg,rgba(15,22,36,.4),transparent)}
html.game-client-layout .admin-rail nav{height:38px;display:flex;align-items:stretch;gap:2px}.game-client-layout .admin-nav{width:98px;height:38px;grid-template-columns:18px 1fr auto;gap:4px;padding:0 6px;border-bottom:0}.game-client-layout .admin-nav.active:before{top:auto;right:7px;bottom:-5px;left:7px;width:auto;height:2px;background:linear-gradient(90deg,transparent,#a8c5ec,transparent)}.game-client-layout .admin-nav i{font-size:11px}.game-client-layout .admin-nav span{font-size:9px}.game-client-layout .admin-nav em{font-size:7px}
html.game-client-layout .admin-rail footer{height:38px;gap:2px;margin:0;padding:0 0 0 9px;border:0;border-left:1px solid rgba(151,177,220,.1)}html.game-client-layout .admin-rail footer span{font-size:7px}html.game-client-layout .admin-rail footer small{font-size:6px}
html.game-client-layout .admin-workspace{height:100%;overflow-y:auto;overflow-x:hidden;padding:10px 14px;overscroll-behavior:contain}.game-client-layout .admin-view{min-height:100%;height:auto}.game-client-layout .admin-heading{min-height:47px;margin-bottom:7px;padding-bottom:8px}.game-client-layout .admin-heading h2{font-size:22px}.game-client-layout .admin-heading p{font-size:9px}
html.game-client-layout .metric-grid{height:68px}.game-client-layout .metric-grid article{min-height:0;height:68px;padding:8px 11px}.game-client-layout .metric-grid small{font-size:8px}.game-client-layout .metric-grid b{margin:3px 0 1px;font-size:18px}.game-client-layout .metric-grid em{font-size:7px}
html.game-client-layout .overview-grid{min-height:270px;height:calc(100vh - 171px);gap:7px;margin-top:7px}.game-client-layout .overview-grid .data-panel{min-height:270px;height:100%}.game-client-layout .compact-list{height:calc(100% - 38px);overflow-y:auto}.game-client-layout .compact-row{min-height:36px;padding:5px 4px}.game-client-layout .compact-row b{font-size:9px}.game-client-layout .compact-row small,.game-client-layout .compact-row>em{font-size:8px}
html.game-client-layout .search-frame input{width:165px}.game-client-layout .search-frame input,.game-client-layout .filter-bar input,.game-client-layout .filter-bar select{height:31px;padding:0 7px;font-size:9px}.game-client-layout .search-frame button,.game-client-layout .filter-bar button{height:31px;min-height:31px;font-size:9px}.game-client-layout .filter-bar input{width:135px}.game-client-layout .filter-bar select{width:88px}
html.game-client-layout .table-scroll{height:calc(100vh - 113px);max-height:none}html.game-client-layout th{height:31px;padding:0 8px;font-size:8px}html.game-client-layout td{height:38px;padding:5px 8px;font-size:8px}html.game-client-layout td strong{font-size:9px}html.game-client-layout td small{font-size:7px}.game-client-layout .table-action{min-height:24px;padding:0 6px;font-size:7px}
html.game-client-layout .gacha-admin-grid{min-height:315px;height:calc(100vh - 112px);grid-template-columns:.82fr 1.18fr;gap:7px}.game-client-layout .pool-inspector{min-height:315px;height:100%;padding:15px}.game-client-layout .pool-inspector:before{width:200px;height:200px}.game-client-layout .pool-inspector:after{width:150px;height:150px}.game-client-layout .pool-orb{width:52px;height:52px;font-size:23px}.game-client-layout .pool-inspector h3{font-size:18px}.game-client-layout .pool-inspector p{font-size:8px}.game-client-layout .pool-inspector dl{margin-top:14px}.game-client-layout .pool-inspector dl div{padding:8px 3px}.game-client-layout .gacha-admin-grid .data-panel{height:100%;overflow:hidden}
html.game-client-layout .system-grid article{min-height:85px;padding:10px}.game-client-layout .system-note{padding:10px 12px}.game-client-layout .dialog-overlay{padding:7px}.game-client-layout .small-dialog{max-height:calc(100vh - 14px)}
@media(max-width:699px){.login-shell{grid-template-columns:1fr;padding:24px 18px}.login-world{display:none}.portal-layout,.admin-shell{grid-template-columns:1fr}.portal-rail,.admin-rail{position:static;height:auto}.player-page,.admin-workspace{padding:22px 16px}.library-grid,.profile-grid,.overview-grid,.gacha-admin-grid{grid-template-columns:1fr}.activity-stack{min-height:300px}.metric-grid,.vault-summary,.system-grid{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}}
