@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=Lora:wght@400;500;600&display=swap";:root{color-scheme:dark;--page: #070707;--page-soft: #101010;--panel: rgba(20, 20, 20, .72);--panel-strong: rgba(12, 12, 12, .9);--panel-raised: rgba(28, 28, 28, .78);--text: #f2f0e8;--text-strong: #fffdf5;--muted: #c7c1b4;--muted-soft: #8f897f;--border: rgba(255, 255, 255, .12);--border-strong: rgba(255, 255, 255, .22);--white: #f5f2e9;--black: #050505;--blue: #b9d8ff;--gold: #f1d79b;--green: #c8f3dd;--danger: #ffdddd;--radius: 8px;--shadow-soft: 0 12px 42px rgba(0, 0, 0, .32);--shadow-deep: 0 20px 78px rgba(0, 0, 0, .52);--hairline: inset 0 1px 0 rgba(255, 255, 255, .08);--fast: .15s ease;--smooth: .26s cubic-bezier(.2, .8, .2, 1);font-family:Inter,system-ui,sans-serif;background:var(--page);color:var(--text)}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{scroll-behavior:smooth}body{min-width:320px;background:linear-gradient(130deg,rgba(255,255,255,.08),transparent 28%),linear-gradient(210deg,rgba(185,216,255,.08),transparent 32%),linear-gradient(0deg,#050505,#0d0d0d 42%,#050505);color:var(--text);font-family:Inter,system-ui,sans-serif;letter-spacing:0;overflow-x:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:80px 80px;-webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),transparent 78%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),transparent 78%);z-index:-2}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.055),transparent),radial-gradient(ellipse at top,rgba(241,215,155,.1),transparent 54%);opacity:.65;z-index:-1}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--text-strong);font-family:Lora,Georgia,serif;font-weight:500;letter-spacing:0}button,input,select,textarea{font:inherit;border-radius:var(--radius)}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}input,select,textarea{width:100%;min-height:42px;border:1px solid var(--border);background:#ffffff0e;color:var(--text-strong);padding:9px 12px;outline:none;box-shadow:var(--hairline);transition:border-color var(--fast),background var(--fast),box-shadow var(--fast),transform var(--fast)}input::placeholder,textarea::placeholder{color:#f2f0e873}input:focus,select:focus,textarea:focus{border-color:#f5f2e98f;background:#ffffff16;box-shadow:0 0 0 4px #b9d8ff1a,var(--hairline)}button:focus-visible,a:focus-visible{outline:2px solid rgba(245,242,233,.82);outline-offset:3px}label{display:block;color:var(--muted);font-size:.85rem;font-weight:650}pre,code,.code-block{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.login-screen,.center-screen{min-height:100vh;display:grid;place-items:center;padding:28px}.login-panel,.status-block{width:min(100%,500px);position:relative;border:1px solid var(--border);border-radius:var(--radius);padding:28px;overflow:hidden;background:linear-gradient(155deg,#ffffff1f,#ffffff09),var(--panel);box-shadow:var(--shadow-deep),var(--hairline);-webkit-backdrop-filter:blur(22px) saturate(1.25);backdrop-filter:blur(22px) saturate(1.25);animation:rise-in .52s var(--smooth) both}.login-panel:before,.status-block:before,.course-card:before,.detail-panel:before,.course-admin-row:before,.one-time-key:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(120deg,rgba(255,255,255,.12),transparent 38%);opacity:.55}.brand-mark{width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:var(--radius);margin-bottom:18px;color:var(--text-strong);background:linear-gradient(145deg,#ffffff29,#ffffff0b),#ffffff0a;box-shadow:0 18px 42px #00000057,var(--hairline);font-weight:800;letter-spacing:0}.brand-mark.small{width:40px;height:40px;margin-bottom:14px;font-size:.82rem}.login-panel h1,.status-block h1,.page-heading h1,.topbar h1{font-size:2.75rem;line-height:1;margin-bottom:16px}.login-fineprint{margin:18px 0 0;color:var(--muted-soft);font-size:.9rem;line-height:1.5}.stack{display:grid;gap:13px}.button,.icon-button,.icon-label-button{border:1px solid rgba(245,242,233,.84);border-radius:var(--radius);background:linear-gradient(180deg,#fffffffa,#e5e1d6f2);color:var(--black);min-height:40px;padding:9px 14px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:800;box-shadow:0 16px 38px #00000047,inset 0 1px #fffc;transform:translateY(0);transition:transform var(--smooth),box-shadow var(--smooth),border-color var(--smooth),background var(--smooth),color var(--smooth)}.button:hover,.icon-button:hover,.icon-label-button:hover{transform:translateY(-2px);box-shadow:0 22px 54px #0006,0 0 0 1px #ffffff1f}.button:active,.icon-button:active,.icon-label-button:active{transform:translateY(0)}.button.secondary,.icon-button,.icon-label-button{background:#ffffff0b;color:var(--text);border-color:var(--border);box-shadow:var(--hairline);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.button.secondary:hover,.icon-button:hover,.icon-label-button:hover{border-color:var(--border-strong);background:#ffffff17;color:var(--text-strong)}.button.compact{min-height:34px;padding:6px 10px;font-size:.85rem}.icon-button{width:40px;padding:0}.icon-label-button{width:100%}.form-note,.notice,.form-error{border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;color:var(--text);background:#ffffff0e;box-shadow:var(--hairline)}.form-error{border-color:#ffdddd80;color:var(--danger);background:#ffdddd0e}.eyebrow{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;margin-bottom:10px}.muted{color:var(--muted-soft)}.app-frame{width:min(1120px,calc(100% - 36px));margin:0 auto;padding:30px 0 48px}.compact-frame{width:min(1040px,calc(100% - 36px))}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px;border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;background:linear-gradient(135deg,#ffffff1c,#ffffff09),var(--panel);box-shadow:var(--shadow-soft),var(--hairline);-webkit-backdrop-filter:blur(20px) saturate(1.18);backdrop-filter:blur(20px) saturate(1.18)}.topbar h1,.page-heading h1{margin-bottom:6px}.topbar-copy{color:var(--muted);margin-bottom:0;font-size:.95rem}.topbar-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:0 0 14px}.stat-card{min-height:86px;border:1px solid var(--border);border-radius:var(--radius);padding:14px;display:grid;align-content:space-between;gap:8px;background:linear-gradient(155deg,#ffffff17,#ffffff06),#ffffff09;box-shadow:var(--hairline);color:var(--muted)}.stat-card strong{display:block;color:var(--text-strong);font-size:1.45rem;line-height:1}.stat-card small{color:var(--muted-soft)}.search-panel{display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:10px;border:1px solid var(--border);border-radius:var(--radius);padding:6px 10px;margin-bottom:14px;background:linear-gradient(145deg,#ffffff13,#ffffff06),var(--panel);box-shadow:var(--hairline)}.search-panel input{min-height:36px;border:0;background:transparent;padding:6px 0;box-shadow:none}.search-panel input:focus{box-shadow:none}.search-note{color:var(--muted);font-size:.9rem;margin:-4px 0 12px}.course-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.course-card{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;min-height:178px;border:1px solid var(--border);border-radius:var(--radius);padding:14px;overflow:hidden;background:linear-gradient(145deg,#ffffff1b,#ffffff09),var(--panel);box-shadow:var(--shadow-soft),var(--hairline);-webkit-backdrop-filter:blur(18px) saturate(1.16);backdrop-filter:blur(18px) saturate(1.16);transform:translateY(0);transition:transform var(--smooth),border-color var(--smooth),box-shadow var(--smooth),background var(--smooth)}.course-card:hover{transform:translateY(-3px);border-color:#f5f2e957;box-shadow:0 30px 90px #0000008c,var(--hairline)}.course-card-icon{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--border);border-radius:var(--radius);background:#ffffff13;color:var(--blue)}.course-card h2{margin-bottom:8px;font-size:1.35rem}.course-card p{color:var(--muted);line-height:1.45;font-size:.9rem}.card-meta-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.progress-line{height:7px;border:1px solid var(--border);border-radius:999px;margin:12px 0 8px;overflow:hidden;background:#ffffff0e}.progress-line span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--white),var(--blue),var(--gold));box-shadow:0 0 22px #b9d8ff38;transition:width var(--smooth)}.course-shell{min-height:100vh;display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr)}.course-sidebar{border-right:1px solid var(--border);padding:20px 16px;position:sticky;top:0;height:100vh;overflow-y:auto;background:linear-gradient(180deg,#ffffff18,#ffffff06),#080808d1;box-shadow:18px 0 70px #00000047;-webkit-backdrop-filter:blur(22px) saturate(1.2);backdrop-filter:blur(22px) saturate(1.2)}.back-link,.lesson-link,.admin-nav a,.table-link{display:inline-flex;align-items:center;gap:8px;color:var(--text)}.back-link{margin-bottom:20px;min-height:34px;color:var(--muted);transition:color var(--fast),transform var(--fast)}.back-link:hover{color:var(--text-strong);transform:translate(-2px)}.sidebar-title h1{font-size:1.45rem;line-height:1.04}.sidebar-progress{border:1px solid var(--border);border-radius:var(--radius);padding:12px;margin:16px 0 18px;background:#ffffff0b;box-shadow:var(--hairline)}.sidebar-progress>div:first-child{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.86rem}.sidebar-progress strong{color:var(--text-strong)}.sidebar-progress .progress-line{margin:12px 0 0}.lesson-nav{display:grid;gap:16px}.lesson-module h2{font-family:Inter,system-ui,sans-serif;font-size:.78rem;text-transform:uppercase;color:var(--muted-soft);margin-bottom:8px}.lesson-link{width:100%;justify-content:space-between;min-height:38px;border:1px solid transparent;border-radius:var(--radius);padding:8px 10px;color:var(--muted);transition:color var(--smooth),background var(--smooth),border-color var(--smooth),transform var(--smooth)}.lesson-link.active,.lesson-link:hover,.admin-nav a.active,.admin-nav a:hover{border-color:var(--border-strong);color:var(--text-strong);background:#ffffff13;transform:translate(2px)}.lesson-link svg{flex:0 0 auto;color:var(--green)}.course-main{padding:36px 48px}.lesson-body{width:min(860px,100%);animation:fade-slide .46s var(--smooth) both}.lesson-body h1{font-size:3.2rem;line-height:1;margin-bottom:16px}.lead{color:var(--text);font-size:1rem;line-height:1.62;max-width:760px}.content-section,.content-grid{border-top:1px solid var(--border);margin-top:28px;padding-top:22px}.content-section p,.content-section li,.content-grid li{color:var(--muted);line-height:1.78}.content-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.module-list{display:grid;gap:12px}.module-block,.quote-block,.code-block,.one-time-key{position:relative;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(145deg,#ffffff17,#ffffff07),var(--panel);padding:16px;box-shadow:var(--hairline);overflow:hidden}.module-block a{color:var(--text);text-decoration:underline;text-decoration-color:#ffffff3d;text-underline-offset:4px}.module-block a:hover{color:var(--text-strong);text-decoration-color:var(--text-strong)}.quote-block{font-family:Lora,Georgia,serif;color:var(--text-strong);font-size:1.05rem;line-height:1.65}.code-block,.one-time-key code{display:block;color:var(--text);overflow-wrap:anywhere}.checklist{display:grid;gap:12px}.checklist label,.toggle-label{display:flex;align-items:center;gap:10px}.checklist input,.toggle-label input{width:18px;min-height:18px;accent-color:var(--white)}.timeline{display:grid;gap:12px}.lesson-actions{width:min(860px,100%);border-top:1px solid var(--border);margin-top:30px;padding-top:18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.admin-shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}.admin-sidebar{border-right:1px solid var(--border);background:linear-gradient(180deg,#ffffff1a,#ffffff06),#070707db;padding:18px;display:grid;grid-template-rows:auto 1fr auto;gap:20px;min-height:100vh;box-shadow:18px 0 80px #0000005c;-webkit-backdrop-filter:blur(22px) saturate(1.18);backdrop-filter:blur(22px) saturate(1.18)}.admin-sidebar h1{font-size:1.35rem;line-height:1}.admin-nav{display:grid;align-content:start;gap:8px}.admin-nav a{min-height:38px;border:1px solid transparent;border-radius:var(--radius);padding:8px 10px;color:var(--muted);transition:color var(--smooth),background var(--smooth),border-color var(--smooth),transform var(--smooth)}.admin-main{min-width:0;padding:24px}.admin-page{display:grid;gap:14px;animation:fade-slide .42s var(--smooth) both}.admin-page.narrow{max-width:980px}.page-heading{border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;background:linear-gradient(135deg,#ffffff1a,#ffffff08),var(--panel);box-shadow:var(--shadow-soft),var(--hairline);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.filter-row,.inline-form,.course-form,.row-grid,.contact-create-form{display:grid;gap:8px}.filter-row{grid-template-columns:repeat(6,minmax(128px,1fr))}.inline-form{grid-template-columns:minmax(180px,1fr) auto;align-items:end}.course-form{grid-template-columns:140px 220px minmax(240px,1fr) auto auto;align-items:center}.contact-create-form{grid-template-columns:minmax(180px,1fr) minmax(260px,1.4fr) 150px auto;align-items:center;border:1px solid var(--border);border-radius:var(--radius);padding:12px;background:linear-gradient(145deg,#ffffff13,#ffffff06),var(--panel);box-shadow:var(--hairline)}.split-view{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:12px;align-items:start}.data-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:linear-gradient(145deg,#ffffff16,#ffffff06),var(--panel);box-shadow:var(--shadow-soft),var(--hairline);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.data-table th,.data-table td{border-bottom:1px solid var(--border);padding:10px;text-align:left;vertical-align:top}.data-table tbody tr{transition:background var(--fast)}.data-table tbody tr:hover{background:#ffffff0b}.data-table tr:last-child td{border-bottom:0}.data-table th{color:var(--muted);font-size:.76rem;text-transform:uppercase;font-weight:800;background:#ffffff09}.table-link{border:0;background:transparent;padding:0;text-align:left;color:var(--text-strong);border-radius:4px}.table-link:hover{text-decoration:underline;text-underline-offset:4px}.tag-row{display:flex;gap:7px;flex-wrap:wrap}.tag{border:1px solid rgba(245,242,233,.18);border-radius:999px;padding:4px 8px;color:var(--text);background:#ffffff0f;font-size:.78rem;font-weight:750}.tag.removable{cursor:pointer;transition:background var(--fast),border-color var(--fast),transform var(--fast)}.tag.removable:hover{transform:translateY(-1px);border-color:#ffffff57;background:#ffffff1a}.detail-panel{position:sticky;top:18px;border:1px solid var(--border);border-radius:var(--radius);padding:14px;background:linear-gradient(145deg,#ffffff18,#ffffff08),var(--panel);box-shadow:var(--shadow-soft),var(--hairline);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);overflow:hidden}.detail-panel h2{overflow-wrap:anywhere}.detail-panel h3{margin-top:16px}.event-feed{display:grid;gap:8px}.event-feed.wide{gap:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--panel);box-shadow:var(--shadow-soft),var(--hairline)}.event-row,.audit-detail summary{display:grid;grid-template-columns:132px 1fr;gap:8px;border-top:1px solid var(--border);padding:8px 0;color:var(--muted)}.event-row:first-child{border-top:0}.event-row span{overflow-wrap:anywhere}.audit-detail{background:transparent}.audit-detail summary{grid-template-columns:190px 150px minmax(190px,1fr) minmax(140px,1fr);padding:10px 12px;cursor:pointer;transition:background var(--fast)}.audit-detail summary:hover{background:#ffffff0a}.audit-detail pre{margin:0;padding:12px;border-top:1px solid var(--border);overflow-x:auto;color:var(--muted);background:#0003}.course-admin-list{display:grid;gap:10px}.course-admin-row{position:relative;border:1px solid var(--border);border-radius:var(--radius);padding:12px;overflow:hidden;background:linear-gradient(145deg,#ffffff16,#ffffff06),var(--panel);box-shadow:var(--hairline)}.profile-grid{display:grid;grid-template-columns:1.4fr repeat(2,minmax(180px,1fr));gap:12px}.profile-card{border:1px solid var(--border);border-radius:var(--radius);padding:14px;min-height:110px;display:grid;align-content:space-between;gap:10px;background:linear-gradient(145deg,#ffffff16,#ffffff06),var(--panel);box-shadow:var(--hairline)}.primary-profile-card{grid-row:span 2;grid-template-columns:54px minmax(0,1fr);align-items:start;align-content:start}.profile-card h2{font-size:1.45rem;overflow-wrap:anywhere}.profile-card strong{color:var(--text-strong);font-size:1rem;overflow-wrap:anywhere}.profile-card span{color:var(--muted)}.profile-avatar{width:54px;height:54px;border:1px solid var(--border-strong);border-radius:50%;display:grid;place-items:center;color:var(--text-strong);background:#ffffff13;font-weight:800}.access-list-card{margin-top:12px}.support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.support-card,.support-policy{border:1px solid var(--border);border-radius:var(--radius);padding:14px;background:linear-gradient(145deg,#ffffff16,#ffffff06),var(--panel);box-shadow:var(--hairline)}.support-card h2,.support-policy h2{font-size:1.15rem;margin-bottom:8px}.support-card p,.support-policy p{color:var(--muted);line-height:1.55;margin-bottom:0}.support-card svg,.support-policy svg{color:var(--blue);margin-bottom:10px}.support-policy{display:grid;grid-template-columns:28px minmax(0,1fr);gap:10px;margin-top:12px}.search-match-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.search-match-list span{border:1px solid var(--border);border-radius:999px;padding:4px 8px;color:var(--muted);background:#ffffff0a;font-size:.78rem}.empty-state{border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-top:14px;background:var(--panel);box-shadow:var(--hairline)}.row-grid{grid-template-columns:120px 220px minmax(220px,1fr) auto auto;align-items:center}@keyframes rise-in{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fade-slide{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1120px){.course-main{padding:32px 34px}.filter-row{grid-template-columns:repeat(3,minmax(160px,1fr))}.course-form,.row-grid,.contact-create-form{grid-template-columns:repeat(2,minmax(180px,1fr))}.profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.primary-profile-card{grid-column:1 / -1;grid-row:auto}}@media(max-width:920px){.course-shell,.admin-shell,.split-view{grid-template-columns:1fr}.course-sidebar,.admin-sidebar{position:static;height:auto;min-height:0;border-right:0;border-bottom:1px solid var(--border)}.admin-sidebar{grid-template-rows:auto auto auto}.admin-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.course-main,.admin-main{padding:24px 18px}.detail-panel{position:static}.content-grid{grid-template-columns:1fr}}@media(max-width:700px){.login-panel h1,.status-block h1,.page-heading h1,.topbar h1{font-size:2.05rem}.lesson-body h1{font-size:2.35rem}.topbar{flex-direction:column}.topbar-actions{justify-content:flex-start;width:100%}.topbar-actions .button{flex:1 1 auto}.filter-row,.course-form,.row-grid,.inline-form,.profile-grid,.contact-create-form,.support-grid{grid-template-columns:1fr}.data-table{display:block;overflow-x:auto;white-space:nowrap}.audit-detail summary{grid-template-columns:1fr}}@media(max-width:540px){.login-screen,.center-screen{padding:14px}.login-panel,.status-block{padding:18px}.app-frame{width:min(100% - 24px,1180px);padding:24px 0 42px}.course-card{grid-template-columns:1fr;min-height:168px}.course-card-icon{width:38px;height:38px}.admin-nav{grid-template-columns:1fr}.course-main,.admin-main{padding:20px 12px}.lesson-actions .button,.lesson-actions .form-note,.lesson-actions .form-error{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
