:root{color-scheme:dark;--bg:#07111f;--panel:#0e1b2c;--panel2:#12243a;--line:#243b55;--text:#edf5ff;--muted:#9fb1c6;--accent:#5de0c4;--blue:#6ba7ff;--warn:#ffd166;--bad:#ff7b8a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 15% 0,#102b43 0,transparent 35%),var(--bg);color:var(--text);min-height:100vh}.topbar{height:64px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,5vw,72px);position:sticky;top:0;background:rgba(7,17,31,.9);backdrop-filter:blur(14px);z-index:5}.brand{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font-weight:750}.brand span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--accent);color:#06151a}.topbar nav{display:flex;gap:8px}.topbar nav a,.back{color:var(--muted);text-decoration:none;padding:9px 12px;border-radius:10px}.topbar nav a:hover,.back:hover{background:var(--panel);color:var(--text)}main{width:min(1260px,calc(100% - 32px));margin:0 auto 72px}.hero{padding:72px 0 36px;max-width:820px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--accent);font-weight:700;font-size:.75rem}.hero h1{font-size:clamp(2.25rem,6vw,4.8rem);line-height:.98;letter-spacing:-.055em;margin:14px 0 18px}.hero>p:not(.eyebrow){color:var(--muted);font-size:1.12rem;max-width:680px}.search{margin-top:30px;display:flex;align-items:center;gap:10px;background:#fff;border-radius:18px;padding:0 16px;color:#52657a;box-shadow:0 20px 60px rgba(0,0,0,.24)}.search input{width:100%;height:58px;border:0;outline:0;font-size:1rem;background:transparent;color:#132234}.summary{margin-top:18px;color:var(--muted);font-size:.92rem}.group{margin:34px 0}.group-header{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:16px}.group h2{margin:0;font-size:1.15rem;letter-spacing:.04em}.group-count{color:var(--muted);font-size:.85rem}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.module-card{min-height:235px;padding:20px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(18,36,58,.94),rgba(10,25,42,.96));display:flex;flex-direction:column;transition:transform .15s,border-color .15s}.module-card:hover{transform:translateY(-2px);border-color:#416487}.card-head{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.module-card.preview .status-dot{background:var(--warn)}.module-card.legacy .status-dot{background:#8594a7}.module-card h3{font-size:1.25rem;margin:16px 0 8px}.description{color:var(--muted);line-height:1.5;margin:0 0 14px}.capabilities{display:flex;flex-wrap:wrap;gap:5px;margin:auto 0 16px}.capabilities span{font-size:.68rem;color:#b9d7f9;background:#152d47;border:1px solid #274763;padding:4px 7px;border-radius:999px}.open{color:var(--accent);font-weight:700;text-decoration:none}.detail-view{padding:42px 0}.detail-card{margin-top:22px;background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:clamp(22px,4vw,44px)}.detail-card h1{font-size:clamp(2rem,5vw,3.5rem);margin:.2em 0}.detail-card .lead{font-size:1.15rem;color:var(--muted);max-width:780px;line-height:1.55}.meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:28px 0}.meta div{background:var(--panel2);border-radius:12px;padding:14px}.meta span{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase;margin-bottom:6px}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.details-grid section{border-top:1px solid var(--line);padding-top:18px}.details-grid h2{font-size:1rem}.details-grid ul{padding-left:20px;color:var(--muted);line-height:1.7}.route-button{display:inline-flex;margin-top:22px;background:var(--accent);color:#06151a;text-decoration:none;padding:11px 16px;border-radius:11px;font-weight:750}.empty{padding:40px;border:1px dashed var(--line);border-radius:18px;color:var(--muted)}@media(max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.meta{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.topbar nav a:nth-child(2){display:none}.hero{padding-top:44px}.grid,.details-grid{grid-template-columns:1fr}.module-card{min-height:210px}.topbar{padding:0 14px}main{width:min(100% - 22px,1260px)}}
