
:root{
  color-scheme:dark;
  --bg:#06101d;--panel:#0d1a2a;--panel2:#112238;--line:rgba(255,255,255,.09);
  --text:#f4f8fc;--muted:#9aadc4;--accent:#37e2b1;--accent2:#8ba4ff;--danger:#ff6f7f;
  --warn:#ffd36f;--good:#54d697;--radius:20px;--shadow:0 18px 55px rgba(0,0,0,.28)
}
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;min-height:100vh;background:
radial-gradient(circle at 10% 0%,rgba(55,226,177,.12),transparent 34rem),
radial-gradient(circle at 100% 12%,rgba(139,164,255,.13),transparent 32rem),var(--bg);
color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.plain{border:0;background:none;color:inherit;padding:0}.app-shell{max-width:1280px;margin:auto;padding:0 16px 100px}
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:12px 0;background:linear-gradient(var(--bg) 55%,rgba(6,16,29,.83),transparent);backdrop-filter:blur(18px)}
.brand{display:flex;align-items:center;gap:11px;text-align:left}.brandmark{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#04131b;font-weight:950}
.brand strong{display:block}.brand small{display:block;color:var(--muted);margin-top:2px}.top-actions,.action-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.nav{display:flex;gap:8px;overflow:auto;scrollbar-width:none;padding:4px 0 16px}.nav::-webkit-scrollbar{display:none}
.nav button{flex:0 0 auto;border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--muted);padding:10px 14px;border-radius:999px;font-weight:800}
.nav button.active{background:rgba(55,226,177,.13);border-color:rgba(55,226,177,.35);color:var(--text)}
.view{display:none}.view.active{display:block;animation:fade .18s ease}@keyframes fade{from{opacity:.2;transform:translateY(4px)}to{opacity:1;transform:none}}
.panel{background:linear-gradient(145deg,rgba(15,30,49,.96),rgba(9,20,34,.94));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.section{padding:20px;margin-bottom:18px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:15px}.section-head h2{font-size:1.02rem;margin:0}.section-head p{margin:4px 0 0;color:var(--muted);font-size:.78rem}
.btn{border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.055);color:var(--text);padding:10px 13px;font-weight:800}
.btn:hover{background:rgba(255,255,255,.09)}.btn.primary{background:linear-gradient(135deg,#24bd8f,var(--accent));color:#031611;border:0}.btn.danger{border-color:rgba(255,111,127,.35);color:#ffb5bd}.btn.small{padding:8px 10px;font-size:.76rem;border-radius:10px}
.hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:18px;margin-bottom:18px}.hero-card{padding:22px;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}.hero-card h1{margin:7px 0 5px;font-size:clamp(1.4rem,4vw,2.2rem)}.eyebrow{font-size:.68rem;letter-spacing:.15em;color:var(--accent);font-weight:950}.muted{color:var(--muted)}
.overall-ring{position:relative;width:130px;height:130px;display:grid;place-items:center}.overall-ring svg{position:absolute;inset:0;transform:rotate(-90deg)}.ring-bg,.ring-value{fill:none;stroke-width:10}.ring-bg{stroke:rgba(255,255,255,.07)}.ring-value{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:301.59;stroke-dashoffset:301.59;transition:.5s}.overall-ring>div{text-align:center}.overall-ring strong{display:block;font-size:2.1rem}.overall-ring span{font-size:.7rem;color:var(--muted);letter-spacing:.12em}.reference-note{grid-column:1/-1;padding:10px 12px;border-radius:13px;background:rgba(139,164,255,.09);color:#cbd5ff;font-size:.73rem;line-height:1.45}
.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.metric-card{background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:17px;padding:16px}.metric-card span,.metric-card small{display:block;color:var(--muted);font-size:.72rem}.metric-card strong{display:block;font-size:1.65rem;margin:5px 0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid2.wide-left{grid-template-columns:1.25fr .75fr}.stack{display:grid;align-content:start;gap:0}
.rating-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rating-card{padding:13px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.03)}
.rating-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.rating-top strong{font-size:.84rem}.rating-number{font-weight:950;font-size:1.1rem}.bar-track{height:8px;background:rgba(255,255,255,.07);border-radius:999px;overflow:hidden;margin-top:9px}.bar-fill{height:100%;background:linear-gradient(90deg,var(--accent2),var(--accent));border-radius:999px}
.confidence-row{display:flex;justify-content:space-between;color:var(--muted);font-size:.65rem;margin-top:7px}.confidence-pill{padding:3px 6px;border-radius:999px;background:rgba(139,164,255,.13);color:#cbd5ff}
canvas{width:100%;max-width:100%;height:auto}.analysis,.list,.audit-list,.campaign-list{display:grid;gap:9px}.analysis-line,.list-item,.audit-card,.campaign-card{border:1px solid var(--line);background:rgba(255,255,255,.03);border-radius:14px;padding:12px}
.analysis-line strong{display:block;font-size:.82rem;margin-bottom:3px}.analysis-line span,.analysis-line p{color:var(--muted);font-size:.75rem;line-height:1.45;margin:0}
.list-item{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.list-item h3,.list-item h4{margin:0 0 4px;font-size:.85rem}.list-item p{margin:0;color:var(--muted);font-size:.7rem;line-height:1.4}.list-actions{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.icon-btn{border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);border-radius:9px;padding:6px 8px;font-size:.68rem}.list.compact .list-item{padding:10px}
.week-bars{height:190px;display:flex;align-items:flex-end;gap:9px}.daybar{flex:1;display:grid;grid-template-rows:1fr auto auto;gap:5px;text-align:center;height:100%}.daybar .bars{display:flex;align-items:flex-end;gap:3px;background:rgba(255,255,255,.025);border-radius:10px;padding:4px}.minutes-bar,.xp-bar{width:50%;border-radius:7px 7px 3px 3px;min-height:2px}.minutes-bar{background:var(--accent)}.xp-bar{background:var(--accent2)}.daybar strong{font-size:.68rem}.daybar span{color:var(--muted);font-size:.61rem}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}label{color:var(--muted);font-size:.74rem;font-weight:800}
input,select,textarea{width:100%;border:1px solid var(--line);background:rgba(3,10,20,.72);color:var(--text);border-radius:13px;padding:11px 12px;outline:none}
input:focus,select:focus,textarea:focus{border-color:rgba(55,226,177,.65);box-shadow:0 0 0 3px rgba(55,226,177,.1)}textarea{resize:vertical;min-height:88px}
input[type=range]{padding:0;accent-color:var(--accent)}.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.check{position:relative}.check input{position:absolute;opacity:0}.check span{display:block;border:1px solid var(--line);background:rgba(255,255,255,.025);padding:9px;border-radius:11px;text-align:center;font-size:.7rem;font-weight:800;color:var(--muted)}.check input:checked+span{background:rgba(55,226,177,.12);border-color:rgba(55,226,177,.4);color:var(--text)}
.notice{padding:12px 14px;border-radius:14px;background:rgba(255,211,111,.08);border:1px solid rgba(255,211,111,.2);color:#ffe5a1;font-size:.75rem;line-height:1.5}.goodnote{background:rgba(84,214,151,.08);border-color:rgba(84,214,151,.2);color:#aaf0cc}
.inline-select{width:auto;min-width:180px}.planner{display:grid;grid-template-columns:repeat(7,1fr);gap:9px}.day-card{min-height:190px;padding:10px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.025);display:flex;flex-direction:column;gap:7px}.day-card.today{border-color:rgba(55,226,177,.55)}.day-card h3{font-size:.75rem;margin:0}.day-card small{color:var(--muted)}.plan-chip{padding:8px;border-radius:10px;background:rgba(139,164,255,.11);font-size:.66rem;line-height:1.35}.plan-chip.done{background:rgba(84,214,151,.1)}.plan-chip strong{display:block}.plan-actions{display:flex;gap:4px;margin-top:5px}.plan-actions button{font-size:.6rem;padding:3px 5px}
.quest-card{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px;background:rgba(255,255,255,.03)}.quest-card.done{opacity:.6}.quest-card h3{margin:0 0 4px;font-size:.85rem}.quest-card p{margin:0;color:var(--muted);font-size:.7rem}.xp-pill{color:var(--accent);font-weight:900;font-size:.75rem}
.campaign-card.locked{opacity:.55}.campaign-card h3{margin:0 0 4px}.campaign-card p{margin:0;color:var(--muted);font-size:.73rem}.campaign-progress{margin-top:9px}.achievement-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:14px}.achievement{padding:11px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.03)}.achievement.locked{opacity:.45}.achievement strong{display:block;font-size:.78rem}.achievement span{color:var(--muted);font-size:.67rem}
.audit-card h3{margin:0}.audit-head{display:flex;justify-content:space-between;align-items:center}.audit-sources{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:10px 0}.source-chip{border-radius:10px;background:rgba(255,255,255,.04);padding:7px;text-align:center}.source-chip strong,.source-chip span{display:block}.source-chip strong{font-size:.8rem}.source-chip span{color:var(--muted);font-size:.58rem}
.compare-list{display:grid;gap:10px}.compare-row{display:grid;grid-template-columns:120px 1fr auto;gap:10px;align-items:center}.compare-row span{font-size:.75rem}.compare-track{height:10px;border-radius:999px;background:rgba(255,255,255,.07);position:relative;overflow:hidden}.compare-track:after{content:"";position:absolute;right:0;top:0;bottom:0;width:2px;background:#fff}.compare-fill{height:100%;background:linear-gradient(90deg,var(--accent2),var(--accent))}
.button-stack{display:grid;gap:9px}.file-label{display:block;text-align:center}.file-label input{display:none}
.modal-bg{position:fixed;inset:0;z-index:60;background:rgba(1,5,12,.78);backdrop-filter:blur(12px);display:none;place-items:center;padding:16px;overflow:auto}.modal-bg.show{display:grid}.modal{width:min(760px,100%);padding:22px;max-height:92vh;overflow:auto}.small-modal{width:min(440px,100%)}.assessment-modal{width:min(850px,100%)}.modal h2{margin:7px 0}.modal-actions{display:flex;justify-content:space-between;margin-top:18px}.dots{display:flex;gap:6px;margin-bottom:18px}.dot{height:6px;flex:1;border-radius:999px;background:rgba(255,255,255,.07)}.dot.active{background:var(--accent)}.step{display:none}.step.active{display:block}.assessment-sliders{display:grid;gap:13px}.assessment-row{border:1px solid var(--line);border-radius:14px;padding:12px}.assessment-row header{display:flex;justify-content:space-between;gap:10px}.assessment-row header strong{font-size:.82rem}.assessment-row header span{font-weight:950}.assessment-row p{font-size:.7rem;color:var(--muted);margin:4px 0 10px}
.toast{position:fixed;left:50%;bottom:22px;transform:translate(-50%,120px);opacity:0;z-index:90;background:#17273a;border:1px solid var(--line);border-radius:13px;padding:11px 14px;box-shadow:var(--shadow);display:flex;align-items:center;gap:12px;transition:.22s;max-width:92vw}.toast.show{transform:translate(-50%,0);opacity:1}.toast button{border:0;background:none;color:var(--accent);font-weight:900}
.empty{padding:24px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:14px}.pill{display:inline-flex;padding:4px 7px;border-radius:999px;background:rgba(55,226,177,.12);color:#8af0d2;font-size:.62rem;font-weight:900}
@media(max-width:900px){.hero-grid,.grid2,.grid2.wide-left{grid-template-columns:1fr}.planner{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.app-shell{padding:0 11px 90px}.brand small{display:none}.top-actions .btn{padding:8px}.hero-card{grid-template-columns:1fr auto;padding:16px}.overall-ring{width:100px;height:100px}.metric-grid{grid-template-columns:repeat(2,1fr)}.rating-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.check-grid{grid-template-columns:repeat(2,1fr)}.planner{grid-template-columns:1fr}.achievement-grid{grid-template-columns:1fr}.audit-sources{grid-template-columns:repeat(2,1fr)}.section{padding:15px}.section-head{align-items:flex-start;flex-direction:column}.inline-select{width:100%}.compare-row{grid-template-columns:105px 1fr auto}}

.boss-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.boss-card{border:1px solid var(--line);border-radius:16px;padding:14px;background:rgba(255,255,255,.03)}.boss-card.defeated{opacity:.58}.boss-card h3{margin:0 0 5px;font-size:.92rem}.boss-card p{margin:3px 0;color:var(--muted);font-size:.7rem;line-height:1.42}.boss-meta{display:flex;justify-content:space-between;gap:8px;margin:10px 0;font-size:.68rem}.boss-power{color:var(--danger);font-weight:900}.counter-tag{color:var(--accent);font-weight:900}.equipment-grid{display:grid;gap:8px}.equipment-slot{border:1px solid var(--line);border-radius:13px;padding:10px;background:rgba(255,255,255,.025)}.equipment-slot strong,.equipment-slot span{display:block}.equipment-slot span{color:var(--muted);font-size:.67rem;margin-top:3px}.rarity-common{color:#c7d2df}.rarity-uncommon{color:#72e6b8}.rarity-rare{color:#8ba4ff}.rarity-epic{color:#d28bff}.measure-tag{display:inline-flex;margin-top:5px;padding:3px 6px;border-radius:999px;background:rgba(55,226,177,.09);color:#91f0d4;font-size:.6rem;font-weight:850}
@media(max-width:720px){.boss-grid{grid-template-columns:1fr}}
