a { color: inherit; }
button, input, select, textarea { font: inherit; }
.small-icon { font-size: .75em; margin-left: 3px; }
.user-link { display:flex; flex-direction:column; align-items:flex-end; text-decoration:none; line-height:1.25; max-width:220px; }
.user-name { max-width:220px; overflow:hidden; text-overflow:ellipsis; }
.mini-btn,.link-button { border:1px solid rgba(255,255,255,.15); color:#fff; background:rgba(255,255,255,.08); padding:7px 12px; border-radius:8px; text-decoration:none; cursor:pointer; white-space:nowrap; }
.mini-btn:hover,.link-button:hover { background:rgba(255,255,255,.14); }
.mini-btn.ghost { background:transparent; }
.toast { position:fixed; z-index:300; top:92px; left:50%; transform:translateX(-50%); background:#13241d; border:1px solid #2f9e67; color:#d5ffea; padding:10px 18px; border-radius:10px; box-shadow:0 10px 30px #0008; }
.auth-page { min-height:100vh; padding:130px 20px 60px; display:grid; place-items:center; }
.auth-card { width:min(460px,100%); padding:38px; background:rgba(16,21,35,.94); border:1px solid rgba(255,255,255,.1); border-radius:18px; box-shadow:0 24px 80px rgba(0,0,0,.35); }
.auth-card h1 { font-size:2rem; margin:5px 0 8px; }
.auth-card>p,.panel>p { color:var(--text-muted); margin-bottom:24px; }
.eyebrow { color:#6da8ff; font-size:.77rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.stack-form { display:grid; gap:16px; }
.stack-form label { display:grid; gap:7px; color:#dce5f2; font-size:.92rem; font-weight:600; }
.stack-form input,.stack-form select,.stack-form textarea,.field-input { width:100%; border:1px solid rgba(255,255,255,.13); border-radius:9px; background:#0b1020; color:#fff; padding:11px 12px; outline:none; }
.stack-form input:focus,.stack-form select:focus,.stack-form textarea:focus,.field-input:focus { border-color:#4f9cff; box-shadow:0 0 0 3px rgba(79,156,255,.12); }
.primary-button { border:0; border-radius:9px; background:#2676e8; color:#fff; font-weight:700; padding:12px 18px; cursor:pointer; text-align:center; text-decoration:none; }
.primary-button:hover { background:#3486f7; }
.primary-button.inline { display:inline-block; margin-top:8px; }
.form-foot { text-align:center; margin:22px 0 0!important; }.form-foot a,.text-link { color:#78adff; }
.alert { padding:11px 14px; border-radius:9px; margin:14px 0 20px; font-size:.92rem; }.alert.error { background:#3c1820; border:1px solid #7c2938; color:#ffd8de; }.alert.success { background:#143426; border:1px solid #286646; color:#caffdf; }.alert.warning { background:#392f12; border:1px solid #755f1e; color:#fff0b8; }
.password-meter { display:grid; grid-template-columns:repeat(5,1fr); gap:5px; margin-top:-8px; }.password-meter span { height:4px; background:#293143; border-radius:5px; }.password-meter span.on { background:#42b978; }.password-meter.weak span.on { background:#df5656; }.stack-form small { color:var(--text-muted); margin-top:-12px; }
.content-page { max-width:1200px; min-height:100vh; margin:auto; padding:130px 32px 70px; }.content-page.narrow { max-width:1000px; }.page-heading { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:28px; }.page-heading h1 { font-size:2.3rem; }.page-heading p { color:var(--text-muted); }
.two-column { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }.panel { background:rgba(16,21,35,.9); border:1px solid rgba(255,255,255,.1); border-radius:15px; padding:26px; }.panel h2 { margin-bottom:6px; }
.centered { text-align:center; }.lock-circle { width:64px; height:64px; display:grid; place-items:center; margin:0 auto 18px; border-radius:50%; background:#3b2612; color:#ffb44f; font-size:1.45rem; }.lock-circle.neutral { background:#222b3c; color:#83adf2; }.centered .text-link { display:block; margin-top:18px; }
.filter-row { display:flex; justify-content:center; flex-wrap:wrap; gap:9px; margin:-30px 0 38px; }.filter-chip { text-decoration:none; padding:8px 15px; border-radius:999px; border:1px solid rgba(255,255,255,.1); color:var(--text-muted); background:rgba(255,255,255,.035); }.filter-chip.active,.filter-chip:hover { color:#fff; border-color:#397de0; background:#17345d; }
.material-card.locked { opacity:.68; }.game-icon { background:rgba(16,185,129,.14)!important; color:#46d69a!important; }.empty-state { grid-column:1/-1; text-align:center; color:var(--text-muted); padding:70px; }
@media(max-width:900px){.two-column{grid-template-columns:1fr}.user-name{display:none}.user-link{display:block}.nav-container{padding:0 20px}.content-page{padding-left:18px;padding-right:18px}}
@media(max-width:768px){.auth-card{padding:28px 22px}.materials-page,.videos-page{padding-left:18px!important;padding-right:18px!important}.materials-grid{grid-template-columns:1fr!important}.page-title{font-size:2.25rem!important}.user-profile{display:flex!important;gap:6px}.user-profile .user-badge{display:none}.user-profile form{display:none}.mini-btn{padding:6px 9px}.nav-links{max-height:calc(100vh - 80px);overflow:auto}.mobile-menu-btn{margin-left:5px}}
