:root{--bg: hsl(0 0% 100%);--bg2: hsl(0 0% 98%);--panel: hsl(0 0% 100%);--text: hsl(0 0% 3.9%);--muted: hsl(0 0% 45.1%);--border: hsl(0 0% 89.8%);--shellBg: #2a0637;--shadow: 0 8px 20px rgba(0, 0, 0, .08);--shadow2: 0 18px 46px rgba(0, 0, 0, .18);--primary: hsl(0 0% 9%);--primaryText: hsl(0 0% 98%);--radius: 16px;--radius-sm: 12px;--sidebarBg: hsl(0 0% 98%);--sidebarBorder: hsl(220 13% 91%);--accent: hsl(0 0% 96.1%);--accent2: hsl(240 4.8% 95.9%);--ok: hsl(160 60% 45%);--warn: hsl(27 87% 67%);--focus: hsla(0 0% 3.9% / .18);color-scheme:light;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji"}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--shellBg);color:var(--text)}a{color:inherit;text-decoration:none}.layout{height:100vh;display:flex;position:relative;gap:14px;padding:14px}@media (max-width: 900px){.layout{padding:0;gap:0}}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000038;z-index:40}.sidebar{width:292px;background:#fffffff5;border:1px solid rgba(255,255,255,.35);display:flex;flex-direction:column;justify-content:space-between;padding:18px;gap:16px;z-index:50;border-radius:var(--radius);box-shadow:var(--shadow2)}.sidebar.is-collapsed{width:88px}.sidebar.is-collapsed .brand__text,.sidebar.is-collapsed .nav__item span:last-child,.sidebar.is-collapsed .sidebar__bottom .muted{display:none}@media (max-width: 900px){.sidebar{position:fixed;top:0;bottom:0;left:0;transform:translate(-102%);box-shadow:var(--shadow2);border-radius:0;border:0}.sidebar.is-open{transform:translate(0)}}.sidebar__top{display:flex;flex-direction:column;gap:18px}.brand{display:flex;align-items:center;gap:12px}.brand__mark{width:44px;height:44px;border-radius:16px;background:linear-gradient(135deg,#6d28d9,#2a0637);color:var(--primaryText);display:grid;place-items:center;font-weight:900;letter-spacing:.02em}.brand__name{font-weight:800;line-height:1.15}.brand__sub{font-size:12px;color:var(--muted);margin-top:2px}.nav{display:flex;flex-direction:column;gap:6px}.nav__item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid transparent;transition:background .12s ease,border-color .12s ease}.nav__item:hover{background:var(--accent2);border-color:var(--border)}.nav__item.is-active{background:var(--panel);border-color:var(--border);box-shadow:0 1px #0000000a}.nav__icon{width:18px;height:18px;color:#0000008c;flex:none}.nav__icon svg{width:18px;height:18px}.main{flex:1;display:flex;flex-direction:column;min-width:0;background:#fffffffa;border-radius:var(--radius);box-shadow:var(--shadow2);overflow:hidden}@media (max-width: 900px){.main{border-radius:0;box-shadow:none}}.topbar{height:56px;background:#fffffffa;border-bottom:1px solid rgba(0,0,0,.08);display:flex;align-items:center;justify-content:space-between;padding:0 18px;gap:12px}.topbar__left{display:flex;align-items:center;gap:12px;min-width:0}.topbar__actions{display:flex;align-items:center;gap:10px}.crumbs{display:flex;gap:10px;align-items:center;font-size:14px;color:var(--muted);min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.crumb{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:10px;border:1px solid transparent;color:inherit;transition:background .12s ease,border-color .12s ease}.crumb:hover{background:var(--accent2);border-color:#00000014}.crumb.is-active{background:transparent;border-color:transparent}.crumbs strong{color:var(--text);font-weight:750}.chip{padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:var(--panel);font-size:12px;color:var(--muted)}.content{padding:18px;overflow:auto;background:var(--accent2)}.container{max-width:1120px;margin:0 auto}.container--wide{max-width:1240px}.page{animation:fadein .18s ease-out}@keyframes fadein{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.pagegrid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:start}.pagegrid.rail-collapsed{grid-template-columns:minmax(0,1fr) 20px}@media (max-width: 1100px){.pagegrid,.pagegrid.rail-collapsed{grid-template-columns:minmax(0,1fr)}.rail{position:static;height:auto}.rail__handle{display:none}}.sidepanel{position:sticky;top:14px}.sidepanel__title{display:flex;align-items:center;justify-content:space-between;gap:12px}.divider{height:1px;background:var(--border);margin:12px 0}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 1px #0000000a;padding:16px}.header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.h1{font-size:22px;font-weight:900;margin:0;letter-spacing:-.01em}.lead{margin:8px 0 0;color:var(--muted)}.section{margin-top:14px}.grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:14px}@media (min-width: 900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.card__title{font-weight:850;font-size:16px;margin:0 0 10px}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:#fcfcfc;cursor:pointer;transition:background .12s ease,transform .12s ease}.item--stack{flex-direction:column;align-items:stretch;gap:8px}.item__row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.item:hover{background:var(--accent);transform:translateY(-1px)}.item.is-static{cursor:default}.item.is-static:hover{transform:none}.pills{display:flex;gap:8px;flex-wrap:wrap}.pill{width:30px;height:30px;border-radius:10px;border:1px solid var(--border);background:var(--panel);cursor:pointer;transition:background .12s ease,border-color .12s ease}.pill:hover{background:var(--accent2);border-color:#00000026}.pill.is-selected{outline:3px solid rgba(34,84,255,.18);outline-offset:2px}.list--tight{gap:6px}.callout{border:1px dashed var(--border);border-radius:14px;padding:12px;background:#fcfcfc}.details{margin-top:10px}.details__summary{cursor:pointer;font-weight:850;color:var(--brand);list-style:none}.details__summary::-webkit-details-marker{display:none}.details__body{margin-top:8px;white-space:pre-wrap;color:#000000d1;background:var(--accent2);border:1px solid var(--border);border-radius:12px;padding:10px 12px}.rail{position:sticky;top:14px;align-self:start;height:calc(100vh - 84px);background:#fffffffa;border:1px solid rgba(0,0,0,.08);border-radius:var(--radius);box-shadow:0 1px #0000000a;overflow:hidden;transition:transform .22s ease}.rail.is-collapsed{transform:translate(calc(100% - 14px))}.rail.is-collapsed .rail__header,.rail.is-collapsed .rail__body,.rail.is-collapsed .divider{opacity:0;pointer-events:none}.rail__handle{position:absolute;left:-14px;top:50%;transform:translateY(-50%);width:14px;height:42px;border-radius:12px 0 0 12px;border:1px solid rgba(0,0,0,.08);border-right:0;background:#fffffffa;cursor:pointer;display:grid;place-items:center}.rail__bar{width:2px;height:18px;background:#00000047;border-radius:999px}.rail__header{padding:14px 14px 10px;border-bottom:1px solid rgba(0,0,0,.08);transition:opacity .18s ease}.rail__title{font-weight:900;font-size:14px}.rail__body{display:flex;flex-direction:column;gap:10px;max-height:100%;overflow:auto;padding:12px 12px 14px;transition:opacity .18s ease}.rail__topic{border:1px solid var(--border);border-radius:14px;background:#fcfcfc}.rail__topicbtn{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;border:0;border-radius:14px;background:transparent;cursor:pointer;font:inherit;color:inherit}.rail__topicbtn:hover{background:var(--accent)}.rail__topicname{font-weight:850;font-size:13px;text-align:left;line-height:1.2}.rail__units{display:none;padding:0 10px 10px;gap:8px}.rail__units.is-open{display:flex;flex-direction:column}.rail__unit{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;border:1px solid var(--border);background:var(--panel);cursor:pointer;font:inherit;color:inherit;text-align:left;transition:background .12s ease,transform .12s ease}.rail__unit:hover{background:var(--accent2);transform:translateY(-1px)}.rail__unit.is-active{outline:3px solid rgba(34,84,255,.18);outline-offset:2px}.rail__unitname{font-weight:800;font-size:12px;line-height:1.2}.unitnodes{display:flex;gap:10px;flex-wrap:wrap}.unitnode{width:30px;height:30px;border-radius:10px;border:1px solid var(--border);background:#fcfcfc;cursor:pointer;transition:background .12s ease,transform .12s ease,border-color .12s ease;display:inline-grid;place-items:center;position:relative}.unitnode__num{font-weight:900;font-size:12px;color:#0000008c}.unitnode:hover{background:var(--accent);border-color:#0000002e;transform:translateY(-1px)}.unitnode:hover .unitnode__num{color:#000000b8}.unitnode:after{content:attr(data-tip);position:absolute;left:0;top:36px;z-index:10;display:none;white-space:nowrap;max-width:420px;overflow:hidden;text-overflow:ellipsis;padding:8px 10px;border-radius:12px;border:1px solid rgba(0,0,0,.08);background:#fffffffa;box-shadow:var(--shadow);color:#000000d9;font-size:12px}.unitnode:hover:after{display:block}.unitbtn{display:inline-flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--panel);cursor:pointer;transition:background .12s ease,transform .12s ease}.unitbtn:hover{background:var(--accent);transform:translateY(-1px)}.unitbtn__dot{width:10px;height:10px;border-radius:999px;background:#00000014;border:1px solid rgba(0,0,0,.14)}.unitbtn__meta{display:flex;flex-direction:column;gap:2px;text-align:left}.unitbtn__name{font-weight:800;font-size:13px;line-height:1.15}.unitbtn__sub{font-size:12px;color:var(--muted)}.legend{display:flex;gap:12px;flex-wrap:wrap;align-items:center;color:var(--muted);font-size:12px}.legend__item{display:inline-flex;align-items:center;gap:8px}.dot{width:12px;height:12px;border-radius:999px;background:transparent;border:2px solid rgba(0,0,0,.25)}.dot.ok{border-color:#00000026;background:#15803d33}.dot.warn{border-color:#00000026;background:#ea580c40}.dot.neutral{background:#0000000f;border-color:#0000001f}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:10px 12px;border:1px solid var(--border);background:var(--primary);color:var(--primaryText);cursor:pointer;font-weight:750}.btn--ghost,.btn--outline{background:transparent;color:var(--text)}.btn:focus{outline:3px solid var(--focus);outline-offset:2px}.iconbtn{width:38px;height:38px;border-radius:12px;border:1px solid var(--border);background:var(--panel);cursor:pointer;display:inline-grid;place-items:center}.icon{width:18px;height:18px;color:#000000b3}.icon svg{width:18px;height:18px}@media (min-width: 901px){#mobileNav{display:none}}.video{width:100%;border-radius:var(--radius);border:1px solid var(--border);background:#000;aspect-ratio:16 / 9}.tabs{display:flex;gap:8px;flex-wrap:wrap;padding:8px;background:var(--accent2);border:1px solid var(--border);border-radius:14px}.tab{border:1px solid transparent;background:transparent;padding:10px 12px;border-radius:12px;cursor:pointer;font-weight:750;color:#000000b3}.tab.is-active{background:var(--panel);border-color:var(--border);color:var(--text)}.input{width:100%;border-radius:12px;border:1px solid var(--border);padding:10px 12px;background:var(--panel);font:inherit}.kbd{border:1px solid var(--border);background:var(--panel);border-radius:8px;padding:2px 6px;font-size:12px;color:var(--muted)}.muted{color:var(--muted)}.small{font-size:12px}.skeleton{border:1px solid var(--border);background:var(--panel);border-radius:var(--radius);padding:16px;max-width:720px}.skeleton__title,.skeleton__line{background:linear-gradient(90deg,#0000000f,#00000005,#0000000f);background-size:200% 100%;animation:shimmer 1.2s ease-in-out infinite;border-radius:10px}.skeleton__title{height:18px;width:45%;margin-bottom:12px}.skeleton__line{height:12px;width:85%;margin-top:10px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.toast{position:fixed;left:50%;bottom:18px;transform:translate(-50%);background:#ffffffeb;border:1px solid var(--border);box-shadow:var(--shadow2);border-radius:14px;padding:10px 12px;font-size:13px;color:#000c;z-index:60}
