:root{
  --bg:#06111b;--panel:#0b1b2a;--panel2:#10263a;--line:#1c3b54;--text:#eef8ff;--muted:#8ca8b9;
  --cyan:#51d9ff;--blue:#3a89ff;--gold:#ffc85a;--green:#66e3a4;--red:#ff6978;--orange:#ff9a57;
  --shadow:0 12px 36px rgba(0,0,0,.28);--radius:18px;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 50% -10%,#12334a 0,#06111b 38%,#040b12 100%);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}
body{padding-bottom:env(safe-area-inset-bottom)}button,input,select,textarea{font:inherit}.hidden{display:none!important}
.boot{position:fixed;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#04101a;z-index:99}.boot-core{width:116px;height:116px;border:1px solid #2b7896;border-radius:50%;display:grid;place-items:center;font-weight:800;letter-spacing:3px;color:var(--cyan);box-shadow:0 0 40px rgba(81,217,255,.18),inset 0 0 25px rgba(81,217,255,.08);animation:pulse 1.3s infinite}.boot-line{margin-top:24px;color:var(--muted);font-size:13px;letter-spacing:1px}@keyframes pulse{50%{transform:scale(1.04);box-shadow:0 0 58px rgba(81,217,255,.3)}}
.app{max-width:760px;margin:0 auto;min-height:100vh;background:linear-gradient(180deg,rgba(6,17,27,.98),rgba(4,11,18,.99));border-left:1px solid rgba(255,255,255,.03);border-right:1px solid rgba(255,255,255,.03)}
.topbar{position:sticky;top:0;z-index:20;height:74px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;display:flex;align-items:center;gap:12px;background:rgba(5,16,26,.91);backdrop-filter:blur(14px);border-bottom:1px solid rgba(81,217,255,.12)}.page-title{font-size:20px;font-weight:800}.page-sub{font-size:11px;color:var(--cyan);letter-spacing:1.2px;margin-top:3px}.icon-btn{width:42px;height:42px;border-radius:14px;border:1px solid var(--line);background:#0d2132;color:var(--text);font-size:20px}.topbar>div{flex:1}
.view{padding:16px 16px 102px;min-height:calc(100vh - 74px)}.bottom-nav{position:fixed;left:50%;bottom:0;transform:translateX(-50%);z-index:25;width:min(760px,100%);height:72px;padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(5,1fr);background:rgba(5,16,26,.96);backdrop-filter:blur(16px);border-top:1px solid rgba(81,217,255,.14)}.nav-item{border:0;background:transparent;color:#6f8da0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:17px}.nav-item b{font-size:11px;font-weight:600}.nav-item.active{color:var(--cyan)}
.hero{position:relative;overflow:hidden;padding:22px;border:1px solid rgba(81,217,255,.2);border-radius:24px;background:linear-gradient(135deg,rgba(16,48,69,.95),rgba(7,24,38,.95));box-shadow:var(--shadow)}.hero:after{content:"";position:absolute;width:180px;height:180px;border:1px solid rgba(81,217,255,.09);border-radius:50%;right:-70px;top:-75px;box-shadow:0 0 0 32px rgba(81,217,255,.025),0 0 0 64px rgba(81,217,255,.018)}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--cyan)}.hero h1{margin:8px 0 4px;font-size:28px}.hero .role{color:var(--muted);font-size:14px}.xp-row{display:flex;align-items:center;gap:10px;margin-top:18px}.xp-bar,.bar{height:8px;background:#07131e;border-radius:99px;overflow:hidden;flex:1;border:1px solid rgba(255,255,255,.04)}.xp-bar i,.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--blue));border-radius:99px}.xp-txt{font-size:11px;color:var(--muted);white-space:nowrap}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}.mini-stat{padding:10px;border-radius:13px;background:rgba(0,0,0,.15);border:1px solid rgba(255,255,255,.05)}.mini-stat strong{display:block;font-size:18px}.mini-stat span{font-size:10px;color:var(--muted)}
.system-msg{margin:14px 0;padding:14px 15px;border-left:3px solid var(--cyan);border-radius:0 14px 14px 0;background:rgba(81,217,255,.055);color:#cfefff;line-height:1.65;font-size:13px}.system-msg b{color:var(--cyan)}
.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin:22px 2px 10px}.section-head h2{margin:0;font-size:17px}.section-head span{font-size:11px;color:var(--muted)}
.card{background:linear-gradient(180deg,var(--panel),#091824);border:1px solid rgba(132,190,222,.12);border-radius:var(--radius);padding:16px;box-shadow:0 8px 24px rgba(0,0,0,.16);margin-bottom:12px}.card-row{display:flex;gap:12px;align-items:center}.card-grow{flex:1;min-width:0}.card h3{margin:0 0 5px;font-size:16px}.card p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.badge{display:inline-flex;align-items:center;height:23px;padding:0 8px;border-radius:99px;font-size:10px;font-weight:700;background:rgba(81,217,255,.09);color:var(--cyan);border:1px solid rgba(81,217,255,.16)}.badge.gold{color:var(--gold);background:rgba(255,200,90,.08);border-color:rgba(255,200,90,.16)}.badge.red{color:#ff94a0;background:rgba(255,105,120,.08);border-color:rgba(255,105,120,.16)}.badge.green{color:var(--green);background:rgba(102,227,164,.08);border-color:rgba(102,227,164,.16)}
.task-card{padding:15px 16px}.task-icon{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;font-size:22px;background:#102a3e;border:1px solid #1c4762}.task-top{display:flex;align-items:center;gap:8px}.task-progress{margin-top:11px;display:flex;align-items:center;gap:10px}.task-progress .bar{height:6px}.task-progress small{font-size:11px;color:var(--muted)}
.btn{appearance:none;border:1px solid #25516b;border-radius:14px;background:#10283b;color:var(--text);padding:11px 14px;font-weight:700;font-size:13px}.btn:active{transform:translateY(1px)}.btn.primary{background:linear-gradient(135deg,#1b6f92,#165d95);border-color:#2b89b5;color:white;box-shadow:0 8px 20px rgba(24,116,158,.22)}.btn.gold{background:linear-gradient(135deg,#7a5b18,#5d4412);border-color:#a77b20;color:#ffe7a8}.btn.green{border-color:#287453;background:#123d2d;color:#9df0c6}.btn.danger{border-color:#77343d;background:#35171d;color:#ffabb4}.btn.ghost{background:transparent}.btn.small{padding:8px 10px;border-radius:11px;font-size:11px}.btn.full{width:100%}.btn-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick{min-height:92px;text-align:left}.quick strong{display:block;font-size:15px;margin-top:8px}.quick span{color:var(--muted);font-size:11px}
.mission-complete{padding:18px;border-radius:20px;border:1px solid rgba(255,200,90,.26);background:linear-gradient(135deg,rgba(93,68,18,.36),rgba(13,28,38,.7));text-align:center}.mission-complete .big{font-size:36px;margin-bottom:7px}.mission-complete h3{margin:0;color:#ffe3a0}.mission-complete p{font-size:12px;color:var(--muted);line-height:1.6}
.filter-row{display:flex;gap:8px;overflow:auto;padding-bottom:4px}.chip{white-space:nowrap;border:1px solid var(--line);border-radius:99px;padding:8px 11px;background:#0b1b28;color:var(--muted);font-size:11px}.chip.active{border-color:#2c86aa;color:var(--cyan);background:#0d2b3c}
.question-card{padding:18px}.q-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px}.q-stem{font-size:17px;line-height:1.75;margin:17px 0;white-space:pre-wrap}.options{display:grid;gap:10px}.option{display:flex;gap:11px;align-items:flex-start;padding:13px 14px;border-radius:14px;background:#0d2131;border:1px solid #17374c;line-height:1.5;font-size:14px}.option.selected{border-color:#2d8db4;background:#0d2b3e}.option.correct{border-color:#2d8a62;background:#103526}.option.wrong{border-color:#9a3f4b;background:#35161d}.option .letter{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:#06131f;color:var(--cyan);font-weight:800;flex:none}.answer-box{margin-top:15px;padding:13px 14px;border-radius:14px;background:#071925;border:1px solid #16364a;font-size:13px;line-height:1.65}.answer-box.good{border-color:#256b4d}.answer-box.bad{border-color:#78343d}.answer-box b{color:var(--cyan)}.input{width:100%;border:1px solid #22465d;border-radius:13px;background:#071724;color:var(--text);padding:12px 13px;outline:none}.input:focus{border-color:#2b84a8}.textarea{min-height:120px;resize:vertical}
.calc-stage{padding:18px;border-radius:20px;background:linear-gradient(180deg,#111f2d,#091720);border:1px solid rgba(255,200,90,.18)}.calc-rank{font-size:11px;color:var(--gold);letter-spacing:1px}.calc-q{font-size:16px;line-height:1.75;margin:14px 0;white-space:pre-wrap}.hint{margin-top:10px;padding:11px 12px;border-radius:12px;background:rgba(255,200,90,.055);border:1px solid rgba(255,200,90,.12);color:#e9d49f;font-size:12px;line-height:1.55}.rating-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}
.skill-card .skill-icon{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;font-size:24px;background:linear-gradient(135deg,#102a3d,#0b1d2a);border:1px solid #21445b}.skill-level{font-size:11px;color:var(--muted);margin-top:8px}.checklist{display:grid;gap:9px}.check-row{display:flex;align-items:flex-start;gap:10px;padding:11px 12px;border-radius:13px;background:#0a1b29;border:1px solid #16344a}.check-row input{margin-top:3px;accent-color:#48c9ef}.check-row b{display:block;font-size:13px}.check-row small{color:var(--muted)}.gallery{display:flex;gap:9px;overflow:auto;padding:5px 0 10px}.gallery img{height:150px;width:auto;border-radius:12px;border:1px solid #1b4057;background:white}
.attr{display:grid;grid-template-columns:95px 1fr 43px;align-items:center;gap:9px;margin:12px 0}.attr label{font-size:12px}.attr strong{font-size:11px;text-align:right;color:var(--cyan)}.tree{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.node{padding:13px;border-radius:14px;background:#0a1c29;border:1px solid #1a3b50}.node.locked{opacity:.48;filter:saturate(.4)}.node b{display:block;font-size:13px}.node span{display:block;margin-top:5px;color:var(--muted);font-size:10px}
.setting-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.055)}.setting-row:last-child{border-bottom:0}.setting-row .grow{flex:1}.setting-row b{display:block;font-size:13px}.setting-row small{color:var(--muted);font-size:10px}.select{background:#091b28;color:var(--text);border:1px solid #21445a;border-radius:11px;padding:8px 9px;max-width:145px}
.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.stat-card{padding:14px;border-radius:15px;background:#0b1c29;border:1px solid #16374d}.stat-card strong{font-size:22px}.stat-card span{display:block;color:var(--muted);font-size:10px;margin-top:4px}
.source-note{font-size:10px;color:#6f8d9e;line-height:1.55;margin-top:10px}.warning{padding:12px 13px;border-radius:13px;border:1px solid rgba(255,154,87,.18);background:rgba(255,154,87,.055);color:#e7b893;font-size:11px;line-height:1.6}.empty{text-align:center;padding:34px 15px;color:var(--muted)}
.modal{position:fixed;inset:0;z-index:70;background:rgba(0,0,0,.7);display:flex;align-items:flex-end;justify-content:center;padding:16px}.modal-card{width:min(720px,100%);max-height:82vh;overflow:auto;border-radius:24px 24px 18px 18px;background:#0a1a27;border:1px solid #21455c;padding:18px;box-shadow:0 18px 60px rgba(0,0,0,.45)}.modal h3{margin:0 0 12px}.toast{position:fixed;left:50%;bottom:94px;z-index:90;transform:translateX(-50%) translateY(20px);opacity:0;background:#102638;border:1px solid #24506a;color:#eaf8ff;padding:10px 14px;border-radius:12px;font-size:12px;transition:.25s;pointer-events:none;max-width:88%;text-align:center}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(min-width:620px){.quick-grid{grid-template-columns:repeat(4,1fr)}.view{padding-left:22px;padding-right:22px}.skill-list{display:grid;grid-template-columns:1fr 1fr;gap:12px}.skill-list .card{margin:0}}
.daily-verse{margin:12px 2px 2px;padding:12px 14px;text-align:center;color:#d8c89b;font-family:serif;font-size:13px;letter-spacing:.4px;border-top:1px solid rgba(255,200,90,.12);border-bottom:1px solid rgba(255,200,90,.12);background:linear-gradient(90deg,transparent,rgba(255,200,90,.045),transparent)}
.fate-card{border-color:rgba(255,200,90,.22);background:linear-gradient(135deg,rgba(79,59,18,.28),rgba(9,24,36,.92));position:relative;overflow:hidden}.fate-card:after{content:'✦';position:absolute;right:13px;top:-13px;font-size:70px;color:rgba(255,200,90,.035);pointer-events:none}.boss-card{border-color:rgba(177,128,255,.2);background:linear-gradient(135deg,rgba(58,32,86,.2),rgba(9,24,36,.95))}
.level-up,.completion-ceremony,.fate-finish{text-align:center;padding:4px 2px 2px}.level-up .seal,.completion-ceremony .seal{display:inline-flex;padding:7px 14px;border:1px solid rgba(255,200,90,.35);border-radius:99px;color:var(--gold);font-size:11px;letter-spacing:2px;background:rgba(255,200,90,.055)}.level-up h2,.completion-ceremony h2{font-size:30px;margin:14px 0 5px}.level-up p,.completion-ceremony p,.fate-finish p{color:var(--muted);line-height:1.7}.system-verse{margin:16px 0;padding:14px;border-radius:14px;background:rgba(255,200,90,.05);border:1px solid rgba(255,200,90,.13);color:#ead7a0;font-family:serif;line-height:1.7}.completion-ceremony .big,.fate-finish .big{font-size:46px;color:var(--gold);filter:drop-shadow(0 0 14px rgba(255,200,90,.22))}
.boot-core{font-family:serif;letter-spacing:6px}
/* V1.2 additions */
.hidden-card{border-color:rgba(210,139,255,.28);background:linear-gradient(135deg,rgba(68,34,91,.34),rgba(9,24,36,.95));box-shadow:0 0 24px rgba(173,94,255,.06)}
.hidden-card .task-icon{border-color:rgba(210,139,255,.35);color:#e2b4ff;background:#231433}
.skill-locked{opacity:.58;filter:saturate(.45)}
.boss-tier{margin-bottom:9px}.boss-tier:last-of-type{margin-bottom:12px}
.achievement-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.achievement{position:relative;min-height:142px;padding:14px;border-radius:16px;border:1px solid #18394e;background:linear-gradient(180deg,#0b1d2b,#081621);display:flex;flex-direction:column;align-items:center;text-align:center}.achievement.unlocked{border-color:rgba(255,200,90,.25);background:linear-gradient(160deg,rgba(83,61,20,.28),#091823)}.achievement.locked{opacity:.47;filter:saturate(.35)}.achievement .ach-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;margin-bottom:9px;background:#071622;border:1px solid #1b455e;color:var(--gold);font-weight:900;font-size:19px}.achievement b{font-size:13px}.achievement span{margin-top:5px;color:var(--muted);font-size:10px;line-height:1.4}.achievement em{margin-top:auto;padding-top:8px;color:#c8a85e;font-size:9px;font-style:normal;letter-spacing:1px}
.monthly-card{border-color:rgba(81,217,255,.18)}.month-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.month-title b{display:block}.month-title span{display:block;color:var(--muted);font-size:10px;margin-top:4px}.month-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:14px}.month-grid div{padding:9px 5px;border-radius:11px;background:rgba(0,0,0,.15);text-align:center}.month-grid strong{display:block;font-size:17px;color:var(--cyan)}.month-grid span{display:block;margin-top:3px;font-size:9px;color:var(--muted)}.report-hero{margin:8px 0 14px;padding:17px;border-radius:18px;text-align:center;background:linear-gradient(135deg,rgba(81,217,255,.08),rgba(255,200,90,.05));border:1px solid rgba(81,217,255,.14)}.report-hero b{display:block;font-size:34px}.report-hero span{font-size:11px;color:var(--muted)}
@media(min-width:620px){.achievement-grid{grid-template-columns:repeat(4,1fr)}}

/* ================= V1.3 IMMERSIVE HUD ================= */
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:linear-gradient(rgba(81,217,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(81,217,255,.018) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to bottom,black,transparent 82%)}
.boot{overflow:hidden;background:radial-gradient(circle at 50% 45%,#0b3449 0,#04111b 35%,#02070c 75%)}.boot-grid,.break-grid{position:absolute;inset:-30%;background-image:linear-gradient(rgba(81,217,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(81,217,255,.06) 1px,transparent 1px);background-size:34px 34px;transform:perspective(480px) rotateX(65deg) translateY(35%);animation:gridMove 4s linear infinite;opacity:.6}.boot-orbit{position:relative;width:190px;height:190px;display:grid;place-items:center}.boot-core{position:relative;width:108px;height:108px;z-index:3;background:radial-gradient(circle,rgba(81,217,255,.14),rgba(4,16,26,.96) 64%);box-shadow:0 0 42px rgba(81,217,255,.22),inset 0 0 28px rgba(81,217,255,.1);animation:coreBreath 1.7s ease-in-out infinite}.boot-core span{font-family:serif;font-size:24px;letter-spacing:7px}.boot-core small{position:absolute;bottom:17px;font-size:7px;letter-spacing:2px;color:#759bae}.orbit{position:absolute;border-radius:50%;border:1px solid rgba(81,217,255,.35);inset:17px}.orbit-a{animation:orbitSpin 4s linear infinite;border-left-color:transparent}.orbit-b{inset:0;border-color:rgba(255,200,90,.2);border-top-color:transparent;animation:orbitSpin 7s linear reverse infinite}.orbit-c{inset:36px;border-style:dashed;animation:orbitSpin 3s linear infinite}.boot-modules{display:flex;gap:14px;margin-top:15px;font-size:7px;letter-spacing:1.2px;color:#5fdcf8}.boot-modules span:before{content:'●';font-size:6px;color:#65efa7;margin-right:4px}.boot-progress{width:min(310px,72vw);height:3px;margin-top:15px;background:#071827;overflow:hidden}.boot-progress i{display:block;width:6%;height:100%;background:linear-gradient(90deg,var(--cyan),#fff,var(--cyan));box-shadow:0 0 12px var(--cyan);transition:width .23s ease}.boot-line{z-index:3;color:#a8d7e7;text-transform:uppercase}.hud-hero{position:relative;overflow:hidden;padding:18px;border:1px solid rgba(81,217,255,.27);border-radius:22px;background:linear-gradient(145deg,rgba(7,30,44,.97),rgba(3,14,23,.98));box-shadow:0 0 34px rgba(49,195,235,.07),inset 0 0 30px rgba(49,195,235,.025)}.hud-hero:before,.simulation-chamber:before,.star-map:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(81,217,255,.17),transparent 10%,transparent 90%,rgba(81,217,255,.17)) top/100% 1px no-repeat,linear-gradient(90deg,rgba(81,217,255,.17),transparent 10%,transparent 90%,rgba(81,217,255,.17)) bottom/100% 1px no-repeat}.hud-scanline{position:absolute;left:0;right:0;height:42px;top:-42px;background:linear-gradient(to bottom,transparent,rgba(81,217,255,.055),transparent);animation:scanLine 5s linear infinite;pointer-events:none}.hud-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.hud-top>div{display:flex;flex-direction:column}.hud-top span,.star-map-title span,.chamber-head span,.scan-head span{font-size:8px;letter-spacing:2px;color:var(--cyan)}.hud-top b{font-size:21px;margin-top:5px}.hud-top small{color:var(--muted);font-size:10px;margin-top:3px}.hud-scan-btn{border:1px solid rgba(81,217,255,.35);background:rgba(81,217,255,.05);color:var(--cyan);font-size:9px;letter-spacing:1px;border-radius:8px;padding:8px}.hud-core-zone{height:235px;display:grid;place-items:center}.ability-orbit{position:relative;width:190px;height:190px;display:grid;place-items:center}.ability-orbit .ring{position:absolute;border-radius:50%;border:1px solid rgba(81,217,255,.19)}.ability-orbit .r1{inset:7px;border-style:dashed;animation:orbitSpin 15s linear infinite}.ability-orbit .r2{inset:26px;border-color:rgba(255,200,90,.15);border-right-color:transparent;animation:orbitSpin 8s linear reverse infinite}.ability-core{width:108px;height:108px;border-radius:50%;display:grid;place-content:center;text-align:center;border:1px solid rgba(81,217,255,.38);background:radial-gradient(circle,rgba(81,217,255,.13),rgba(5,19,30,.97) 67%);box-shadow:0 0 34px rgba(81,217,255,.16)}.ability-core strong{font-size:36px;line-height:1;color:#eaffff;text-shadow:0 0 15px rgba(81,217,255,.4)}.ability-core span{margin-top:6px;color:var(--muted);font-size:9px;letter-spacing:1px}.orbit-label{position:absolute;font-size:9px;color:#b8ddea;font-style:normal;padding:4px 6px;border:1px solid rgba(81,217,255,.14);background:#06131fcc;border-radius:7px}.orbit-label.t{top:-1px}.orbit-label.r{right:-43px}.orbit-label.b{bottom:-1px}.orbit-label.l{left:-43px}.hud-data{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:14px}.hud-data div{text-align:center;padding:9px 4px;border:1px solid rgba(81,217,255,.09);background:rgba(0,0,0,.16);clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.hud-data b{display:block;font-size:17px}.hud-data span{font-size:7px;color:#7093a7;letter-spacing:.5px}.hud-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.hud-actions button{position:relative;text-align:left;border:1px solid rgba(81,217,255,.16);border-radius:12px;background:linear-gradient(135deg,rgba(10,42,59,.7),rgba(7,21,32,.94));color:white;padding:12px}.hud-actions span{float:left;font-size:22px;color:var(--cyan);margin-right:10px}.hud-actions b{display:block;font-size:12px}.hud-actions small{display:block;color:#668b9f;font-size:7px;letter-spacing:1px;margin-top:2px}.scan-modal{padding:2px}.scan-head{border-left:2px solid var(--cyan);padding-left:11px;margin-bottom:16px}.scan-head b{display:block;font-size:19px;margin-top:3px}.scan-radar{display:grid;gap:8px}.scan-row{display:grid;grid-template-columns:1fr auto 28px;align-items:center;padding:11px 12px;background:#061724;border:1px solid rgba(81,217,255,.11);border-radius:11px}.scan-row span{font-size:12px}.scan-row b{font-size:14px;color:#dff8ff}.scan-row em{font-style:normal;text-align:center;color:#94aab6}.scan-row em.up{color:var(--green)}.scan-row em.down{color:var(--red)}.log-terminal{border:1px solid rgba(81,217,255,.19);background:#031019;border-radius:16px;overflow:hidden;box-shadow:inset 0 0 32px rgba(81,217,255,.025)}.terminal-head{position:sticky;top:0;display:flex;align-items:center;gap:8px;padding:11px 12px;background:#071a27;border-bottom:1px solid rgba(81,217,255,.15);z-index:2}.terminal-head i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green)}.terminal-head span{flex:1;color:var(--cyan);font-size:9px;letter-spacing:1.4px}.log-line{display:grid;grid-template-columns:118px 1fr;padding:9px 11px;border-bottom:1px solid rgba(255,255,255,.035);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.log-line time{font-size:9px;color:#54778a}.log-line span{font-size:10px;color:#b9d9e6}.log-line small{grid-column:2;font-size:8px;color:#5d7e90;margin-top:3px}.combo-hud{display:flex;align-items:center;gap:8px;margin:0 0 10px;padding:8px 11px;border:1px solid rgba(81,217,255,.12);background:rgba(7,27,40,.8);border-radius:11px}.combo-hud span{font-size:8px;letter-spacing:1.5px;color:#799aaa}.combo-hud b{font-size:18px;color:var(--cyan)}.combo-hud small{margin-left:auto;font-size:8px;color:#66889b}.combo-hud.boost{border-color:rgba(255,200,90,.22)}.combo-hud.boost span,.combo-hud.boost b{color:var(--gold)}.combo-hud.overdrive{border-color:rgba(99,237,255,.55);box-shadow:0 0 24px rgba(81,217,255,.12);animation:overPulse 1.2s ease-in-out infinite}.quiz-shell.overdrive .question-card{box-shadow:0 0 32px rgba(81,217,255,.11),inset 0 0 28px rgba(81,217,255,.025)}.combo-flash{position:fixed;left:50%;top:22%;z-index:110;transform:translate(-50%,-10px) scale(.96);opacity:0;width:min(380px,86%);padding:18px;border:1px solid rgba(81,217,255,.42);background:rgba(3,18,29,.94);text-align:center;box-shadow:0 0 44px rgba(81,217,255,.18);transition:.25s}.combo-flash.show{opacity:1;transform:translate(-50%,0) scale(1)}.combo-flash b{display:block;color:#c9f7ff;font-size:22px;letter-spacing:2px}.combo-flash span{display:block;color:#79aabd;font-size:10px;margin-top:5px}.simulation-chamber{position:relative}.chamber-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;padding:11px 13px;border:1px solid rgba(81,217,255,.17);background:linear-gradient(90deg,rgba(81,217,255,.055),transparent);clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}.chamber-head b{display:block;font-size:19px;margin-top:3px}.chamber-index{font-family:monospace;color:var(--cyan);font-size:12px}.permission-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}.permission-grid div{padding:8px 5px;text-align:center;background:#061623;border:1px solid rgba(81,217,255,.1);border-radius:9px}.permission-grid span{display:block;font-size:7px;color:#68899b}.permission-grid b{display:block;font-size:9px;color:var(--cyan);margin-top:3px}.permission-grid .locked b{color:#586977}.permission-grid .open{border-color:rgba(255,200,90,.22)}.permission-grid .open b{color:var(--gold)}.calc-stage{position:relative;border-color:rgba(81,217,255,.18);background:linear-gradient(180deg,#0b2231,#07131e)}.chamber-rating{border-color:rgba(81,217,255,.14)}.star-map{position:relative;height:430px;margin-bottom:14px;border:1px solid rgba(81,217,255,.18);border-radius:20px;background:radial-gradient(circle at 50% 48%,rgba(81,217,255,.08),transparent 22%),radial-gradient(circle at 15% 15%,rgba(255,200,90,.04),transparent 24%),#05131f;overflow:hidden}.star-map-title{position:absolute;left:13px;top:12px;z-index:3}.star-map-title b{display:block;font-size:13px;margin-top:2px}.star-map svg{position:absolute;inset:0;width:100%;height:100%;z-index:0}.star-map line{stroke:rgba(81,217,255,.1);stroke-width:.35;stroke-dasharray:1.2 1.2}.star-map line.on{stroke:rgba(81,217,255,.43);filter:drop-shadow(0 0 2px rgba(81,217,255,.35))}.star-node{position:absolute;z-index:2;transform:translate(-50%,-50%);width:78px;min-height:62px;padding:6px 4px;border:1px solid rgba(81,217,255,.16);border-radius:13px;background:#071925e8;color:white;text-align:center}.star-node i{display:block;font-style:normal;font-size:18px;filter:drop-shadow(0 0 7px rgba(81,217,255,.35))}.star-node b{display:block;font-size:9px;margin-top:2px}.star-node small{display:block;font-size:7px;color:#67899c;margin-top:2px}.star-node.unlocked{border-color:rgba(81,217,255,.4);box-shadow:0 0 19px rgba(81,217,255,.08)}.star-node.master{border-color:rgba(255,200,90,.52);box-shadow:0 0 25px rgba(255,200,90,.09)}.star-node.master i,.star-node.master small{color:var(--gold)}.star-node.locked{opacity:.42;filter:saturate(.2)}.star-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:7px;letter-spacing:2px;color:rgba(81,217,255,.44);border:1px solid rgba(81,217,255,.16);border-radius:50%;width:48px;height:48px;display:grid;place-items:center;box-shadow:0 0 25px rgba(81,217,255,.08)}.breakthrough{position:fixed;inset:0;z-index:140;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:radial-gradient(circle,#0b3144 0,#03101a 45%,#010509 100%);opacity:0;transition:.28s;overflow:hidden}.breakthrough.show{opacity:1}.break-core{position:relative;width:170px;height:170px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(255,200,90,.38);box-shadow:0 0 54px rgba(255,200,90,.15),inset 0 0 35px rgba(81,217,255,.08);animation:breakPulse 1s ease-in-out infinite}.break-core i{position:absolute;inset:18px;border-radius:50%;border:1px dashed rgba(81,217,255,.4);animation:orbitSpin 4s linear infinite}.break-core span{font-size:11px;letter-spacing:3px;color:var(--gold)}.break-tag{margin-top:27px;color:var(--cyan);font-size:9px;letter-spacing:2px}.breakthrough h2{font-size:32px;margin:10px 0 5px}.breakthrough p{color:var(--muted);font-size:12px}.break-progress{width:min(340px,72vw);height:4px;margin:18px 0;background:#071723;overflow:hidden}.break-progress i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--cyan),var(--gold));box-shadow:0 0 14px var(--cyan);transition:width 2.1s cubic-bezier(.2,.8,.2,1)}.growth-hud{background:linear-gradient(145deg,#0a2637,#07131e)}
@keyframes orbitSpin{to{transform:rotate(360deg)}}@keyframes coreBreath{50%{transform:scale(1.055);box-shadow:0 0 58px rgba(81,217,255,.32)}}@keyframes gridMove{to{background-position:0 34px,34px 0}}@keyframes scanLine{to{top:100%}}@keyframes overPulse{50%{box-shadow:0 0 33px rgba(81,217,255,.23)}}@keyframes breakPulse{50%{transform:scale(1.04);box-shadow:0 0 82px rgba(255,200,90,.22),inset 0 0 42px rgba(81,217,255,.1)}}
@media(max-width:420px){.hud-core-zone{height:215px}.ability-orbit{width:170px;height:170px}.ability-core{width:96px;height:96px}.orbit-label.r{right:-39px}.orbit-label.l{left:-39px}.star-map{height:400px}.star-node{width:70px}.permission-grid{grid-template-columns:repeat(2,1fr)}.log-line{grid-template-columns:105px 1fr}}

/* ===== V1.4 CINEMATIC / NATURAL VOICE EXPERIENCE ===== */
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:radial-gradient(circle at 17% 18%,rgba(81,217,255,.05) 0 1px,transparent 1.5px),radial-gradient(circle at 72% 37%,rgba(255,200,90,.04) 0 1px,transparent 1.5px);background-size:43px 43px,71px 71px;animation:deepDrift 28s linear infinite}
.scene-fx{position:fixed;inset:0;z-index:130;pointer-events:none;opacity:0;transition:opacity .28s;background:radial-gradient(circle at 50% 45%,rgba(81,217,255,.12),transparent 42%);mix-blend-mode:screen}.scene-fx.show{opacity:1}.scene-fx.scan{background:linear-gradient(180deg,transparent 0,rgba(81,217,255,.12) 49%,transparent 52%);animation:fxSweep .8s ease-out}.scene-fx.combo{box-shadow:inset 0 0 95px rgba(255,200,90,.09)}.scene-fx.overdrive{box-shadow:inset 0 0 130px rgba(81,217,255,.34);background:radial-gradient(circle,rgba(81,217,255,.16),transparent 58%);animation:overdriveShock 1.5s ease-out}.scene-fx.break{background:radial-gradient(circle,rgba(255,200,90,.25) 0,rgba(81,217,255,.09) 24%,transparent 58%);animation:breakShock 2.2s ease-out}.scene-fx.hidden{background:radial-gradient(circle,rgba(255,200,90,.16),transparent 48%)}
.hud-gridfx{position:absolute;inset:0;opacity:.19;pointer-events:none;background-image:linear-gradient(rgba(81,217,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(81,217,255,.06) 1px,transparent 1px);background-size:28px 28px;mask-image:linear-gradient(to bottom,black,transparent 72%);animation:gridFloat 18s linear infinite}.hud-aurora{position:absolute;width:260px;height:260px;left:50%;top:37%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(81,217,255,.11),rgba(58,137,255,.025) 42%,transparent 70%);filter:blur(7px);animation:auroraBreath 4.5s ease-in-out infinite;pointer-events:none}.ability-core{position:relative;overflow:visible}.core-pulse{position:absolute;inset:-13px;border-radius:50%;border:1px solid rgba(81,217,255,.16);animation:coreWave 2.8s ease-out infinite}.core-pulse:after{content:"";position:absolute;inset:-12px;border-radius:50%;border:1px dashed rgba(255,200,90,.10);animation:orbitSpin 12s linear infinite}
.scan-visual{position:relative;width:134px;height:134px;margin:4px auto 16px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,rgba(81,217,255,.08),transparent 62%)}.scan-visual>div{text-align:center;z-index:2}.scan-visual strong{display:block;color:#dffaff;font-size:18px;letter-spacing:3px}.scan-visual span{font-size:7px;color:#6d94a8;letter-spacing:1.5px}.scan-ring{position:absolute;border-radius:50%;border:1px solid rgba(81,217,255,.22)}.scan-ring.sr1{inset:8px;border-style:dashed;animation:orbitSpin 6s linear infinite}.scan-ring.sr2{inset:26px;border-color:rgba(255,200,90,.18);border-left-color:transparent;animation:orbitSpin 3.5s linear reverse infinite}.scan-sweep{position:absolute;width:50%;height:1px;left:50%;top:50%;transform-origin:left center;background:linear-gradient(90deg,var(--cyan),transparent);box-shadow:0 0 8px rgba(81,217,255,.7);animation:radarSweep 1.5s linear infinite}.scan-row{opacity:0;transform:translateY(5px);animation:scanRowIn .42s ease forwards;animation-delay:var(--delay,0ms)}
.sound-console{border-color:rgba(81,217,255,.2);background:linear-gradient(145deg,rgba(10,35,51,.94),rgba(6,20,31,.98))}.voice-status{display:flex;align-items:center;gap:10px;padding:11px 12px;margin:-2px 0 8px;border:1px solid rgba(81,217,255,.12);border-radius:12px;background:rgba(4,16,25,.52)}.voice-status i{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 12px var(--green);animation:voicePulse 1.8s ease-in-out infinite}.voice-status>div{flex:1;min-width:0}.voice-status b{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.voice-status small{display:block;font-size:8px;color:var(--muted);margin-top:2px}.voice-status>span{font-size:7px;letter-spacing:1px;color:var(--cyan)}
.break-particles{position:absolute;inset:0;pointer-events:none}.break-particles i{position:absolute;left:50%;top:50%;width:3px;height:3px;border-radius:50%;background:var(--gold);box-shadow:0 0 9px var(--gold);animation:particleBurst 2.5s ease-out infinite;animation-delay:calc(var(--i)*-.13s)}.break-particles i:nth-child(3n){background:var(--cyan);box-shadow:0 0 9px var(--cyan)}
.boot.quick-boot .boot-orbit{transform:scale(.8)}.boot.quick-boot .boot-line{margin-top:14px}.boot.quick-boot .boot-modules{opacity:.45}.boot-orbit{filter:drop-shadow(0 0 22px rgba(81,217,255,.13))}.boot-core{animation:coreBreath 2.2s ease-in-out infinite}.boot-modules span{transition:.3s}.boot-progress i{box-shadow:0 0 15px rgba(81,217,255,.7)}
@keyframes deepDrift{to{background-position:43px 43px,-71px 71px}}@keyframes gridFloat{to{background-position:28px 28px,28px 28px}}@keyframes auroraBreath{50%{transform:translate(-50%,-50%) scale(1.15);opacity:.65}}@keyframes coreWave{0%{transform:scale(.9);opacity:.7}80%,100%{transform:scale(1.35);opacity:0}}@keyframes radarSweep{to{transform:rotate(360deg)}}@keyframes scanRowIn{to{opacity:1;transform:none}}@keyframes voicePulse{50%{opacity:.45;box-shadow:0 0 4px var(--green)}}@keyframes fxSweep{0%{transform:translateY(-60%);opacity:0}40%{opacity:1}100%{transform:translateY(60%);opacity:0}}@keyframes overdriveShock{0%{opacity:0;transform:scale(.96)}20%{opacity:1}100%{opacity:0;transform:scale(1.03)}}@keyframes breakShock{0%{opacity:0}18%{opacity:1}100%{opacity:0}}@keyframes particleBurst{0%{transform:translate(-50%,-50%) rotate(calc(var(--i)*20deg)) translateX(20px);opacity:0}18%{opacity:1}100%{transform:translate(-50%,-50%) rotate(calc(var(--i)*20deg)) translateX(260px);opacity:0}}
@media(prefers-reduced-motion:reduce){.scene-fx,.hud-gridfx,.hud-aurora,.core-pulse,.scan-sweep,.scan-ring,.break-particles i{animation:none!important}.scan-row{opacity:1;transform:none}}

/* V1.5 AI Voice Core */
.ai-voice-panel{margin:0 0 14px;padding:14px;border:1px solid rgba(245,194,78,.25);border-radius:16px;background:radial-gradient(circle at 80% 0,rgba(245,194,78,.08),transparent 34%),linear-gradient(145deg,rgba(12,31,47,.95),rgba(5,18,29,.98));box-shadow:inset 0 0 30px rgba(66,211,255,.025)}
.ai-voice-panel.online{border-color:rgba(91,247,199,.34);box-shadow:0 0 28px rgba(91,247,199,.06),inset 0 0 30px rgba(66,211,255,.035)}
.ai-voice-panel.online .voice-status i{background:var(--green);box-shadow:0 0 14px var(--green)}
.ai-voice-panel .voice-status>span{white-space:nowrap}
.consent-line{display:flex;gap:9px;align-items:flex-start;margin-top:10px;padding:10px 11px;border:1px solid rgba(81,217,255,.1);border-radius:12px;background:rgba(3,13,21,.38);font-size:10px;color:var(--muted);line-height:1.5}
.consent-line input{margin-top:2px;accent-color:var(--cyan)}
.ai-voice-panel .input[type=password]{min-width:118px;max-width:150px}
