:root{color-scheme:dark;--bg:#090f18;--panel:#121c2a;--panel2:#19263a;--light:#e9e5dc;--muted:#9ca9b8;--gold:#e7c583;--teal:#66c6b2;--edge:#314157;--danger:#d57b87;font:15px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;color:var(--light);background:#09101c}.sky{position:fixed;inset:0;z-index:-2;background:radial-gradient(ellipse at 20% 5%,#162947 0,transparent 38%),radial-gradient(ellipse at 84% 25%,#173c43 0,transparent 35%),linear-gradient(125deg,#080e16 40%,#0e1727)}.shell{max-width:1600px;margin:auto;padding:0 22px}button,input,textarea,select{font:inherit}button{cursor:pointer;background:#1b2b3f;border:1px solid #3a4a63;color:var(--light);border-radius:9px;padding:11px 14px;min-height:44px;transition:background .12s,transform .12s}button:not(:disabled):hover{background:#314764;transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.48}.primary{background:linear-gradient(125deg,#ba8c4f,#d6b477);color:#142031;border-color:#e9c789;font-weight:750}.primary:hover{background:#ead09a!important}.line{background:transparent;border-color:var(--edge)}.danger{border-color:#854550;color:#ffadba}.small{padding:5px 9px;min-height:32px;font-size:12px}.top{height:80px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #26384c}.brand{display:flex;align-items:center;gap:10px;color:var(--light);text-decoration:none}.brandmark{font-size:42px;color:var(--gold);line-height:1}.brand strong{display:block;font-family:Georgia,serif;letter-spacing:.17em;font-size:22px}.brand small{font-size:10px;letter-spacing:.25em;color:var(--gold)}.topend{display:flex;gap:9px;align-items:center}.version,.kicker{font-size:11px;letter-spacing:.15em;font-weight:800;color:var(--gold)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;line-height:1.2}h1{font-size:clamp(38px,5vw,68px);margin:14px 0}h2{font-size:30px;margin:8px 0 14px}h3{font-size:20px;margin:5px 0 10px}p{margin:8px 0 13px}.muted{color:var(--muted)}.subtle{font-size:12px;color:#8e9eac}.subtle a{color:var(--gold)}.auth{min-height:min(78vh,740px);display:grid;grid-template-columns:1.12fr .88fr;margin:36px 0;overflow:hidden;border:1px solid var(--edge);border-radius:18px;background:var(--panel)}.auth-art{background:linear-gradient(90deg,transparent,rgba(7,14,25,.45)),url('assets/scene_awakening_forest.webp') center/cover;min-height:470px;display:flex;align-items:flex-end}.hero-shade{width:100%;padding:45px;background:linear-gradient(0deg,rgba(6,12,21,.93),transparent)}.hero-shade h1 em{color:var(--gold);font-weight:400}.hero-shade p{max-width:550px;color:#ced2d1}.auth-form{padding:clamp(20px,4vw,64px);display:flex;flex-direction:column;justify-content:center}.auth-form label{display:block;color:#d5dadd;font-size:13px;margin:20px 0 0}.auth-form input,textarea{display:block;width:100%;background:#0b1422;border:1px solid #3a4a63;color:var(--light);border-radius:9px;padding:14px;margin-top:7px;outline:none}.auth-form input:focus,textarea:focus{border-color:var(--gold)}.auth-form .buttons{margin:23px 0}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.dashboard{display:grid;grid-template-columns:238px minmax(0,1fr) 240px;gap:18px;align-items:start;margin:22px 0 36px}.sidebar,.chronicle{position:sticky;top:16px}.panel,.aside-note,.chronicle{background:rgba(18,28,42,.92);border:1px solid #283a4e;border-radius:13px}.panel{padding:23px;margin-bottom:16px}.profile{background:linear-gradient(155deg,#26344b,#122034);padding:16px;border:1px solid #42516a;border-radius:13px;margin-bottom:14px}.profile img{width:62px;height:62px;object-fit:cover;border-radius:10px;border:1px solid #697a88;float:left;margin-right:12px}.profile h3{font-size:17px;margin:4px 0}.profile .small-detail{font-size:12px;color:var(--gold)}.bar{height:8px;background:#334050;border-radius:20px;overflow:hidden;margin:4px 0 7px}.bar span{display:block;height:100%;background:linear-gradient(90deg,#b35a63,#e49397)}.bar.mp span{background:linear-gradient(90deg,#4885b8,#90c0ef)}.bar.xp span{background:linear-gradient(90deg,#95734f,#e9c583)}.profile .labelrow,.labelrow{display:flex;justify-content:space-between;font-size:12px;color:#bcc5d0;gap:8px}.profile .counters{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0 0}.profile .counters b{color:var(--gold)}#nav{display:grid;gap:5px}#nav button{width:100%;background:rgba(16,27,41,.65);border:1px solid transparent;text-align:left;display:flex;gap:10px}#nav button.selected{background:#263950;border-color:#53637b;color:var(--gold)}.aside-note{margin-top:15px;padding:15px;font-size:12px;color:#9eafbc}.chronicle{padding:17px}.chronicle .kicker{margin-bottom:12px}.logitem{border-bottom:1px solid #233349;padding:10px 0;font-size:12px;color:#aebbc8}.logitem.reward{color:#91d5bd}.logitem.story,.logitem.anomaly{color:#e4c697}.logitem.anomaly{background:#31252a;padding:10px}.section-title{margin-bottom:18px;border-bottom:1px solid #33445a;padding-bottom:16px}.section-title h2{margin:3px 0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.tile{padding:18px;border:1px solid #37475d;border-radius:12px;background:linear-gradient(145deg,#1a293d,#121e2d);display:flex;flex-direction:column;gap:6px;min-width:0}.tile:hover{border-color:#677e89}.tile p{font-size:13px;color:#abb9c6;flex:1}.tile .iconish{font-size:30px}.tile strong{font-size:17px}.tile .badge{font-size:10px;color:var(--gold);letter-spacing:.09em}.tile button{align-self:flex-start}.storybanner{position:relative;min-height:210px;display:flex;align-items:flex-end;border-radius:13px;overflow:hidden;background:linear-gradient(0deg,#101a2b,transparent),url('assets/portal_runic_gate.webp') center/cover;margin-bottom:15px}.storybanner .storytext{padding:24px;width:100%;background:linear-gradient(0deg,rgba(8,13,22,.9),transparent)}.storybanner h2{font-size:34px}.callout{padding:16px;border-left:3px solid var(--gold);background:#1e2d3e;border-radius:6px;margin:12px 0}.callout.system{border-color:#7c95b2}.callout.danger{border-color:#b65a65}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:15px}.tabs button{padding:7px 12px}.statgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.stat{padding:14px;text-align:center;background:#172638;border:1px solid #30455b;border-radius:10px}.stat b{font-size:26px;display:block;color:var(--gold)}.progress{height:8px;background:#263a4c;border-radius:20px;overflow:hidden}.progress span{display:block;background:var(--teal);height:100%}.battle{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin:15px 0}.enemy-panel{border:1px solid #834a54;border-radius:12px;background:radial-gradient(ellipse at 60% 20%,#3b2833,#151d2c 76%);min-height:200px;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:18px}.enemy-panel h2{margin:5px 0}.enemy-panel .enemy-icon{font-size:44px;color:#d2b0a0}.enemy-panel .badge{color:#ecc492}.battle-log{max-height:170px;overflow:auto;font-size:12px;background:#111e2c;border:1px solid #2c4055;padding:14px;border-radius:10px}.battle-log div{margin-bottom:6px}.battle-actions{margin-top:14px}.battle-actions button{flex:1 1 140px}.card-art{width:100%;height:135px;object-fit:cover;border-radius:9px;margin-bottom:8px}.resource{font-size:13px;color:#d6c597}.pill{display:inline-block;border:1px solid #566177;border-radius:999px;padding:3px 8px;font-size:11px;margin:3px;color:#e5d5bb}.adventure-layout{display:grid;grid-template-columns:1fr 1fr;gap:14px}.keypad{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.keypad button{font-size:26px;min-height:68px}.inline{display:inline}.warning{color:#e5abb0}.success{color:#8fd2b8}#alert{margin-top:8px;color:#e8bcc1;min-height:0}#alert:not(:empty){padding:12px 15px;background:#38242c;border:1px solid #884b52;border-radius:7px}textarea{min-height:92px;resize:vertical}input{max-width:100%}input[type=text],input[type=number]{padding:12px;background:#101b2c;border:1px solid #465772;color:#eee;border-radius:9px}footer{display:flex;justify-content:space-between;gap:14px;padding:17px 0;border-top:1px solid #263548;font-size:11px;color:#8795aa}footer #connection{color:#8ed2ba}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
@media(max-width:1100px){.dashboard{grid-template-columns:200px minmax(0,1fr)}.chronicle{display:none}.sidebar{top:5px}}@media(max-width:760px){.shell{padding:0 10px}.top{height:70px}.topend .small{font-size:11px}.version{font-size:9px}.brand strong{font-size:17px}.brandmark{font-size:34px}.auth{grid-template-columns:1fr;margin:10px 0}.auth-art{min-height:240px}.hero-shade{padding:20px}.hero-shade h1{font-size:38px}.auth-form{padding:22px}.dashboard{display:block;margin-top:11px}.sidebar{position:static}.profile{margin-bottom:8px}.profile .counters{grid-template-columns:repeat(4,1fr)}#nav{display:flex;overflow-x:auto;gap:6px;scrollbar-width:thin;padding-bottom:10px}#nav button{min-width:100px;width:auto;flex-shrink:0;justify-content:center;font-size:12px;padding:10px}.aside-note{display:none}.panel{padding:16px;margin-bottom:12px}.grid,.grid.three{grid-template-columns:1fr}.battle,.adventure-layout{grid-template-columns:1fr}.statgrid{grid-template-columns:repeat(2,1fr)}.storybanner{min-height:165px}.storybanner .storytext{padding:16px}.storybanner h2{font-size:28px}.auth-form .buttons button{flex:1}footer{font-size:10px}.enemy-panel{min-height:160px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

[hidden]{display:none!important}
