.admin-page{display:flex;flex-direction:column;gap:1.25rem}.admin-header{background:var(--navy-deep);background-image:linear-gradient(135deg,var(--navy-deep),var(--navy));color:#fff;border-radius:4px;padding:1.25rem 1.4rem;border-bottom:4px solid var(--cyan-bright);box-shadow:var(--shadow)}.admin-header-row{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;flex-wrap:wrap}.admin-header h1{font-size:1.85rem;color:#fff;margin-bottom:.35rem}.admin-header p{color:var(--muted-light)!important;margin:0}.admin-lock{max-width:420px;border-top:3px solid var(--cyan)}.admin-msg.fail{background:#f07e1e26;color:#9a4a0c}.pending-list{margin:0 0 1rem;padding-left:1.1rem;color:var(--muted);font-size:.92rem}.admin-header p,.panel-intro{color:var(--muted)}.admin-header p{color:var(--muted-light)!important}.admin-msg{padding:.75rem 1rem;border-radius:10px;background:#54c5de26;color:var(--navy-mid);font-weight:600}.admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}.table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{text-align:left;padding:.65rem .4rem;border-bottom:1px solid var(--border);vertical-align:top}.admin-table th{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.email{font-size:.85rem;color:var(--muted)}.cert-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.cert-list li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.backup-actions{display:flex;gap:.75rem;flex-wrap:wrap}.file-btn{cursor:pointer}.cert-manual{margin-top:1.1rem;padding-top:1rem;border-top:1px solid var(--border)}.admin-report h2{margin-bottom:.85rem}.report-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1.1rem}.report-stats div{background:var(--surface);border:1px solid rgba(18,42,65,.08);border-radius:4px;padding:.75rem .85rem;display:flex;flex-direction:column;gap:.15rem}.report-stats strong{font-size:1.45rem;color:var(--navy)}.report-stats span{font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.report-stale{margin-top:1rem}.report-stale h3{font-size:1rem;color:var(--navy);margin-bottom:.35rem}.stale-tag{color:var(--orange-deep)!important;font-weight:700}@media(max-width:800px){.admin-grid{grid-template-columns:1fr}.report-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.cert-page{display:flex;flex-direction:column;gap:1rem;align-items:center}.cert-toolbar{display:flex;gap:.75rem;width:min(920px,100%);justify-content:flex-end}.certificate{width:min(920px,100%);background:radial-gradient(ellipse 70% 50% at 50% 0%,rgba(84,197,222,.1),transparent 55%),linear-gradient(180deg,#fbfcfd,#fff 40%,#f5f9fb);border:2px solid var(--navy);border-radius:2px;padding:2.4rem 2.5rem 1.85rem;text-align:center;position:relative;overflow:hidden;box-shadow:var(--shadow)}.cert-frame{pointer-events:none;position:absolute;top:10px;right:10px;bottom:10px;left:10px;border:1px solid rgba(21,154,184,.45)}.cert-corner{position:absolute;width:18px;height:18px;border:2px solid var(--orange)}.cert-corner-tl{top:-1px;left:-1px;border-right:none;border-bottom:none}.cert-corner-tr{top:-1px;right:-1px;border-left:none;border-bottom:none}.cert-corner-bl{bottom:-1px;left:-1px;border-right:none;border-top:none}.cert-corner-br{bottom:-1px;right:-1px;border-left:none;border-top:none}.cert-watermark{position:absolute;right:-2%;top:18%;width:min(320px,42%);opacity:.07;pointer-events:none;-webkit-user-select:none;user-select:none}.cert-header{position:relative;z-index:1}.cert-brand-logo{height:36px;width:auto;margin:.15rem auto .45rem;display:block}.cert-brand{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:700;color:var(--cyan);margin:0}.cert-kicker{margin:.35rem 0 0;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.cert-rule{width:min(220px,45%);height:3px;margin:1.1rem auto 1rem;background:linear-gradient(90deg,var(--navy),var(--cyan-bright),var(--orange));border-radius:2px;position:relative;z-index:1}.certificate h1{position:relative;z-index:1;font-size:clamp(1.85rem,4vw,2.55rem);color:var(--navy-deep);margin:0 0 1rem;letter-spacing:.02em}.cert-presented{position:relative;z-index:1;color:var(--muted);margin:.3rem 0;font-size:1rem}.cert-name{position:relative;z-index:1;font-family:var(--font-display);font-size:clamp(1.9rem,4.2vw,2.55rem);font-weight:700;color:var(--navy);margin:.55rem 0 .9rem;display:inline-block;padding:0 1.1rem .4rem;border-bottom:3px solid var(--cyan-bright)}.cert-course{position:relative;z-index:1;font-size:1.35rem;font-weight:700;color:var(--navy);margin:.85rem 0 .3rem}.cert-sub{position:relative;z-index:1;color:var(--muted);margin:0 0 .55rem}.cert-pass{position:relative;z-index:1;display:inline-block;margin:.35rem 0 .25rem;padding:.35rem .85rem;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--navy);background:#54c5de29;border:1px solid rgba(21,154,184,.35);border-radius:2px}.cert-seal-row{position:relative;z-index:1;display:flex;justify-content:center;margin:1.35rem 0 .5rem}.cert-seal-badge{width:108px;height:108px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#2a6b8f,var(--navy-deep) 70%);box-shadow:0 0 0 3px var(--cyan-bright),0 0 0 6px var(--navy),0 8px 22px #0a1b2938;display:grid;place-items:center}.cert-seal-ring{width:86px;height:86px;border-radius:50%;border:1.5px dashed rgba(255,255,255,.55);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;color:#fff}.cert-seal-ring strong{font-size:.62rem;letter-spacing:.14em;font-weight:700}.cert-seal-ring em{font-style:normal;font-size:.95rem;font-weight:700;color:var(--cyan-bright);letter-spacing:.04em}.cert-footer{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;text-align:left;margin-top:1.35rem;padding-top:1.15rem;border-top:1px solid rgba(18,42,65,.12)}.cert-footer strong{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:.25rem}.cert-footer span{color:var(--navy);font-size:.92rem;word-break:break-word}.cert-seal-note{position:relative;z-index:1;margin-top:1.15rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}@media print{body{background:#fff!important}.no-print,.app-header,.app-footer{display:none!important}.main{padding:0!important;width:100%!important}.certificate{box-shadow:none;width:100%;max-width:none}.cert-watermark{opacity:.05}}@media(max-width:700px){.certificate{padding:1.5rem 1.15rem 1.25rem}.cert-footer{grid-template-columns:1fr}.cert-watermark{width:55%;opacity:.05}}.dashboard{display:flex;flex-direction:column;gap:1.5rem}.dash-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:1rem;align-items:center;background:var(--navy);background-image:radial-gradient(ellipse 55% 70% at 92% 45%,rgba(84,197,222,.16),transparent 55%),linear-gradient(135deg,var(--navy-deep),var(--navy) 65%,#163552);color:#fff;border-radius:4px;padding:1.75rem 1.75rem 1.75rem 1.85rem;border-bottom:4px solid var(--cyan-bright);animation:rise .45s ease both;overflow:hidden;box-shadow:var(--shadow)}.dash-hero h1{color:#fff;font-size:clamp(1.9rem,3.5vw,2.6rem);margin-bottom:.65rem}.dash-greeting{font-size:1.12rem;margin:0 0 .65rem;color:#fffffff2}.dash-note{max-width:38rem;margin:0;color:var(--muted-light);font-size:.95rem}.dash-hero .section-kicker{color:var(--cyan-bright)}.dash-hero-drone{width:min(230px,100%);justify-self:end;filter:drop-shadow(0 10px 28px rgba(84,197,222,.3));animation:float 4.5s ease-in-out infinite}.dash-modules{animation:rise .55s ease both}.section-head{margin-bottom:1rem}.section-head h2{font-size:1.45rem;margin-bottom:.25rem;color:#fff}.section-head .section-kicker{color:var(--cyan-bright)}.section-head>p:last-child{color:var(--muted-light);margin:0}.course-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:.7rem}.course-card{display:flex;flex-direction:column;background:var(--white);border:none;border-radius:4px;overflow:hidden;box-shadow:var(--shadow);animation:rise .55s ease both}.course-cover{position:relative;display:block;height:68px;background:#000;overflow:hidden;text-decoration:none;flex-shrink:0}.course-cover img{width:100%;height:100%;object-fit:cover;object-position:left center;display:block;transition:transform .35s ease}.course-cover:hover img{transform:scale(1.04)}.course-cover-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--navy-deep),var(--navy))}.course-cover-badge{position:absolute;top:.4rem;right:.4rem}.course-cover-badge .badge{font-size:.65rem;padding:.15rem .4rem}.course-card-body{display:flex;flex-direction:column;gap:.28rem;padding:.55rem .65rem .7rem;border-top:2px solid var(--cyan-bright);flex:1;min-height:0}.course-card-top{display:flex;justify-content:space-between;gap:.45rem;align-items:flex-start;min-height:1.85rem}.course-card h3{color:var(--navy);font-size:.88rem;margin:0;line-height:1.25;min-height:2.5em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.course-sub{color:var(--cyan);font-weight:700;font-size:.62rem;margin:0;text-align:right;line-height:1.25;max-width:58%;min-height:2.5em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.course-desc{display:none}.course-meta{display:flex;flex-wrap:wrap;gap:.2rem .55rem;color:var(--muted);font-size:.68rem;min-height:2.1em;align-content:flex-start}.course-card .progress-track{margin-top:auto}.progress-label{font-size:.7rem;color:var(--muted);margin:0}.course-actions{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.15rem}.course-actions .btn{font-size:.75rem;padding:.35rem .65rem}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media(max-width:720px){.dash-hero{grid-template-columns:1fr}.dash-hero-drone{justify-self:center;width:160px}}@media(prefers-reduced-motion:reduce){.course-cover img{transition:none}.course-cover:hover img{transform:none}}.exam-page{display:flex;flex-direction:column;gap:1rem}.back-link{display:inline-block;font-weight:700;text-decoration:none;color:var(--cyan-bright)}.exam-banner{display:flex;justify-content:space-between;align-items:center;gap:1rem;background:var(--navy-deep);color:#fff;border-radius:4px;padding:1.1rem 1.25rem;border-bottom:4px solid var(--cyan-bright);box-shadow:var(--shadow)}.exam-banner h1{color:#fff;font-size:1.4rem;margin:.2rem 0}.exam-banner p{margin:0;color:var(--muted-light);font-size:.9rem}.exam-notice{padding:.85rem 1rem;border-radius:4px;font-weight:600;margin:0}.exam-notice.pass{background:#e7f6fa;border:1px solid #9ad7e6;color:var(--navy-deep)}.exam-notice.cooldown{background:#fff3e8;border:1px solid #f0c09a;color:var(--navy-deep)}.exam-notice a{color:var(--cyan);font-weight:700}.exam-result{border-radius:4px;padding:1.25rem 1.35rem 1.3rem;box-shadow:var(--shadow);border-top:4px solid transparent}.exam-result.pass{background:#e7f6fa;border:1px solid #9ad7e6;border-top:4px solid var(--cyan);color:var(--navy-deep)}.exam-result.fail{background:#fff3e8;border:1px solid #f0c09a;border-top:4px solid var(--orange);color:var(--navy-deep)}.exam-result-kicker{margin:0 0 .25rem;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:700;color:var(--cyan)}.exam-result.fail .exam-result-kicker{color:var(--orange-deep)}.exam-result h2{margin:0 0 .65rem;color:var(--navy-deep);font-size:1.55rem}.exam-result-score{margin:0 0 .55rem;color:var(--navy-deep);font-size:1.05rem}.exam-result-score strong{font-size:1.45rem;color:var(--navy-deep);margin-right:.35rem}.exam-result-score span{color:var(--muted);font-size:.92rem}.exam-result-copy{margin:0;color:var(--ink)}.exam-result-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}.exam-result .btn-secondary{background:#fff}.exam-form{border-top:3px solid var(--cyan-bright);box-shadow:var(--shadow)}.exam-progress-label{color:var(--muted);font-weight:700;margin-bottom:1rem}.exam-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.25rem}.exam-item{padding-bottom:1.1rem;border-bottom:1px solid rgba(18,42,65,.08)}.exam-q{display:flex;gap:.75rem;align-items:flex-start;font-weight:700;color:var(--navy);margin-bottom:.65rem}.exam-q .hf-num{margin-top:.1rem}.exam-options{display:flex;flex-direction:column;gap:.4rem;padding-left:2.75rem}.exam-option{display:flex;gap:.55rem;align-items:flex-start;padding:.7rem .85rem;min-height:44px;border:1px solid rgba(18,42,65,.12);border-radius:4px;background:var(--surface);cursor:pointer}.exam-option:has(input:checked){border-color:var(--cyan);background:#54c5de1f}.exam-option:focus-within{outline:2px solid var(--focus);outline-offset:2px}.exam-option input{margin-top:.2rem;width:1.1rem;height:1.1rem;flex-shrink:0}.exam-review h2{color:var(--navy);margin-bottom:.35rem}.exam-review .panel-intro{color:var(--muted);margin-bottom:1rem}.exam-review-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.exam-review-list li{padding-bottom:.9rem;border-bottom:1px solid rgba(18,42,65,.08)}.exam-review-q{display:flex;gap:.75rem;align-items:flex-start;font-weight:700;color:var(--navy);margin-bottom:.45rem}.exam-review-wrong{margin:0 0 .25rem 2.75rem;color:#9a4a0c;font-size:.92rem}.exam-review-right{margin:0 0 0 2.75rem;color:var(--cyan);font-size:.92rem}.exam-submit-row{margin-top:1.25rem;display:flex;justify-content:flex-end}@media(max-width:640px){.exam-options{padding-left:0}.exam-review-wrong,.exam-review-right{margin-left:0}}.login-page{min-height:100dvh;display:flex;flex-direction:column;background:var(--navy);background-image:radial-gradient(ellipse 70% 80% at 88% 42%,rgba(84,197,222,.14),transparent 55%),linear-gradient(160deg,var(--navy-deep) 0%,var(--navy) 55%,#163552 100%)}.login-title-slide{display:grid;grid-template-columns:1.2fr .8fr;gap:1.25rem;align-items:center;color:#fff;padding:clamp(1.75rem,4vw,2.75rem) clamp(1.25rem,4vw,3rem) 1.5rem;width:min(960px,100%);margin:0 auto;animation:rise .5s ease both}.login-logo{height:30px;width:auto;margin-bottom:1.1rem;display:block}.login-kicker{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:700;color:var(--cyan-bright);margin:0 0 .55rem}.login-title-copy h1{color:#fff;font-size:clamp(2.1rem,4.5vw,3rem);line-height:1.05;font-weight:700;margin:0 0 .75rem}.login-lede{color:#ffffffd1;max-width:26rem;font-size:1rem;line-height:1.45;margin:0 0 .85rem}.login-meta{color:var(--muted-light);font-size:.82rem;margin:0}.login-title-art{display:flex;justify-content:flex-end;align-items:center}.login-title-art img{width:min(260px,100%);height:auto;filter:drop-shadow(0 12px 36px rgba(84,197,222,.28));animation:float 4.5s ease-in-out infinite}.login-panels-wrap{border-top:4px solid var(--cyan-bright);background:linear-gradient(180deg,rgba(10,27,41,.35),transparent 40%);padding:1.35rem 1.25rem 2.5rem}.login-panels{width:min(860px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;animation:rise .65s ease both}.login-card{background:var(--white);border:none;border-top:3px solid var(--cyan-bright);border-radius:4px;padding:1.15rem 1.2rem 1.25rem;box-shadow:var(--shadow);display:flex;flex-direction:column}.login-card h2{color:var(--navy);font-size:1.15rem;margin:0 0 .35rem}.login-card>p{color:var(--muted);font-size:.9rem;margin:0 0 1rem}.login-card .field{margin-bottom:.95rem}.login-card .btn{align-self:flex-start;margin-top:auto}.login-msg{margin-top:.75rem;margin-bottom:0;color:var(--cyan);font-weight:700;font-size:.9rem}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media(max-width:800px){.login-title-slide{grid-template-columns:1fr;text-align:center;padding-bottom:1.25rem}.login-logo,.login-lede{margin-left:auto;margin-right:auto}.login-title-art{justify-content:center}.login-title-art img{width:min(180px,70%)}.login-panels{grid-template-columns:1fr}.login-card .btn{width:100%}}@media(prefers-reduced-motion:reduce){.login-title-art img{animation:none}}.player{display:flex;flex-direction:column;gap:.4rem;width:100%;height:100%;max-height:100%;min-height:0;overflow:hidden}.player-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-shrink:0;min-height:0}.player-toolbar-mid{display:flex;flex-direction:column;align-items:center;gap:.1rem;min-width:0;flex:1;text-align:center}.player-course-title{color:var(--cyan-bright);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.back-link{text-decoration:none;font-weight:700;color:var(--cyan-bright);font-size:.88rem;flex-shrink:0}.player-slide-count{margin:0;color:var(--muted-light);font-size:.8rem;display:flex;align-items:center;justify-content:center;gap:.45rem}.saved-pill{background:#54c5de38;color:var(--cyan-bright);font-size:.65rem;font-weight:700;padding:.1rem .4rem;border-radius:3px;text-transform:uppercase;letter-spacing:.04em}.player-notes-btn{flex-shrink:0;padding:.35rem .75rem;font-size:.85rem;min-height:0}.player-notes-btn.is-active{border-color:var(--cyan-bright);color:var(--cyan-bright);background:#54c5de1f}.player-progress{margin:0;border-radius:0;height:3px;flex-shrink:0;background:#9db3c233}.player-stage-wrap{flex:1;min-height:0;display:grid;grid-template-columns:1fr;gap:.65rem;background:transparent}.player-stage-wrap.notes-open{grid-template-columns:minmax(0,1fr) minmax(220px,280px)}.slide-stage-slot{min-width:0;min-height:0;width:100%;height:100%;display:grid;place-items:center;container-type:size;background:transparent}.slide-stage{aspect-ratio:16 / 9;width:min(100cqw,calc(100cqh * 16 / 9));height:min(100cqh,56.25cqw);max-width:100%;max-height:100%;background:transparent;border-radius:4px;box-shadow:var(--shadow);overflow:hidden;position:relative;animation:rise .28s ease both}.slide-frame{display:block;width:100%;height:100%;object-fit:fill;object-position:center;background:transparent;-webkit-user-select:none;user-select:none}.slide-fallback{width:100%;height:100%;overflow:auto;padding:1.25rem;background:var(--white);color:var(--ink)}.slide-fallback h2{color:var(--navy);margin-top:0}.player-notes{min-height:0;overflow:auto;background:#0a1b29eb;border:1px solid rgba(84,197,222,.28);border-radius:4px;padding:.85rem 1rem;color:var(--muted-light)}.player-notes h3{color:#fff;font-size:.95rem;margin:0 0 .65rem}.player-notes .blocks{display:flex;flex-direction:column;gap:.65rem}.player-notes p,.player-notes .lesson-bullets{color:#f5f9fbe0;font-size:.86rem;margin:0}.player-notes .lesson-bullets{padding-left:1.05rem}.player-notes .lesson-bullets li{margin-bottom:.3rem}.player-notes .callout{border-radius:4px;padding:.7rem .8rem;border-left:3px solid var(--cyan);background:#54c5de14}.player-notes .callout strong{display:block;margin-bottom:.2rem;color:var(--cyan-bright);font-size:.82rem}.player-notes .callout p{margin:0}.player-notes .callout-warn{border-left-color:var(--orange)}.player-nav{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.55rem;align-items:center;flex-shrink:0;padding-top:.15rem}.player-nav-mid{min-width:0}.player-keys-hint{margin:.25rem 0 0;font-size:.68rem;color:var(--muted-light);text-align:center}@media(pointer:coarse){.player-keys-hint{display:none}}.slide-jump{width:100%;padding:.55rem .6rem;min-height:44px;border-radius:4px;border:1px solid rgba(84,197,222,.28);background:#0a1b29a6;color:#fff;font:inherit;font-size:.85rem}.player-nav .btn{min-height:44px;padding:.45rem 1rem}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media(max-width:900px){.player-stage-wrap.notes-open{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) minmax(140px,32%)}.player-course-title{display:none}}@media(max-width:640px){.player-nav{grid-template-columns:1fr 1fr}.player-nav-mid{grid-column:1 / -1;order:-1}.player-nav .btn{width:100%}.player-toolbar{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){.slide-stage{animation:none}}:root{--navy-deep: #0a1b29;--navy: #122a41;--navy-mid: #1e4e79;--ink: #17262f;--cyan: #159ab8;--cyan-bright: #54c5de;--cyan-mid: #22a5c4;--orange: #f07e1e;--orange-deep: #e4633a;--surface: #f5f9fb;--white: #ffffff;--muted: #5b6b76;--muted-light: #9db3c2;--border: rgba(157, 179, 194, .35);--shadow: 0 16px 48px rgba(10, 27, 41, .35);--radius: 4px;--font-display: Arial, "Helvetica Neue", Helvetica, sans-serif;--font-body: Arial, "Helvetica Neue", Helvetica, sans-serif;--focus: #54c5de;--slide-max: 1100px;--bezel: #0a1b29}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-body);font-size:1.02rem;line-height:1.55;color:var(--ink);background:var(--navy);background-image:radial-gradient(ellipse 90% 60% at 50% -10%,rgba(84,197,222,.1),transparent 55%),linear-gradient(180deg,var(--navy-deep) 0%,var(--navy) 40%,#0f2438 100%);background-attachment:fixed}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;letter-spacing:-.015em;color:var(--navy);margin:0 0 .5rem}p{margin:0 0 .75rem}a{color:var(--cyan-bright)}a:hover{color:var(--cyan)}button,input,select{font:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.skip-link{position:absolute;left:-999px;top:0;background:var(--cyan);color:var(--navy-deep);padding:.5rem 1rem;z-index:100}.skip-link:focus{left:0}.app-shell{min-height:100dvh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem 1.25rem;background:var(--navy-deep);border-bottom:3px solid var(--cyan-bright);color:#fff;position:sticky;top:0;z-index:50}.app-shell:has(.player){--player-chrome-offset: 2.85rem;height:100dvh;max-height:100dvh;overflow:hidden}.app-shell:has(.player) .app-header{padding:.4rem 1rem;border-bottom-width:2px;flex-shrink:0}.app-shell:has(.player) .brand-logo{height:22px}.app-shell:has(.player) .brand-text span{display:none}.app-shell:has(.player) .app-footer{display:none}.app-shell:has(.player) .main{flex:1;min-height:0;overflow:hidden}.brand{display:flex;align-items:center;gap:.85rem;text-decoration:none;color:#fff}.brand-logo{height:28px;width:auto;display:block}.brand-text{display:flex;flex-direction:column;line-height:1.15;border-left:1px solid rgba(157,179,194,.35);padding-left:.85rem}.brand-text strong{font-size:.9rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.brand-text span{font-size:.7rem;color:var(--muted-light)}.header-nav{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}.header-nav a,.header-btn{color:#ffffffe6;text-decoration:none;padding:.4rem .75rem;border-radius:4px;border:1px solid transparent;background:transparent;cursor:pointer;font-size:.9rem}.header-nav a:hover,.header-btn:hover,.header-nav a.active{background:#54c5de29;border-color:#54c5de66;color:#fff}.user-chip{display:flex;align-items:center;gap:.5rem;padding:.3rem .65rem;border-radius:4px;background:#ffffff0f;font-size:.88rem}.main{flex:1;width:min(var(--slide-max),100%);margin:0 auto;padding:1.25rem clamp(.75rem,2.5vw,1.5rem) 2rem}.main:has(.player){width:min(1280px,100%);padding:.45rem clamp(.5rem,1.5vw,1rem) .55rem;display:flex;flex-direction:column;min-height:0}.app-footer{text-align:center;padding:.85rem 1.25rem;color:var(--muted-light);font-size:.8rem;border-top:1px solid rgba(84,197,222,.2);background:var(--navy-deep)}.app-footer a{color:var(--cyan-bright)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.7rem 1.15rem;min-height:44px;border-radius:4px;border:1px solid transparent;cursor:pointer;text-decoration:none;font-weight:700;font-size:.95rem;transition:background .15s ease,border-color .15s ease,color .15s ease}.btn-primary{background:var(--cyan);color:var(--white)}.btn-primary:hover{background:var(--cyan-bright);color:var(--navy-deep)}.btn-secondary{background:transparent;color:var(--navy);border-color:#122a4133}.btn-secondary:hover{border-color:var(--cyan);color:var(--cyan)}.btn-orange{background:var(--orange);color:#fff}.btn-orange:hover{background:var(--orange-deep)}.btn-ghost{background:transparent;color:var(--navy-mid);border-color:#1e4e7940}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background:var(--white);border:1px solid rgba(18,42,65,.08);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem 1.35rem;border-top:3px solid var(--cyan-bright)}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.field label{font-weight:700;color:var(--navy);font-size:.9rem}.field input,.field select{padding:.65rem .8rem;border:1px solid rgba(18,42,65,.16);border-radius:4px;background:var(--surface);color:var(--navy)}.field .hint{font-size:.85rem;color:var(--muted)}.progress-track{height:5px;background:#9db3c240;border-radius:999px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--cyan),var(--cyan-bright));border-radius:inherit;transition:width .35s ease}.badge{display:inline-flex;align-items:center;padding:.18rem .5rem;border-radius:3px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.badge-done{background:#54c5de38;color:var(--cyan-bright)}.badge-progress{background:#f07e1e33;color:#ffb068}.badge-new{background:#ffffff14;color:var(--muted-light)}.course-card .badge-done,.card .badge-done{color:var(--navy-mid)}.course-card .badge-progress,.card .badge-progress{color:#b85a0f}.course-card .badge-new,.card .badge-new{background:#122a410f;color:var(--muted)}.course-cover-badge .badge-done{background:#0a1b29c7;color:var(--cyan-bright)}.course-cover-badge .badge-progress{background:#0a1b29c7;color:#ffb068}.course-cover-badge .badge-new{background:#0a1b29c7;color:#f5f9fbe6}.hf-num{width:1.3rem;height:1.3rem;border-radius:50%;background:var(--cyan);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.68rem;flex-shrink:0}.section-kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:700;color:var(--cyan-bright);margin:0 0 .4rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@media(max-width:720px){.app-header{flex-direction:column;align-items:flex-start;padding-left:max(1.25rem,env(safe-area-inset-left));padding-right:max(1.25rem,env(safe-area-inset-right))}.brand-text{display:none}.main{padding:1rem .75rem 2rem;padding-bottom:max(2rem,env(safe-area-inset-bottom))}.header-nav a,.header-btn{min-height:44px;padding:.55rem .75rem}}@media(pointer:coarse){.btn{min-height:44px}.course-actions .btn{min-height:40px;padding:.45rem .75rem}.exam-option,.player-nav .btn{min-height:48px}}
