:root{--bg: #0b0f1a;--fg: #e2f0ff;--accent: #00ff9c;--accent2: #00e0ff;--muted: #9aa3b2;--danger: #ff4d6d}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Open Sans,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:radial-gradient(circle at 20% 20%,#0d1327,#060913 60%);background-attachment:fixed;color:var(--fg)}.crt{position:relative;min-height:100%}.crt:after{content:"";pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.03) 0,rgba(255,255,255,.03) 2px,transparent 2px,transparent 4px);mix-blend-mode:overlay}.container{max-width:1100px;margin:0 auto;padding:24px}.navbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:12px 24px;border-bottom:1px solid rgba(255,255,255,.15);background:#060913b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.navbar .brand{font-family:"Press Start 2P",cursive;color:var(--accent);letter-spacing:1px}.navbar nav{display:flex;gap:18px}.navbar a{color:var(--fg);text-decoration:none;padding:6px 10px;border:1px solid transparent;border-radius:6px}.navbar a:hover{border-color:#ffffff26}.navbar a.active{color:#001218;background:linear-gradient(90deg,var(--accent),var(--accent2));text-shadow:none}.navbar-toggle{display:none;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:8px;cursor:pointer;flex-direction:column;gap:4px}.navbar-toggle-bar{display:block;width:22px;height:2px;background:var(--fg)}h1{font-family:"Press Start 2P",cursive;letter-spacing:.5px;line-height:1.25}h2,h3{font-family:inherit;letter-spacing:.5px;line-height:1.25}.lead{color:var(--muted);font-size:1.4rem}.muted{color:var(--muted)}.cta-row{display:flex;gap:16px;margin:16px 0 8px}.btn{display:inline-block;color:#001218;background:linear-gradient(90deg,var(--accent),var(--accent2));text-decoration:none;padding:10px 14px;border-radius:8px;font-weight:700}.btn{border:none;cursor:pointer;font:inherit}.btn:hover{filter:brightness(1.1)}.btn:disabled{opacity:.65;cursor:not-allowed;filter:none}.home-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:center}.home-image img{width:100%;height:auto;border-radius:16px;border:1px solid rgba(255,255,255,.1);box-shadow:0 10px 30px #00000059}.lo-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;list-style:none;padding:0}.lo-card{border:1px solid rgba(255,255,255,.15);padding:16px;border-radius:10px;background:#0c101c99}.lo-card h3 a{color:var(--fg);text-decoration:none}.lo-card h3 a:hover{color:var(--accent)}.module-list{list-style:none;padding:0;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.module-card{border:1px solid rgba(255,255,255,.15);padding:16px;border-radius:10px;background:#0c101c99}.module-card h3 a{color:var(--fg);text-decoration:none}.module-card h3 a:hover{color:var(--accent2)}.footer{margin-top:40px;padding:24px;text-align:center;color:var(--muted);border-top:1px solid rgba(255,255,255,.1)}.footer a{color:var(--accent2);text-decoration:underline}.footer a:hover{color:var(--accent)}.resources{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px}.resource{border:1px solid rgba(255,255,255,.15);padding:12px;border-radius:10px;background:#0c101c99}.resource .resource-main{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.resource a{color:var(--fg);text-decoration:none}.resource a:hover{color:var(--accent)}.badge{display:inline-block;border:1px solid rgba(255,255,255,.2);padding:2px 8px;border-radius:999px;font-size:.9rem;color:var(--muted)}.badge.type{border-color:var(--accent);color:var(--accent)}.badge.duration{border-color:var(--accent2);color:var(--accent2)}.badge.lo{border-color:#f7cf00;color:#f7cf00;cursor:help}.badge.lo:hover{background:#f7cf001a}.resource.required{box-shadow:inset 0 0 0 1px #00ff9c26}.resource.optional{opacity:.95}.badge.module{border-color:#ffffff40;color:var(--fg)}.badge.req{border-color:#ffffff40}.badge.req.required{border-color:var(--accent);color:var(--accent)}.badge.req.optional{border-color:#888;color:#bbb}.notes{color:var(--muted);margin-top:4px}.tooltip{position:relative;display:inline-block;padding:2px 8px 2px 0}.tooltip-content{position:absolute;left:50%;transform:translate(-50%) translateY(-8px);bottom:100%;white-space:normal;background:#0b0f1a;color:var(--fg);border:1px solid rgba(255,255,255,.2);padding:6px 8px;border-radius:6px;z-index:20;width:max-content;max-width:300px}.tabs{margin:24px 0;border-bottom:1px solid rgba(255,255,255,.15)}.tab-buttons{display:flex;gap:8px;flex-wrap:wrap}.tab-button{display:inline-block;padding:12px 16px;color:var(--fg);text-decoration:none;border:none;border-bottom:2px solid transparent;background:transparent;cursor:pointer;font-family:inherit;font-weight:600;transition:all .2s ease}.tab-button:hover{color:var(--accent);border-bottom-color:#00ff9c4d}.tab-button.active{color:var(--accent);border-bottom-color:var(--accent)}.markdown-content{line-height:1.6}.markdown-content h1,.markdown-content h2,.markdown-content h3{margin:24px 0 12px}.markdown-content p{margin:12px 0}.markdown-content ul,.markdown-content ol{margin:12px 0;padding-left:24px}.markdown-content li{margin:6px 0}.markdown-content code{background:#00ff9c1a;color:var(--accent);padding:2px 6px;border-radius:4px;font-family:Courier New,monospace}.markdown-content pre{background:#0c101ccc;border:1px solid rgba(255,255,255,.1);padding:12px;border-radius:6px;overflow-x:auto}.markdown-content pre code{background:none;color:var(--fg);padding:0}.markdown-content a{color:var(--accent2);text-decoration:underline}.markdown-content a:hover{color:var(--accent)}.markdown-content hr{border:none;border-top:1px solid rgba(255,255,255,.15);margin:24px 0}@media (max-width: 1000px){.navbar{flex-wrap:wrap;gap:12px}.navbar-toggle{display:inline-flex;align-items:center;justify-content:center}.navbar nav{width:100%;display:none;flex-direction:column;gap:8px;padding:8px 0 4px}.navbar.open nav{display:flex}.navbar a{padding:10px 12px;border-radius:8px}}@media (max-width: 640px){.navbar nav{gap:10px}.btn{width:100%;text-align:center}.cta-row{flex-direction:column}.tab-buttons{gap:4px}.tab-button{padding:10px 12px;font-size:.9rem}.home-hero{grid-template-columns:1fr}}
