.written-page{padding-top:24px;padding-bottom:70px;color:#26332f}.written-crumbs{display:flex;gap:10px;flex-wrap:wrap;font-size:13px;color:#69736c;margin-bottom:24px}.written-crumbs a{color:inherit}.written-hero{padding:30px 0 40px}.written-hero h1{font-size:clamp(32px,4.2vw,60px);line-height:1.12;letter-spacing:-.04em;max-width:920px;margin:14px 0 20px}.written-hero p{max-width:720px;font-size:18px;line-height:1.65;color:#57625c}.written-grade-nav{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.written-grade{padding:12px 20px;background:white;border:1px solid #dedfd5;border-radius:12px;font-weight:700}.written-grade:hover,.written-grade.active{background:#f36a23;color:white;border-color:#f36a23}.written-grade-section{margin-bottom:36px}.written-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px}.written-section-heading h2{font-size:27px;line-height:1.25;letter-spacing:-.025em;margin:6px 0}.written-section-heading>span{font-size:13px;color:#647067;white-space:nowrap}.written-course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.written-course{display:flex;align-items:center;gap:16px;border:1px solid #dedfd5;border-radius:16px;padding:22px;background:#fff;transition:transform .2s,border-color .2s}.written-course:hover{transform:translateY(-3px);border-color:#f36a23}.written-icon{display:grid;place-items:center;background:#f5f2e8;border-radius:12px;flex:0 0 48px;height:48px;font-size:26px;color:#d3531b}.written-course strong,.written-course small,.written-card-meta{display:block}.written-course strong{font-size:17px;line-height:1.35}.written-course small{font-size:13px;color:#647067;margin-top:5px}.written-card-meta{font-size:11px;color:#8a6d58;margin-top:7px}.written-reading{max-width:860px;margin:48px 0;padding-top:30px;border-top:1px solid #dfe2d8}.written-reading h2{font-size:29px;line-height:1.3}.written-reading h3{font-size:21px;line-height:1.4;margin:27px 0 12px}.written-reading p,.written-reading li{font-size:17px;line-height:1.85;color:#46544b}.written-lesson-hero{display:grid;grid-template-columns:1fr 210px;gap:36px}.written-lesson-hero h1{font-size:clamp(30px,3.5vw,48px)}.written-lesson-symbol{align-self:center;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;background:#f2eddf;border-radius:40% 40% 28% 40%;font-size:86px;color:#e46624;transform:rotate(-3deg)}.written-lesson-symbol small{font-size:13px;line-height:1.6;letter-spacing:.12em;text-align:center;color:#66705c}.written-stats{display:flex;flex-wrap:wrap;gap:22px;margin:22px 0;font-size:13px;color:#5a665c}.written-stats b{font-size:20px;color:#24322d;margin-right:4px}.written-jumps{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.written-jumps .button{min-height:44px;font-size:14px;padding:13px 18px}.written-jumps .text-link{font-size:13px;margin-left:8px}.written-page section[id]{scroll-margin-top:130px}.written-tools{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:22px;flex-wrap:wrap}.written-publisher-filters{display:flex;gap:6px;flex-wrap:wrap}.written-publisher-filters button{font:inherit;font-size:12px;border:1px solid #dcded4;background:#fff;border-radius:24px;padding:9px 13px;color:#39483e;cursor:pointer}.written-publisher-filters button[aria-pressed=true]{background:#26392f;color:#fff;border-color:#26392f}.written-search input{border:1px solid #dcded4;background:white;border-radius:10px;padding:10px 13px;width:250px;max-width:100%;font:inherit;font-size:13px}.written-pdf-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.written-pdf{padding:0;text-align:left;background:#fff;border:1px solid #dedfd5;border-radius:14px;overflow:hidden;cursor:pointer;color:inherit;font:inherit;display:flex;flex-direction:column;min-width:0;transition:transform .2s,box-shadow .2s}.written-pdf:hover{transform:translateY(-3px);box-shadow:0 8px 22px #283c2912}.written-pdf-cover{position:relative;display:flex;justify-content:center;width:100%;height:230px;background:#eeefe8;padding:16px 22px 0;overflow:hidden}.written-pdf-cover img{width:100%;height:auto;object-fit:cover;object-position:top;box-shadow:0 3px 12px #0002;background:white;align-self:flex-start}.written-pdf-badge{position:absolute;bottom:12px;left:12px;padding:6px 10px;border-radius:6px;background:#fff;color:#283a2d;font-size:11px;font-weight:800;box-shadow:0 1px 5px #0001}.written-preview-missing{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:100%;height:270px;background:#fff;border:1px solid #e1e3da;color:#6d7869;padding-bottom:50px;gap:9px}.written-preview-missing b{font-size:36px;font-weight:400}.written-preview-missing strong{font-size:15px}.written-preview-missing small{font-size:11px;line-height:1.5}.written-pdf-info{padding:16px;display:flex;flex-direction:column;gap:9px;flex:1}.written-pdf-info>small{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#7c806f}.written-pdf-info>strong{font-size:14px;line-height:1.55;font-weight:650}.written-pdf-info>span{display:flex;justify-content:space-between;color:#c2521c;font-size:12px;margin-top:auto;padding-top:5px}.written-note{font-size:12px!important;line-height:1.7!important;color:#687265!important;margin:18px 0 34px}.written-scenario-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.written-scenario{display:flex;align-items:center;gap:16px;padding:22px;background:#fff;border:1px solid #dedfd5;border-radius:14px}.written-scenario:hover{border-color:#ef6c29}.written-scenario-num{font-size:34px;font-weight:600;color:#9aa68e}.written-scenario strong,.written-scenario small,.written-scenario span>span{display:block}.written-scenario strong{font-size:17px}.written-scenario small{font-size:12px;color:#67745f;margin:7px 0}.written-scenario span>span{font-size:12px;color:#c2521c}.written-empty{padding:22px;background:#f0f1e9;border-radius:12px;grid-column:1/-1;font-size:15px}.written-empty p{font-size:14px}.written-empty button{font-size:13px;padding:12px;opacity:.65;cursor:not-allowed}.written-topic-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding-left:20px;gap:6px 30px}.written-related{border-top:1px solid #ddd;padding-top:26px}.written-related h2{font-size:25px}.written-related nav{display:flex;flex-wrap:wrap;gap:10px}.written-related a{padding:10px 14px;border:1px solid #d8dece;border-radius:9px;background:#fff;font-size:13px}.written-viewer{width:min(1040px,96vw);max-width:96vw;height:min(900px,94dvh);max-height:94dvh;border:1px solid #ddd;border-radius:18px;padding:0;background:#fff;color:#24332b}.written-viewer[open]{display:flex;flex-direction:column}.written-viewer::backdrop{background:#18241dd0}.written-viewer>header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 22px}.written-viewer h2{font-size:17px;margin:5px 0;line-height:1.4}.written-viewer header small{font-size:12px;color:#6a765f}.written-viewer header button{font-size:28px;border:0;background:transparent;width:40px;height:40px;cursor:pointer;flex-shrink:0}.written-viewer-body{flex:1;min-height:160px;position:relative;background:#d8ddd3;overflow:hidden}.written-viewer iframe{width:100%;height:100%;border:0}.written-viewer.locked iframe{filter:blur(7px);pointer-events:none}.written-viewer-gate{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#f8f8f0d9;padding:20px}.written-viewer-gate>span{font-size:44px;color:#c15c27}.written-viewer-gate h3{font-size:24px;margin:12px 0}.written-viewer-gate p{font-size:15px}.written-viewer-gate .button{font-size:15px;padding:14px 20px}.written-viewer:not(.locked) .written-viewer-gate{display:none}.written-viewer>footer{padding:10px 20px;font-size:12px;display:flex;gap:15px;align-items:center;justify-content:space-between}.written-viewer footer p{font-size:12px;line-height:1.4;margin:0}.written-viewer footer a{white-space:nowrap}.written-viewer.locked [data-viewer-external]{display:none}.written-pdf[hidden],.written-empty[hidden]{display:none!important}
@media(max-width:1100px){.written-pdf-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.written-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.written-lesson-hero{grid-template-columns:1fr 160px}.written-lesson-symbol{font-size:70px}.written-pdf-cover{height:220px}}
@media(max-width:700px){.written-page{padding-top:16px}.written-hero{padding:16px 0 28px}.written-hero h1{font-size:34px}.written-hero p{font-size:15px}.written-lesson-hero{display:block}.written-lesson-symbol{display:none}.written-grade{padding:10px 14px;font-size:13px}.written-course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.written-course{padding:14px 10px;gap:9px;border-radius:12px}.written-icon{flex-basis:30px;height:34px;font-size:20px}.written-course strong{font-size:13px}.written-course small{font-size:10px}.written-card-meta{font-size:10px}.written-section-heading{align-items:flex-start;flex-direction:column;gap:3px}.written-section-heading h2{font-size:23px}.written-pdf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.written-pdf-cover{height:180px;padding:10px 12px 0}.written-pdf-info{padding:12px;gap:7px}.written-pdf-info>strong{font-size:12px}.written-pdf-info>small{font-size:9px}.written-tools{gap:12px}.written-search,.written-search input{width:100%}.written-scenario-grid{grid-template-columns:1fr}.written-scenario{padding:18px}.written-reading h2{font-size:25px}.written-reading p,.written-reading li{font-size:16px}.written-topic-list{grid-template-columns:1fr}.written-viewer>header{padding:12px}.written-viewer h2{font-size:14px}.written-viewer>footer{padding:10px 12px;align-items:flex-start;flex-direction:column}.written-viewer-gate h3{font-size:21px}.written-stats{gap:14px}.written-stats span{font-size:11px}.written-jumps .button{font-size:12px;padding:12px}.written-jumps .text-link{margin:7px 0}.written-page section[id]{scroll-margin-top:95px}}
@media(max-width:360px){.written-course-grid{grid-template-columns:1fr}.written-pdf-cover{height:155px}.written-pdf-info{padding:9px}.written-pdf-badge{font-size:9px;left:7px;bottom:7px}.written-hero h1{font-size:29px}}
@media(prefers-reduced-motion:reduce){.written-course,.written-pdf{transition:none}.written-course:hover,.written-pdf:hover{transform:none}}

@media(min-width:701px){.written-search{flex:0 0 250px;max-width:100%}}

/* v40: preparation program entrance — pointer glow intentionally omitted */
.program-entry{max-width:1500px;padding-top:32px;padding-bottom:48px}.program-board{display:grid;grid-template-columns:minmax(0,2.5fr) minmax(240px,1fr);gap:28px;min-height:540px;padding:32px;border:1px solid #ffffffdb;border-radius:30px;background:radial-gradient(ellipse at 0 0,#ffdbb780,transparent 55%),radial-gradient(ellipse at 100% 0,#c6d9ff90,transparent 60%),radial-gradient(ellipse at 0 100%,#a8e2d888,transparent 55%),radial-gradient(ellipse at 80% 100%,#ddcdf585,transparent 65%),#edf0f4;box-shadow:0 14px 38px #24332c0d}.program-board-main{min-width:0}.program-board h1{font-size:clamp(28px,3vw,42px);letter-spacing:-1.4px;line-height:1.2;margin:0 0 28px;color:#17212f}.program-featured-grades{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;perspective:900px}.program-grade-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title icon" "info info" "start start";align-items:start;column-gap:4px;row-gap:20px;min-width:0;min-height:240px;padding:26px 18px 24px;border:1px solid #ffffff73;border-radius:26px;color:#fff;overflow:hidden;box-shadow:inset 0 1px 0 #ffffff73,0 14px 28px var(--card-shadow);transform:rotateX(var(--card-rx,0deg)) rotateY(var(--card-ry,0deg));transform-style:preserve-3d;transition:transform .25s ease,box-shadow .25s ease;text-decoration:none}.program-blue{--card-color:#1677ff;--card-shadow:#1677ff59;background:linear-gradient(160deg,#2b93ff,#1060f0)}.program-green{--card-color:#15a34a;--card-shadow:#16a34a59;background:linear-gradient(160deg,#34d36e,#12a24a)}.program-orange{--card-color:#ea6a0c;--card-shadow:#f9731659;background:linear-gradient(160deg,#ffa133,#f2700f)}.program-grade-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#ffffff2e,transparent 50%);pointer-events:none}.program-grade-title{grid-area:title;white-space:nowrap;font-size:clamp(23px,2.2vw,34px);line-height:1.25;font-weight:800;letter-spacing:-1px;text-shadow:0 2px 0 #00000014;transform:translateZ(24px)}.program-grade-icon{grid-area:icon;font-size:30px;line-height:1.2;filter:drop-shadow(0 4px 6px #0000002e);transform:translateZ(30px);transition:transform .35s cubic-bezier(.34,1.56,.64,1)}.program-grade-info{grid-area:info;font-size:13px;font-weight:650;transform:translateZ(18px)}.program-grade-start{grid-area:start;justify-self:center;align-self:end;display:inline-flex;gap:8px;align-items:center;justify-content:center;max-width:100%;padding:12px 20px;border-radius:999px;background:#fff;color:var(--card-color);font-size:16px;font-weight:750;white-space:nowrap;box-shadow:0 6px 14px #0000001f;transform:translateZ(28px);transition:background .2s,color .2s,box-shadow .2s}.program-grade-start svg{width:20px;height:20px;flex:none;transition:transform .25s}.program-bubbles i{position:absolute;border-radius:50%;background:#ffffff29;pointer-events:none;transition:transform .6s ease}.program-bubbles i:nth-child(1){width:150px;height:150px;right:-45px;bottom:-55px}.program-bubbles i:nth-child(2){width:80px;height:80px;left:-25px;top:40%}.program-bubbles i:nth-child(3){width:34px;height:34px;right:40%;top:18px}.program-other-grades{text-align:center;margin-top:34px}.program-other-grades h2{font-size:14px;font-weight:650;letter-spacing:0;color:#54606a}.program-other-grades .written-grade-nav{justify-content:center;margin-top:14px;gap:10px}.program-reserved{min-width:0;min-height:440px;background:#ffffff42;border:1px solid #ffffffb3;border-radius:26px;box-shadow:inset 0 1px 0 #ffffff66}.program-grade-card:focus-visible{outline:4px solid #144ba2;outline-offset:5px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.program-grade-card:hover{color:#fff;transform:rotateX(var(--card-rx,0deg)) rotateY(var(--card-ry,0deg)) translateY(-6px) scale(1.03);box-shadow:0 26px 46px var(--card-shadow)}.program-grade-card:hover .program-bubbles i:nth-child(1){transform:translate(-14px,-10px) scale(1.15)}.program-grade-card:hover .program-bubbles i:nth-child(2){transform:translate(10px,-8px)}.program-grade-card:hover .program-bubbles i:nth-child(3){transform:translate(-6px,6px) scale(1.4)}.program-grade-card:hover .program-grade-icon{transform:translateZ(40px) rotate(-12deg) scale(1.25)}.program-grade-card:hover .program-grade-start{background:var(--card-color);color:#fff;box-shadow:0 8px 18px #00000038,inset 0 0 0 2px #ffffffb3}.program-grade-card:hover .program-grade-start svg{transform:translateX(5px)}}
@media(max-width:1150px){.program-board{grid-template-columns:minmax(0,1fr) 220px;padding:24px;gap:20px}.program-featured-grades{gap:12px}.program-grade-card{padding:22px 12px;min-height:220px}.program-grade-title{font-size:25px}.program-grade-icon{font-size:24px}.program-grade-start{font-size:14px;padding:10px 14px}.program-grade-info{font-size:11px}}
@media(max-width:950px){.program-board{grid-template-columns:minmax(0,1fr);min-height:0}.program-reserved:empty{display:none}.program-reserved{display:none}.program-grade-title{font-size:30px}.program-grade-icon{font-size:30px}.program-grade-info{font-size:13px}}
@media(max-width:620px){.program-entry{padding:18px 14px 32px}.program-board{padding:22px 16px;border-radius:22px}.program-board h1{text-align:center;font-size:29px;margin-bottom:24px}.program-featured-grades{grid-template-columns:1fr;max-width:360px;width:100%;margin:0 auto;gap:20px}.program-grade-card{min-height:205px;padding:24px;row-gap:16px}.program-grade-title{font-size:32px}.program-grade-icon{font-size:34px}.program-grade-start{font-size:16px;padding:10px 24px}.program-other-grades{margin-top:28px}.program-other-grades .written-grade{padding:10px 15px}}
@media(prefers-reduced-motion:reduce){.program-grade-card,.program-grade-icon,.program-grade-start,.program-grade-start svg,.program-bubbles i{transition:none;transform:none}}

/* v41: reference-style compact colorful class buttons, no pointer light */
.program-other-grades .written-grade-nav{gap:14px;perspective:900px}.program-small-grade{--small-shadow:#1677ff40;display:flex;align-items:center;justify-content:space-between;gap:14px;flex:0 1 calc((100% - 28px)/3);min-width:0;min-height:76px;padding:17px 20px;border:2px solid #ffffff66;border-radius:20px;color:#fff;font-size:21px;font-weight:800;line-height:1.2;text-decoration:none;box-shadow:inset 0 1px 0 #ffffff38,0 14px 24px var(--small-shadow);transition:transform .25s ease,box-shadow .25s ease}.program-small-blue{background:linear-gradient(135deg,#2997ff,#1263ed)}.program-small-green{background:linear-gradient(135deg,#2ccd69,#12a24a);--small-shadow:#16a34a40}.program-small-purple{background:linear-gradient(135deg,#b25dff,#8b24e7);--small-shadow:#982beb40}.program-small-pink{background:linear-gradient(135deg,#ff4ca4,#df267f);--small-shadow:#e62b8d40}.program-small-teal{background:linear-gradient(135deg,#24cbbd,#09998c);--small-shadow:#109f9240}.program-small-icon{font-size:29px;line-height:1.2;transition:transform .35s cubic-bezier(.34,1.56,.64,1);filter:drop-shadow(0 3px 4px #0002)}.program-small-grade:focus-visible{outline:4px solid #144ba2;outline-offset:4px}.program-small-grade:active{transform:translateY(2px)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.program-small-grade:hover{color:#fff;transform:translateY(-5px) scale(1.025);box-shadow:inset 0 1px 0 #ffffff38,0 20px 30px var(--small-shadow)}.program-small-grade:hover .program-small-icon{transform:rotate(-12deg) scale(1.18)}}
@media(max-width:1150px){.program-small-grade{font-size:18px;padding:16px 14px}.program-small-icon{font-size:25px}}
@media(max-width:620px){.program-small-grade{flex-basis:calc((100% - 12px)/2);min-height:70px;padding:15px 12px;font-size:18px;border-radius:17px}.program-other-grades .written-grade-nav{gap:12px}.program-small-icon{font-size:24px}}
@media(prefers-reduced-motion:reduce){.program-small-grade,.program-small-icon{transition:none;transform:none}}

/* v42: multi-line class descriptions */
.program-grade-info{line-height:1.5;text-wrap:pretty}

/* v43: stacked invitation and ranking panels */
.program-sidebar{display:grid;grid-template-rows:minmax(190px,.85fr) minmax(330px,1.15fr);gap:18px;min-width:0;align-self:stretch}.program-invitation,.program-ranking{min-width:0;border:1px solid #ffffffdb;border-radius:26px;background:#ffffffa8;box-shadow:inset 0 1px 0 #fff,0 10px 24px #5a3a8010}.program-invitation{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px 12px;overflow:hidden;background:linear-gradient(140deg,#fff8eeeb,#fff9,#eee7ffb3)}.program-invitation-spark{font-size:28px;color:#ef7a24;line-height:1;margin-bottom:12px;animation:program-spark-drift 4s ease-in-out infinite}.program-board .program-invitation h2{font-size:clamp(20px,2.05vw,29px);line-height:1.24;letter-spacing:-.5px;margin:0;font-weight:850;color:#a94c1c}.program-invitation h2 span{display:block;background:linear-gradient(100deg,#b54c12 10%,#f38322 32%,#8f3dce 53%,#d05b15 78%);background-size:220% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:program-title-flow 6s ease-in-out infinite}.program-invitation-line{height:4px;width:48px;margin-top:18px;border-radius:99px;background:linear-gradient(90deg,#ff943c,#a67af0)}.program-ranking{padding:20px 18px 16px;display:flex;flex-direction:column}.program-ranking-heading{display:flex;align-items:center;justify-content:space-between;gap:6px}.program-board .program-ranking h2{font-size:20px;line-height:1.2;letter-spacing:-.5px;margin:0;color:#202b3b}.program-ranking-heading>span{font-size:24px}.program-ranking-note{margin:7px 0 12px;font-size:11px;color:#717285;line-height:1.4}.program-ranking table{width:100%;border-collapse:separate;border-spacing:0 4px;table-layout:auto;font-size:13px;margin:0}.program-ranking th,.program-ranking td{padding:7px 5px;border:0;background:transparent;vertical-align:middle;color:#293347}.program-ranking th{font-size:10px;font-weight:650;color:#727c90;text-align:left;padding-top:0;padding-bottom:3px}.program-ranking th:last-child,.program-ranking td:last-child{text-align:right}.program-ranking td:first-child{width:28px;text-align:center;color:#68768e;font-weight:700}.program-ranking td:last-child{font-size:16px;font-weight:800}.program-ranking tbody tr:first-child td{background:#fff5e4}.program-ranking tbody tr:first-child td:first-child{border-radius:10px 0 0 10px}.program-ranking tbody tr:first-child td:last-child{border-radius:0 10px 10px 0}.program-rank-avatar{display:inline-grid;place-items:center;width:25px;height:25px;margin-right:7px;border-radius:50%;background:#e7e0ff;color:#7141b5;font-size:11px;font-weight:750;vertical-align:middle}.program-ranking tr:nth-child(2) .program-rank-avatar{background:#dbeeff;color:#2872ae}.program-ranking tr:nth-child(3) .program-rank-avatar{background:#d8f1e3;color:#27865a}.program-ranking tr:nth-child(4) .program-rank-avatar{background:#ffe0eb;color:#b14671}.program-ranking tr:nth-child(5) .program-rank-avatar{background:#ffead2;color:#a56520}.program-rank-medal{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#f7cd65;color:#744711}.program-ranking tr:nth-child(2) .program-rank-medal{background:#e1e7ef;color:#56657e}.program-ranking tr:nth-child(3) .program-rank-medal{background:#efd1bc;color:#865337}.program-ranking-all{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:12px;font-size:13px;font-weight:750;color:#b64c19}.program-ranking-all svg{width:18px;height:18px}.program-ranking-all:hover{color:#8734b5}.program-visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@keyframes program-title-flow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes program-spark-drift{0%,100%{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-4px) rotate(12deg)}}
@media(max-width:1150px) and (min-width:951px){.program-ranking{padding:18px 10px}.program-board .program-ranking h2{font-size:17px}.program-ranking td{padding:7px 3px}.program-rank-avatar{margin-right:4px;width:22px;height:22px}.program-board .program-invitation h2{font-size:21px}}
@media(max-width:950px){.program-sidebar{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:18px}.program-invitation{min-height:240px}.program-board .program-invitation h2{font-size:28px}}
@media(max-width:620px){.program-sidebar{grid-template-columns:1fr;gap:16px;margin-top:8px}.program-invitation{min-height:220px}.program-ranking{padding:22px}.program-ranking table{font-size:14px}.program-ranking td{padding:9px 5px}}
@media(prefers-reduced-motion:reduce){.program-invitation h2 span,.program-invitation-spark{animation:none}}

/* v44: illustrated ranking avatars */
.program-rank-avatar{width:29px;height:29px;font-size:21px;background:#302779;color:inherit}.program-ranking tr:nth-child(2) .program-rank-avatar{background:#ffe584}.program-ranking tr:nth-child(3) .program-rank-avatar{background:#ffd4a1}.program-ranking tr:nth-child(4) .program-rank-avatar{background:#26214b}.program-ranking tr:nth-child(5) .program-rank-avatar{background:#d5ff9b}.program-sidebar{grid-template-rows:minmax(200px,.6fr) minmax(330px,1fr)}
@media(max-width:950px){.program-sidebar{grid-template-rows:auto}}

/* v45: distinct Nova-inspired copper, petrol and earth palette */
.program-blue{--card-color:#b8471b;--card-shadow:#b9512445;background:linear-gradient(145deg,#ec7839,#ad401c)}
.program-green{--card-color:#205567;--card-shadow:#20556740;background:linear-gradient(145deg,#397f8e,#1c4457)}
.program-orange{--card-color:#773d57;--card-shadow:#773d5740;background:linear-gradient(145deg,#a26078,#68334e)}
.program-small-blue{--small-shadow:#926a3040;background:linear-gradient(135deg,#ac8545,#7f582b)}
.program-small-green{--small-shadow:#52677940;background:linear-gradient(135deg,#72899b,#485c6c)}
.program-small-purple{--small-shadow:#a3524140;background:linear-gradient(135deg,#bc7059,#914434)}
.program-small-pink{--small-shadow:#646b3a40;background:linear-gradient(135deg,#8e955e,#626c3c)}
.program-small-teal{--small-shadow:#76564b40;background:linear-gradient(135deg,#9a7768,#674c44)}
.program-rank-avatar{background:#ffe2c3}.program-ranking tr:nth-child(2) .program-rank-avatar{background:#e3e9e6}.program-ranking tr:nth-child(3) .program-rank-avatar{background:#dceef0}.program-ranking tr:nth-child(4) .program-rank-avatar{background:#f3dde7}.program-ranking tr:nth-child(5) .program-rank-avatar{background:#e6e7f1}
.program-invitation h2 span{background-image:linear-gradient(100deg,#a34720 10%,#ce6a32 32%,#245769 53%,#84465d 78%)}
.program-invitation-line{background:linear-gradient(90deg,#e8793a,#397786)}

/* v46: brighter, saturated class palette */
.program-blue{--card-color:#c94c0a;--card-shadow:#f273304d;background:linear-gradient(145deg,#ff963e,#ec5718)}
.program-green{--card-color:#006a87;--card-shadow:#069abb4d;background:linear-gradient(145deg,#14bbca,#007b9e)}
.program-orange{--card-color:#aa245c;--card-shadow:#d533794d;background:linear-gradient(145deg,#f05c99,#b92365)}
.program-small-blue{--small-shadow:#e8a0194d;background:linear-gradient(135deg,#edb431,#c47d09)}
.program-small-green{--small-shadow:#396bb94d;background:linear-gradient(135deg,#5096dd,#345cb4)}
.program-small-purple{--small-shadow:#ed61554d;background:linear-gradient(135deg,#ff8c63,#df4e45)}
.program-small-pink{--small-shadow:#70a32c4d;background:linear-gradient(135deg,#9ccf46,#5e9c20)}
.program-small-teal{--small-shadow:#8355ca4d;background:linear-gradient(135deg,#aa78eb,#7644bc)}

/* v47: grade-based exam calendar */
.program-calendar{margin:64px auto 12px;max-width:1180px;scroll-margin-top:125px}.program-calendar-heading{text-align:center;margin-bottom:30px}.program-calendar-heading .eyebrow{font-size:11px;color:#bf541d}.program-calendar-heading h2{font-size:clamp(25px,3vw,38px);line-height:1.2;letter-spacing:-1px;margin:12px 0;color:#25312f}.program-calendar-heading p{font-size:18px;line-height:1.5;color:#66716b;margin:0}.program-calendar-shell{border:1px solid #e5e3da;background:#fff;border-radius:26px;overflow:hidden;box-shadow:0 12px 36px #2b3c2b08}.program-calendar-selector{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:24px 32px;background:#f5f3ed;border-bottom:1px solid #e8e5dd}.program-calendar-group{display:flex;flex-direction:column;gap:10px}.program-calendar-group>span{font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:1.2px;color:#64716b}.program-calendar-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.program-calendar-tabs button{font:inherit;font-size:14px;font-weight:750;border:1px solid #e0ddd4;background:#fff;color:#46554e;min-height:42px;border-radius:11px;padding:9px 5px;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}.program-calendar-tabs button[aria-selected=true]{color:#fff;background:#ef6b27;border-color:#ef6b27;box-shadow:0 5px 12px #ed6b2733}.program-calendar-tabs button:hover{border-color:#e26b2c}.program-calendar-tabs button:focus-visible,.program-calendar-prepare:focus-visible{outline:3px solid #286977;outline-offset:3px}.program-calendar-panel{padding:24px 32px 12px;animation:calendar-reveal .22s ease-out}.program-calendar-panel[hidden]{display:none!important}.program-calendar-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.program-calendar-panel-heading h3{font-size:23px;line-height:1.3;margin:0;letter-spacing:-.4px}.program-calendar-panel-heading>span{font-size:12px;color:#8a705b;background:#fff3e9;border-radius:20px;padding:7px 12px}.program-calendar table{width:100%;margin:0;border-collapse:collapse;table-layout:fixed}.program-calendar thead th{font-size:11px;letter-spacing:1px;color:#7c817b;background:#faf9f5;text-align:left;padding:14px 16px;border:0}.program-calendar thead th:first-child{width:40%}.program-calendar thead th:nth-child(2){width:32%}.program-calendar thead th:last-child{width:28%;text-align:right}.program-calendar tbody th,.program-calendar tbody td{background:transparent;border:0;border-bottom:1px solid #eceee7;text-align:left;padding:16px;vertical-align:middle}.program-calendar tbody tr:last-child th,.program-calendar tbody tr:last-child td{border-bottom:0}.program-calendar tbody th{font-size:16px;font-weight:700}.program-calendar tbody th>span:last-child{vertical-align:middle}.program-calendar-icon{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:9px;background:#f4f0e7;color:#b95c2a;font-size:18px;margin-right:11px;vertical-align:middle}.program-calendar time strong{display:block;font-size:15px;font-weight:650;color:#36453e}.program-calendar time span{display:block;font-size:12px;color:#828b84;margin-top:2px}.program-calendar-national{display:block;color:#ba5725;font-size:10px;margin-top:4px}.program-calendar-pending{display:block;color:#7b827c;font-size:13px;line-height:1.5;max-width:190px}.program-calendar tbody td:last-child{text-align:right}.program-calendar-prepare{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:11px 15px;border:1px solid #f3c7aa;background:#fff5ed;color:#b74b17;font-size:13px;line-height:1.3;font-weight:750;border-radius:10px;transition:background .2s,color .2s}.program-calendar-prepare svg{width:16px;height:16px;flex:none}.program-calendar-prepare:hover{background:#ed6a27;border-color:#ed6a27;color:white}.program-calendar-note{font-size:12px;line-height:1.7;color:#788078;text-align:center;margin:18px auto 8px;max-width:850px}.program-calendar-note a{color:#a64f22;text-decoration:underline}.program-calendar-sources{text-align:center;font-size:11px;color:#818780}.program-calendar-sources summary{cursor:pointer;display:list-item;list-style-position:inside}.program-calendar-sources a{display:block;margin:6px;color:#687b73;text-decoration:underline}
@keyframes calendar-reveal{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:750px){.program-calendar{margin-top:44px}.program-calendar-selector{gap:18px;padding:20px;grid-template-columns:1fr}.program-calendar-panel{padding:20px 16px 8px}.program-calendar-heading p{font-size:16px}.program-calendar tbody th,.program-calendar tbody td{padding:14px 8px}.program-calendar-icon{display:none}.program-calendar thead th{padding:12px 8px;font-size:9px;letter-spacing:.5px}.program-calendar tbody th{font-size:13px}.program-calendar time strong{font-size:13px}.program-calendar-prepare{font-size:12px;padding:10px;gap:4px}.program-calendar-prepare svg{display:none}.program-calendar-panel-heading h3{font-size:20px}.program-calendar thead th:first-child{width:36%}.program-calendar thead th:nth-child(2){width:32%}.program-calendar thead th:last-child{width:32%}.program-calendar-pending{font-size:11px}.program-calendar-shell{border-radius:20px}}
@media(max-width:420px){.program-calendar-panel{padding:16px 8px 6px}.program-calendar-panel-heading{padding:0 5px;align-items:flex-start;flex-direction:column;gap:7px}.program-calendar-heading h2{font-size:26px}.program-calendar time strong{font-size:12px}.program-calendar tbody th{font-size:12px}.program-calendar-prepare{font-size:11px;padding:9px 7px}.program-calendar time span{font-size:10px}.program-calendar-national{font-size:9px}}
@media(prefers-reduced-motion:reduce){.program-calendar-panel{animation:none}.program-calendar-tabs button,.program-calendar-prepare{transition:none}}

/* v48: centered school groups and compact calendar rows */
.program-calendar-group>span{text-align:center}.program-calendar tbody th,.program-calendar tbody td{padding-top:10px;padding-bottom:10px}.program-calendar thead th{padding-top:11px;padding-bottom:11px}.program-calendar-prepare{padding-top:8px;padding-bottom:8px}
@media(max-width:750px){.program-calendar tbody th,.program-calendar tbody td{padding-top:9px;padding-bottom:9px}}

/* v49: bring the three calendar columns closer together */
.program-calendar-table-wrap{max-width:860px;margin-inline:auto}.program-calendar thead th:first-child{width:42%}.program-calendar thead th:nth-child(2){width:30%}.program-calendar thead th:last-child{width:28%;text-align:left}.program-calendar tbody td:last-child{text-align:left}
@media(max-width:750px){.program-calendar thead th:first-child{width:36%}.program-calendar thead th:nth-child(2){width:32%}.program-calendar thead th:last-child{width:32%}}

/* v50: compact class landing pages with colorful subject navigation */
.grade-directory{max-width:1280px}.grade-directory-hero{padding:18px 0 30px}.grade-directory-hero .eyebrow{font-size:11px;color:#8a7565}.grade-directory-hero h1{font-size:clamp(22px,3.8vw,48px);line-height:1.25;letter-spacing:-1.3px;white-space:nowrap;margin:12px 0 0;color:#25312f}.grade-directory-courses h2{font-size:23px;line-height:1.3;margin:0 0 20px;letter-spacing:-.5px}.grade-course-grid{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.grade-course-button{display:flex;align-items:center;justify-content:space-between;gap:14px;flex:0 1 calc((100% - 48px)/4);min-width:0;min-height:92px;padding:20px 18px;border:1px solid #ffffff66;border-radius:20px;color:#fff;font-size:17px;line-height:1.3;font-weight:750;box-shadow:inset 0 1px 0 #ffffff40,0 10px 20px var(--subject-shadow);transition:transform .25s,box-shadow .25s}.grade-course-button>span:first-child{min-width:0}.grade-course-icon{font-size:31px;line-height:1;flex:none;filter:drop-shadow(0 3px 4px #0002);transition:transform .3s}.grade-course-copper{background:linear-gradient(140deg,#fa8b36,#dc541a);--subject-shadow:#e96e252e}.grade-course-petrol{background:linear-gradient(140deg,#16a9bc,#087a97);--subject-shadow:#1699b12e}.grade-course-berry{background:linear-gradient(140deg,#e45691,#b62966);--subject-shadow:#c93f782e}.grade-course-gold{background:linear-gradient(140deg,#d9a129,#b37c0c);--subject-shadow:#c08b192e}.grade-course-slate{background:linear-gradient(140deg,#518ed4,#365ab0);--subject-shadow:#4372bd2e}.grade-course-coral{background:linear-gradient(140deg,#f0805b,#d14c42);--subject-shadow:#dd5f492e}.grade-course-lime{background:linear-gradient(140deg,#90b83a,#598a1f);--subject-shadow:#729e2a2e}.grade-course-violet{background:linear-gradient(140deg,#a373dd,#7545b4);--subject-shadow:#8756c22e}.grade-course-button:focus-visible{outline:3px solid #263f63;outline-offset:4px}.grade-directory-reading{max-width:960px;margin:48px auto 0;padding-top:30px;border-top:1px solid #e0e3da}.grade-directory-reading h2{font-size:25px;line-height:1.35;letter-spacing:-.5px;margin:32px 0 12px}.grade-directory-reading h2:first-child{margin-top:0}.grade-directory-reading p{font-size:17px;line-height:1.85;color:#4a574f;margin:0 0 16px}.grade-directory-reading strong{color:#293b30;font-weight:700}.grade-directory-reading a{color:#b34f20;text-decoration:underline;text-underline-offset:3px}.grade-directory-calendar-link{padding:16px 20px;background:#f4efe6;border-radius:13px;margin-top:24px!important}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.grade-course-button:hover{color:#fff;transform:translateY(-4px);box-shadow:inset 0 1px 0 #ffffff40,0 16px 24px var(--subject-shadow)}.grade-course-button:hover .grade-course-icon{transform:rotate(-10deg) scale(1.12)}}
@media(max-width:1000px){.grade-course-button{flex-basis:calc((100% - 32px)/3)}}
@media(max-width:650px){.grade-directory-hero{padding:12px 0 26px}.grade-directory-hero h1{font-size:clamp(16px,4.8vw,30px);letter-spacing:-.55px}.grade-directory-hero .eyebrow{font-size:9px}.grade-directory-courses h2{font-size:21px;margin-bottom:16px}.grade-course-grid{gap:12px}.grade-course-button{flex-basis:calc((100% - 12px)/2);min-height:88px;padding:15px 12px;font-size:14px;gap:8px;border-radius:16px}.grade-course-icon{font-size:25px}.grade-directory-reading{margin-top:34px;padding-top:26px}.grade-directory-reading h2{font-size:22px}.grade-directory-reading p{font-size:16px;line-height:1.75}}
@media(prefers-reduced-motion:reduce){.grade-course-button,.grade-course-icon{transition:none;transform:none}}

/* v51: lighter introduction and smaller subject buttons */
.grade-directory-intro{font-size:16px;font-weight:400;line-height:1.65;color:#758077;margin-top:14px;max-width:960px}.grade-course-grid{max-width:1080px;margin-inline:auto;gap:14px}.grade-course-button{flex-basis:calc((100% - 42px)/4);min-height:76px;padding:15px 16px;font-size:16px;border-radius:17px}.grade-course-icon{font-size:28px}
@media(max-width:1000px){.grade-course-button{flex-basis:calc((100% - 28px)/3)}}
@media(max-width:650px){.grade-directory-intro{font-size:13px;line-height:1.65;margin-top:12px}.grade-course-grid{gap:10px}.grade-course-button{flex-basis:calc((100% - 10px)/2);min-height:76px;padding:12px 10px;font-size:13px;border-radius:14px}.grade-course-icon{font-size:23px}}

/* v52: tighter class page and compact subject buttons */
.grade-directory{padding-top:14px}.grade-directory .written-crumbs{margin-bottom:12px}.grade-directory-hero{padding:0 0 22px}.grade-directory-hero h1{margin:0}.grade-directory-intro{margin-top:10px}.grade-directory-courses h2{margin-bottom:14px}.grade-course-grid{max-width:980px;gap:12px}.grade-course-button{flex-basis:calc((100% - 36px)/4);min-height:60px;padding:10px 12px;font-size:14px;border-radius:13px;gap:8px;box-shadow:inset 0 1px 0 #ffffff40,0 7px 14px var(--subject-shadow)}.grade-course-icon{font-size:24px}.grade-directory-reading{margin-top:34px;padding-top:24px}
@media(max-width:1000px){.grade-course-button{flex-basis:calc((100% - 24px)/3)}}
@media(max-width:650px){.grade-directory{padding-top:12px}.grade-directory-hero{padding:0 0 20px}.grade-course-grid{gap:8px}.grade-course-button{flex-basis:calc((100% - 8px)/2);min-height:60px;padding:9px 10px;font-size:12px;border-radius:12px;gap:6px}.grade-course-icon{font-size:21px}.grade-directory-intro{margin-top:10px}}

/* v53: reference-shaped colorful subject tiles */
.grade-course-grid{max-width:none;gap:20px;padding:22px;border-radius:26px;background:radial-gradient(ellipse at 10% 10%,#cbdff685,transparent 55%),radial-gradient(ellipse at 90% 15%,#f5d2e380,transparent 55%),radial-gradient(ellipse at 30% 100%,#cfe8d890,transparent 65%),#f0eff380}.grade-course-button{flex-basis:calc((100% - 60px)/4);min-height:92px;padding:19px 20px;font-size:20px;font-weight:800;line-height:1.22;border:2px solid #ffffff66;border-radius:24px;gap:12px;box-shadow:inset 0 1px 0 #ffffff55,0 13px 26px var(--subject-shadow)}.grade-course-icon{font-size:34px}.grade-course-button>span:first-child{letter-spacing:-.45px}
@media(max-width:1100px){.grade-course-button{flex-basis:calc((100% - 40px)/3);font-size:18px;padding:16px;min-height:86px}}
@media(max-width:700px){.grade-course-grid{gap:12px;padding:14px;border-radius:20px}.grade-course-button{flex-basis:calc((100% - 12px)/2);min-height:78px;padding:13px 12px;font-size:15px;border-radius:18px;gap:8px}.grade-course-icon{font-size:27px}}
@media(max-width:420px){.grade-course-grid{padding:10px;gap:10px}.grade-course-button{flex-basis:calc((100% - 10px)/2);font-size:13px;padding:12px 9px;gap:6px}.grade-course-icon{font-size:24px}}

/* v54: bring subject-page content closer to the header */
.written-page[data-written-landing]{padding-top:14px}.written-page[data-written-landing] .written-crumbs{margin-bottom:10px}.written-page[data-written-landing] .written-lesson-hero{padding-top:4px;padding-bottom:26px}.written-page[data-written-landing] .written-lesson-hero h1{margin-top:0}
@media(max-width:700px){.written-page[data-written-landing]{padding-top:12px}.written-page[data-written-landing] .written-lesson-hero{padding-top:2px;padding-bottom:22px}}

/* v55: autonomous electron orbits on physics pages */
.written-lesson-hero.has-atom{grid-template-columns:minmax(0,1fr) 300px;gap:28px}.lesson-atom{align-self:center;justify-self:center;width:100%;max-width:330px;pointer-events:none}.lesson-atom-svg{display:block;width:100%;height:auto;overflow:visible}.atom-float{animation:atom-float 7s ease-in-out infinite}.atom-orbit ellipse{stroke:#e88642;stroke-width:1.8;stroke-opacity:.65}.atom-orbit:nth-child(2) ellipse{stroke:#cb6c31;stroke-opacity:.5}.atom-orbit:nth-child(3) ellipse{stroke:#f5ac69;stroke-opacity:.8}.atom-electron{fill:#ee6c29;stroke:#fff5e7;stroke-width:2;filter:drop-shadow(0 0 5px #f4883a70);offset-path:path('M 44 150 a 136 48 0 1 0 272 0 a 136 48 0 1 0 -272 0');offset-rotate:0deg;animation:atom-electron-orbit 5s linear infinite}.atom-electron-two{animation-duration:6.5s;animation-delay:-2s;animation-direction:reverse;fill:#d85a24}.atom-electron-three{animation-duration:8s;animation-delay:-4s;fill:#ff9c43}.atom-nucleus-ring{animation:atom-nucleus-glow 4s ease-in-out infinite}
@keyframes atom-electron-orbit{from{offset-distance:0%}to{offset-distance:100%}}@keyframes atom-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes atom-nucleus-glow{0%,100%{stroke-opacity:.15}50%{stroke-opacity:.5}}
@media(max-width:1100px) and (min-width:701px){.written-lesson-hero.has-atom{grid-template-columns:minmax(0,1fr) 220px;gap:18px}}
@media(max-width:700px){.lesson-atom{width:180px;margin:8px auto 0}.written-lesson-hero.has-atom{display:block}}
@media(prefers-reduced-motion:reduce){.atom-electron,.atom-float,.atom-nucleus-ring{animation:none}.atom-electron-one{offset-distance:12%}.atom-electron-two{offset-distance:45%}.atom-electron-three{offset-distance:78%}}

/* v56: introduction follows heading width; atom sits nearer the copy */
.written-lesson-hero.has-atom h1+p{width:100%}
@media(min-width:1101px){.written-lesson-hero.has-atom .lesson-atom{transform:translateX(-48px)}}
@media(min-width:701px) and (max-width:1100px){.written-lesson-hero.has-atom .lesson-atom{transform:translateX(-20px)}}

/* v57: larger atom, shifted up and toward the headline */
@media(min-width:1101px){.written-lesson-hero.has-atom .lesson-atom{transform:translate(-78px,-22px) scale(1.18)}}
@media(min-width:701px) and (max-width:1100px){.written-lesson-hero.has-atom .lesson-atom{transform:translate(-32px,-16px) scale(1.1)}}

/* v58: remove scenario count and rebalance the physics introduction */
@media(min-width:1101px){.written-page[data-written-landing] .written-lesson-hero.has-atom{padding-top:32px}.written-lesson-hero.has-atom .lesson-atom{transform:translate(-78px,-40px) scale(1.18)}}
@media(min-width:701px) and (max-width:1100px){.written-page[data-written-landing] .written-lesson-hero.has-atom{padding-top:28px}.written-lesson-hero.has-atom .lesson-atom{transform:translate(-32px,-28px) scale(1.1)}}
.written-lesson-hero .written-jumps{margin-top:20px}
@media(max-width:700px){.written-page[data-written-landing] .written-lesson-hero.has-atom{padding-top:12px}}

/* v59: slightly lower and wider atom, same vertical scale */
@media(min-width:1101px){.written-lesson-hero.has-atom .lesson-atom{transform:translate(-78px,-24px) scale(1.18)}}
@media(min-width:701px) and (max-width:1100px){.written-lesson-hero.has-atom .lesson-atom{transform:translate(-32px,-16px) scale(1.1)}}
@media(max-width:700px){.written-lesson-hero.has-atom .lesson-atom{margin-top:18px;transform:none}}

/* v61: program-first navigation and reserved study section */
@media(min-width:1101px){.written-lesson-hero.has-atom .lesson-atom{transform:translate(-100px,-24px) scale(1.18)}}
@media(min-width:701px) and (max-width:1100px){.written-lesson-hero.has-atom .lesson-atom{transform:translate(-44px,-16px) scale(1.1)}}
.written-program-placeholder{padding:22px 24px;margin:0 0 30px;border:1px solid #eddfd1;border-radius:16px;background:linear-gradient(110deg,#fff6ed,#fffdf8)}.written-program-placeholder h2{font-size:25px;letter-spacing:-.5px;line-height:1.3;margin:0 0 7px}.written-program-placeholder p{font-size:14px;color:#7a8077;line-height:1.6;margin:0}
@media(max-width:700px){.written-program-placeholder{padding:18px;margin-bottom:24px}.written-program-placeholder h2{font-size:22px}.written-program-placeholder p{font-size:13px}}

/* v63: animated study CTA and blue/navy atom */
.written-jumps .study-program-cta{position:relative;isolation:isolate;overflow:hidden;animation:study-program-pop 3.6s ease-in-out infinite;transform-origin:center;box-shadow:0 5px 14px #ee6c2930}.written-jumps .study-program-cta::after{content:"";position:absolute;inset:-50% auto -50% -65%;width:38%;background:linear-gradient(90deg,transparent,#ffffff80,transparent);transform:skewX(-22deg);pointer-events:none;animation:study-program-shine 4.8s ease-in-out infinite}.written-jumps .study-program-cta:hover{animation-play-state:paused;transform:scale(1.025)}
@keyframes study-program-pop{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
@keyframes study-program-shine{0%,18%{left:-65%;opacity:0}22%{opacity:1}48%{left:130%;opacity:1}52%,100%{left:130%;opacity:0}}
.atom-orbit ellipse,.atom-orbit:nth-child(2) ellipse,.atom-orbit:nth-child(3) ellipse{stroke:#111b2b;stroke-opacity:.72}.atom-electron{fill:#287ce3;stroke:#e9f4ff;filter:drop-shadow(0 0 5px #287ce36b)}.atom-electron-two{fill:#142b62}.atom-electron-three{fill:#5ab5ff}
@media(prefers-reduced-motion:reduce){.written-jumps .study-program-cta,.written-jumps .study-program-cta::after{animation:none}.written-jumps .study-program-cta::after{display:none}.written-jumps .study-program-cta:hover{transform:none}}

/* v64: compact PDF cards, six across on desktop */
.written-page .written-pdf-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.written-page .written-pdf-cover{height:154px;padding:10px 14px 0}.written-page .written-pdf-info{padding:11px;gap:6px}.written-page .written-pdf-info>strong{font-size:11px;line-height:1.5}.written-page .written-pdf-info>small{font-size:9px}.written-page .written-pdf-info>span{font-size:10px}.written-page .written-pdf-badge{font-size:9px;padding:4px 7px;left:8px;bottom:8px}.written-page .written-pdf-shell{border-radius:11px}.written-page .written-pdf-shell>[data-download-pdf]{margin:0 10px 10px;padding:7px;font-size:11px;min-height:34px}.written-page .written-preview-missing{height:180px;padding-bottom:30px}.written-page .written-preview-missing b{font-size:25px}.written-page .written-preview-missing strong{font-size:12px}.written-page .written-preview-missing small{font-size:10px}
@media(max-width:1100px){.written-page .written-pdf-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:800px){.written-page .written-pdf-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.written-page .written-pdf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.written-page .written-pdf-cover{height:150px;padding:10px 12px 0}.written-page .written-pdf-info>strong{font-size:12px}.written-page .written-pdf-shell>[data-download-pdf]{min-height:40px}}

/* v65: video worksheet + complete publisher library */
.written-program{margin:0 0 38px;padding:24px;border:1px solid var(--line);border-radius:20px;background:#fffdf9}
.program-heading{margin-bottom:24px}.program-heading h2{font-size:28px;margin:6px 0 8px}.program-heading p{color:var(--muted);font-size:14px}
.program-materials{display:grid;grid-template-columns:190px minmax(0,1fr);gap:24px;align-items:start}
.program-video-pdfs{min-width:0;padding-right:18px;border-right:1px solid var(--line)}
.program-video-pdfs h3{font-size:15px;letter-spacing:0;line-height:1.5;margin-bottom:14px}
.program-video-pdfs .written-pdf-shell+.written-pdf-shell{margin-top:14px}
.program-materials #yazili-pdfleri{min-width:0;margin:0;padding:0;border:0}
.program-materials .written-section-heading{margin-bottom:12px}.program-materials .written-section-heading h2{font-size:22px}
.program-materials .written-section-heading .eyebrow{display:none}
.program-materials .written-tools{flex-wrap:wrap;gap:10px;margin:0 0 14px}
.program-materials .written-publisher-filters{flex:1;flex-wrap:wrap;gap:5px}
.program-materials .written-publisher-filters button{padding:6px 10px;font-size:11px}
.program-materials .written-search{width:100%;max-width:280px}.program-materials .written-search input{width:100%;min-height:36px;padding:8px 12px;font-size:11px}
.written-page .program-materials .written-pdf-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.program-materials .written-note{font-size:11px;line-height:1.6;margin-top:14px}
.program-pdf-empty{min-height:265px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px 12px;border:1px dashed #d7d9d3;border-radius:12px;background:#f5f6f2;gap:14px}
.program-pdf-empty>span{border:2px solid #b9c1bc;border-radius:6px;padding:22px 12px;color:#818d85;font-weight:800;font-size:22px}
.program-pdf-empty strong{font-size:13px;line-height:1.5}.program-pdf-empty small{font-size:11px;color:var(--muted)}
.program-videos{border-top:1px solid var(--line);margin-top:26px;padding-top:22px}.program-videos>h3{font-size:20px;margin-bottom:18px}
.program-video-step{display:grid;grid-template-columns:40px 1fr minmax(260px,.9fr);gap:18px;align-items:center;background:#fff;padding:20px;border:1px solid var(--line);border-radius:14px}
.program-step-number{align-self:start;border-radius:50%;background:var(--pale);color:var(--orange-dark);font-weight:800;width:36px;height:36px;display:grid;place-items:center}
.program-video-copy small{font-size:10px;letter-spacing:.6px;color:var(--orange-dark)}.program-video-copy h3{font-size:19px;line-height:1.4;margin:7px 0}.program-video-copy p{font-size:13px;color:var(--muted);margin-bottom:14px}
.program-video-step iframe{border:0;border-radius:10px;width:100%;aspect-ratio:16/9;background:#182338}
@media(max-width:1100px){.written-page .program-materials .written-pdf-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.program-materials{grid-template-columns:170px minmax(0,1fr);gap:18px}}
@media(max-width:800px){.written-program{padding:18px}.program-materials{grid-template-columns:150px minmax(0,1fr);gap:16px}.written-page .program-materials .written-pdf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.program-video-step{grid-template-columns:36px 1fr}.program-video-step iframe{grid-column:2}}
@media(max-width:600px){.written-program{padding:14px}.program-heading h2{font-size:24px}.program-materials{grid-template-columns:1fr}.program-video-pdfs{padding:0 0 18px;border-right:0;border-bottom:1px solid var(--line)}.program-video-pdfs .written-pdf-shell,.program-pdf-empty{max-width:190px}.program-materials .written-section-heading h2{font-size:20px}.program-video-step{padding:12px;gap:10px}.program-video-step iframe{grid-column:1/-1}.program-video-copy h3{font-size:17px}}
.written-page .program-materials .written-pdf-grid{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:180px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding-bottom:12px;scrollbar-color:#e7a27b #f3eee7;scrollbar-width:thin}
.program-materials .written-pdf-grid>.written-pdf-shell{scroll-snap-align:start}
.program-video-cover{display:block;position:relative;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#182338}
.program-video-cover img{display:block;width:100%;height:100%;object-fit:cover}
.program-video-cover>span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#ee6c29ed;color:white;font-size:21px;box-shadow:0 4px 20px #0004}
.program-video-cover:hover>span{background:#d45516}
@media(max-width:800px){.program-video-cover{grid-column:2}}
@media(max-width:600px){.program-video-cover{grid-column:1/-1}.written-page .program-materials .written-pdf-grid{grid-auto-columns:160px}}
/* v66: preparation program and publisher PDFs are separate sections */
.program-materials>.program-videos{margin:0;padding:0;border:0;min-width:0}
.program-materials .program-video-step{grid-template-columns:36px minmax(0,1fr) minmax(220px,1fr);gap:14px;padding:16px}
.program-materials .program-video-copy h3{font-size:18px}
@media(max-width:1000px){.program-materials .program-video-step{grid-template-columns:36px minmax(0,1fr)}.program-materials .program-video-cover{grid-column:2}}
@media(max-width:600px){.program-materials .program-video-cover{grid-column:1/-1}}
/* v69: one progress segment per configured program step */
.program-heading h2{margin:0 0 18px}
.program-progress{margin:0 0 4px}
.program-progress-summary{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted);margin-bottom:9px;gap:12px}
.program-progress-summary strong{color:var(--orange-dark);font-size:14px}
.program-progress-segments{display:flex;gap:8px}
.program-progress-segment{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;font-size:10px;color:#788075}
.program-segment-track{height:9px;border-radius:5px;background:#e9ece5;position:relative;overflow:hidden}
.program-segment-track::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#ee6c29,#ffa052);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}
.program-progress-segment.is-complete .program-segment-track::after{transform:scaleX(1)}
.program-progress-segment.is-complete{color:var(--orange-dark)}
.program-progress-meter{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.program-progress-empty{font-size:12px;color:var(--muted)}
.program-step-complete{display:flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:7px 12px;margin-top:10px;border:1px solid #dedfd5;border-radius:8px;background:#fff;font-size:12px;font-weight:600;transition:background .2s,border-color .2s}
.program-step-complete[aria-pressed="true"]{background:#fff0e5;border-color:#ee6c29;color:#a9420a}
.program-step-complete:hover{border-color:#ee6c29}
.program-video-step.is-complete .program-step-number{background:#ee6c29;color:#fff}
.program-video-step+.program-video-step{margin-top:14px}
@media(prefers-reduced-motion:reduce){.program-segment-track::after{transition:none}}
/* v70: five-step preparation roadmap */
.written-program{padding:0;border:0;background:transparent}
.program-heading{padding:0 2px;margin-bottom:22px}
.program-roadmap{display:grid;gap:18px}
.written-page .roadmap-step{padding:24px;margin:0;border:1px solid #dbe5eb;border-radius:20px;scroll-margin-top:115px;min-width:0}
.roadmap-topic{background:#edf6ff}.roadmap-scenario-1{background:#fff0f3}.roadmap-scenario-2{background:#f3efff}.roadmap-examples{background:#eff8ef}.roadmap-ready{background:#fff4e6}
.roadmap-step-heading{display:flex;align-items:center;gap:12px;margin:0 0 18px}
.roadmap-step-heading h3{margin:0;font-size:23px;line-height:1.3;letter-spacing:-.4px}
.roadmap-step .program-step-number{background:#fff;color:#c75a20;box-shadow:0 2px 8px #243a4810;flex:none;align-self:center;width:38px;height:38px}
.roadmap-step .program-step-number svg{width:23px;height:23px}
.roadmap-step.is-complete .program-step-number{background:#ee6c29;color:white}
.roadmap-video-layout{display:grid;grid-template-columns:165px minmax(0,1fr) minmax(230px,.85fr);align-items:center;gap:24px}
.roadmap-worksheet{min-width:0}.roadmap-worksheet h4{font-size:12px;font-weight:600;letter-spacing:0;margin:0 0 9px}
.roadmap-worksheet .written-pdf-shell{background:#fff}
.roadmap-worksheet .program-pdf-empty{min-height:245px;max-width:none;background:#ffffffa6;border-color:#c6d9e8;padding:14px 10px;gap:12px}
.roadmap-worksheet .program-pdf-empty>span{padding:18px 12px}
.roadmap-step .program-video-copy{min-width:0}
.roadmap-step .program-video-copy h4{font-size:20px;line-height:1.4;letter-spacing:-.3px;margin:8px 0 10px}
.roadmap-step .program-video-copy p{font-size:14px;line-height:1.65;color:#53615c}
.roadmap-step .program-video-cover{grid-column:auto;width:100%}
.roadmap-step .program-step-complete{width:max-content;max-width:100%;min-height:40px}
.roadmap-step>p,.roadmap-pending p{font-size:14px;line-height:1.7;color:#53615c;margin:0 0 14px;max-width:780px}
.roadmap-scenarios{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}
.roadmap-scenario-button{display:flex;align-items:center;gap:18px;background:white;border:1px solid #bbd4c1;border-radius:12px;padding:14px 18px;color:#254639;transition:transform .2s,border-color .2s}
.roadmap-scenario-button>span{font-weight:750;font-size:16px}.roadmap-scenario-button small{font-size:11px;color:#60776a}
.roadmap-scenario-button:hover{transform:translateY(-2px);border-color:#f47832;color:#b64b13}
.roadmap-finish-note{display:block;color:#6e746c;margin-top:10px;font-size:11px}
.roadmap-step .program-step-complete:disabled{opacity:.5;cursor:not-allowed}
.roadmap-step .written-empty{background:#ffffff8a;margin:0;font-size:14px}
.roadmap-step .written-empty p{font-size:13px}
.program-progress-segment:focus-visible,.roadmap-scenario-button:focus-visible{outline:2px solid #e76c28;outline-offset:4px}
@media(max-width:1000px){.roadmap-video-layout{grid-template-columns:150px minmax(0,1fr);gap:18px;min-width:0}.roadmap-step .program-video-cover{grid-column:2;max-width:min(420px,100%)}.roadmap-worksheet{grid-row:1/3;align-self:start;min-width:0}}
@media(max-width:750px){.roadmap-video-layout{grid-template-columns:1fr;gap:16px}.roadmap-worksheet{grid-row:auto;max-width:150px;width:100%}.roadmap-step .program-video-cover{grid-column:auto;max-width:none}}
@media(max-width:600px){.written-page .roadmap-step{padding:16px;border-radius:16px;overflow:hidden}.roadmap-step-heading{gap:9px;margin-bottom:16px}.roadmap-step-heading h3{font-size:19px;overflow-wrap:anywhere}.roadmap-video-layout{grid-template-columns:1fr;gap:18px;min-width:0}.roadmap-worksheet{grid-row:auto;max-width:150px;width:100%}.roadmap-worksheet .program-pdf-empty{min-height:210px}.roadmap-step .program-video-cover{grid-column:auto;max-width:none}.roadmap-step .program-video-copy{min-width:0}.roadmap-step .program-video-copy h4{font-size:18px;overflow-wrap:anywhere}.program-progress-segments{gap:5px;min-width:0}.program-segment-label{font-size:9px;line-height:1.4;overflow-wrap:anywhere}.roadmap-scenario-button{padding:12px;flex:1;min-width:min(100%,125px);flex-direction:column;align-items:start;gap:4px}.roadmap-step>p,.roadmap-pending p{font-size:13px}}
@media(prefers-reduced-motion:reduce){.roadmap-scenario-button{transition:none}}

/* v72: adjacent video actions */
.program-video-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.roadmap-step .program-video-actions .program-step-complete{margin:0;min-height:40px}
.program-video-actions .button{min-height:40px}
@media(max-width:600px){.program-video-actions{gap:7px}.program-video-actions .button,.roadmap-step .program-video-actions .program-step-complete{padding:8px 10px;font-size:11px;white-space:nowrap}}
/* v79: keep ranking scores comfortably inset from the right edge. */
.program-ranking th:last-child,.program-ranking td:last-child{padding-right:22px}

.roadmap-step .program-video-duration{display:inline-block;margin:0 0 12px;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;color:#364354}
.program-progress-segments{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}
