
/* Black and sky-blue palette. Layout remains in app.css; print stays light. */
@media screen {
  :root{
    color-scheme:dark;
    --bg:#0C0E12; --panel:#14181F; --panel2:#1B222C;
    --text:#EEF3FA; --muted:#A2AFBF; --line:#28313D; --line2:#3A4859;
    --acc:#78C8FF; --acc-ink:#081724; --coral:#FF9B89; --warn:#EBC17B;
    --blue-soft:#172A3B; --blue-line:#315674;
  }
  .sidebar{background:#090C10;color:var(--text);border-color:var(--line)}
  .sidebar .star,.sidebar .tab b,.sidebar .tab[aria-current="page"] .icon{color:var(--acc)}
  .workspace-label,.sidebar .tab,.sidebar .btn-quiet{color:var(--muted)}
  .sidebar .tab:hover{background:var(--panel2);color:var(--text)}
  .sidebar .tab[aria-current="page"]{background:var(--blue-soft);border-color:var(--blue-line);color:#DAEFFF;box-shadow:inset 3px 0 var(--acc)}
  .sidebar-bottom{border-color:var(--line)}
  .sidebar .who,.login .brand{color:var(--text)}
  .sidebar .ava{background:var(--blue-soft);border-color:var(--blue-line);color:#C4E6FF}
  .sidebar .tabs{scrollbar-color:var(--blue-line) transparent}
  .btn-acc:hover:not(:disabled){background:#A3DAFF}
  .btn-line,.input,.textarea,.panel select,.library-toolbar .input{background:var(--panel)}
  .btn-line:hover:not(:disabled),.btn-quiet:hover{background:var(--panel2);border-color:var(--blue-line)}
  .input:focus,.textarea:focus{box-shadow:0 0 0 3px #78C8FF20}
  .input::placeholder,.textarea::placeholder{color:#8A99AB}
  .panel,.card,.lesson-layout .reading{box-shadow:0 4px 16px #00000012}
  .empty,.stat-item,.cheat-card,.material-item,.progress-level,.check{background:var(--panel)}
  .card:hover,.material-item:hover,.cheat-card:hover{border-color:var(--blue-line);box-shadow:0 8px 24px #00000025}
  .icon-tile,.tone-0,.tone-1,.tone-2,.tone-3,.stat-item>.icon,.library-hero>.icon-tile,.material-number,.cf-banner .icon-tile{background:var(--blue-soft);color:var(--acc)}
  .tone-1{background:#20283F;color:#A6BDFF}
  .tone-2{background:#142D36;color:#88D7ED}
  .tone-3{background:#202838;color:#A6C6ED}
  .material-item>.icon,.lesson-heading .cap,.cf-banner .cap{color:var(--acc)}
  .cf-banner{background:linear-gradient(115deg,#152536,#121B26);border-color:var(--blue-line)}
  .reading p,.reading li,.reading pre code{color:#C5CFDC}
  .reading li::marker{color:var(--acc)}
  .reading blockquote{background:#142330;border-color:var(--acc);color:#C5DCEC}
  .reading code,.info code{background:var(--panel2);color:#ABD9F9}
  .reading pre{background:#10151D;border-color:var(--line)}
  .reading th{background:#1B2937;color:#CCE7FB}
  .reading tbody tr:nth-child(even){background:#171F29}
  .lesson-toc,.lesson-toc nav{border-color:var(--line)}
  .lesson-toc>summary{color:#BDCEE1}
  .toc-link{color:var(--muted)}
  .toc-link:hover,.toc-link[aria-current]{background:var(--blue-soft);color:var(--acc);border-left-color:var(--acc)}
  .progress-xp{background:linear-gradient(130deg,#172C3D,#121C28);border-color:var(--blue-line)}
  .progress-xp>p,.level-step,.badge-card .note,.badge-state{color:var(--muted)}
  .level-step::before{background:var(--line)}
  .level-step>span{background:var(--panel2);border-color:var(--line2)}
  .level-step[aria-current="step"],.earned .badge-state{color:var(--acc)}
  .level-step[aria-current="step"]>span{background:var(--acc);color:var(--acc-ink);border-color:var(--acc);box-shadow:0 0 0 4px #78C8FF18}
  .badge-card{background:#11161D;border-color:var(--line)}
  .badge-icon{background:var(--panel2);color:#94A6BA;border-color:var(--line)}
  .badge-card.earned{background:#142432;border-color:var(--blue-line)}
  .badge-card.earned .badge-icon{background:var(--blue-soft);color:var(--acc);border-color:var(--blue-line)}
  .row:hover,.check:hover{background:var(--panel2)}
  .fact,.ans .a,.c-formulas div{background:#10151C}
  .steps i.done{background:#43779A}
  .rb-list li::before{color:#8496A9}
  .fb,.pill.reviewed{background:#142736;border-color:var(--blue-line)}
  .pill.submitted{background:#1B2840;border-color:#3C5678;color:#AFCDFF}
  .fb.back-to,.pill.draft{background:#2B241A;border-color:#625035}
  .login{background:radial-gradient(ellipse at 75% 10%,#173C5960,transparent 65%),var(--bg)}
  .login-card{border-color:var(--line);box-shadow:0 16px 64px #00000035}
  .top{background:#0C0E12EB}
  .demo{background:var(--blue-soft);border-color:var(--blue-line)}
}
@media screen and (max-width:1000px){.lesson-toc{background:var(--panel);border-color:var(--line)}}
@media screen and (max-width:760px){.sidebar .tab[aria-current="page"]{box-shadow:none}}

/* Collectible awards: colour expresses the achievement, status expresses ownership. */
.next-action{display:flex;align-items:flex-start;gap:22px;padding:28px;border:1px solid var(--blue-line);border-radius:22px;background:radial-gradient(ellipse at 0 0,#78C8FF16,transparent 70%),var(--panel);margin-bottom:18px}
.next-action>div{min-width:0}.next-action h2{font-size:24px;line-height:1.35;margin:8px 0}.next-action p{color:var(--muted);line-height:1.7;max-width:760px;margin-bottom:18px}
.route-links{margin-bottom:28px}.program-stages{display:grid;gap:20px;margin-top:28px}.program-stage h2{font-size:22px;line-height:1.35}.stage-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.program-stage>p{font-size:14px;line-height:1.8;color:var(--muted)}
.stage-outcome{display:flex;align-items:flex-start;gap:10px;padding:16px;background:var(--blue-soft);border-radius:12px;margin:18px 0}.stage-outcome .icon{color:var(--acc);flex:none}.stage-resources{margin-top:22px}.stage-resources>.cap{display:block;margin-bottom:12px}
.stage-resources .material-item{margin:8px 0}.route-case{display:flex;align-items:center;gap:14px;justify-content:space-between;padding:18px;margin-top:10px;border:1px solid var(--line);background:var(--panel);border-radius:13px;font-size:14px;overflow-wrap:anywhere}.route-case>span:first-child{flex:1;min-width:0}.route-case>.icon{flex:none;color:var(--acc)}.route-case:hover{border-color:var(--blue-line)}
.practice-banner{margin-bottom:28px}.practice-guide{padding-left:22px}.practice-guide li{margin:12px 0;line-height:1.8}.practice-checks{display:grid;gap:10px;border:1px solid var(--line);border-radius:14px;padding:18px}.practice-checks legend{padding:0 8px;font-weight:600}.practice-checks .check{margin:0;align-items:flex-start}.practice-checks input{margin-top:5px;flex:none}
.preserve{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}.portfolio-work{margin-top:16px}.portfolio-work>summary{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:19px;cursor:pointer;min-height:44px}.portfolio-work h3{font-size:16px;margin:22px 0 8px}.portfolio-work>.note{margin-top:16px}.mentor-rubric{margin:22px 0}.mentor-rubric .history{border-bottom:1px solid var(--line);padding:12px 0}.review-criteria{margin-top:24px}.review-criteria fieldset{margin:18px 0;padding:16px;border:1px solid var(--line);border-radius:12px}.review-criteria legend{font-size:14px;padding:0 5px;font-weight:600}.review-criteria .textarea{min-height:90px}.review-criteria .field{margin-top:12px}.review-criteria p{font-size:12px}
.pill.accepted{background:#142736;border:1px solid var(--blue-line);color:#BAE6FF}.pill.needs_revision{background:#2B241A;border:1px solid #625035;color:#F3D9A4}.lesson-action{margin-top:25px}.lesson-action p{line-height:1.8;margin:12px 0}.progress-level h2{overflow-wrap:anywhere}
@media(max-width:760px){.next-action{padding:20px;gap:14px}.next-action>.icon-tile{width:36px;height:36px;flex:none}.next-action h2{font-size:20px}.next-action p{font-size:13px}.next-action .btn{font-size:12px}.stage-heading{flex-direction:column;gap:10px}.program-stage h2{font-size:20px}.route-case{flex-wrap:wrap;padding:15px;gap:10px}.route-case>span:first-child{flex-basis:100%}.portfolio-work>summary{font-size:17px;align-items:flex-start;flex-direction:column}.practice-banner{flex-wrap:wrap}.review-criteria fieldset{padding:13px}.progress-level h2{font-size:26px}}
.review-criteria .input,.review-criteria .textarea{width:100%}
.program-offer{display:flex;flex-direction:column;gap:12px;min-width:0}.program-offer h2{font-size:28px;line-height:1.2;margin:0}.program-offer h3{font-size:14px;margin:8px 0 0}.program-offer p{line-height:1.65;margin:0}.program-offer .offer-audience{color:var(--muted)}.offer-list{list-style:none;padding:0;margin:0;display:grid;gap:10px;font-size:14px;line-height:1.65}.offer-list li{display:flex;gap:10px}.offer-list li:before{content:"✓";color:var(--acc);flex:none}.offer-workload{display:flex;align-items:flex-start;gap:10px;padding:14px;background:var(--blue-soft);border-radius:12px;font-size:13px}.offer-workload .icon{flex:none;color:var(--acc);margin-top:2px}.offer-cta{margin-top:auto;min-height:48px}.program-offer>.note{font-size:12px}.enrollment-guide{margin:20px 0 28px}.enrollment-guide h2{font-size:22px;margin:10px 0 20px}.enrollment-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 30px;padding-left:24px;margin:0 0 20px}.enrollment-steps li{padding-left:4px;font-size:14px;line-height:1.6}.enrollment-steps li::marker{color:var(--acc);font-weight:700}.enrollment-steps p{color:var(--muted);font-size:13px;margin:6px 0 0}
@media(max-width:760px){.program-offer h2{font-size:25px}.enrollment-steps{grid-template-columns:1fr}.enrollment-guide h2{font-size:20px}}
.offer-pricing{border-top:1px solid var(--line);padding-top:14px;margin:4px 0 10px}.offer-pricing h3{margin-bottom:12px}.offer-price-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.offer-price-row>div{min-width:0}.offer-price-row>div:last-child{text-align:right}.offer-price-row b{display:block;font-weight:600;line-height:1.5}.offer-price-row small{display:block;color:var(--muted);line-height:1.5;margin-top:4px}.offer-pricing>.note{font-size:12px;margin-top:12px}.program-offers .program-offer .btn{width:100%}
@media(max-width:500px){.offer-price-row{flex-direction:column;gap:6px}.offer-price-row>div:last-child{text-align:left}}
.achievements{margin-top:36px}
.achievement-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}
.achievement-heading h3{font-size:28px;letter-spacing:-.04em;margin:7px 0}
.achievement-heading p{color:var(--muted);font-size:14px;max-width:570px;line-height:1.7}
.achievement-count{flex:none;white-space:nowrap;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--muted);font-size:13px}
.achievement-count b{font-size:24px;color:var(--text);padding-right:3px}
.award-group-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:28px 0 15px}
.award-group-heading h4{display:flex;gap:9px;align-items:center;font-size:17px;font-weight:600}
.award-group-heading h4 .icon{width:19px;color:var(--acc)}
.award-group-heading>span{font-size:12px;color:var(--muted)}
.award-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.award-card{--award:#81CEFF;--award-rgb:129,206,255;--award-deep:#225486;--award-light:#E4F5FF;position:relative;isolation:isolate;display:flex;flex-direction:column;min-width:0;padding:20px;border:1px solid rgba(var(--award-rgb),.22);border-radius:22px;background:radial-gradient(ellipse at 50% 22%,rgba(var(--award-rgb),.1),transparent 58%),linear-gradient(160deg,#161D29,#10151D 70%);box-shadow:0 6px 20px #0002;transition:transform .22s,border-color .22s,box-shadow .22s}
.award-cyan{--award:#69E3DE;--award-rgb:105,227,222;--award-deep:#196776;--award-light:#DCFFFB}
.award-violet{--award:#B79BFF;--award-rgb:183,155,255;--award-deep:#594394;--award-light:#F0E6FF}
.award-coral{--award:#FFA58C;--award-rgb:255,165,140;--award-deep:#97455C;--award-light:#FFEDE3}
.award-gold{--award:#F5CD75;--award-rgb:245,205,117;--award-deep:#91602A;--award-light:#FFF4CA}
.award-card:hover{transform:translateY(-4px);border-color:rgba(var(--award-rgb),.56);box-shadow:0 12px 32px #0004,0 0 28px rgba(var(--award-rgb),.06)}
.award-topline{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;line-height:1.5}
.award-topline>span:first-child{color:var(--award);font-weight:600;letter-spacing:.04em}
.award-status{display:inline-flex;align-items:center;gap:4px;color:#A8B6C9;font-size:10px;white-space:nowrap}
.award-status .icon{width:12px;height:12px}
.award-art{position:relative;height:156px;display:grid;place-items:center;margin:8px 0 4px;perspective:500px}
.award-art::before{content:"";position:absolute;width:132px;height:132px;border-radius:50%;background:radial-gradient(circle,rgba(var(--award-rgb),.23),transparent 69%);filter:blur(8px)}
.award-art::after{content:"";position:absolute;width:4px;height:4px;top:31px;right:22%;border-radius:50%;background:var(--award);box-shadow:-111px 74px 0 -1px var(--award),12px 72px 0 -1px var(--award);opacity:.65}
.award-orbit{position:absolute;width:142px;height:142px;border-radius:50%;border:1px solid rgba(var(--award-rgb),.12);transform:rotate(-25deg)}
.award-orbit::after{content:"";position:absolute;inset:10px;border-radius:50%;border:1px dashed rgba(var(--award-rgb),.15)}
.award-medallion{position:relative;display:grid;place-items:center;width:102px;height:112px;border-radius:28px 28px 38px 38px;transform:rotate(-8deg);background:linear-gradient(145deg,var(--award-light) 0%,var(--award) 13%,var(--award-deep) 51%,var(--award) 87%,var(--award-light));box-shadow:0 8px 0 -3px var(--award-deep),0 17px 24px #0008,inset 1px 2px 1px #FFF7;transition:transform .25s}
.award-medallion::before{content:"";position:absolute;inset:5px;border-radius:24px 24px 33px 33px;background:linear-gradient(145deg,rgba(var(--award-rgb),.42),#101B2E 60%);border:1px solid rgba(var(--award-rgb),.75);box-shadow:inset 0 2px 9px #0007,inset 0 -1px 0 #FFFFFF30}
.award-medallion::after{content:"";position:absolute;inset:12px;border:1px solid rgba(var(--award-rgb),.22);border-radius:19px 19px 28px 28px}
.award-medallion>.icon{position:relative;z-index:1;width:46px;height:46px;stroke-width:1.65;color:var(--award-light);filter:drop-shadow(0 0 8px rgba(var(--award-rgb),.65));transform:rotate(8deg)}
.award-gem{position:absolute;width:10px;height:10px;left:calc(50% - 5px);bottom:23px;transform:rotate(45deg);border:1px solid var(--award-light);background:var(--award);box-shadow:0 0 12px rgba(var(--award-rgb),.6)}
.award-card:hover .award-medallion{transform:rotate(0) translateY(-3px)}
.award-copy h4{color:#EFF4FD;font-size:17px;line-height:1.35;font-weight:600;letter-spacing:-.025em;min-height:46px}
.award-copy p{color:#A7B5C9;font-size:12px;line-height:1.7;margin:8px 0 20px}
.award-progress,.award-exclusive{margin-top:auto}
.award-progress>div{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:#A7B5C9;margin-bottom:9px}
.award-progress b{color:var(--award);font-weight:500;font-variant-numeric:tabular-nums}
.award-progress progress{appearance:none;display:block;width:100%;height:5px;border:0;border-radius:5px;overflow:hidden;background:#FFFFFF0C;color:var(--award)}
.award-progress progress::-webkit-progress-bar{background:#FFFFFF0C;border-radius:5px}
.award-progress progress::-webkit-progress-value{background:linear-gradient(90deg,var(--award-deep),var(--award));border-radius:5px}
.award-progress progress::-moz-progress-bar{background:var(--award);border-radius:5px}
.award-exclusive{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--award);padding:9px 10px;border-radius:8px;background:rgba(var(--award-rgb),.07);border:1px solid rgba(var(--award-rgb),.12)}
.award-exclusive .icon{width:15px;height:15px}
.award-details{margin-top:17px;padding-top:13px;border-top:1px solid rgba(var(--award-rgb),.12)}
.award-details summary{cursor:pointer;color:#C6D4E6;font-size:12px;min-height:24px}
.award-details summary:hover{color:var(--award)}
.award-details p{font-size:12px;line-height:1.75;color:#A7B5C9;margin-top:12px;overflow-wrap:anywhere}
.award-card.is-earned{border-color:rgba(var(--award-rgb),.65);background:radial-gradient(ellipse at 50% 24%,rgba(var(--award-rgb),.22),transparent 65%),#121A25;box-shadow:0 0 32px rgba(var(--award-rgb),.08)}
.is-earned .award-status{color:var(--award)}
.is-earned .award-medallion{box-shadow:0 8px 0 -3px var(--award-deep),0 12px 34px rgba(var(--award-rgb),.27),inset 1px 2px 1px #FFF9}
.is-earned .award-art::before{width:175px;height:175px}
@media(max-width:1180px){.award-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.achievement-heading{align-items:flex-start;flex-wrap:wrap;gap:14px}.achievement-heading h3{font-size:26px}.achievement-heading p{font-size:13px}.achievement-count{padding:8px 12px}.award-group-heading{align-items:flex-start;flex-direction:column;gap:5px}.award-card{padding:17px}.award-topline{flex-wrap:wrap}.award-grid{gap:12px}.award-art{height:144px}.award-copy h4{font-size:16px}.award-copy p{font-size:12px}}
@media(max-width:480px){.award-grid{grid-template-columns:minmax(0,1fr)}.award-card{padding:22px}.award-topline{font-size:12px}.award-status{font-size:11px}.award-copy h4{font-size:20px;min-height:0}.award-art{height:172px}.award-copy p{font-size:13px}.award-details summary{font-size:13px}.award-progress>div,.award-exclusive{font-size:12px}}
@media(prefers-reduced-motion:reduce){.award-card,.award-medallion{transition:none}.award-card:hover,.award-card:hover .award-medallion{transform:none}}
@media print{.award-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.award-card{break-inside:avoid;box-shadow:none;background:#fff;border-color:#999}.award-copy h4,.award-copy p,.award-details p,.award-details summary,.award-status,.award-progress>div,.award-exclusive{color:#111}.award-art{height:130px}.award-card{--award:#555;--award-light:#eee;--award-deep:#333}.award-medallion{box-shadow:none}}

.progress-level h2.level-unassessed{font-size:20px;font-weight:600;line-height:1.4;letter-spacing:-.02em}
@media(max-width:760px){.progress-level h2.level-unassessed{font-size:18px}}

/* Public demo is a separate read-only preview, never a student account. */
.login-demo{margin-top:18px;width:100%;justify-content:center;font-size:13px}
.demo-preview-banner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;border:1px solid var(--blue-line);border-radius:18px;background:var(--blue-soft);margin-bottom:30px}
.demo-preview-banner strong{color:var(--acc);font-size:15px}.demo-preview-banner p{font-size:12px;line-height:1.7;color:var(--muted);max-width:570px;margin:6px 0 0}.demo-preview-banner .btn{flex:none;font-size:12px}
.demo-card{min-height:270px}.demo-card .icon-tile{margin-bottom:16px}.demo-lock{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;line-height:1.6;padding-top:20px}.demo-lock>.icon{color:var(--acc);flex:none}
.demo-task-list{margin-top:18px}.demo-task{display:flex;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid var(--line);font-size:14px}.demo-task>div{flex:1;min-width:0}.demo-task>.icon{color:var(--acc);flex:none}.demo-task .pill{flex:none;font-size:10px}.demo-task strong{overflow-wrap:anywhere}.demo-timer{font-size:48px;line-height:1.3;font-weight:600;color:var(--acc);margin-top:16px}.demo-criteria{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
@media(max-width:760px){.demo-preview-banner{align-items:stretch;flex-direction:column;padding:18px;gap:14px}.demo-preview-banner .btn{justify-content:center;white-space:normal;text-align:center}.demo-task{flex-wrap:wrap}.demo-task>div{flex-basis:calc(100% - 40px)}.demo-task .pill{margin-left:38px}.demo-card{min-height:240px}}

/* The blurred shapes contain no lesson text, metadata or student information. */
.demo-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.demo-sealed{min-width:0;margin-top:20px}.demo-preview-grid .demo-sealed{margin-top:0}
.demo-sealed h2{font-size:20px;line-height:1.35;margin-bottom:20px}
.demo-protected{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:16px;min-height:190px;background:#10151D}
.demo-mask{filter:blur(7px);opacity:.45;pointer-events:none;user-select:none;padding:30px;min-height:190px}
.demo-mask-lines{display:grid;gap:18px;padding-top:8px}.demo-mask-lines i{display:block;height:12px;width:95%;background:#90A9C2;border-radius:7px}.demo-mask-lines i:nth-child(2){width:70%;background:var(--acc)}.demo-mask-lines i:nth-child(3){width:85%}.demo-mask-lines i:nth-child(4){width:58%}
.demo-mask-chart{height:130px;display:flex;align-items:flex-end;justify-content:center;gap:18px}.demo-mask-chart i{width:30px;height:50%;border-radius:8px;background:var(--acc)}.demo-mask-chart i:nth-child(2){height:75%}.demo-mask-chart i:nth-child(3){height:60%}.demo-mask-chart i:nth-child(4){height:90%}.demo-mask-chart i:nth-child(5){height:70%}
.demo-mask-medals{display:flex;align-items:center;justify-content:center;gap:28px;height:130px}.demo-mask-medals i{width:64px;height:76px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:linear-gradient(135deg,#B5E4FF,#4E91DE)}.demo-mask-medals i:nth-child(2){background:linear-gradient(135deg,#F5CD75,#91602A)}.demo-mask-medals i:nth-child(3){background:linear-gradient(135deg,#B79BFF,#594394)}
.demo-cover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;background:#0C0E127A;text-align:center;padding:16px}.demo-cover>.icon{width:26px;height:26px;color:var(--acc)}.demo-cover strong{font-size:14px;font-weight:600;color:var(--text)}.demo-cover>span{font-size:12px;color:var(--muted)}
.demo-preview-link{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;color:var(--acc);padding-top:18px;min-height:44px}.demo-preview-link:hover{text-decoration:underline}
@media(max-width:760px){.demo-preview-grid{grid-template-columns:minmax(0,1fr);gap:16px}.demo-sealed h2{font-size:18px}.demo-protected,.demo-mask{min-height:165px}.demo-mask{padding:22px}.demo-mask-medals{gap:18px}.demo-mask-medals i{width:50px;height:64px}}

.demo-cf-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.demo-cf-benefits article{min-width:0;padding:22px}.demo-cf-benefits .icon-tile{margin-bottom:16px}.demo-cf-benefits h2{font-size:19px;line-height:1.35;margin-bottom:10px}.demo-cf-benefits p{font-size:13px;line-height:1.75;color:var(--muted)}.demo-cf-growth{padding:18px 0;max-width:760px;line-height:1.75}
@media(max-width:480px){.demo-cf-benefits{grid-template-columns:minmax(0,1fr)}.demo-cf-benefits article{padding:20px}.demo-cf-benefits h2{font-size:18px}}
.native-course-shell .page{padding:22px 0 36px}
.native-course-shell .wrap{width:calc(100% - 32px);max-width:1000px}
.native-course-tabs{position:sticky;top:0;z-index:10;background:var(--bg);display:flex;gap:6px;padding:8px 16px 12px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--line)}
.native-course-tabs a{display:flex;align-items:center;justify-content:center;gap:6px;flex:1;white-space:nowrap;min-height:44px;padding:8px 10px;border-radius:12px;color:var(--muted);font-size:12px;text-decoration:none}
.native-course-tabs a[aria-current="page"]{color:var(--acc);background:#78C8FF16;box-shadow:inset 0 0 0 1px #78C8FF35}
.native-course-tabs .icon{width:18px;height:18px;flex:none}
.native-course-shell h1{font-size:clamp(24px,5vw,32px);line-height:1.25}
.native-course-shell .lesson-layout .reading{padding:20px;font-size:16px;line-height:1.7}
.native-course-shell .btn,.native-course-shell .input,.native-course-shell select{min-height:44px}
.native-course-shell textarea.textarea,.native-course-shell input.input,.native-course-shell select{font-size:16px}
.native-session-message{padding:32px 24px}
@media(max-width:420px){.native-course-tabs{gap:4px;padding-inline:12px}.native-course-tabs a{flex-direction:column;font-size:11px;padding:8px 6px}.native-course-shell .grid{grid-template-columns:minmax(0,1fr)}.native-course-shell .wrap{width:calc(100% - 28px)}}


/* Embedded course inherits native appearance; ordinary web pages keep their sky/dark theme. */
@media screen {
  html[data-course-theme="light"] {
    color-scheme:light;
    --bg:#F5F5F7; --panel:#FFFFFF; --panel2:#F0F4F8;
    --text:#18222F; --muted:#59697C; --line:#DDE5ED; --line2:#C6D3E1;
    --acc:#176B9F; --acc-ink:#FFFFFF; --coral:#B94336; --warn:#896017;
    --blue-soft:#EAF4FC; --blue-line:#B8D8EE;
  }
  html[data-course-theme="light"] .native-course-tabs a[aria-current="page"] {background:var(--blue-soft);color:var(--acc);box-shadow:inset 0 0 0 1px var(--blue-line)}
  html[data-course-theme="light"] .btn-acc {background:#78C8FF;color:#081724}
  html[data-course-theme="light"] .btn-acc:hover:not(:disabled) {background:#62B9F1}
  html[data-course-theme="light"] .input::placeholder,html[data-course-theme="light"] .textarea::placeholder {color:#63758B}
  html[data-course-theme="light"] .input:focus,html[data-course-theme="light"] .textarea:focus {box-shadow:0 0 0 3px #176B9F20}
  html[data-course-theme="light"] .panel,html[data-course-theme="light"] .card,html[data-course-theme="light"] .lesson-layout .reading {box-shadow:0 3px 14px #18222F06}
  html[data-course-theme="light"] .card:hover,html[data-course-theme="light"] .material-item:hover,html[data-course-theme="light"] .cheat-card:hover {box-shadow:0 6px 20px #18222F0A}
  html[data-course-theme="light"] .reading p,html[data-course-theme="light"] .reading li,html[data-course-theme="light"] .reading td {color:#344256}
  html[data-course-theme="light"] .reading blockquote {background:var(--blue-soft);color:#344256;border-color:var(--acc)}
  html[data-course-theme="light"] .reading code,html[data-course-theme="light"] .info code {background:var(--panel2);color:#176B9F}
  html[data-course-theme="light"] .reading pre,html[data-course-theme="light"] .fact,html[data-course-theme="light"] .ans .a,html[data-course-theme="light"] .c-formulas div {background:var(--panel2)}
  html[data-course-theme="light"] .reading pre code {background:transparent;color:#344256}
  html[data-course-theme="light"] .reading th {background:#EAF1F8;color:#244A68}
  html[data-course-theme="light"] .reading tbody tr:nth-child(even) {background:#F7FAFD}
  html[data-course-theme="light"] .lesson-toc>summary {color:#344256}
  html[data-course-theme="light"] .tone-1 {background:#EBEDFA;color:#4D5FA4}
  html[data-course-theme="light"] .tone-2 {background:#E7F4F8;color:#176B7E}
  html[data-course-theme="light"] .tone-3 {background:#EDF2FA;color:#426A9B}
  html[data-course-theme="light"] .cf-banner,html[data-course-theme="light"] .progress-xp {background:linear-gradient(130deg,#EAF4FC,#FFFFFF)}
  html[data-course-theme="light"] .steps i.done {background:#88BCDF}
  html[data-course-theme="light"] .rb-list li::before {color:#63758B}
  html[data-course-theme="light"] .fb,html[data-course-theme="light"] .pill.reviewed,html[data-course-theme="light"] .pill.accepted {background:var(--blue-soft);color:#176B9F}
  html[data-course-theme="light"] .pill.submitted {background:#EEF2FC;border-color:#C4D1EE;color:#385CA1}
  html[data-course-theme="light"] .fb.back-to,html[data-course-theme="light"] .pill.draft,html[data-course-theme="light"] .pill.needs_revision {background:#FFF7E9;border-color:#E4CEA5;color:#896017}
  html[data-course-theme="light"] .badge-card {background:var(--panel);border-color:var(--line)}
  html[data-course-theme="light"] .badge-icon {background:var(--panel2);color:#63758B}
  html[data-course-theme="light"] .badge-card.earned {background:var(--blue-soft)}
  html[data-course-theme="light"] .award-card {background:radial-gradient(ellipse at 50% 22%,rgba(var(--award-rgb),.13),transparent 58%),var(--panel);border-color:var(--line);box-shadow:0 4px 16px #18222F08}
  html[data-course-theme="light"] .award-card.is-earned {background:radial-gradient(ellipse at 50% 24%,rgba(var(--award-rgb),.2),transparent 65%),var(--panel);border-color:var(--award-deep)}
  html[data-course-theme="light"] .award-card:hover {box-shadow:0 8px 24px #18222F10;border-color:var(--award-deep)}
  html[data-course-theme="light"] .award-copy h4 {color:var(--text)}
  html[data-course-theme="light"] .award-copy p,html[data-course-theme="light"] .award-details p,html[data-course-theme="light"] .award-details summary,html[data-course-theme="light"] .award-status,html[data-course-theme="light"] .award-progress>div {color:var(--muted)}
  html[data-course-theme="light"] .award-topline>span:first-child,html[data-course-theme="light"] .award-progress b,html[data-course-theme="light"] .award-exclusive,html[data-course-theme="light"] .is-earned .award-status {color:var(--award-deep)}
  html[data-course-theme="light"] .award-progress progress,html[data-course-theme="light"] .award-progress progress::-webkit-progress-bar {background:#DDE5ED}
  html[data-course-theme="light"] .award-progress progress::-webkit-progress-value {background:var(--award-deep)}
  html[data-course-theme="light"] .award-progress progress::-moz-progress-bar {background:var(--award-deep)}
  html[data-course-theme="light"] .demo-protected {background:var(--panel2)}
  html[data-course-theme="light"] .demo-cover {background:#F5F5F77A}
}
/* Keep a comfortable reading measure on wide Mac windows, in either appearance. */
@media screen and (min-width:1001px) {
  .native-course-shell .lesson-layout {grid-template-columns:minmax(0,740px) 200px;justify-content:center;gap:24px}
  .native-course-shell .lesson-layout .reading {padding:28px 30px}
}
.material-item.material-locked{cursor:default;box-shadow:none;color:var(--muted);background:var(--panel);border-color:var(--line)}
.material-item.material-locked:hover{box-shadow:none;border-color:var(--line)}
.material-locked .material-number{background:var(--panel2);color:var(--muted)}
.material-item.material-locked>.icon{color:var(--muted)}
.lesson-locked{max-width:800px}
.lesson-locked>.icon-tile{margin-bottom:24px}
.lesson-locked>.cap{display:block;margin-bottom:12px}
.lesson-locked h1{font-size:clamp(26px,4vw,38px);line-height:1.2}
.lesson-locked p{color:var(--muted);line-height:1.7}
.lesson-footer #nextLessonAction{display:flex}
@media(max-width:760px){.lesson-footer #nextLessonAction{flex:1}.lesson-locked .acts .btn{width:100%}}
