:root{--bg:#050812;--deep:#02040a;--panel:rgba(9,15,27,.9);--line:rgba(144,180,198,.18);--text:#e9f1f2;--muted:#81939d;--cyan:#6feaff;--blue:#6c9dff;--red:#ff5875;--purple:#b881ff;--green:#69eaa3;--gold:#f1c66f;--mono:Consolas,"Liberation Mono",monospace;--ui:Inter,"Segoe UI",Arial,sans-serif;--glow:1;--speed:1}*{box-sizing:border-box}html{color-scheme:dark;background:var(--deep)}body{margin:0;min-width:320px;min-height:100vh;color:var(--text);background:radial-gradient(circle at 50% 35%,#0e1929,var(--bg) 43%,var(--deep));font-family:var(--ui)}button,input,select,textarea{font:inherit;color:inherit}button{border:0;cursor:pointer}a{text-decoration:none;color:inherit}.hidden{display:none!important}.muted{color:var(--muted)}.noise{position:fixed;z-index:100;inset:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#050914}::-webkit-scrollbar-thumb{background:#243544;border-radius:10px}
.topbar{position:relative;z-index:50;height:68px;padding:0 24px;border-bottom:1px solid var(--line);background:rgba(3,6,13,.82);backdrop-filter:blur(18px);display:flex;align-items:center;justify-content:space-between}.brand{display:inline-flex;align-items:center;gap:10px}.brand-mark{width:39px;height:39px;border:1px solid rgba(111,234,255,.65);display:grid;place-items:center;color:var(--cyan);font:700 11px var(--mono);box-shadow:inset 0 0 16px rgba(111,234,255,.1);clip-path:polygon(11% 0,89% 0,100% 11%,100% 89%,89% 100%,11% 100%,0 89%,0 11%)}.brand-name{font:700 13px var(--mono);letter-spacing:.18em}.build{padding-left:9px;border-left:1px solid var(--line);color:#52616b;font:8px var(--mono)}.topbar-center,.top-actions{display:flex;align-items:center;gap:9px}.topbar-center{color:#77909d;font:8px var(--mono);letter-spacing:.12em}.topbar-divider{width:1px;height:15px;background:var(--line)}.live-dot{width:6px;height:6px;border-radius:50%;background:#74f5ae;box-shadow:0 0 10px #74f5ae;animation:pulse 2s infinite}.icon-button,.nav-pill,.admin-link{height:36px;border:1px solid var(--line);background:rgba(12,19,31,.7);display:inline-grid;place-items:center;padding:0 12px;color:#a7b6bc;font:8px var(--mono);letter-spacing:.08em}.admin-link{color:var(--gold)}.profile-chip{height:36px;padding:0 12px 0 4px;border:1px solid var(--line);display:flex;align-items:center;gap:8px;color:#b7c4c9;font:9px var(--mono)}.profile-avatar{width:27px;height:27px;border-radius:50%;display:grid;place-items:center;color:var(--cyan);background:#16283b;border:1px solid #3f7082}
.command-map{position:relative;min-height:calc(100vh - 68px);height:max(800px,calc(100vh - 68px));overflow:hidden;isolation:isolate}.map-grid{position:absolute;z-index:-5;inset:0;background-image:linear-gradient(rgba(108,153,176,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(108,153,176,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(circle,#000 20%,transparent 75%)}.map-coordinates{position:absolute;left:25px;right:25px;top:17px;display:flex;justify-content:space-between;color:rgba(115,146,159,.3);font:7px var(--mono);letter-spacing:.16em}.branch-network{position:absolute;z-index:-1;inset:0;width:100%;height:100%}.branch-line{color:var(--cyan);opacity:.8}.branch-line.daily{color:var(--blue)}.branch-line.mandatory{color:var(--red)}.branch-line.season{color:var(--purple)}.branch-line.skills{color:var(--green)}.branch-line.campaigns{color:var(--gold)}.branch-line .track{fill:none;stroke:rgba(91,113,127,.23);stroke-width:1.3;vector-effect:non-scaling-stroke}.branch-line .fill{fill:none;stroke:currentColor;stroke-width:1.5;stroke-dasharray:var(--progress) 100;vector-effect:non-scaling-stroke;filter:url(#lineGlow);transition:.25s}.branch-line .node{fill:#070c16;stroke:currentColor;stroke-width:1.5;vector-effect:non-scaling-stroke}.branch-line .energy{fill:#fff;stroke:currentColor;stroke-width:5;filter:url(#lineGlow)}.branch-line.due .fill{animation:due calc(1.5s / var(--speed)) infinite}.branch-line.completed{color:var(--gold)}.branch-line.failed{color:var(--red);animation:glitch 1.8s steps(2) infinite}.branch-line.focused .fill{stroke-width:3.5;opacity:1}
.branch-card{position:absolute;z-index:3;width:min(27vw,405px);min-width:330px;min-height:190px;padding:17px 18px 12px;border:1px solid var(--line);border-top-color:color-mix(in srgb,currentColor 55%,transparent);background:linear-gradient(135deg,color-mix(in srgb,currentColor 4%,rgba(9,15,27,.94)),rgba(6,11,20,.88));backdrop-filter:blur(16px);color:var(--cyan);clip-path:polygon(0 0,calc(100% - 11px) 0,100% 11px,100% 100%,0 100%);transition:.25s}.branch-card:hover,.branch-card.focused{transform:translateY(-2px);border-color:color-mix(in srgb,currentColor 45%,transparent);box-shadow:0 0 calc(24px * var(--glow)) color-mix(in srgb,currentColor 10%,transparent)}.branch-card>header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.branch-card h2,.settings-card h2{margin:3px 0 0;color:var(--text);font-size:15px;font-weight:620}.panel-code{color:currentColor;opacity:.65;font:7px var(--mono);letter-spacing:.16em;text-transform:uppercase}.branch-icon{width:31px;height:31px;display:grid;place-items:center;border:1px solid color-mix(in srgb,currentColor 35%,transparent);background:color-mix(in srgb,currentColor 7%,transparent);font:14px var(--mono)}.branch-card footer{min-height:23px;margin-top:10px;padding-top:9px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;color:var(--muted);font:7px var(--mono);letter-spacing:.09em}.text-button{padding:0;background:transparent;color:currentColor;font:8px var(--mono)}.branch-events{left:2.1%;top:4.5%;color:var(--cyan)}.branch-daily{right:2.1%;top:4.5%;color:var(--blue)}.branch-season{left:2.1%;top:36%;color:var(--purple)}.branch-mandatory{right:2.1%;top:36%;color:var(--red)}.branch-skills{left:2.1%;top:68%;color:var(--green)}.branch-campaigns{right:2.1%;top:68%;color:var(--gold)}
.quest-item{position:relative;padding:8px 0 8px 12px;border-left:1px solid color-mix(in srgb,currentColor 50%,transparent);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;color:inherit}.quest-item+.quest-item{border-top:1px solid rgba(134,158,171,.08)}.quest-item:before{content:"";position:absolute;left:-2px;top:13px;width:3px;height:3px;background:currentColor;box-shadow:0 0 8px currentColor}.quest-copy{min-width:0}.quest-item h3{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:550}.quest-meta{margin-top:3px;display:flex;flex-wrap:wrap;gap:7px;color:var(--muted);font:7px var(--mono);text-transform:uppercase}.quest-meta .xp{color:currentColor}.quest-status{display:inline-flex;align-items:center;gap:4px}.quest-status:before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor}.quest-status.completed{color:var(--gold)}.quest-status.failed{color:var(--red)}.quest-actions{display:flex;align-items:center;gap:4px}.complete-button,.fail-button,.mini-button{width:27px;height:27px;display:grid;place-items:center;border:1px solid color-mix(in srgb,currentColor 35%,transparent);background:color-mix(in srgb,currentColor 5%,transparent);color:currentColor;font:10px var(--mono)}.fail-button{color:#7d8890;border-color:var(--line)}.is-completed{opacity:.55}.is-completed h3{text-decoration:line-through}.is-failed{opacity:.55;color:var(--red)}.empty-state{padding:15px 0;text-align:center;color:var(--muted);font:8px/1.6 var(--mono)}
.season-name{margin:2px 0 4px;color:#f3edff;font-size:14px}.season-theme{color:var(--purple);font:7px var(--mono);text-transform:uppercase}.progress-row{margin-top:10px;display:flex;align-items:center;gap:10px}.thin-progress{flex:1;height:3px;background:rgba(154,169,184,.12);overflow:hidden}.thin-progress i{display:block;width:var(--value);height:100%;background:currentColor;box-shadow:0 0 10px currentColor}.progress-row b{font:8px var(--mono)}.season-stats{margin-top:9px;display:flex;gap:18px;color:var(--muted);font:6px var(--mono);text-transform:uppercase}.season-stats strong{display:block;margin-top:3px;color:#ccd4dc;font-size:8px}.skills-list{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.skill-item{color:var(--skill-color)}.skill-head{display:flex;justify-content:space-between}.skill-name{display:flex;align-items:center;gap:6px;color:#dce5e5;font-size:9px}.skill-name i{color:var(--skill-color);font-style:normal}.skill-head b{font:8px var(--mono)}.skill-item .thin-progress{margin-top:5px;height:2px}.skill-xp{margin-top:3px;color:#51626d;font:6px var(--mono);text-align:right}.campaign-item{padding:6px 0;color:var(--gold)}.campaign-item+.campaign-item{border-top:1px solid rgba(134,158,171,.08)}.campaign-head{display:flex;justify-content:space-between}.campaign-head h3{margin:0;overflow:hidden;color:#e8e5dc;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.campaign-head b{font:8px var(--mono)}.milestone-dots{margin-top:6px;display:flex;gap:3px}.milestone-dot{position:relative;flex:1;height:2px;background:#31323a}.milestone-dot.done{background:var(--gold);box-shadow:0 0 8px rgba(241,198,111,.5)}.milestone-dot.boss{height:5px;transform:skew(-18deg)}.milestone-dot button{position:absolute;inset:-7px 0;width:100%;opacity:0}.campaign-caption{margin-top:5px;display:flex;justify-content:space-between;color:#51626d;font:6px var(--mono)}
.character-core{position:absolute;z-index:5;left:50%;top:50%;width:clamp(270px,22vw,345px);aspect-ratio:1;transform:translate(-50%,-50%);color:var(--cyan)}.core-aura{position:absolute;inset:-25%;border-radius:50%;background:radial-gradient(circle,rgba(62,156,183,.14),transparent 68%);filter:blur(12px)}.core-spinner{position:absolute;inset:-12px;border-radius:50%;border:1px solid rgba(114,229,247,.17);border-left-color:rgba(114,229,247,.7);border-right-color:transparent;animation:spin calc(18s / var(--speed)) linear infinite}.ring-two{inset:-23px;animation-direction:reverse;animation-duration:calc(27s / var(--speed));clip-path:polygon(0 0,46% 0,46% 9%,100% 9%,100% 100%,52% 100%,52% 91%,0 91%)}.core-shell{position:absolute;inset:0;overflow:hidden;border-radius:50%;border:1px solid rgba(119,233,250,.54);background:#07101c;box-shadow:inset 0 0 50px rgba(0,0,0,.75),0 0 calc(35px * var(--glow)) rgba(91,210,232,.12)}.core-shell:after{content:"";position:absolute;z-index:9;inset:8px;border:1px solid rgba(130,227,242,.15);border-radius:50%}.core-bg-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.character-media{position:absolute;z-index:2;left:13%;top:7%;width:74%;height:80%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 8px 16px #000)}.core-shade{position:absolute;z-index:3;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(3,6,12,.45) 60%,rgba(3,6,12,.98) 91%)}.scanline{position:absolute;z-index:8;left:5%;right:5%;height:1px;top:15%;background:rgba(140,239,255,.3);animation:scan 5s infinite}.core-top{position:absolute;z-index:10;top:13%;left:13%;right:13%;display:flex;justify-content:space-between}.core-label{font:6px var(--mono);letter-spacing:.16em}.mode-badge{padding:3px 6px;border:1px solid rgba(111,234,255,.4);background:rgba(6,15,24,.7);font:6px var(--mono)}.core-data{position:absolute;z-index:10;left:15%;right:15%;bottom:13%;text-align:center}.character-state{color:rgba(152,225,235,.65);font:6px var(--mono);letter-spacing:.18em}.core-data h1{margin:2px 0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(15px,1.5vw,22px);font-weight:570}.level-row{display:flex;align-items:baseline;justify-content:space-between}.level-row strong{color:var(--cyan);font:9px var(--mono)}.level-row strong b{font-size:17px}.level-row span{color:#849ca6;font:6px var(--mono)}.xp-track{height:3px;margin-top:4px;background:rgba(151,180,190,.15)}.xp-track span{display:block;height:100%;background:linear-gradient(90deg,#4ba2bc,var(--cyan),#fff);box-shadow:0 0 9px var(--cyan)}.xp-caption{margin-top:3px;display:flex;justify-content:space-between;color:#72858e;font:5px var(--mono)}.core-streak{position:absolute;z-index:12;right:-1px;bottom:12%;width:54px;height:54px;padding:10px 6px;border-radius:50%;background:#080e19;border:1px solid rgba(241,198,111,.5);text-align:center;color:var(--gold)}.core-streak span{display:block;font:5px var(--mono)}.core-streak strong{font:10px var(--mono)}.core-streak b{font-size:15px}.css-character{position:absolute;z-index:2;inset:18% 29% 25%}.css-character i{display:block;width:65%;aspect-ratio:1;margin:auto;border-radius:45% 45% 40% 40%;background:#38516a;border:2px solid var(--cyan)}.css-character b{display:block;height:58%;margin-top:-4%;clip-path:polygon(25% 0,75% 0,100% 100%,0 100%);background:#15263d;border:1px solid var(--cyan)}
.quick-add{position:fixed;z-index:40;left:50%;bottom:18px;transform:translateX(-50%);height:42px;padding:0 17px 0 8px;display:flex;align-items:center;gap:10px;background:rgba(9,20,31,.95);color:var(--cyan);border:1px solid rgba(111,234,255,.45)}.quick-add span{width:27px;height:27px;display:grid;place-items:center;background:rgba(111,234,255,.1);font-size:18px}.quick-add b{font:8px var(--mono)}.app-dialog{width:min(530px,calc(100vw - 30px));max-height:calc(100vh - 30px);padding:0;overflow:auto;border:1px solid rgba(111,234,255,.3);background:rgba(7,12,22,.98);color:var(--text);box-shadow:0 30px 100px #000}.app-dialog::backdrop{background:rgba(0,3,8,.78);backdrop-filter:blur(8px)}.app-dialog form,.report-dialog{padding:28px}.app-dialog h2{margin:7px 0 22px}.dialog-close{position:absolute;right:13px;top:13px;width:32px;height:32px;background:transparent;color:var(--muted);font-size:22px}label{display:block;margin:13px 0;color:#aab9bf;font:8px var(--mono);letter-spacing:.08em;text-transform:uppercase}input,select,textarea{width:100%;margin-top:7px;padding:11px 12px;border:1px solid rgba(128,157,171,.22);outline:none;background:rgba(15,23,36,.8);font:12px var(--ui);text-transform:none}input:focus,select:focus,textarea:focus{border-color:rgba(111,234,255,.6)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.primary-button{min-height:42px;padding:0 18px;border:1px solid rgba(111,234,255,.48);background:linear-gradient(90deg,rgba(34,104,120,.3),rgba(24,62,79,.3));color:var(--cyan);font:8px var(--mono);letter-spacing:.12em;text-transform:uppercase}.app-dialog .primary-button{width:100%;margin-top:13px}.report-dialog{text-align:center;padding:28px}.report-burst{width:72px;height:72px;margin:0 auto 20px;border:1px solid rgba(241,198,111,.5);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:30px}.report-xp{display:block;color:var(--gold);font:17px var(--mono)}.report-xp b{font-size:42px}.toast-stack{position:fixed;z-index:120;right:18px;bottom:18px;width:min(350px,calc(100vw - 36px))}.toast,.notice{margin-top:8px;padding:13px 16px;border:1px solid rgba(111,234,255,.35);background:rgba(8,16,26,.97);font-size:11px}.toast.error,.notice.error{border-color:rgba(255,88,117,.5);color:#ffc2cc}.notice.success{border-color:rgba(105,234,163,.4);color:#a9ffd0}
.auth-page{background:#040711}.auth-shell{min-height:100vh;display:grid;grid-template-columns:minmax(340px,1.15fr) minmax(420px,.85fr)}.auth-visual{position:relative;min-height:600px;overflow:hidden;border-right:1px solid var(--line);display:grid;place-items:center;background:radial-gradient(circle,#17354d,#091421 30%,#040711 65%)}.auth-orbit{position:absolute;width:min(50vw,570px);aspect-ratio:1;border:1px solid rgba(111,234,255,.17);border-radius:50%;animation:spin 30s linear infinite}.orbit-b{width:min(39vw,440px);border-style:dashed;animation-direction:reverse}.auth-sigil{position:relative;width:220px;aspect-ratio:1;border:1px solid rgba(111,234,255,.45);border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle,rgba(43,111,130,.27),rgba(4,10,18,.9))}.auth-sigil span{color:var(--cyan);font:700 34px var(--mono)}.auth-sigil small{margin-top:9px;color:#829fa9;font:7px/1.6 var(--mono);letter-spacing:.25em}.auth-visual>p{position:absolute;bottom:45px;left:45px;color:#788d97;font:9px/1.7 var(--mono);text-transform:uppercase}.auth-panel{width:min(480px,100%);margin:auto;padding:55px}.auth-panel .brand{margin-bottom:70px}.auth-panel h1{margin:10px 0 8px;font-size:35px;font-weight:520}.auth-panel>.muted{margin:0 0 28px}.auth-panel .primary-button{width:100%;height:48px;margin-top:9px;display:flex;align-items:center;justify-content:space-between}.form-error{min-height:18px;color:#ff8297;font:9px var(--mono)}.auth-switch{margin-top:24px;color:var(--muted);font-size:12px}.auth-switch a{color:var(--cyan)}.demo-note{margin-top:35px;padding:10px 12px;border:1px dashed var(--line);color:#768892;font:8px var(--mono)}.demo-note span{margin-right:10px;color:var(--gold)}
.subpage{background:radial-gradient(circle at 70% 0,#101d2d,transparent 38%),#050812}.settings-shell{width:min(1100px,calc(100% - 38px));margin:auto;padding:55px 0 90px}.page-heading h1{margin:8px 0 6px;font-size:38px;font-weight:520}.page-heading p{color:var(--muted)}.settings-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;margin-top:35px;align-items:start}.settings-card,.cms-card{padding:26px;border:1px solid var(--line);background:rgba(8,14,25,.84)}.settings-card>header{display:flex;align-items:center;gap:13px;margin-bottom:22px;color:var(--cyan)}.toggle-row{position:relative;margin:0;padding:16px 52px 16px 0;border-bottom:1px solid var(--line);cursor:pointer}.toggle-row span b{display:block;color:#dce5e7;font:500 12px var(--ui);text-transform:none}.toggle-row span small{display:block;margin-top:4px;color:var(--muted);font:8px var(--mono);text-transform:none}.toggle-row input{position:absolute;opacity:0}.toggle-row i{position:absolute;right:0;top:21px;width:36px;height:19px;border:1px solid #40515d;border-radius:15px;background:#101722}.toggle-row i:after{content:"";position:absolute;top:3px;left:3px;width:11px;height:11px;border-radius:50%;background:#667580;transition:.2s}.toggle-row input:checked+i:after{left:20px;background:var(--cyan);box-shadow:0 0 9px var(--cyan)}
.admin-layout{min-height:calc(100vh - 68px);display:grid;grid-template-columns:230px 1fr}.admin-sidebar{padding:25px 14px;border-right:1px solid var(--line);background:rgba(5,9,17,.75)}.admin-sidebar nav{display:grid;gap:3px;margin-top:18px}.admin-sidebar a{height:38px;padding:0 10px;display:flex;align-items:center;color:#82949e;border:1px solid transparent;font:9px var(--mono)}.admin-sidebar a.active,.admin-sidebar a:hover{color:var(--gold);border-color:rgba(241,198,111,.2);background:rgba(89,65,19,.13)}.admin-content{padding:35px clamp(20px,4vw,60px) 80px;overflow:hidden}.admin-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:25px}.admin-heading h1{margin:7px 0 4px;font-size:32px;font-weight:520}.admin-heading p{margin:0;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metric{padding:18px;min-height:115px;border:1px solid var(--line);background:rgba(8,14,24,.75)}.metric span{color:var(--muted);font:7px var(--mono);text-transform:uppercase}.metric strong{display:block;margin-top:16px;font:400 28px var(--mono)}.cms-table-wrap{overflow:auto;border:1px solid var(--line)}.cms-table{width:100%;min-width:760px;border-collapse:collapse;background:rgba(7,12,21,.75)}.cms-table th,.cms-table td{padding:12px 13px;border-bottom:1px solid var(--line);text-align:left}.cms-table th{color:#687d88;font:7px var(--mono);text-transform:uppercase}.cms-table td{color:#bac7ca;font-size:10px}.cms-table td strong{display:block;color:#e6eeee}.cms-table td small{display:block;color:var(--muted);font:7px var(--mono)}.table-actions{display:flex;gap:5px;justify-content:flex-end}.table-actions form{display:flex;gap:4px;margin:0}.mini-action{min-height:28px;padding:0 8px;border:1px solid var(--line);background:#0c1421;color:#90a4ad;font:7px var(--mono)}.mini-action.danger{color:var(--red)}.status-pill{display:inline-flex;padding:4px 7px;border:1px solid rgba(105,234,163,.28);color:var(--green);font:7px var(--mono);text-transform:uppercase}.status-pill.off{color:var(--red);border-color:rgba(255,88,117,.28)}.cms-form{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.cms-form .wide{grid-column:1/-1}.cms-form .primary-button{grid-column:1/-1;margin-top:14px}.split-view{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:18px;align-items:start}.character-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}.character-card{padding:18px;border:1px solid var(--line);background:radial-gradient(circle at 50% 20%,#1a3345,#090f1b 65%)}.character-card img{width:64px;height:64px;object-fit:cover;border-radius:50%;border:1px solid var(--cyan);float:right}.character-card p{min-height:35px;color:var(--muted);font-size:9px}.upload-zone{padding:22px;border:1px dashed rgba(111,234,255,.35);background:rgba(111,234,255,.025)}
.analytics-row{padding:10px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px;color:#b8c4c7;font-size:10px}.analytics-row form{margin:0}.analytics-row small{color:var(--muted);font:7px var(--mono)}hr{height:1px;margin:22px 0;border:0;background:var(--line)}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.35}}@keyframes due{50%{opacity:.3}}@keyframes glitch{93%{transform:translateX(2px)}95%{transform:translateX(-2px)}}@keyframes scan{0%,100%{top:15%;opacity:0}30%,70%{opacity:.5}85%{top:80%;opacity:0}}
@media(max-width:1020px){.topbar-center{display:none}.command-map{height:auto;min-height:calc(100vh - 68px);padding:25px 16px 95px;display:grid;grid-template-columns:1fr 1fr;gap:13px;overflow:visible}.branch-network,.map-coordinates{display:none}.map-grid{position:fixed}.character-core{position:relative;left:auto;top:auto;grid-column:1/-1;width:min(360px,78vw);margin:22px auto 35px;transform:none;order:-1}.branch-card{position:relative;inset:auto!important;width:auto;min-width:0}.branch-card:hover{transform:none}.admin-layout{grid-template-columns:1fr}.admin-sidebar{border-right:0;border-bottom:1px solid var(--line);overflow:auto}.admin-sidebar nav{display:flex;min-width:max-content}.admin-sidebar a{white-space:nowrap}.metrics{grid-template-columns:1fr 1fr}.split-view{grid-template-columns:1fr}}
@media(max-width:700px){.topbar{height:59px;padding:0 12px}.brand-name,.build,.profile-chip span:last-child,.admin-link{display:none}.command-map{grid-template-columns:1fr;padding:12px 11px 90px}.character-core{grid-column:auto;width:min(320px,82vw)}.skills-list{grid-template-columns:1fr 1fr}.auth-shell{display:block}.auth-visual{min-height:270px;border-right:0;border-bottom:1px solid var(--line)}.auth-orbit{width:300px}.orbit-b{width:230px}.auth-sigil{width:135px}.auth-sigil span{font-size:22px}.auth-visual>p{left:20px;bottom:18px;font-size:7px}.auth-panel{padding:32px 22px 50px}.auth-panel .brand{margin-bottom:40px}.auth-panel h1{font-size:30px}.form-grid,.settings-grid,.cms-form{grid-template-columns:1fr}.cms-form .wide,.cms-form .primary-button{grid-column:auto}.settings-shell{width:calc(100% - 24px);padding-top:32px}.admin-content{padding:28px 12px 70px}.metrics{grid-template-columns:1fr 1fr}}
@media(max-width:430px){.character-core{width:290px}.skills-list,.metrics{grid-template-columns:1fr}.quest-actions .fail-button{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.energy{display:none}}.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation-duration:.001ms!important;animation-iteration-count:1!important}.reduce-motion .energy{display:none}
/* V2 responsive scale: readable from phones to 4K displays. */
body{font-size:clamp(15px,.48vw + 9px,20px)}
.auth-language{position:fixed;z-index:120;right:18px;top:18px}
.language-switch{margin:0}.language-switch button{min-width:42px;height:38px;padding:0 10px;border:1px solid rgba(111,234,255,.34);background:rgba(18,35,49,.8);color:var(--cyan);font:700 11px var(--mono);letter-spacing:.08em}
.topbar{height:clamp(72px,4.2vw,96px);padding-inline:clamp(18px,2vw,42px)}.brand-mark{width:clamp(42px,2.6vw,58px);height:clamp(42px,2.6vw,58px);font-size:clamp(11px,.65vw,15px)}.brand-name{font-size:clamp(14px,.8vw,19px)}.build,.topbar-center{font-size:clamp(10px,.55vw,13px)}.icon-button,.nav-pill,.admin-link,.profile-chip{height:clamp(40px,2.5vw,52px);font-size:clamp(10px,.58vw,13px)}.profile-avatar{width:clamp(31px,2vw,40px);height:clamp(31px,2vw,40px)}
.command-map{min-height:clamp(900px,calc(100vh - 72px),1500px);height:clamp(900px,calc(100vh - 72px),1500px)}
.branch-card{width:clamp(380px,28vw,640px);min-width:0;min-height:clamp(220px,15vw,320px);padding:clamp(18px,1.25vw,30px) clamp(18px,1.4vw,34px) clamp(14px,1vw,24px)}.branch-card h2,.settings-card h2{font-size:clamp(20px,1.2vw,30px)}.panel-code{font-size:clamp(10px,.62vw,14px);line-height:1.35}.branch-icon{width:clamp(36px,2.3vw,52px);height:clamp(36px,2.3vw,52px);font-size:clamp(16px,1vw,24px)}.branch-card footer{font-size:clamp(10px,.58vw,13px);min-height:30px}.text-button{font-size:clamp(10px,.62vw,14px)}
.quest-item{padding:clamp(9px,.65vw,15px) 0 clamp(9px,.65vw,15px) clamp(13px,.8vw,19px);gap:7px 12px}.quest-item h3{font-size:clamp(15px,.82vw,20px);line-height:1.3}.quest-meta{font-size:clamp(10px,.57vw,13px);gap:8px 12px}.complete-button,.fail-button,.mini-button{width:clamp(30px,1.8vw,40px);height:clamp(30px,1.8vw,40px);font-size:clamp(12px,.7vw,16px)}
.season-name{font-size:clamp(17px,.92vw,22px)}.season-theme,.season-stats,.skill-head b,.skill-name,.campaign-head h3,.campaign-head b,.campaign-caption{font-size:clamp(10px,.58vw,14px)}.skills-list{gap:clamp(10px,.8vw,18px) clamp(14px,1.1vw,26px)}.skill-xp{font-size:clamp(9px,.46vw,11px)}.thin-progress{height:4px}.skill-item .thin-progress{height:3px}.milestone-dot{height:4px}.milestone-dot.boss{height:8px}
.character-core{width:clamp(340px,24vw,560px)}.core-label,.mode-badge,.character-state{font-size:clamp(9px,.52vw,13px)}.core-data h1{font-size:clamp(22px,1.5vw,36px)}.level-row strong{font-size:clamp(12px,.7vw,17px)}.level-row strong b{font-size:clamp(24px,1.45vw,34px)}.level-row span{font-size:clamp(10px,.54vw,13px)}.xp-track{height:5px}.xp-caption{font-size:clamp(9px,.45vw,11px)}.core-streak{width:clamp(62px,4.3vw,90px);height:clamp(62px,4.3vw,90px);padding-top:clamp(11px,.8vw,20px)}.core-streak span{font-size:clamp(8px,.45vw,11px)}.core-streak strong,.core-streak b{font-size:clamp(15px,1vw,24px)}
.progression-hud{position:absolute;z-index:8;left:50%;top:calc(50% + clamp(190px,14vw,320px));transform:translateX(-50%);display:flex;gap:8px;padding:8px;border:1px solid var(--line);background:rgba(5,10,18,.9);backdrop-filter:blur(14px)}.progression-hud span,.wallet-strip span{min-width:110px;padding:8px 12px;text-align:center;color:var(--muted);font:clamp(9px,.46vw,11px) var(--mono)}.progression-hud b,.wallet-strip b{display:block;margin-bottom:4px;color:var(--gold);font-size:clamp(12px,.7vw,17px)}
.life-extensions{width:min(1880px,calc(100% - clamp(24px,4vw,80px)));margin:clamp(25px,3vw,60px) auto clamp(90px,7vw,140px)}.extensions-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.extensions-heading h2{margin:6px 0 0;font-size:clamp(25px,1.8vw,40px)}.extensions-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(360px,.55fr);gap:clamp(16px,1.5vw,30px)}.goal-board,.reward-vault{display:grid;gap:14px}.goal-chain,.reward-vault{padding:clamp(18px,1.4vw,30px);border:1px solid var(--line);background:linear-gradient(135deg,rgba(13,24,40,.95),rgba(7,12,22,.92))}.goal-chain>header{display:flex;justify-content:space-between;gap:18px}.goal-chain h3{margin:5px 0 12px;font-size:clamp(18px,1.1vw,25px)}.goal-chain header>strong{color:var(--cyan);font:clamp(17px,1vw,23px) var(--mono)}.goal-type{color:var(--purple);font:clamp(10px,.55vw,13px) var(--mono);text-transform:uppercase}.goal-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:15px}.goal-step{min-height:44px;padding:9px 10px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;border:1px solid rgba(130,160,180,.14);background:rgba(255,255,255,.018);font-size:clamp(12px,.68vw,15px)}.goal-step.completed{opacity:.55}.goal-step small{color:var(--gold);font:10px var(--mono)}.goal-step button{width:28px;height:28px;border:1px solid rgba(105,234,163,.4);background:rgba(105,234,163,.08);color:var(--green)}.goal-chain footer{display:flex;justify-content:space-between;margin-top:14px;color:var(--muted);font:11px var(--mono)}.text-button.danger{color:var(--red)}
.wallet-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.wallet-strip span{min-width:0;border:1px solid var(--line)}.reward-vault h3{margin:18px 0 8px;font-size:clamp(16px,.9vw,21px)}.achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.achievement-grid article{min-height:82px;padding:10px;border:1px solid rgba(241,198,111,.2);display:grid;place-content:center;text-align:center;background:rgba(241,198,111,.035)}.achievement-grid article b{color:var(--gold);font-size:24px}.achievement-grid article span{margin-top:5px;font-size:11px}.reward-list{display:grid;gap:7px}.reward-list article{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line)}.reward-list b,.reward-list small{display:block}.reward-list b{font-size:13px}.reward-list small{margin-top:4px;color:var(--muted);font:10px var(--mono)}
.goal-step-builder{margin:18px 0;padding:15px;border:1px solid var(--line);background:rgba(0,0,0,.15)}.step-field{display:grid;grid-template-columns:30px minmax(0,1fr) 85px;gap:8px;align-items:center}.step-field+.step-field{margin-top:7px}.step-field b{color:var(--cyan);font:12px var(--mono)}.step-field input{margin:0}.goal-dialog{width:min(720px,calc(100vw - 24px))}.media-library{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:18px}.media-thumb{position:relative;padding:8px;border:1px solid var(--line);background:#070d17}.media-thumb img,.media-thumb video{width:100%;height:150px;object-fit:cover;margin:8px 0}.media-thumb form{margin:0}.character-media-manager{margin-top:18px}.quick-add{height:clamp(46px,3vw,58px);font-size:13px}
.chain-helper{width:100%;margin:10px 0 14px;justify-content:center;color:var(--gold);border-color:rgba(241,198,111,.35);background:rgba(241,198,111,.06)}

@media(max-width:1280px){.command-map{height:auto;min-height:0;padding:28px 18px 100px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;overflow:visible}.branch-network,.map-coordinates{display:none}.map-grid{position:fixed}.character-core{position:relative;left:auto;top:auto;grid-column:1/-1;width:min(430px,72vw);margin:30px auto 65px;transform:none;order:-2}.progression-hud{position:relative;left:auto;top:auto;transform:none;grid-column:1/-1;justify-self:center;order:-1;margin-top:-45px;margin-bottom:15px}.branch-card{position:relative;inset:auto!important;width:auto;min-height:280px}.branch-card:hover{transform:none}.extensions-grid{grid-template-columns:1fr}.goal-board{grid-template-columns:repeat(2,minmax(0,1fr))}.goal-steps{grid-template-columns:1fr}.reward-vault{max-width:none}}
@media(max-width:760px){.topbar{height:64px;padding-inline:10px}.topbar .brand-name,.topbar .build,.topbar-center,.profile-chip span:last-child,.topbar .admin-link{display:none}.top-actions{gap:5px}.language-switch button,.icon-button,.profile-chip{height:40px}.command-map{grid-template-columns:1fr;padding:16px 10px 90px}.character-core{grid-column:auto;width:min(340px,88vw);margin:26px auto 58px}.progression-hud{grid-column:auto;width:100%;display:grid;grid-template-columns:repeat(3,1fr);margin-top:-48px}.progression-hud span{min-width:0;padding:7px 4px}.branch-card{min-height:0;padding:19px 16px}.branch-card h2{font-size:21px}.quest-item h3{white-space:normal;font-size:16px}.quest-meta{font-size:11px}.skills-list{grid-template-columns:1fr}.life-extensions{width:calc(100% - 20px);margin-top:24px}.extensions-heading{display:block}.extensions-heading .primary-button{width:100%;margin-top:14px}.goal-board{grid-template-columns:1fr}.goal-steps{grid-template-columns:1fr}.wallet-strip{grid-template-columns:1fr 1fr 1fr}.achievement-grid{grid-template-columns:repeat(2,1fr)}.step-field{grid-template-columns:24px minmax(0,1fr) 70px}.app-dialog form,.report-dialog{padding:22px 16px}.form-grid{grid-template-columns:1fr}.quick-add{bottom:10px}.extensions-heading h2{font-size:27px}}
@media(min-width:2000px){.branch-events,.branch-season,.branch-skills{left:3%}.branch-daily,.branch-mandatory,.branch-campaigns{right:3%}.command-map{max-width:2560px;margin-inline:auto}.map-grid{position:absolute}.life-extensions{max-width:2200px}}

/* V3 aesthetic pass: readable scale, soft light instead of terminal micro-grid. */
:root{--soft-panel:rgba(10,18,31,.72);--glass:rgba(255,255,255,.045);--halo:rgba(111,234,255,.18)}
body.dashboard-page{background:
radial-gradient(circle at 50% 42%,rgba(79,201,232,.18),transparent 30%),
radial-gradient(circle at 18% 18%,rgba(184,129,255,.13),transparent 26%),
radial-gradient(circle at 82% 72%,rgba(241,198,111,.10),transparent 25%),
linear-gradient(135deg,#040713,#07111f 52%,#040713)}
body.dashboard-page:before,body.dashboard-page:after{content:"";position:fixed;z-index:-10;inset:-20%;pointer-events:none;filter:blur(42px);opacity:.72}
body.dashboard-page:before{background:conic-gradient(from 140deg at 50% 50%,transparent,rgba(111,234,255,.16),transparent,rgba(184,129,255,.13),transparent);animation:auroraDrift calc(34s / var(--speed)) ease-in-out infinite alternate}
body.dashboard-page:after{background:radial-gradient(ellipse at 50% 50%,transparent 0 46%,rgba(105,234,163,.08),transparent 68%);animation:auroraFloat calc(24s / var(--speed)) ease-in-out infinite alternate}
.map-grid{background-image:
radial-gradient(circle at 50% 50%,rgba(111,234,255,.08),transparent 34%),
linear-gradient(rgba(130,190,215,.024) 1px,transparent 1px),
linear-gradient(90deg,rgba(130,190,215,.024) 1px,transparent 1px);background-size:100% 100%,72px 72px,72px 72px;mask-image:radial-gradient(ellipse at 50% 50%,#000 0 40%,transparent 78%)}
.noise{opacity:.022}
.topbar{background:linear-gradient(180deg,rgba(5,10,18,.82),rgba(5,10,18,.58));box-shadow:0 14px 50px rgba(0,0,0,.22)}
.language-switch{display:inline-flex}
.language-toggle{height:clamp(38px,2.4vw,50px);min-width:clamp(82px,5.2vw,112px);padding:4px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(111,234,255,.045));box-shadow:inset 0 0 0 1px rgba(111,234,255,.05),0 10px 30px rgba(0,0,0,.22);display:grid;grid-template-columns:1fr 1fr;gap:3px;color:#8fa2ad}
.language-toggle span{display:grid;place-items:center;border-radius:999px;font:800 clamp(10px,.55vw,13px) var(--mono);letter-spacing:.08em}
.language-toggle span.active{color:#06101a;background:linear-gradient(135deg,#e8fbff,#6feaff);box-shadow:0 0 22px rgba(111,234,255,.35)}
.branch-card,.goal-chain,.reward-vault,.progression-hud{border-color:rgba(255,255,255,.12);background:linear-gradient(145deg,rgba(18,31,50,.76),rgba(6,12,23,.68));box-shadow:0 22px 80px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.06);backdrop-filter:blur(22px) saturate(125%);clip-path:none;border-radius:22px}
.branch-card{width:clamp(430px,30vw,720px);min-height:clamp(250px,16vw,360px);padding:clamp(24px,1.45vw,38px);color:var(--cyan)}
.branch-card>header{margin-bottom:clamp(12px,1vw,22px)}
.branch-card h2{font-size:clamp(24px,1.35vw,36px);letter-spacing:-.02em}
.panel-code{font-size:clamp(10px,.55vw,13px);opacity:.72}
.quest-item{padding:clamp(12px,.78vw,18px) 0 clamp(12px,.78vw,18px) clamp(18px,1vw,24px)}
.quest-item h3{font-size:clamp(17px,.9vw,22px);white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.quest-meta{font-size:clamp(10px,.52vw,13px);row-gap:6px}
.branch-card footer{font-size:clamp(10px,.52vw,13px)}
.character-core{width:clamp(430px,25vw,680px)}
.core-shell{box-shadow:inset 0 -70px 110px rgba(0,0,0,.82),0 0 calc(80px * var(--glow)) rgba(111,234,255,.13),0 0 calc(160px * var(--glow)) rgba(184,129,255,.08)}
.core-aura{inset:-34%;background:radial-gradient(circle,rgba(111,234,255,.18),rgba(184,129,255,.08) 38%,transparent 70%)}
.core-data h1{font-size:clamp(32px,1.75vw,48px)}
.level-row strong b{font-size:clamp(32px,1.55vw,44px)}
.progression-hud{gap:10px;padding:10px 12px;border-radius:18px}
.progression-hud span{min-width:clamp(130px,7.2vw,180px);font-size:clamp(11px,.55vw,14px);line-height:1.35}
.progression-hud b{font-size:clamp(16px,.8vw,22px)}
.quick-add{border-radius:999px;padding:0 22px 0 10px;box-shadow:0 18px 55px rgba(0,0,0,.45),0 0 32px rgba(111,234,255,.15)}
@media(min-width:1600px){.command-map{height:max(980px,calc(100vh - 72px));min-height:max(980px,calc(100vh - 72px))}.branch-events,.branch-season,.branch-skills{left:clamp(26px,2.4vw,80px)}.branch-daily,.branch-mandatory,.branch-campaigns{right:clamp(26px,2.4vw,80px)}.branch-events,.branch-daily{top:7%}.branch-season,.branch-mandatory{top:39%}.branch-skills,.branch-campaigns{top:70%}}
@media(min-width:2200px){body{font-size:22px}.command-map{max-width:2800px}.branch-card{width:clamp(620px,27vw,820px)}.character-core{width:clamp(610px,23vw,760px)}.topbar{height:104px}.life-extensions{max-width:2400px}.quest-item h3{font-size:24px}}
@media(max-width:1280px){body.dashboard-page{background:linear-gradient(160deg,#040713,#07111f)}.command-map{padding:28px clamp(14px,3vw,32px) 104px}.branch-card{border-radius:20px;min-height:0}.character-core{width:min(500px,78vw)}}
@media(max-width:760px){body{font-size:16px}.topbar{height:auto;min-height:66px;align-items:center}.brand-mark{width:42px;height:42px}.top-actions{flex-wrap:wrap;justify-content:flex-end}.language-toggle{min-width:78px;height:38px}.command-map{padding:18px 12px 96px;gap:14px}.character-core{width:min(370px,90vw);margin:18px auto 50px}.branch-card{padding:20px 17px;border-radius:18px}.branch-card h2{font-size:23px}.quest-item h3{font-size:17px}.progression-hud{width:100%;grid-template-columns:1fr;gap:7px}.progression-hud span{min-width:0}.wallet-strip{grid-template-columns:1fr}.achievement-grid{grid-template-columns:1fr 1fr}.quick-add{left:12px;right:12px;bottom:12px;transform:none;justify-content:center}}
@media(max-width:430px){.character-core{width:min(330px,92vw)}.branch-card h2{font-size:21px}.quest-actions{gap:6px}.complete-button,.fail-button,.mini-button{width:36px;height:36px}.achievement-grid{grid-template-columns:1fr}.profile-chip{padding-right:4px}}
@keyframes auroraDrift{0%{transform:translate3d(-2%,-1%,0) rotate(0deg) scale(1)}100%{transform:translate3d(2%,1%,0) rotate(12deg) scale(1.08)}}
@keyframes auroraFloat{0%{transform:translateY(-2%) scale(.98)}100%{transform:translateY(2%) scale(1.04)}}
