*{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#0b1526;--bg2:#101d33;--panel:#152541;--line:#24375a;--line2:#31487a;
  --ink:#e9eef8;--ink2:#a9b7d3;--mute:#6f7fa3;
  --gold:#d9b25a;--gold2:#f0cf7d;--red:#d64545;--green:#43b87a;--amber:#e0a63a;--blue:#4f8ff7;
  --serif:'Golos Text',Arial,sans-serif;
}
html,body{height:100%;overflow:hidden;background:var(--bg);color:var(--ink);font-family:var(--serif);font-size:15px;line-height:1.55}
body{position:fixed;inset:0;display:grid;grid-template-rows:64px 1fr 34px}
p,li,dd{text-align:justify}
a{color:var(--gold2);text-decoration:none}
button{font-family:inherit;cursor:pointer}
/* ---- header ---- */
header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 24px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#0e1a30,#0b1526)}
.brand{display:flex;align-items:center;gap:14px}
.brand .emb{width:38px;height:38px;border-radius:50%;border:2px solid var(--gold);display:grid;place-items:center;font-weight:700;color:var(--gold);font-size:12px;letter-spacing:.05em}
.brand b{display:block;font-size:15px;letter-spacing:.08em;text-transform:uppercase}
.brand small{display:block;font-size:11px;color:var(--ink2);letter-spacing:.12em;text-transform:uppercase}
nav{display:flex;gap:4px}
nav button{background:none;border:1px solid transparent;color:var(--ink2);padding:8px 10px;border-radius:6px;font-size:12.5px;letter-spacing:.02em;white-space:nowrap}
nav button:hover{color:var(--ink);border-color:var(--line2)}
nav button.on{color:var(--gold2);border-color:var(--gold);background:rgba(217,178,90,.08)}
/* ---- main ---- */
main{position:relative;overflow:hidden}
.page{position:absolute;inset:0;display:none;overflow:auto;padding:28px 32px}
.page.on{display:block}
.page::-webkit-scrollbar{width:8px}.page::-webkit-scrollbar-thumb{background:var(--line2);border-radius:4px}
h1{font-size:30px;font-weight:700;letter-spacing:-.01em;line-height:1.15}
h2{font-size:18px;font-weight:700;margin-bottom:10px;color:var(--gold2)}
h3{font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);margin-bottom:8px}
.lead{color:var(--ink2);max-width:900px;margin-top:8px}
.grid{display:grid;gap:18px}
.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px 20px}
.card.gold{border-color:var(--gold);background:linear-gradient(180deg,rgba(217,178,90,.10),rgba(217,178,90,.03))}
.tag{display:inline-block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;border-radius:4px;border:1px solid var(--line2);color:var(--ink2);margin-right:6px}
.tag.gold{border-color:var(--gold);color:var(--gold2)}
.tag.red{border-color:var(--red);color:#ff8a8a}.tag.green{border-color:var(--green);color:#7fe0aa}.tag.amber{border-color:var(--amber);color:#ffd27a}
footer{display:flex;align-items:center;justify-content:space-between;padding:0 32px;font-size:11px;color:var(--mute);border-top:1px solid var(--line);letter-spacing:.06em}
/* ---- home cascade ---- */
.cascade{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;height:100%}
.root{position:relative}
.root .mission{font-size:16.5px;line-height:1.6}
.chain{display:flex;flex-direction:column;gap:0}
.chain .node{position:relative;padding:12px 16px 12px 44px;border:1px solid var(--line);border-radius:8px;background:var(--panel);margin-bottom:10px}
.chain .node:before{content:'';position:absolute;left:18px;top:-11px;bottom:-11px;width:2px;background:var(--line2)}
.chain .node:first-child:before{top:50%}.chain .node:last-child:before{bottom:50%}
.chain .node:after{content:'';position:absolute;left:12px;top:50%;width:14px;height:14px;border-radius:50%;background:var(--bg);border:2px solid var(--gold);transform:translateY(-50%)}
.chain .node b{display:block;font-size:13px;color:var(--gold2);letter-spacing:.04em}
.chain .node span{font-size:13px;color:var(--ink2)}
.stats{display:flex;gap:26px;margin-top:14px}
.stats div b{display:block;font-size:26px;color:var(--gold2)}
.stats div span{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute)}
ol.tight,ul.tight{padding-left:20px}ol.tight li,ul.tight li{margin-bottom:6px}
/* ---- builder ---- */
.builder{display:grid;grid-template-columns:1.25fr .95fr;gap:22px;height:100%}
.bcol{overflow:auto;padding-right:6px}
.bcol::-webkit-scrollbar{width:8px}.bcol::-webkit-scrollbar-thumb{background:var(--line2);border-radius:4px}
label.f{display:block;margin-bottom:14px}
label.f b{display:flex;justify-content:space-between;font-size:13px;color:var(--gold2);margin-bottom:4px}
label.f b em{font-style:normal;color:var(--mute);font-weight:400;font-size:11px}
label.f small{display:block;color:var(--mute);font-size:12px;margin-bottom:6px;text-align:justify}
textarea,input[type=text],select{width:100%;background:#0d1a2e;border:1px solid var(--line2);border-radius:6px;color:var(--ink);padding:9px 11px;font-family:inherit;font-size:14px;line-height:1.5}
textarea{min-height:64px;resize:vertical}
textarea:focus,input:focus,select:focus{outline:none;border-color:var(--gold)}
.cnt{font-size:11px;color:var(--mute);text-align:right;margin-top:3px}
.cnt.bad{color:#ff8a8a}
.anchors{display:grid;gap:6px;margin-bottom:14px}
.anchors label{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:var(--ink2);padding:6px 9px;border:1px solid var(--line);border-radius:6px;cursor:pointer;text-align:justify}
.anchors label:hover{border-color:var(--line2)}
.anchors input{margin-top:4px;accent-color:var(--gold)}
.anchors label.on{border-color:var(--gold);color:var(--ink);background:rgba(217,178,90,.06)}
.anchors .src{color:var(--mute);font-size:11px;margin-left:auto;white-space:nowrap}
.btn{background:var(--gold);color:#1b1503;border:0;border-radius:6px;padding:10px 18px;font-weight:700;font-size:13px;letter-spacing:.04em}
.btn.ghost{background:none;border:1px solid var(--line2);color:var(--ink2)}
.btn.ghost:hover{border-color:var(--gold);color:var(--gold2)}
.bar{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 16px}
/* ---- checker ---- */
.score{display:flex;align-items:center;gap:18px;margin-bottom:14px}
.ring{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;font-size:24px;font-weight:700;background:conic-gradient(var(--c,#43b87a) calc(var(--p,0)*1%),#1c2d4d 0);position:relative}
.ring:after{content:'';position:absolute;inset:8px;border-radius:50%;background:var(--panel)}
.ring span{position:relative;z-index:1}
.verdict b{display:block;font-size:17px}.verdict span{color:var(--ink2);font-size:13px}
.checks{display:grid;gap:7px}
.chk{display:grid;grid-template-columns:22px 1fr;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;font-size:13px;align-items:start}
.chk i{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:700;margin-top:2px}
.chk.ok i{background:var(--green);color:#03170b}.chk.warn i{background:var(--amber);color:#2a1a00}.chk.bad i{background:var(--red);color:#fff}
.chk b{display:block;color:var(--ink)}.chk span{color:var(--ink2);display:block;text-align:justify}.chk small{color:var(--mute);font-size:11px}
.links{display:grid;gap:6px;margin-top:12px}
.links div{font-size:12.5px;padding:7px 10px;border-left:3px solid var(--gold);background:rgba(217,178,90,.06);border-radius:0 6px 6px 0;text-align:justify}
.links div b{color:var(--gold2)}
/* ---- registry ---- */
.reg{display:grid;grid-template-columns:300px 1fr;gap:22px;height:100%}
.reg .list{overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.reg .list h4{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);padding:10px 14px 4px;position:sticky;top:0;background:var(--panel)}
.reg .list div.o{padding:7px 14px;font-size:13px;cursor:pointer;display:flex;justify-content:space-between;gap:8px;border-left:3px solid transparent}
.reg .list div.o:hover{background:rgba(255,255,255,.03)}
.reg .list div.o.on{border-left-color:var(--gold);background:rgba(217,178,90,.08)}
.dot{width:9px;height:9px;border-radius:50%;background:var(--line2);flex:none;margin-top:6px}
.dot.g{background:var(--green)}.dot.a{background:var(--amber)}.dot.r{background:var(--red)}
.tree{overflow:auto}
.tnode{border:1px solid var(--line);border-radius:8px;padding:12px 16px;margin:0 0 10px 0;background:var(--panel)}
.tnode.root{border-color:var(--gold);background:linear-gradient(180deg,rgba(217,178,90,.12),rgba(217,178,90,.03))}
.tnode b{display:block;color:var(--gold2);font-size:13px;margin-bottom:4px}
.tnode p{font-size:13px;color:var(--ink2)}
.tnode .arrow{font-size:11px;color:var(--mute);letter-spacing:.08em;text-transform:uppercase;margin-top:6px}
.sub{margin-left:26px;border-left:2px solid var(--line2);padding-left:16px}
.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl th{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--mute);text-align:left;padding:8px;border-bottom:1px solid var(--line)}
.tbl td{padding:8px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
.tbl td.j{text-align:justify}
/* ---- intl ---- */
.intl .card{display:grid;grid-template-columns:110px 1fr;gap:14px}
.intl .c{font-weight:700;color:var(--gold2)}.intl .c small{display:block;font-weight:400;color:var(--mute);font-size:11px}
.intl q{display:block;font-style:italic;color:var(--ink);margin-bottom:6px;text-align:justify}
.intl .note{font-size:12.5px;color:var(--ink2);text-align:justify}
.phase{display:grid;grid-template-columns:54px 1fr;gap:14px}
.phase .n{font-size:30px;font-weight:700;color:var(--gold)}
.phase .out{font-size:12px;color:var(--gold2);margin-top:6px}
.kbd{font-size:11px;color:var(--mute)}
@media print{body{position:static;display:block;background:#fff;color:#000}header,footer,nav,.bar{display:none}.page{position:static;display:none}.page.on{display:block}.card{border-color:#999;background:#fff}}
@media (max-width:1000px){.cascade,.builder,.reg,.g2,.g3{grid-template-columns:1fr}}

/* ---- нягтлалын табууд, зөвлөмж, үзүүлэлт ---- */
.help{font-size:12.5px;color:var(--ink2);border-left:3px solid var(--line2);padding:6px 10px;margin-bottom:12px;text-align:justify;background:rgba(255,255,255,.02)}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:12px}
.tabs button{background:none;border:0;border-bottom:2px solid transparent;color:var(--ink2);padding:8px 12px;font-size:13px}
.tabs button.on{color:var(--gold2);border-bottom-color:var(--gold)}
.cnt-b{display:inline-block;min-width:18px;padding:0 5px;border-radius:9px;background:var(--line2);color:var(--ink);font-size:11px;text-align:center}
.tp{display:none}.tp.on{display:block}
.adv{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin-bottom:8px}
.adv.p1{border-left:4px solid var(--red)}.adv.p2{border-left:4px solid var(--amber)}.adv.p3{border-left:4px solid var(--blue)}
.adv b{display:block;font-size:13.5px}.adv .why{font-size:12px;color:var(--mute);text-align:justify}.adv .how{font-size:13px;color:var(--ink2);margin-top:4px;text-align:justify}
.adv button{margin-top:6px;font-size:12px;padding:5px 10px}
.kpi table{width:100%;border-collapse:collapse;font-size:12px}
.kpi th{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);text-align:left;padding:6px 6px;border-bottom:1px solid var(--line)}
.kpi td{padding:6px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
.kpi .kt{font-size:10px;color:var(--gold2);white-space:nowrap}
.glos dt{color:var(--gold2);font-weight:700;margin-top:10px;font-size:13px}.glos dd{font-size:12.5px;color:var(--ink2)}
.vars .v{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin-bottom:8px;font-size:13px}
.vars .v b{color:var(--gold2);display:block;font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.vars .v p{margin:4px 0}
[title]{cursor:help}

/* ---- нэвтрэлт, AI ---- */
.auth{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--ink2)}
.auth input{width:120px;background:#0d1a2e;border:1px solid var(--line2);border-radius:6px;color:var(--ink);padding:6px 9px;font-family:inherit;font-size:12px}
.auth .btn{padding:6px 12px;font-size:12px}
.auth .who{color:var(--gold2);font-weight:700}
.btn.ai{background:linear-gradient(120deg,#4f8ff7,#8b5cff);color:#fff}
.btn.ai:disabled{opacity:.5;cursor:wait}
.aibox{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin-bottom:8px;font-size:13px}
.aibox b{color:var(--gold2);display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px}
.aibox p{margin:3px 0;color:var(--ink2)}.aibox .txt{color:var(--ink)}
.aibox button{margin-top:6px;font-size:12px;padding:5px 10px}
.aibox .bad{color:#ff8a8a}.aibox .ok{color:#7fe0aa}
.acc{display:grid;grid-template-columns:1fr auto auto;gap:6px;align-items:center;font-size:12.5px;padding:5px 0;border-bottom:1px solid var(--line)}
.pw{font-family:ui-monospace,monospace;background:#0d1a2e;padding:2px 8px;border-radius:4px;color:var(--gold2)}

/* ---- зангилааны түвшин ---- */
.anchors label.must{border-color:var(--gold);background:rgba(217,178,90,.10)}
.anchors label.best{border-color:#4f8ff7}
.anchors label.best.on{background:rgba(79,143,247,.10)}
.anchors .lvl{font-size:10px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;padding:1px 6px;border-radius:3px;align-self:flex-start}
.anchors label.must .lvl{background:var(--gold);color:#1b1503}
.anchors label.best .lvl{background:#4f8ff7;color:#fff}
.anchors .why{font-style:normal;color:var(--mute);font-size:12px}
.anchors input:disabled{opacity:.8}
.tag.blue{border-color:#4f8ff7;color:#8fb8ff}
