:root{
  --bg:#07111f;--panel:#0f1b2d;--panel2:#0b1626;--muted:#94a3b8;--line:#1f2f46;--line2:#31435d;--accent:#10b981;--accent2:#34d399;--text:#e5eef9;--danger:#ef4444;--warning:#f59e0b;
  --radius:18px;--shadow:0 18px 45px rgba(0,0,0,.22);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at top left,#10233a 0,#07111f 44%,#050b14 100%);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.45}
a{color:#8fdcc5;text-decoration:none}a:hover{text-decoration:underline}.skip-link{position:absolute;left:-999px;top:8px;background:var(--accent);color:#022c22;padding:10px 14px;border-radius:10px;z-index:100}.skip-link:focus{left:8px}.layout{display:flex;min-height:100vh}.nav{width:280px;background:rgba(11,22,38,.94);border-right:1px solid var(--line);padding:18px;position:sticky;top:0;height:100vh;backdrop-filter:blur(10px)}.desktop-brand,.brand{display:flex;align-items:center;gap:10px;color:var(--text);font-weight:850;letter-spacing:.01em}.desktop-brand{font-size:20px;margin:0 0 22px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:13px;background:linear-gradient(135deg,#10b981,#2563eb);color:white;font-weight:900;box-shadow:var(--shadow)}.nav nav{display:grid;gap:2px}.nav a:not(.desktop-brand){display:block;padding:10px 12px;border-radius:12px;color:var(--text)}.nav a:not(.desktop-brand):hover{background:#162238;text-decoration:none}.mobile-topbar{display:none}.main{flex:1;padding:28px;max-width:1600px;width:100%;margin:0 auto}.card{background:rgba(15,27,45,.96);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:18px;box-shadow:0 8px 28px rgba(0,0,0,.14);overflow-x:auto}.grid{display:grid;gap:16px}.grid4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}h2{font-size:32px;margin:0 0 8px}h3{margin-top:0}.muted{color:var(--muted)}.stat{font-size:40px;font-weight:850;line-height:1.05}.stat-card{position:relative;overflow:hidden}.stat-card:after{content:"";position:absolute;right:-20px;top:-20px;width:92px;height:92px;background:rgba(16,185,129,.12);border-radius:999px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--muted);font-weight:700;white-space:nowrap}input,select,textarea{width:100%;background:#0b1626;color:var(--text);border:1px solid #31435d;border-radius:11px;padding:10px;min-height:42px}input[type=checkbox],input[type=radio]{min-height:auto}input[type=file]{padding:9px;background:#081424}textarea{min-height:92px;resize:vertical}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}label{font-size:14px;color:#cbd5e1}.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#022c22;border:0;border-radius:12px;padding:10px 14px;min-height:42px;font-weight:800;cursor:pointer;text-decoration:none}.btn:hover,button:hover{text-decoration:none;filter:brightness(1.06)}.btn.secondary{background:#334155;color:var(--text)}.tag{display:inline-block;padding:3px 8px;border-radius:99px;background:#1e293b;margin:2px;font-size:12px}.danger{background:var(--danger);color:white}.small{font-size:13px}.exercise-list{display:grid;gap:10px;margin-top:10px}.exercise-item{border:1px solid var(--line);border-radius:14px;padding:12px;background:#0b1626}.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:360px;overflow:auto;padding:8px;border:1px solid var(--line);border-radius:14px}.checkbox-grid label{display:flex;gap:8px;align-items:flex-start}.checkbox-grid input{width:auto}.bar-wrap{width:180px;max-width:100%;height:12px;background:#0b1626;border:1px solid #31435d;border-radius:999px;overflow:hidden}.bar{height:100%;background:#10b981;border-radius:999px}.compact{margin-top:16px}.compact th,.compact td{padding:6px 8px;font-size:13px}canvas{width:100%;background:#0b1626;border:1px solid var(--line);border-radius:14px;padding:8px;margin:10px 0 8px}.hero-card{background:linear-gradient(135deg,#10233a,#0f1b2d 55%,#0b1626);border:1px solid var(--line);border-radius:24px;padding:28px;margin-bottom:20px;box-shadow:var(--shadow)}.hero-card h2{font-size:38px;margin:6px 0 10px}.hero-card p{font-size:18px;max-width:980px;color:#cbd5e1}.eyebrow{color:#34d399;font-weight:850;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.tutorial-card{min-height:220px}.nice-list{padding-left:20px}.nice-list li{margin:8px 0}.nice-list li::marker{color:var(--accent)}.bigline{font-size:22px;font-weight:850}.glossary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.glossary-item{border:1px solid var(--line);background:#0b1626;border-radius:14px;padding:14px}.analysis-box{border:1px solid #31435d;background:#0b1626;border-radius:14px;padding:16px;margin:16px 0}.media-list{display:grid;gap:10px;margin-top:14px}.media-item{border:1px solid var(--line);border-radius:12px;background:#081424;padding:12px}.cue{margin-top:8px;color:#d1fae5;background:#09251d;border:1px solid #155e4b;border-radius:10px;padding:8px}.mobile-card-list,.mobile-only{display:none}.quick-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 20px}.quick-actions a{background:#0f1b2d;border:1px solid var(--line);border-radius:16px;padding:14px;color:var(--text);box-shadow:0 8px 24px rgba(0,0,0,.12)}.quick-actions b{display:block}.quick-actions span{color:var(--muted);font-size:13px}.table-scroll{overflow-x:auto}.pill-row{display:flex;flex-wrap:wrap;gap:6px}.safe-bottom{padding-bottom:env(safe-area-inset-bottom)}
@media(max-width:1100px){.grid4{grid-template-columns:repeat(2,minmax(0,1fr))}.quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.glossary-grid{grid-template-columns:1fr}.hero-card h2{font-size:30px}}
@media(max-width:760px){body{background:#07111f}.mobile-topbar{display:flex;position:sticky;top:0;z-index:50;align-items:center;justify-content:space-between;padding:10px 12px;background:rgba(7,17,31,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.brand{font-size:17px}.brand-mark{width:34px;height:34px;border-radius:12px;font-size:13px}.mobile-menu{position:relative}.mobile-menu summary{list-style:none;cursor:pointer;border:1px solid var(--line2);background:#0f1b2d;border-radius:12px;padding:9px 12px;font-weight:800}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu-panel{position:absolute;right:0;top:48px;width:min(86vw,330px);display:grid;gap:4px;background:#0b1626;border:1px solid var(--line2);border-radius:16px;padding:10px;box-shadow:0 20px 70px rgba(0,0,0,.45)}.mobile-menu-panel a{color:var(--text);padding:11px 12px;border-radius:10px}.mobile-menu-panel a:hover{background:#162238;text-decoration:none}.layout{display:block;min-height:unset}.nav{display:none}.main{padding:16px 12px 80px;max-width:100%}h2{font-size:28px;line-height:1.12}.hero-card{padding:20px;border-radius:20px}.hero-card p{font-size:16px}.card{padding:15px;border-radius:17px;margin-bottom:14px}.grid4,.grid3,.grid2,.form-row,.checkbox-grid{grid-template-columns:1fr}.quick-actions{grid-template-columns:1fr}.stat{font-size:34px}.desktop-table{display:none}.mobile-card-list{display:grid;gap:12px}.mobile-card{background:#0b1626;border:1px solid var(--line);border-radius:16px;padding:14px}.mobile-card h3,.mobile-card h4{margin:0 0 8px}.mobile-card .meta{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0}.mobile-card .meta div{background:#081424;border:1px solid var(--line);border-radius:10px;padding:8px}.mobile-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.mobile-actions .btn,.mobile-actions button{flex:1 1 140px}.hide-mobile{display:none!important}table{min-width:720px}.compact{min-width:520px}.card>table{display:block;overflow-x:auto}input,select,textarea{font-size:16px}.btn,button{width:auto;min-height:46px}.form-row label{display:block;margin-bottom:2px}.bar-wrap{width:100%}.mobile-only{display:block}.glossary-item{padding:13px}.analysis-box{padding:13px}.media-item{padding:12px}}
@media(max-width:420px){.main{padding-left:10px;padding-right:10px}.card{padding:13px}.hero-card h2{font-size:26px}.mobile-card .meta{grid-template-columns:1fr}.btn,button{width:100%}.pill-row .tag{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

.auth-shell { min-height: 80vh; display: grid; place-items: center; padding: 2rem 1rem; }
.auth-card { width: min(100%, 440px); background: var(--surface, #0f172a); border: 1px solid rgba(255,255,255,.08); border-radius: 24px; padding: 2rem; box-shadow: 0 24px 80px rgba(0,0,0,.35); }
.auth-logo { width: 58px; height: 58px; border-radius: 18px; display: grid; place-items: center; background: #0ea5e9; color: white; font-weight: 800; margin-bottom: 1rem; }
.form-stack { display: grid; gap: 1rem; }
.form-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.narrow { max-width: 720px; }
.alert { padding: .85rem 1rem; border-radius: 14px; margin-bottom: 1rem; }
.alert.danger { background: rgba(220,38,38,.18); border: 1px solid rgba(220,38,38,.4); }
.small { font-size: .875rem; }
.muted { color: #94a3b8; }
.mt { margin-top: 1.5rem; }
.clean-list { display: grid; gap: .7rem; padding-left: 1.1rem; }
.logout-form { margin: .5rem 0 0; }
.logout-form button { width: 100%; text-align: left; background: transparent; border: 1px solid rgba(255,255,255,.12); color: inherit; border-radius: 12px; padding: .75rem .9rem; cursor: pointer; }
.logout-form button:hover { background: rgba(255,255,255,.08); }
.checkbox { display: flex; align-items: center; gap: .6rem; }
.checkbox input { width: auto; }
.alert.success { background: rgba(34,197,94,.16); border: 1px solid rgba(34,197,94,.4); }
