:root{--orange:#ee6c29;--orange-dark:#b44610;--ink:#252e2a;--muted:#555e56;--paper:#faf9f5;--line:#e5e5dd;--pale:#fff0e5;--sage:#e7ebdf;--white:#fff;--radius:18px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 'Avenir Next',Avenir,Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}a:hover{color:var(--orange-dark)}h1,h2,h3,h4,p{margin:0}h1,h2,h3{line-height:1.15;letter-spacing:-1.1px}h1{font-size:46px;letter-spacing:-1.8px}h2{font-size:34px}h3{font-size:23px}button{background:none;border:0}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--orange);outline-offset:4px}img,svg{max-width:100%}[hidden]{display:none!important}.wrap{max-width:1280px;padding:0 48px;margin:0 auto}.topline{background:#edeFE6;font-size:10px;font-weight:700;letter-spacing:1.25px}.topline .wrap{display:flex;justify-content:space-between;align-items:center;min-height:33px}.topline i{display:inline-block;width:6px;height:6px;background:var(--orange);border-radius:100%;margin-right:7px}.topline-cta{font-weight:500;letter-spacing:.3px;color:#697065}.site-header{position:sticky;top:0;z-index:50;background:rgba(250,249,245,.96);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.nav-row{height:89px;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{display:flex;flex-shrink:0}.brand img{width:233px}.nav-row>nav{display:flex;align-items:center;gap:24px;font-size:12px;font-weight:600;white-space:nowrap}.nav-actions{display:flex;gap:13px;align-items:center}.icon-button{width:40px;height:40px;font-size:26px;border-radius:50%;display:grid;place-items:center}.icon-button:hover{background:var(--pale)}.button{min-height:51px;display:inline-flex;align-items:center;justify-content:center;gap:28px;padding:13px 25px;border-radius:9px;font-weight:600;line-height:1.5;border:1px solid transparent;transition:transform .18s,background .18s;white-space:nowrap}.button:hover{transform:translateY(-2px)}.button.orange{background:var(--orange);color:white;box-shadow:0 5px 12px #ee6c2915}.button.orange:hover{background:#dc5c1a}.button.dark{background:var(--ink);color:#fff}.button.light{border-color:var(--line);background:white}.button.small{min-height:40px;padding:9px 16px;font-size:12px;gap:13px}.button.full{width:100%}.nav-more{position:relative}.nav-more summary{list-style:none;cursor:pointer}.nav-more>div{position:absolute;top:33px;right:0;width:230px;background:white;box-shadow:0 16px 45px #252e2a14;border:1px solid var(--line);border-radius:12px;padding:12px}.nav-more>div a{display:block;padding:8px 12px}.mobile-toggle,.mobile-nav{display:none}.eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:750;color:#737a6f;display:block}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;min-height:563px;padding-top:47px;padding-bottom:54px;gap:30px}.hero-copy>.eyebrow{display:flex;align-items:center;gap:9px}.tiny-star{font-size:21px;color:var(--orange);line-height:1}.hero h1{font-size:59px;line-height:1.08;letter-spacing:-2.8px;margin:22px 0 22px;font-weight:750}.hero h1>span{color:var(--orange)}.hero p{font-size:14px;color:var(--muted);line-height:1.85}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:28px}.text-link{font-size:12px;font-weight:650;display:inline-flex;align-items:center;gap:16px}.hero-note{display:flex;gap:18px;color:#777d72;font-size:10px;margin-top:25px}.hero-note span::first-letter{color:var(--orange)}.hero-art{position:relative;height:415px;display:flex;align-items:center;justify-content:center}.orbit{position:absolute;border:1px solid #dcded1;border-radius:50%;width:400px;height:400px}.orbit-two{width:330px;height:330px;border-style:dashed}.exam-paper{width:296px;min-height:348px;background:#fff;border:1px solid #e8e7dd;box-shadow:0 20px 40px #3a3b2520;transform:rotate(-7deg);padding:24px 25px 17px;position:relative;z-index:2;border-radius:9px}.paper-shadow{width:298px;height:350px;background:#dde3d2;border-radius:10px;position:absolute;transform:rotate(8deg) translate(10px,0);border:1px solid #cfd7c5}.paper-top{display:flex;align-items:center;gap:8px;font-size:8px;font-weight:750;letter-spacing:.5px;border-bottom:1px solid var(--line);padding-bottom:17px}.paper-top small{font-size:5.6px;font-weight:500;letter-spacing:.7px}.paper-dots{margin-left:auto;letter-spacing:2px}.paper-title{padding-top:24px}.paper-title>span{font-size:6px;letter-spacing:1px;color:#8c9386}.paper-title h2{font-size:29px;line-height:1.15;margin-top:8px}.paper-subject{display:flex;align-items:center;gap:10px;padding:13px 0 7px}.paper-subject>span{font-size:25px;color:var(--orange)}.paper-subject b{display:block;font-size:10px}.paper-subject small{font-size:7px;color:var(--muted);display:block}.paper-lines{display:grid;gap:9px;margin:12px 0 16px}.paper-lines span{height:1px;background:#e6e8e1;width:100%}.paper-lines span:last-child{width:74%}.paper-check{font-size:8px;display:flex;gap:7px;align-items:center}.paper-check>span{background:#edf2e7;color:#61764d;width:18px;height:18px;border-radius:50%;display:grid;place-items:center}.paper-bottom{display:flex;justify-content:space-between;font-size:6px;letter-spacing:1px;margin-top:22px;color:#8a9185}.paper-bottom b{color:var(--orange);font-weight:800}.art-star{position:absolute;right:20px;top:29px;font-size:66px;color:var(--orange);line-height:1;transform:rotate(12deg)}.art-spark{position:absolute;left:40px;bottom:60px;font-size:38px;color:#a0ad8a}.art-label{position:absolute;bottom:32px;right:-3px;z-index:3;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 20px #2d392a0a;padding:16px 20px;display:flex;gap:11px;align-items:center;transform:rotate(3deg)}.art-label b{font-size:12px;line-height:1.4;display:block}.art-label small{display:block;font-size:8px;color:var(--muted);margin-top:5px}.check-circle{background:var(--sage);width:35px;height:35px;display:grid;place-items:center;border-radius:50%;color:#62754c;font-size:20px}.round-sticker{position:absolute;top:26px;left:1px;background:var(--orange);border-radius:50%;width:83px;height:83px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:white;font-size:7px;letter-spacing:1.3px;transform:rotate(-14deg);z-index:4;border:4px solid var(--paper)}.round-sticker b{font-size:28px;line-height:1.2}.picker{scroll-margin-top:110px}.picker-heading{background:var(--ink);color:white;padding:25px 31px;display:flex;justify-content:space-between;align-items:center;border-radius:16px 16px 0 0}.picker-heading .eyebrow{color:#bdc6b9;font-size:8px;margin-bottom:8px}.picker-heading h2{font-size:25px;letter-spacing:-.7px}.period{display:flex;gap:12px;border:1px solid #ffffff25;border-radius:7px;padding:7px 11px;font-size:10px;color:#c7cfc3}.period b{color:white}.picker-body{background:white;border:1px solid var(--line);border-top:0;border-radius:0 0 16px 16px;padding:27px 30px 30px;box-shadow:0 6px 20px #30352404;display:grid;grid-template-columns:210px 1fr;gap:22px}.grade-label{display:flex;align-items:center;gap:12px}.step-dot{font-size:10px;background:#f1f2ed;border-radius:50%;width:29px;height:29px;display:grid;place-items:center;color:#8b9385}.grade-label b{font-size:13px;display:block}.grade-label small{font-size:10px;color:var(--muted);display:block;margin-top:3px}.grades{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.grades button{border:1px solid var(--line);border-radius:9px;min-height:60px;font-size:22px;font-weight:600;background:#fafaf7;display:flex;align-items:baseline;justify-content:center;gap:3px}.grades button>span{font-size:9px;font-weight:500;color:var(--muted)}.grades button:hover,.grades button[aria-pressed=true]{background:var(--pale);border-color:var(--orange);color:var(--orange-dark)}.course-stage{grid-column:1/-1;padding-top:20px;border-top:1px solid var(--line);display:grid;grid-template-columns:210px 1fr;gap:22px}.course-options{display:flex;flex-wrap:wrap;gap:9px}.picker-empty{color:#9c9f97;display:flex;align-items:center;justify-content:space-between;width:100%;font-size:12px}.picker-empty>span{font-size:24px;color:#b7bead}.course-options a{border:1px solid var(--line);border-radius:8px;display:flex;align-items:center;padding:9px 14px;gap:8px;font-size:12px}.course-options a:hover{border-color:var(--orange);background:var(--pale)}.course-options a>span{color:var(--orange)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px;gap:30px}.section-heading .eyebrow{margin-bottom:11px}.section-heading h2{font-size:32px}.section-heading>p{font-size:12px;color:var(--muted)}.roles-section{padding-top:69px;padding-bottom:69px}.role-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.role-card{padding:28px;border:1px solid #e0e3d9;border-radius:13px;position:relative;transition:transform .2s}.role-card:hover{transform:translateY(-4px);color:inherit}.student{background:#fff1e6;border-color:#f2dccb}.teacher{background:#ecf0e5}.parent{background:#efeeea}.role-icon{display:grid;place-items:center;width:39px;height:39px;font-size:25px;margin-bottom:28px;background:#ffffff70;border-radius:10px;color:#656f5d}.student .role-icon{color:var(--orange)}.role-card>small{font-size:9px;letter-spacing:1.2px;font-weight:600}.role-card h3{font-size:25px;margin-top:10px}.role-card p{font-size:12px;color:var(--muted);line-height:1.8;margin-top:14px;max-width:245px;min-height:44px}.role-link{display:flex;justify-content:space-between;font-size:10px;margin-top:28px;border-top:1px solid #252e2a15;padding-top:15px;font-weight:650}.role-link b{font-size:17px;line-height:1}.process-section{background:#f0f1e9;padding:60px 0}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.process-number{font-size:44px;font-weight:500;letter-spacing:-3px;color:#b5bea7;display:block;border-top:1px solid #d4dacb;padding-top:20px;margin-bottom:15px}.process-grid small{font-size:8px;letter-spacing:1.2px;color:#748166;font-weight:650}.process-grid h3{font-size:21px;margin-top:9px}.process-grid p{font-size:12px;color:var(--muted);line-height:1.9;margin-top:15px}.all-courses{padding-top:68px;padding-bottom:60px}.course-directory{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);border-radius:12px;overflow:hidden}.course-directory a{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:18px;background:#fff}.course-directory a:hover{background:var(--pale)}.course-directory b{font-size:12px;display:block}.course-directory small{font-size:9px;color:var(--muted);display:block}.course-directory a>span:last-child{margin-left:auto;color:#919a86}.subject-icon{font-size:22px;width:26px;color:#909c7f}.calendar-banner{margin-top:0;margin-bottom:65px;position:relative;display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:35px;padding-bottom:35px}.calendar-banner:before{content:'';position:absolute;z-index:-1;inset:0 48px;background:#fce6d7;border-radius:16px}.calendar-banner>div{padding-left:32px}.calendar-banner .button{margin-right:32px}.calendar-banner h2{font-size:30px;margin-top:10px}.calendar-banner p{font-size:12px;color:#946b51}.site-footer{border-top:1px solid var(--line);padding:45px 0 20px;background:#f4f4ee}.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.1fr;gap:35px}.footer-grid h3{font-size:12px;letter-spacing:0;margin:9px 0 18px}.footer-grid a:not(.footer-brand a){display:block;font-size:11px;color:#737b6f;margin-bottom:9px}.footer-brand p{color:var(--muted);font-size:12px;margin:18px 0 12px}.footer-brand strong{font-size:10px;color:var(--orange-dark)}.footer-brand img{width:225px}.footer-bottom{border-top:1px solid #dedfd5;margin-top:35px;padding-top:19px;font-size:9px;color:#838b7d;display:flex;flex-wrap:wrap;justify-content:space-between;gap:13px}.footer-bottom>p{width:100%}.footer-bottom>div{display:flex;gap:16px}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:white;padding:10px}.skip:focus{top:10px}.page-heading{padding-top:46px;padding-bottom:35px}.page-heading .eyebrow{margin-bottom:14px}.page-heading h1{max-width:900px}.page-heading>p{color:var(--muted);margin-top:16px}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:55px;padding-top:38px;padding-bottom:70px}.source-content{min-width:0}.source-content nav{font-size:11px;color:var(--muted);margin-bottom:22px}.source-content nav ol{display:flex;gap:7px;list-style:none;padding:0}.source-content h1{font-size:40px;line-height:1.17;margin:16px 0 22px}.source-content h2{font-size:27px;margin:34px 0 16px}.source-content h3{font-size:20px;margin:22px 0 13px}.source-content p{font-size:14px;margin:12px 0;line-height:1.85;color:#606a61}.source-content>section,.source-content>div>section{margin-bottom:30px}.source-content a{color:var(--orange-dark);text-underline-offset:3px}.source-content a:hover{text-decoration:underline}.source-content a.surface{color:var(--ink);display:block}.source-content ul,.source-content ol{padding-left:22px}.source-content li{padding:5px 0;font-size:14px}.source-content ul>li>a{display:inline-block;padding:3px 0}.source-content details{border:1px solid var(--line);border-radius:10px;background:#fff;margin:10px 0;padding:17px 20px}.source-content summary{font-weight:600;cursor:pointer;font-size:14px}.source-content summary>span{float:right}.source-content button:not(.button){min-height:39px;background:#fff;border:1px solid var(--line);border-radius:7px;padding:7px 13px;margin:4px;font-size:12px}.source-content button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.surface{border:1px solid var(--line);background:#fff;border-radius:12px;padding:22px;min-width:0}.surface .surface{padding:15px;box-shadow:none}.cols2,.cols3{display:grid;gap:18px;min-width:0}.cols2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}.spaced{margin-top:21px}.table-wrap{overflow-x:auto;max-width:100%}table{border-collapse:collapse;width:100%;font-size:12px;line-height:1.6;background:#fff;margin:18px 0}td,th{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top;min-width:40px}th{background:#f0f2e9;font-weight:600}td p,th p{font-size:11px!important;margin:0!important}caption{font-size:11px;color:var(--muted);text-align:left;margin-bottom:8px}table a{color:var(--orange-dark)}.reading-sidebar{position:sticky;top:125px;align-self:start;padding-top:10px}.reading-sidebar>.eyebrow{padding-bottom:15px;border-bottom:1px solid var(--line);margin-bottom:13px}.reading-sidebar>a{display:block;padding:7px 0;font-size:11px;color:var(--muted);line-height:1.5}.reading-sidebar>a:hover{color:var(--orange)}.sidebar-cta{background:var(--sage);padding:22px;border-radius:11px;margin-top:27px}.sidebar-cta>span{display:block;color:#899976;font-size:36px}.sidebar-cta b{font-size:16px;line-height:1.3;display:block}.sidebar-cta p{font-size:11px;color:var(--muted);margin:12px 0 18px}.print-link{font-size:11px;margin-top:15px;color:var(--muted)}.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.fill-pine-100{fill:#e8eddf}.fill-pine{fill:#62784e}.fill-white{fill:white}.fill-ink{fill:#252e2a}.fill-pen{fill:#ee6c29}.fill-pen-50{fill:#fff0e5}.fill-none{fill:none}.stroke-pine{stroke:#62784e}.stroke-ink{stroke:#252e2a}.stroke-pen{stroke:#ee6c29}.stroke-line{stroke:#d4d9cc}.fill-paper{fill:#faf9f5}.fill-pen-100{fill:#fce6d7}[class*="stroke-ink/"]{stroke:#60695c}[class*="fill-ink/"]{fill:#60695c}.source-content svg,.prose-question svg{display:block;width:100%;height:auto;max-height:430px;margin:15px auto}.auth-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start;padding-top:65px;padding-bottom:75px;max-width:1120px}.auth-story{padding-top:50px}.auth-story h1{font-size:44px;margin:20px 0}.auth-story h1 span{color:var(--orange)}.auth-story p{color:var(--muted);font-size:14px}.auth-symbol{font-size:150px;color:var(--orange);line-height:1.5}.auth-story>b{font-size:12px}.auth-card{background:white;border:1px solid var(--line);border-radius:18px;padding:32px}.auth-card h2{font-size:27px;margin-top:18px}.muted{font-size:12px;color:var(--muted);margin-top:10px}.auth-notice{font-size:11px;line-height:1.6;background:#fff3e7;color:#95602e;border:1px solid #f2dfc6;border-radius:8px;padding:12px;margin:20px 0}form label{display:block;font-size:12px;font-weight:600;margin:14px 0 7px}input:not([type=radio]):not([type=checkbox]),select,textarea{border:1px solid #dfe3d8;background:#fff;border-radius:8px;padding:11px 12px;width:100%;color:var(--ink);margin-top:6px}textarea{resize:vertical}fieldset{border:1px solid var(--line);border-radius:8px;margin:15px 0;font-size:12px;display:flex;gap:18px}fieldset label{margin:0 0 6px}.password-wrap{position:relative}.password-wrap button{position:absolute;right:8px;top:11px;height:34px;width:34px;font-size:20px}.password-wrap input{padding-right:50px!important}.password-rules{font-size:9px;color:var(--muted)}.auth-links{display:flex;justify-content:space-between;font-size:11px;margin:20px 0;color:var(--muted)}.brand-sign{text-align:center;font-size:10px;color:var(--muted);border-top:1px solid var(--line);padding-top:18px}.brand-sign b{color:var(--orange)}form .button{margin-top:20px}#auth-message{font-size:12px;color:var(--orange-dark);margin-top:15px}.dashboard{padding-bottom:70px;min-height:550px}.account-tabs{display:flex;gap:25px;border-bottom:1px solid var(--line);margin-bottom:27px;font-size:13px}.account-tabs a{padding:14px 3px}.account-tabs .active{border-bottom:3px solid var(--orange);color:var(--orange-dark);font-weight:650}.dashboard-grid{display:grid;grid-template-columns:1fr 300px;gap:25px}.dashboard-grid h2{font-size:23px;margin-bottom:16px}.empty-state{padding:48px 25px;text-align:center}.empty-state>span{font-size:44px;color:#b8c4a6}.empty-state h3{margin:15px 0;font-size:23px}.empty-state p{font-size:13px;color:var(--muted);max-width:490px;margin:0 auto 22px}.profile-avatar{width:58px;height:58px;border-radius:50%;background:var(--pale);color:var(--orange);display:grid;place-items:center;font-size:20px;font-weight:700;margin-bottom:17px}.profile-row{padding:12px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:12px}.profile-row span{color:var(--muted)}.profile-actions{display:flex;gap:15px;margin-top:20px;font-size:11px}.ranking-filters{display:flex;gap:20px;flex-wrap:wrap;align-items:end}.ranking-filters label{font-size:12px;min-width:170px}.segmented{display:flex;background:#edf0e6;padding:4px;border-radius:9px;width:fit-content;margin-bottom:22px}.segmented button{padding:9px 22px;border-radius:6px;font-size:12px}.segmented .active{background:#fff;box-shadow:0 2px 4px #00000009}.score-pill{background:var(--pale);color:var(--orange-dark);border-radius:7px;font-size:12px;font-weight:700;padding:5px 10px}.paper-row{display:flex;justify-content:space-between;gap:22px;padding:18px 0;border-bottom:1px solid var(--line);font-size:13px}.paper-row small{display:block;color:var(--muted);font-size:10px;margin-top:5px}.exam-layout{padding-bottom:60px}.exam-layout .page-heading h1{font-size:35px;max-width:870px;line-height:1.2}.back-link{display:block;font-size:11px;color:var(--muted);margin-bottom:20px}.exam-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:21px}.exam-badges>span{font-size:10px;border:1px solid #dfe4d5;border-radius:6px;padding:4px 10px;background:#eff2e9;color:#657655}.exam-intro{display:grid;grid-template-columns:1.5fr 1fr;gap:30px;padding:40px}.exam-intro h2{font-size:32px;margin:17px 0}.exam-intro p{font-size:13px;color:var(--muted);margin-bottom:25px}.print-actions{display:flex;gap:20px;margin-top:20px;font-size:11px}.print-actions button{text-decoration:underline;text-underline-offset:4px}.exam-intro-art{background:#f5f0e5;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:12px;min-height:270px}.exam-intro-art>span{font-size:85px;line-height:1.2;letter-spacing:-6px;color:var(--orange);font-weight:650}.exam-intro-art small{font-size:9px;letter-spacing:1.8px}.exam-intro-art b{font-size:45px;color:#a5b492}.exam-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px}.exam-toolbar>div{display:flex;gap:9px;flex-wrap:wrap}#question-nav button{border:1px solid var(--line);border-radius:8px;width:42px;height:42px;background:white}#question-nav button.active{background:var(--orange);border-color:var(--orange);color:white}#question-nav button.answered{border-color:#98b27b}.exam-progress{height:4px;background:var(--line);border-radius:6px;margin:20px 0;overflow:hidden}.exam-progress span{display:block;height:100%;background:var(--orange);transition:width .2s}#exam-state{color:var(--muted);font-size:12px;margin:20px 0}.exam-question{background:white;border:1px solid var(--line);border-radius:14px;padding:35px}.exam-question article>header{display:flex;align-items:center;gap:13px;margin-bottom:28px}.exam-question article>header>span{display:grid;place-items:center;width:45px;height:45px;border-radius:10px;background:var(--pale);font-size:22px;color:var(--orange)}.exam-question h2{font-size:26px}.exam-question header p{font-size:12px;color:var(--muted);margin-top:6px}.prose-question{font-size:15px;line-height:1.9;min-width:0}.prose-question p{margin:14px 0}.exam-question ol{list-style:none;padding:0}.exam-question ol>li{margin:23px 0 34px}.exam-question ol>li>div:first-child{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:8px;font-size:12px;color:var(--orange-dark);font-weight:650}.answer-label{display:block;font-size:10px;color:var(--muted);margin-top:15px}.answer-label textarea{font-size:14px;line-height:1.7;background:#fcfcf9}.exam-bottom{display:flex;justify-content:space-between;margin-top:22px}.answer-space{display:none}.exam-solution{background:#f5f7ef;padding:25px;border-radius:12px;margin-top:30px}.exam-solution>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:1px solid #dce2d3;padding-bottom:15px}.exam-solution h3{font-size:22px}.exam-solution>div:first-child>p{font-size:12px}.exam-solution ul{padding:0;list-style:none}.check-row{display:flex;align-items:start;gap:12px;font-size:13px;border:1px solid #dbe2d0;border-radius:8px;padding:12px;background:white;cursor:pointer}.check-row input{margin-top:5px;accent-color:var(--orange);width:17px;height:17px;flex-shrink:0}.check-row>span:last-child{white-space:nowrap;color:var(--orange-dark);margin-left:auto;font-size:12px;font-weight:600}.source-note{font-size:10px;color:var(--muted);margin-top:25px}#exam-result{margin-top:30px;text-align:center;padding:35px}#exam-result .big-score{font-size:60px;color:var(--orange);font-weight:700;line-height:1.3}#exam-result p{font-size:12px;color:var(--muted);margin:10px 0 22px}#exam-result .result-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}dialog{border:1px solid var(--line);border-radius:16px;width:640px;max-width:90vw;padding:25px;color:var(--ink);max-height:80vh;box-shadow:0 30px 100px #252e2a25}dialog::backdrop{background:#252e2a66;backdrop-filter:blur(4px)}.search-top{display:flex;align-items:center;justify-content:space-between;font-size:15px;font-weight:600}#search-results{max-height:50vh;overflow:auto;margin-top:15px}#search-results a{display:block;padding:13px 9px;border-bottom:1px solid var(--line);font-size:13px}#search-results small{color:var(--muted);display:block;font-size:9px;margin-top:4px}#search-results p{font-size:13px;padding:20px;color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(100px);background:var(--ink);color:white;padding:12px 24px;border-radius:10px;font-size:12px;z-index:120;max-width:85vw;transition:transform .2s;box-shadow:0 8px 20px #0002}#toast.show{transform:translateX(-50%) translateY(0)}
@media(min-width:1450px){.wrap{max-width:1340px}.hero h1{font-size:65px}.hero{min-height:590px}.nav-row>nav{font-size:13px;gap:29px}.hero-art{transform:scale(1.08)}}
@media(max-width:1150px){.wrap{padding-left:30px;padding-right:30px}.nav-row>nav{gap:15px;font-size:11px}.brand img{width:205px}.nav-row{gap:15px}.hero h1{font-size:52px}.hero-art{transform:scale(.92);transform-origin:center right}.hero-note{gap:10px;font-size:9px}.hero-actions{gap:16px}.hero-actions .button{font-size:12px}.picker-body,.course-stage{grid-template-columns:175px 1fr}.calendar-banner:before{inset:0 30px}.course-directory{grid-template-columns:repeat(3,1fr)}.article-layout{gap:30px;grid-template-columns:minmax(0,1fr) 210px}}
@media(max-width:900px){.nav-row>nav{display:none}.mobile-toggle{display:grid}.mobile-nav:not([hidden]){display:grid;grid-template-columns:repeat(2,1fr);padding:20px 30px;gap:10px;border-top:1px solid var(--line)}.mobile-nav a{font-size:13px;padding:5px}.hero{gap:0}.hero h1{font-size:45px;letter-spacing:-2px}.hero-art{transform:scale(.8);margin-left:-35px}.hero-note{flex-direction:column;gap:5px}.hero p{font-size:12px}.hero-actions{align-items:start;flex-direction:column;gap:15px}.hero{min-height:510px;padding-top:30px;padding-bottom:35px}.round-sticker{left:5px}.picker-body{grid-template-columns:1fr;gap:18px}.course-stage{grid-template-columns:1fr}.grades button{min-height:56px}.role-card{padding:21px}.role-card h3{font-size:22px}.section-heading h2{font-size:28px}.process-grid{gap:25px}.footer-grid{grid-template-columns:1.3fr 1fr 1fr;gap:25px}.footer-grid>div:last-child{display:none}.calendar-banner{flex-wrap:wrap}.calendar-banner p{display:none}.article-layout{grid-template-columns:1fr}.reading-sidebar{display:none}.auth-layout{gap:35px}.auth-story h1{font-size:36px}.auth-layout{padding-top:40px}.dashboard-grid{grid-template-columns:1fr 260px}}
@media(max-width:620px){.wrap{padding-left:20px;padding-right:20px}.topline .wrap{min-height:29px;font-size:8px;letter-spacing:.7px}.topline-cta{font-size:8px;letter-spacing:0}.nav-row{height:73px;gap:10px}.brand img{width:185px;height:auto}.nav-actions{gap:3px}.nav-actions>.icon-button:first-child{display:none}.nav-actions .button{font-size:10px;padding:8px 11px;min-height:35px}.nav-actions .button span{display:none}.icon-button{width:30px}.hero{display:block;padding-top:38px;padding-bottom:32px;min-height:0}.hero h1{font-size:45px;letter-spacing:-2.3px;margin:20px 0}.hero .eyebrow{font-size:8px;letter-spacing:1.25px}.hero p{font-size:12px}.hero-actions{flex-direction:row;align-items:center;gap:20px;margin-top:24px}.hero-actions .button{padding:12px 16px;min-height:47px;font-size:11px;gap:13px}.hero-note{flex-direction:row;gap:13px;font-size:8px;margin-top:18px}.hero-art{height:340px;transform:scale(.8);margin:-3px -18px -34px;transform-origin:center center}.art-label{right:0}.art-star{right:2px}.round-sticker{left:5px}.picker-heading{padding:21px 20px;gap:12px}.picker-heading h2{font-size:22px;max-width:240px;line-height:1.18}.period{font-size:8px;display:flex;flex-direction:column;gap:0;flex-shrink:0;padding:6px 8px}.picker-body{padding:20px;gap:17px}.grades{gap:7px;grid-template-columns:repeat(3,1fr)}.grades button{font-size:23px;min-height:51px}.course-stage{gap:15px;padding-top:17px}.course-options a{font-size:11px;padding:8px 11px}.picker-empty{font-size:10px}.roles-section{padding-top:45px;padding-bottom:42px}.section-heading{align-items:start;gap:16px;flex-direction:column;margin-bottom:22px}.section-heading h2{font-size:28px}.section-heading>p{font-size:11px}.role-grid{grid-template-columns:1fr;gap:13px}.role-card{padding:24px;display:block}.role-icon{float:right;margin-bottom:0}.role-card h3{font-size:25px}.role-card p{min-height:0;max-width:85%;margin-top:12px}.role-link{margin-top:19px}.process-section{padding:38px 0}.process-grid{grid-template-columns:1fr;gap:25px}.process-number{font-size:35px;padding-top:15px;margin-bottom:12px}.process-grid h3{font-size:23px}.process-grid p{font-size:12px;margin-top:10px}.all-courses{padding-top:42px;padding-bottom:30px}.course-directory{grid-template-columns:repeat(2,1fr)}.course-directory a{padding:13px 10px;gap:8px}.course-directory b{font-size:10px;line-height:1.3}.course-directory small{font-size:8px}.subject-icon{font-size:19px;min-width:22px}.calendar-banner{padding-top:25px;padding-bottom:25px;margin-bottom:38px;gap:24px}.calendar-banner:before{inset:0 20px}.calendar-banner>div{padding-left:23px}.calendar-banner h2{font-size:30px}.calendar-banner .button{margin-left:23px;font-size:11px}.footer-grid{grid-template-columns:repeat(2,1fr);gap:25px}.footer-brand{grid-column:1/-1}.footer-brand p{margin:10px 0;font-size:11px}.footer-grid>div:last-child{display:block}.footer-grid>div:last-child{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:13px}.footer-grid>div:last-child h3{width:100%;margin-bottom:0}.footer-grid h3{font-size:11px;margin-bottom:13px}.footer-grid a{font-size:10px!important}.footer-bottom{font-size:8px;gap:12px;margin-top:24px}.footer-bottom>div{gap:12px}.article-layout{padding-top:24px;padding-bottom:35px}.source-content h1{font-size:30px;letter-spacing:-1px}.source-content h2{font-size:24px}.source-content h3{font-size:19px}.source-content p,.source-content li{font-size:13px}.cols3,.cols2{grid-template-columns:1fr}.source-content .surface{padding:16px}.source-content nav{font-size:9px}.source-content nav ol{flex-wrap:wrap}.source-content table{font-size:10px}td,th{padding:10px 8px}.page-heading{padding-top:30px;padding-bottom:25px}.page-heading h1{font-size:34px}.auth-layout{grid-template-columns:1fr;padding-top:30px;padding-bottom:40px;gap:25px}.auth-story{display:none}.auth-card{padding:25px}.auth-card .cols2{grid-template-columns:1fr 1fr;gap:12px}.dashboard-grid{grid-template-columns:1fr}.account-tabs{gap:20px;font-size:11px}.ranking-filters{gap:10px}.ranking-filters label{min-width:130px;flex:1}.exam-layout .page-heading h1{font-size:28px;letter-spacing:-.8px}.exam-intro{grid-template-columns:1fr;padding:25px}.exam-intro-art{display:none}.exam-intro h2{font-size:28px}.exam-toolbar{align-items:start;flex-direction:column;gap:14px}#question-nav{gap:7px}.exam-question{padding:20px}.exam-question h2{font-size:22px}.exam-question .prose-question{font-size:13px}.exam-question header p{font-size:10px}.exam-question article>header{gap:10px}.exam-bottom .button{font-size:11px;padding:12px 16px;gap:10px}.exam-solution{padding:16px;margin:25px -5px 0}.exam-solution h3{font-size:18px}.check-row{font-size:12px;padding:10px;gap:9px}.check-row>span:last-child{font-size:10px}#exam-result{padding:25px}.result-actions .button{font-size:11px}.print-actions{font-size:10px;gap:15px}.exam-progress{margin:16px 0}.paper-row{font-size:11px}.desktop{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.site-header,.topline,.site-footer,.reading-sidebar,.exam-toolbar,.exam-bottom,.back-link,.source-note,#exam-intro,#exam-result,#exam-state,.exam-progress,.answer-label,.page-heading .eyebrow,.print-actions,.skip{display:none!important}body{background:white;color:black;font-size:11pt}.wrap{max-width:none;padding:0}.article-layout{display:block}.exam-question{display:block!important;border:0;padding:15px 0;break-inside:auto}.exam-question article>header{break-after:avoid}.prose-question{font-size:11pt}.exam-question .surface{padding:5px;border:0}.exam-question ol>li{break-inside:avoid}.exam-question svg{max-height:250px}.exam-layout .page-heading h1{font-size:20pt}#exam-work,#questions{display:block!important}.answer-space{display:block;height:90px;border-bottom:1px dashed #aaa}body.print-solutions .exam-solution{display:block!important;background:white;border:1px solid #ddd}body:not(.print-solutions) .exam-solution{display:none!important}body.print-solutions .answer-space{display:none}.check-row{padding:4px;border:0}.cols2,.cols3{display:block}.source-content details{display:block}a{color:black!important}}
.block{display:block}.stack{display:flex;flex-direction:column;gap:5px}.semibold{font-weight:650}.smalltext{font-size:12px}.source-content a.link-row{display:flex;justify-content:space-between;align-items:center;gap:15px}.source-content a.link-row:hover{border-color:var(--orange);text-decoration:none;background:var(--pale)}.source-badge{background:var(--ink);color:white;padding:5px 12px;border-radius:6px;font-size:10px;flex-shrink:0}.source-content ul.cols2,.source-content ul.cols3,.source-content ol.cols2,.source-content ol.cols3{list-style:none;padding-left:0}.source-content ul.cols3 .surface{height:100%}.source-content summary h3{display:inline;font-size:14px;margin:0;letter-spacing:0}.source-content .cols3>li>.semibold{display:block;margin-top:5px}.source-content img{height:auto;border-radius:8px}.source-content .stack .smalltext{font-size:10px;color:var(--muted)}
.course-library{padding-top:35px;padding-bottom:60px}.source-content nav .sr-only{display:none}.source-content .cols3>li>span:first-child{color:var(--orange);font-size:22px;font-weight:650}.source-content .cols3>li>p{margin-top:8px}.course-library>.source-content>section:first-of-type{padding-bottom:16px;border-bottom:1px solid var(--line)}
@media(max-width:620px){.hero h1{font-size:37px;letter-spacing:-1.8px}.hero-art{margin-top:5px}.source-content a.link-row{gap:9px}.source-content .cols3{grid-template-columns:1fr}.source-content .cols3>li{padding:3px 0}.source-content .cols3 a.surface{padding:15px}.course-library{padding-top:24px}}
/* Authored question bank, revision 2026-10-23. */
.authored-question article>header{display:block;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:22px}.authored-question header h2{margin:0}.authored-question .question-skill{color:var(--orange-dark);font-size:11px;letter-spacing:.2px}.question-stem{font-size:15px;line-height:1.9;overflow-wrap:anywhere}.question-stem p{margin:12px 0}.question-stem table,.prose-question table{width:100%;margin:16px 0;border-collapse:collapse;background:white;font-size:13px}.question-stem th,.question-stem td,.prose-question th,.prose-question td{border:1px solid var(--line);padding:9px 12px;white-space:normal}.question-stem caption{font-weight:600;text-align:left;padding:8px 0}.question-stem svg{display:block;margin:16px auto;width:min(100%,600px);max-width:100%;max-height:320px;height:auto}.question-parts{list-style:none!important;padding:0!important}.question-parts>li{margin:24px 0!important}.part-heading{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--orange-dark)}.topic-question{padding-top:25px;margin-top:35px;border-top:1px solid var(--line)}.authored-solution{margin-top:25px;border:1px solid #dce2d3;border-radius:12px;background:#f5f7ef;padding:18px}.authored-solution summary{font-weight:650;cursor:pointer;color:#506343}.solution-part{margin:24px 0}.solution-part h3{font-size:18px!important;letter-spacing:-.3px}.solution-part h4{font-size:12px;margin:18px 0 9px}.solution-part .check-row{margin:8px 0}.rubric{padding:0!important;list-style:none!important}.rubric-row{display:flex;justify-content:space-between;gap:14px;border:1px solid #dce2d3;border-radius:8px;padding:12px;background:white;font-size:12px;margin:8px 0}.rubric-row b{white-space:nowrap;color:var(--orange-dark)}.rubric-note{font-size:11px!important;color:var(--muted);margin-top:20px!important}.scope-notice{margin:18px 0;font-size:12px;letter-spacing:0}.score-summary{font-size:13px}.score-summary strong{margin-left:auto;color:var(--orange-dark)}
@media(max-width:620px){.question-stem,.prose-question{font-size:13px}.question-stem td,.question-stem th{padding:7px 5px;font-size:11px}.rubric-row{font-size:11px;padding:9px}.authored-solution{padding:13px}.question-stem{overflow-x:auto}}
@media print{.question-skill,.scope-notice{display:none}.question-stem,.prose-question{font-size:10pt!important;line-height:1.45}.question-stem table{font-size:9pt}.authored-question .question-parts>li{margin:12px 0!important}.authored-question .question-stem{overflow:visible}.solution-part,.rubric-row{break-inside:avoid}.authored-solution{background:white}.authored-question article>header{margin-bottom:12px;padding-bottom:8px}.answer-space{min-height:70px}.rubric-note{font-size:8pt!important}}
/* Readable question diagrams and wide data tables on narrow screens. */
.diagram-scroll,.table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.diagram-hint{display:none}
@media(max-width:620px){.question-stem .diagram-scroll{border:1px solid var(--line);border-radius:10px;background:white;margin:16px 0 4px}.question-stem .diagram-scroll svg{width:520px;min-width:520px;max-width:none;max-height:none;margin:10px 0}.diagram-hint{display:block;font-size:10px;color:var(--muted);margin:0 0 16px}.table-scroll table{min-width:520px}.question-stem .table-scroll td,.question-stem .table-scroll th,.prose-question .table-scroll td,.prose-question .table-scroll th{font-size:12px;padding:9px}}
@media print{.diagram-scroll,.table-scroll{overflow:visible!important;border:0!important}.diagram-hint{display:none!important}.question-stem .diagram-scroll svg{min-width:0!important;width:min(100%,600px)!important;max-width:100%!important;max-height:300px!important}.table-scroll table{min-width:0!important}}
.article-layout>article,.source-content,.authored-question,.question-stem,.prose-question{min-width:0}.diagram-scroll,.table-scroll{width:100%}
@media(max-width:950px){.article-layout{grid-template-columns:minmax(0,1fr)}}
.table-scroll th,.table-scroll td{overflow-wrap:normal}

.exam-confirm h2{font-size:24px}.exam-confirm p{margin:20px 0}.exam-confirm .result-actions{display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap}
.question-parts>li>.prose-question{font-weight:700}

/* Intro score matrix is generated from the same entries as the exam questions. */
.exam-intro>div{min-width:0}
.exam-points-scroll{max-width:100%;overflow-x:auto;margin:24px 0;overscroll-behavior-x:contain}
.exam-points-table{width:auto;border-collapse:collapse;background:var(--white);font-size:16px;text-align:center;line-height:1.5}
.exam-points-table th,.exam-points-table td{border:1px solid var(--line);padding:12px 17px;min-width:48px;white-space:nowrap}
.exam-points-table th[scope="row"]{text-align:left;background:#f3f3ed;font-weight:700;padding-left:18px;padding-right:22px}
.exam-points-table th[scope="col"]{font-weight:700}
@media(max-width:620px){.exam-points-table{font-size:14px}.exam-points-table th,.exam-points-table td{min-width:38px;padding:10px 12px}.exam-points-table th[scope="row"]{padding:10px 12px}}

.exam-intro{grid-template-columns:1fr 1fr}
.exam-points-card{background:#f5f0e5;border-radius:12px;padding:28px;display:flex;flex-direction:column;justify-content:center;align-items:stretch;min-height:270px}
.exam-points-card h3{font-size:23px;letter-spacing:-.6px}
.exam-points-card .exam-points-scroll{margin:24px 0;width:100%}
.exam-points-card .exam-points-table{width:100%;font-size:15px}
.exam-points-card .exam-points-table th,.exam-points-card .exam-points-table td{padding:12px 9px;min-width:36px}
.exam-points-card .exam-points-table th[scope="row"]{padding:12px}
.exam-intro .exam-points-total{display:flex;justify-content:space-between;align-items:center;margin:0;font-size:13px;color:var(--ink)}
.exam-points-total strong{color:var(--orange-dark);font-size:18px}
@media(max-width:950px){.exam-intro{grid-template-columns:1fr}.exam-points-card{min-height:0;padding:22px}}
@media(max-width:620px){.exam-points-card{padding:18px}.exam-points-card h3{font-size:21px}}

/* October design refresh: calmer controls, animated hero and readable guides. */
.ui-icon{width:19px;height:19px;flex-shrink:0;display:inline-block;vertical-align:middle}.nav-actions .login-door{width:18px;height:20px;color:#fff}.hero-actions .text-link{gap:6px}.hero-actions .compact-arrow{width:18px;height:18px}.hero-phrase{display:block;white-space:nowrap;font-size:.83em;min-height:1.25em;line-height:1.25}.hero h1 .typing-cursor{font-weight:400;margin-left:2px;animation:cursor-blink 1s steps(1) infinite}.hero-discover{animation:discover-breathe 3s ease-in-out infinite;transform-origin:center}.hero-discover:hover,.hero-discover:focus-visible{animation-play-state:paused}.hero-art-motion{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;animation:paper-float 7s ease-in-out infinite;transform-origin:center}.hero-copy{min-width:0}
@keyframes discover-breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
@keyframes paper-float{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-11px) scale(1.018)}}
@keyframes cursor-blink{0%,45%{opacity:1}46%,100%{opacity:0}}
.source-content p,.source-content li{font-size:16px;line-height:1.8;color:#465148}.source-content p{max-width:76ch;margin:15px 0}.source-content strong,.source-content b{font-weight:750;color:#252e2a}.source-content h2{font-size:29px;line-height:1.25;margin:36px 0 16px}.source-content h3{font-size:22px;line-height:1.35;letter-spacing:-.5px}.source-content summary,.source-content summary h3{font-size:16px;line-height:1.5}.source-content nav{font-size:13px}.source-content .smalltext{font-size:13px}.source-content .stack .smalltext{font-size:12px}.source-content a{overflow-wrap:anywhere}.source-content .guide-role-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 28px}.source-content a.guide-role-tab{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding:12px 16px;margin:0;border:1px solid #dfe3d9;border-radius:10px;font-size:14px;background:#fff;color:#465148}.source-content a.guide-role-tab[aria-current=page]{background:#fff0e5;border-color:#ee6c29}.source-content .guide-role-tab>span{font-weight:400;font-size:13px;color:#56604f}.source-content .guide-role-tab>strong{font-size:14px}.source-content ol.guide-steps{list-style:none;padding:0;margin:20px 0;display:grid;gap:12px}.source-content .guide-steps>li{padding:20px 22px;border:1px solid #e1e5db;border-radius:12px;background:#fff}.source-content .guide-steps h3{margin:0 0 10px}.source-content .guide-steps p{margin:0;font-size:16px}.source-content .calendar-opening{border-left:3px solid #ee6c29;background:#fff7ef;padding:20px 24px}.source-content .calendar-opening h2{font-size:22px;margin:0 0 12px}.source-content .calendar-opening p:last-child{margin-bottom:0}.reading-sidebar>a{font-size:12px;line-height:1.55}.source-content svg.ui-icon{display:inline-block;width:18px;height:18px;margin:0}.source-content .table-wrap{max-width:100%;overflow-x:auto}
@media(max-width:620px){.hero h1{font-size:clamp(36px,10.8vw,45px)}.hero-phrase{font-size:.81em}.hero-actions{gap:18px}.hero-discover{animation-name:discover-breathe}.source-content p,.source-content li,.source-content .guide-steps p{font-size:15.5px;line-height:1.8}.source-content h1{font-size:31px;line-height:1.2}.source-content h2{font-size:25px}.source-content h3{font-size:20px}.source-content .guide-role-tabs{gap:7px}.source-content a.guide-role-tab{width:100%;padding:11px 13px}.source-content .guide-steps>li{padding:16px}.source-content .calendar-opening{padding:17px}.source-content .calendar-opening h2{font-size:21px}.nav-actions .login-door{display:inline-block;width:16px;height:18px}.hero-art-motion{animation-duration:8s}}
@media(prefers-reduced-motion:reduce){.hero-discover,.hero-art-motion,.hero h1 .typing-cursor{animation:none!important}.hero h1 .typing-cursor{display:none}}
@media(max-width:380px){.nav-row .brand img{width:145px}.nav-row{gap:8px}.nav-actions .button{gap:6px;padding:8px 9px}.nav-actions{gap:2px}.hero-actions{gap:12px}.hero-actions .text-link{font-size:11px}}

@media(max-width:380px){.hero-art .orbit-one{width:360px;height:360px}}

/* Illustrated question figures: keep labels legible and offer full-size inspection. */
.generated-question-figure{margin:22px 0;border:1px solid #e2e6df;border-radius:14px;background:#fff;overflow:hidden}.question-visual-open{display:block;width:100%;padding:12px;position:relative;text-align:center;background:#fff;cursor:zoom-in}.question-visual-open:hover{background:#fcfcfa}.question-visual{display:block;width:100%;height:auto;max-width:850px;margin:auto}.visual-zoom-hint{display:block;font-size:11px;font-weight:600;color:#65715f;margin:8px 0 0}.question-visual-dialog{width:min(1400px,96vw);max-width:96vw;max-height:94dvh;padding:0;border:1px solid #e2e6df;border-radius:14px;background:#fff}.question-visual-dialog::backdrop{background:#17231dba}.question-visual-dialog header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 18px;background:#fff;border-bottom:1px solid #e2e6df;z-index:1}.question-visual-dialog header h2{font-size:14px;line-height:1.4;letter-spacing:0}.question-visual-dialog .visual-full{display:block;max-width:none;width:100%;height:auto}.question-visual-dialog .visual-scroll{overflow:auto;max-height:calc(94dvh - 64px)}
@media(max-width:620px){.question-visual-open{padding:5px}.generated-question-figure{margin:16px 0;border-radius:10px}.question-visual-dialog .visual-full{width:max(100%,800px)}.visual-zoom-hint{font-size:10px}.question-visual-dialog header{padding:8px 12px}.question-visual-dialog header h2{font-size:12px}}
@media print{.visual-zoom-hint{display:none!important}.question-visual-open{padding:0;border:0}.generated-question-figure{border:0;break-inside:avoid}.question-visual{max-height:105mm;width:auto;max-width:100%;object-fit:contain}.question-visual-dialog{display:none!important}}

/* Question reading workspace — same content, clearer visual hierarchy. */
.authored-question{container-type:inline-size;container-name:question-card}
.authored-question article>header{display:grid;grid-template-columns:1fr auto;gap:6px 20px;align-items:center;padding-bottom:20px;margin-bottom:24px}
.authored-question article>header h2{font-size:28px;grid-row:1/3}
.authored-question article>header p{margin:0;font-size:13px;text-align:right}
.authored-question article>header .question-skill{font-size:11px}
.question-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:28px}
.question-context,.question-response{min-width:0}
.authored-question .question-section-label{font:750 12px/1.5 'Avenir Next',Avenir,Arial,sans-serif;letter-spacing:.7px;color:var(--orange-dark);display:flex;align-items:center;gap:12px;margin:0 0 16px!important}
.question-section-label span{font-weight:500;letter-spacing:0;color:#778076;font-size:11px}
.authored-question .question-stem{font-size:16px;line-height:1.8;color:#303b34;overflow-wrap:break-word}
.authored-question .question-stem>p:first-child{margin-top:0}
.authored-question .question-parts{margin:0!important}
.authored-question .question-parts>li{margin:0 0 16px!important;padding:18px;border:1px solid #e0e5dc;border-radius:14px;background:#fff}
.authored-question .part-heading{padding:0 0 11px;margin-bottom:13px;border-bottom:1px solid #eceee8;font-size:12px}
.authored-question .part-heading b{font-size:17px}
.authored-question .part-heading span{background:#fff0e5;border-radius:6px;padding:3px 9px;font-weight:650;align-self:center}
.authored-question .question-parts .prose-question{font-size:16px;line-height:1.65;font-weight:700;color:#27312c;margin:0}
.authored-question .answer-label{display:block;font-size:11px;color:#6b756b;margin-top:17px}
.authored-question .answer-label textarea{display:block;width:100%;min-height:130px;margin-top:7px;padding:13px 15px;border:1px solid #dce2d7;border-radius:9px;background:#fafbf8;color:var(--ink);font-size:14px;line-height:1.65;resize:vertical}
.authored-question .answer-label textarea:focus{background:white;border-color:var(--orange)}
.authored-question .generated-question-figure{margin:18px 0;background:white;overflow:hidden}
.authored-question .question-visual-open{padding:8px}
.authored-question .visual-zoom-hint{padding:7px 5px 3px;font-size:10px}
@container question-card (min-width:850px){.question-workspace{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:30px}.question-context{padding-right:28px;border-right:1px solid var(--line)}}
@media(max-width:620px){.authored-question article>header{grid-template-columns:1fr;gap:5px;margin-bottom:20px}.authored-question article>header h2{grid-row:auto;font-size:24px;margin-bottom:4px}.authored-question article>header p{text-align:left;font-size:12px}.authored-question .question-stem,.authored-question .question-parts .prose-question{font-size:15px}.question-workspace{gap:22px}.authored-question .question-parts>li{padding:14px}.authored-question .answer-label textarea{font-size:16px;min-height:130px}.question-section-label span{font-size:10px}.authored-question .question-stem{overflow-x:visible}}
@media print{.authored-question{container-type:normal}.question-workspace{display:block}.question-context{border:0;padding:0}.question-section-label{display:none!important}.authored-question .question-parts>li{padding:8px 0;border:0;background:white}.authored-question .part-heading span{background:none}.authored-question article>header h2{font-size:16pt}.authored-question .answer-label{display:none!important}.authored-question .question-parts .prose-question{font-size:10pt!important}.question-response{margin-top:12px}}
/* Responsive reading, registration and question progress — v23 */
[hidden]{display:none!important}.source-content dd{margin:4px 0 20px}.source-content dt{margin:0}.source-content dd p{margin:0}.source-content summary{display:flex;align-items:center;justify-content:flex-start;gap:12px;list-style:none;text-align:left}.source-content summary::-webkit-details-marker{display:none}.source-content summary>span:first-child{flex:1;min-width:0}.source-content summary>span{margin-left:0}.source-content summary::after{content:'+';margin-left:auto;flex:none}.source-content details[open]>summary::after{content:'−'}.process-number{line-height:1;margin-bottom:18px;padding-top:16px}.process-grid article{align-content:start}.process-grid small{display:block}.process-grid h3{margin-top:8px}.auth-card form[hidden]{display:none}.auth-card input,.auth-card select{min-width:0;width:100%}#registration-back{margin-top:12px}#registration-verify h3{margin-bottom:8px}
.exam-layout{max-width:1480px}#exam-work{display:grid;grid-template-columns:240px minmax(0,1fr);gap:26px;align-items:start}.exam-main{min-width:0;scroll-margin-top:110px}.exam-sidebar{position:sticky;top:106px;border:1px solid var(--line,#dedfd6);border-radius:18px;background:#fff;max-height:calc(100dvh - 124px);overflow:auto}.progress-panel-body{padding:18px}.progress-panel-body h2{font-size:18px;margin:0 0 8px}.progress-panel-body>small{display:block;font-size:11px;margin-top:12px;color:var(--muted)}#exam-state{font-size:12px;margin:0 0 12px}#exam-progress-panel>summary{display:none}#question-nav{display:grid;gap:6px;margin:14px 0}#question-nav button{display:flex;align-items:center;gap:9px;width:100%;height:auto;min-height:64px;padding:9px;border:1px solid transparent;border-radius:10px;background:transparent;text-align:left;color:var(--ink,#252f2b)}#question-nav button.active{background:#fff0e6;border-color:#f56b22;color:#a9440b}#question-nav button.answered .progress-number{background:#e0f2e7;color:#18623e;border-color:#7cbd97}.progress-number{flex:none;width:30px;height:30px;border:1px solid #d9dcd5;border-radius:50%;display:grid;place-items:center;font-weight:700}.progress-topic{flex:1;min-width:0;font-size:12px;line-height:1.4;overflow-wrap:anywhere}.progress-topic small,.progress-points small{display:block;font-size:10px;font-weight:400;opacity:.8}.progress-points{font-size:12px;text-align:right;flex:none}.exam-sidebar #exam-finish{width:100%}.exam-sidebar .exam-progress{margin:0;height:5px}.exam-bottom{gap:12px}.exam-bottom .button{white-space:normal}.table-scroll{overflow-x:auto;max-width:100%}.source-content img,.source-content svg{max-width:100%}.source-content,.source-content>*,.surface,.dashboard-grid>*{min-width:0;overflow-wrap:break-word}
.study-period-feedback{font-size:13px;margin:8px 0 12px;color:#99410d;background:#fff1e7;padding:9px 12px;border-radius:8px}.study-period-feedback.is-changing{animation:periodFeedback .45s ease-out}@keyframes periodFeedback{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1023px){#exam-work{grid-template-columns:minmax(0,1fr);gap:16px}.exam-sidebar{top:82px;z-index:20;max-height:60dvh;border-radius:12px;box-shadow:0 5px 18px #24302a0d}#exam-progress-panel>summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:12px 16px;font-size:14px;font-weight:700}#exam-progress-panel>summary::after{content:'⌄';margin-left:10px}#progress-summary{margin-left:auto}.progress-panel-body{padding:0 12px 14px}.progress-panel-body h2{display:none}#question-nav{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px}.exam-main{scroll-margin-top:148px}.reading-sidebar{position:static}.auth-layout{gap:24px}.exam-question{padding:24px}}
@media(max-width:620px){.wrap{padding-left:18px;padding-right:18px}.exam-layout .page-heading h1{font-size:30px}.exam-question{padding:18px}.exam-bottom .button{font-size:13px;padding:12px}.source-content dl{margin-left:0}.source-content summary{padding:16px;font-size:15px}.source-content summary>*{max-width:100%;white-space:normal}.source-content table{font-size:12px}.source-content td,.source-content th{padding:8px}.process-grid{gap:26px}.process-number{font-size:38px;margin-bottom:14px}.auth-story{display:none}.auth-layout{display:block;padding-top:24px}.auth-card{padding:22px}.auth-card input,.auth-card select{font-size:16px}.result-actions,.print-actions{flex-wrap:wrap}.paper-row{gap:10px;flex-wrap:wrap}.score-pill{white-space:normal}.account-tabs{flex-wrap:wrap}.hero-copy h1{overflow-wrap:normal}.exam-sidebar{top:80px}}
@media(max-width:420px){.auth-card .cols2{grid-template-columns:minmax(0,1fr)}#question-nav{grid-template-columns:minmax(0,1fr)}.exam-badges{flex-wrap:wrap}.exam-points-card{min-width:0}}
@media(prefers-reduced-motion:reduce){.study-period-feedback.is-changing{animation:none}}
@media print{.exam-sidebar{display:none!important}#exam-work{display:block!important}.exam-main{width:100%}}


/* Product shell motion (kept from oyssakademi merge) */
.site-header.is-scrolled{background:rgba(250,249,245,.9);box-shadow:0 8px 28px rgba(37,46,42,.06);border-bottom-color:transparent}
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .7s cubic-bezier(.22,1,.36,1)}
[data-reveal].is-in{opacity:1;transform:none}
[data-reveal-stagger] > *{opacity:0;transform:translateY(16px);transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1)}
[data-reveal-stagger].is-in > *{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){[data-reveal],[data-reveal-stagger] > *{opacity:1!important;transform:none!important;transition:none!important}}

/* === ortak-yazili-takvimi responsive === */
.source-content .cols2,
.source-content .cols3{
  width:100%;
  min-width:0;
}
.source-content .cols2 > .table-wrap,
.source-content .cols2 > .surface{
  min-width:0;
  max-width:100%;
}
.source-content .table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
}
.source-content .table-wrap table{
  width:100%;
  min-width:0;
  margin:0 0 12px;
}
.source-content .table-wrap caption{
  caption-side:top;
  text-align:left;
  padding:0 0 12px;
  font-size:15px;
  line-height:1.35;
  color:var(--ink);
}
.source-content .table-wrap p.smalltext{
  margin:10px 0 0;
  max-width:none;
  line-height:1.55;
}
.source-content figure{
  margin:18px 0;
  max-width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:8px;
}
.source-content figure svg{
  display:block;
  width:100%;
  min-width:640px;
  height:auto;
  max-width:none;
}
.source-content .calendar-opening{
  min-width:0;
}

/* Tablet: takvim kartlarini alt alta */
@media (max-width:960px){
  .source-content .cols2{
    grid-template-columns:minmax(0,1fr);
    gap:16px;
  }
  .source-content .cols2 > .table-wrap,
  .source-content .cols2 > .surface.table-wrap{
    padding:16px;
  }
  .source-content .table-wrap table,
  .source-content .table-wrap.smalltext,
  .source-content table.smalltext{
    font-size:13px;
  }
  .source-content .table-wrap th,
  .source-content .table-wrap td{
    padding:11px 12px;
    vertical-align:top;
  }
  .source-content .table-wrap th[scope="row"]{
    min-width:7.5rem;
    font-weight:650;
  }
  .source-content .table-wrap time{
    white-space:nowrap;
  }
}

/* Telefon */
@media (max-width:620px){
  .source-content .cols2{
    gap:14px;
  }
  .source-content .cols2 > .table-wrap,
  .source-content .cols2 > .surface.table-wrap{
    padding:14px;
    border-radius:14px;
  }
  .source-content .table-wrap caption{
    font-size:14.5px;
    padding-bottom:10px;
  }
  .source-content .table-wrap table,
  .source-content table.smalltext{
    font-size:13px;
    line-height:1.45;
  }
  .source-content .table-wrap th,
  .source-content .table-wrap td{
    padding:10px 8px;
  }
  .source-content .table-wrap th[scope="row"]{
    min-width:6.5rem;
    padding-right:10px;
  }
  .source-content .table-wrap time{
    white-space:normal;
  }
  .source-content figure{
    margin:14px 0;
    padding:6px;
    border-radius:12px;
  }
  .source-content figure svg{
    min-width:560px;
  }
  /* Acilis kutusu ve bolum basliklari */
  #okul-geneli > h2,
  .source-content h2.semibold{
    font-size:22px;
    line-height:1.25;
    letter-spacing:-.4px;
  }
  #okul-geneli > p{
    font-size:14.5px;
  }
}

@media (max-width:380px){
  .source-content .table-wrap table,
  .source-content table.smalltext{
    font-size:12.5px;
  }
  .source-content .table-wrap th[scope="row"]{
    min-width:5.5rem;
  }
}



/* === mobile-home responsive v31 === */
/* Tablet: tek sutun, sanat asagi — CTA uzerine binmesin */
@media (max-width:900px){
  .hero{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:8px;
    min-height:0;
    padding-top:28px;
    padding-bottom:28px;
  }
  .hero-copy{
    width:100%;
    max-width:100%;
    position:relative;
    z-index:2;
  }
  .hero h1{
    font-size:clamp(32px,6.5vw,42px);
    letter-spacing:-1.4px;
    margin:14px 0 12px;
  }
  .hero-phrase{white-space:normal;font-size:.88em}
  .hero p{font-size:14px;max-width:36rem;line-height:1.55}
  .hero-actions{
    flex-direction:column;
    align-items:stretch;
    gap:12px;
    margin-top:20px;
    position:relative;
    z-index:3;
  }
  .hero-actions .button{
    width:100%;
    justify-content:center;
    min-height:48px;
    font-size:14px;
  }
  .hero-actions .text-link{
    justify-content:center;
    min-height:44px;
    font-size:14px;
  }
  .hero-art{
    width:100%;
    height:min(360px,52vw);
    min-height:260px;
    margin:8px 0 0 !important;
    transform:none !important;
    overflow:hidden;
    position:relative;
    z-index:1;
    pointer-events:none;
  }
  .hero-art-motion{
    transform:scale(.78);
    transform-origin:center center;
  }
  .exam-paper{
    width:min(260px,72vw);
    min-height:0;
    transform:rotate(-5deg);
  }
  .round-sticker{
    left:8px;
    top:18px;
    width:70px;
    height:70px;
    font-size:6px;
  }
  .art-label{
    right:8px;
    bottom:16px;
    max-width:min(200px,55vw);
    padding:12px 14px;
    transform:rotate(2deg);
  }
  .art-label b{font-size:11px}
  .art-label small{font-size:9px}
  .hero-art .orbit-one,
  .hero-art .orbit-two{opacity:.45}
}

@media (max-width:620px){
  .topline .wrap{
    min-height:28px;
    font-size:9px;
    gap:8px;
    letter-spacing:.4px;
  }
  .topline-cta{font-size:9px;padding:3px 8px}
  .nav-row{
    height:64px;
    gap:8px;
  }
  .brand img{
    width:min(158px,42vw);
    height:auto;
  }
  .nav-actions{
    gap:6px;
    flex-shrink:0;
  }
  .nav-actions .button{
    font-size:12px;
    padding:8px 12px;
    min-height:38px;
    gap:0;
  }
  /* Metin + kapi ikonu ust uste binmesin */
  .nav-actions .login-door{display:none !important}
  .icon-button,
  .mobile-toggle{
    width:38px;
    height:38px;
    min-width:38px;
  }

  .hero{
    display:flex;
    flex-direction:column;
    padding-top:22px;
    padding-bottom:18px;
    gap:4px;
  }
  .hero .eyebrow{font-size:9px;letter-spacing:1.1px}
  .hero h1{
    font-size:clamp(28px,8.6vw,36px);
    letter-spacing:-1.2px;
    margin:12px 0 10px;
    line-height:1.12;
  }
  .hero-phrase{display:inline;white-space:normal;font-size:inherit;min-height:0}
  .hero h1 .typing-cursor{margin-left:1px}
  .hero p{font-size:13.5px;line-height:1.5}
  .hero-actions{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
    margin-top:16px;
  }
  .hero-actions .button{
    width:100%;
    font-size:13.5px;
    padding:13px 16px;
    min-height:48px;
  }
  .hero-actions .text-link{font-size:13.5px}
  .hero-note{
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
    font-size:11px;
    margin-top:12px;
  }
  .hero-art{
    height:300px;
    min-height:260px;
    margin:10px 0 0 !important;
    transform:none !important;
    overflow:hidden;
  }
  .hero-art-motion{transform:scale(.72);animation:none}
  .exam-paper{
    width:min(230px,68vw);
    padding:18px 16px 14px;
    transform:rotate(-4deg);
  }
  .exam-paper h2{font-size:18px}
  .paper-title span{font-size:8px}
  .round-sticker{
    width:62px;height:62px;left:4px;top:12px;border-width:3px;
  }
  .art-label{
    right:4px;bottom:10px;padding:10px 12px;gap:8px;
    max-width:min(170px,52vw);
  }
  .art-star,.art-spark{display:none}
  .hero-art .orbit-one,.hero-art .orbit-two{display:none}

  /* Ana sayfa alt bolumler */
  .roles-section{padding-top:36px;padding-bottom:36px}
  .section-heading h2{font-size:26px}
  .course-directory{grid-template-columns:1fr 1fr;gap:8px}
  .calendar-banner{
    margin-left:0;margin-right:0;
    padding:22px 18px;
    flex-direction:column;
    align-items:flex-start;
    gap:14px;
  }
  .footer-grid{grid-template-columns:1fr 1fr;gap:22px}
  .footer-brand{grid-column:1/-1}
}

@media (max-width:380px){
  .brand img{width:132px}
  .nav-actions .button{
    font-size:11px;
    padding:7px 10px;
    min-height:36px;
  }
  .hero h1{font-size:clamp(26px,8.2vw,32px)}
  .hero-art{height:260px;min-height:240px}
  .hero-art-motion{transform:scale(.64)}
  .art-label{display:none}
  .round-sticker{width:70px;height:70px}
}
.footer-contact{margin-top:12px;font-size:13px;color:var(--muted)}.footer-contact a{color:var(--orange-dark);font-weight:700}
/* AA contrast: PageSpeed / Lighthouse color-contrast */
.topline,.topline .wrap,.topline-cta{color:#2f3832!important}
.eyebrow{color:#3a433c!important}
#hero-typewriter,.hero-phrase{color:#a13d0e!important}
a.button.orange,.button.orange,.button.orange:visited{background:#a13d0e!important;color:#fff!important}
@media(max-width:900px){.round-sticker b{font-size:18px!important}}
@media(max-width:620px){.round-sticker{padding:6px 4px}.round-sticker b{font-size:16px!important}}
@media(max-width:380px){.round-sticker{width:58px!important;height:58px!important}}

.process-number{color:#4a534c!important}
.process-grid small{color:#3a433c!important}
.subject-icon{color:#2f3832!important}
.site-footer a,.site-footer a:visited{color:#1c2420!important}
.site-footer p,.site-footer .footer-bottom span,.footer-bottom{color:#3a433c!important}
.paper-title span,.paper-bottom span{color:#3a433c!important}
/* CLS: tip yazıcı / hero kayması (mobil agentic + Perf) */
.hero-copy h1{min-height:3.4em}
.hero-phrase{display:inline-block;min-width:13.5em;min-height:1.35em;vertical-align:bottom}
.hero-art{min-height:400px;contain:layout}
.hero-art-motion{will-change:transform}
@media(max-width:620px){
  .hero-copy h1{min-height:4.2em}
  .hero-phrase{min-width:9.5em}
  .hero-art{min-height:280px}
}

/* Round sticker: kâğıdın sol-alt köşesinde mühür — OYSS AKADEMİ açık kalır */
.exam-paper .round-sticker,
.round-sticker{
  position:absolute;
  top:auto;
  left:-30px;
  right:auto;
  bottom:36px;
  z-index:3;
  width:84px;height:84px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:#a13d0e!important;color:#fff!important;
  border:4px solid var(--paper);
  transform:rotate(-12deg);
  box-sizing:border-box;padding:0;overflow:visible;
  font-weight:700!important;
  pointer-events:none;
}
.round-sticker .sticker-inner{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;width:78%;height:78%;text-align:center;
}
.round-sticker .sticker-label{
  display:block;white-space:nowrap;max-width:100%;
  font-size:5.8px;letter-spacing:.28px;line-height:1;
  font-weight:750;color:#fff;
}
.round-sticker b{
  font-size:22px!important;line-height:1!important;margin:0;font-weight:400;
}
@media(max-width:900px){
  .exam-paper .round-sticker,.round-sticker{
    width:72px;height:72px;left:-24px;bottom:28px;border-width:3px
  }
  .round-sticker .sticker-label{font-size:5px;letter-spacing:.22px}
  .round-sticker b{font-size:18px!important}
}
@media(max-width:620px){
  .exam-paper .round-sticker,.round-sticker{
    width:64px;height:64px;left:-18px;bottom:22px
  }
  .round-sticker .sticker-label{font-size:4.5px;letter-spacing:.16px}
  .round-sticker b{font-size:16px!important}
}
@media(max-width:380px){
  .exam-paper .round-sticker,.round-sticker{
    width:58px;height:58px;left:-14px;bottom:18px
  }
  .round-sticker .sticker-label{font-size:4.1px;letter-spacing:.12px}
  .round-sticker b{font-size:15px!important}
}


/* —— Auth modal: <dialog showModal> so it stacks above PDF/indir top-layer dialogs —— */
.account-modal-root{
  position:fixed;
  inset:0;
  z-index:10050;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px;
  box-sizing:border-box;
  width:100%;
  max-width:none;
  height:100%;
  max-height:none;
  margin:0;
  border:0;
  background:transparent;
  color:inherit;
}
.account-modal-root[hidden],.account-modal-root:not(.is-open):not([open]){display:none!important}
.account-modal-root[open],.account-modal-root.is-open{display:flex!important}
.account-modal-root::backdrop{
  background:#182b35a6;
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}
.account-modal-backdrop{
  position:absolute;
  inset:0;
  /* Dim ::backdrop’ta; bu katman sadece dışarı tıklayınca kapatmak için */
  background:transparent;
}
body.account-modal-open{overflow:hidden}
.account-modal{
  position:relative;
  z-index:1;
  border:1px solid var(--line);
  border-radius:22px;
  padding:14px 16px 12px;
  width:min(520px,calc(100vw - 16px));
  height:fit-content;
  max-height:calc(100dvh - 16px);
  overflow:auto;
  color:var(--ink);
  background:#fff;
  display:flex;
  flex-direction:column;
  gap:0;
  box-sizing:border-box;
  margin:0;
  box-shadow:0 18px 48px #182b3528;
}
.account-modal header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}
.account-modal header img{width:min(200px,68%);height:auto}
.account-modal-notice{font-size:13px;margin:10px 0 8px;color:var(--muted);flex-shrink:0;line-height:1.45}
.account-modal-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;flex-shrink:0}
.account-modal-tabs button{min-height:44px;border:1px solid var(--line);border-radius:9px;font-weight:700;background:#fff;cursor:pointer;padding:0 10px}
.account-modal-tabs button[aria-pressed=true]{background:var(--orange);color:#fff;border-color:var(--orange)}
.account-modal iframe{
  border:0;
  width:100%;
  flex:0 0 auto;
  min-height:240px;
  height:380px;
  max-height:calc(100dvh - 200px);
  display:block;
  margin-top:8px;
  background:#fff;
  overflow:auto;
}
.auth-embedded,html.auth-embedded,body.auth-embedded{background:#fff;margin:0;overflow-x:hidden;min-height:0!important;height:auto!important}
.auth-embedded .topline,.auth-embedded .site-header,.auth-embedded .site-footer,.auth-embedded .auth-story,.auth-embedded .skip,.auth-embedded .skip-link,.auth-embedded .brand-sign{display:none!important}
.auth-embedded .auth-layout{display:block;margin:0;padding:0;max-width:none;width:100%;min-height:0}
.auth-embedded .auth-card{border:0;box-shadow:none;border-radius:0;padding:2px 2px 10px;width:100%;max-width:100%}
.auth-embedded .auth-card>img,.auth-embedded .auth-card>h1,.auth-embedded .auth-card>h2,.auth-embedded .auth-card>p.muted{display:none}
.auth-embedded .auth-notice{font-size:12px;line-height:1.45;margin:0 0 8px;padding:8px 10px}
.auth-embedded .auth-card form{display:flex;flex-direction:column;gap:8px;min-width:0}
.auth-embedded form .button{margin-top:10px!important}
.auth-embedded .auth-links{margin:10px 0 4px}
.auth-embedded .auth-card label{display:flex;flex-direction:column;gap:5px;font-size:13px;min-width:0}
.auth-embedded .auth-card .cols2{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-width:0}
.auth-embedded .auth-card input,
.auth-embedded .auth-card select{
  width:100%;
  min-width:0;
  max-width:100%;
  font-size:16px;
  box-sizing:border-box;
}
.auth-embedded .auth-card .button.full{width:100%;min-height:46px}
.auth-embedded .auth-links{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:10px;font-size:13px}
.auth-embedded .password-rules{font-size:11px;line-height:1.4}
.auth-embedded .auth-links.auth-links-stacked{flex-direction:column;align-items:stretch}
@media (max-width:560px){
  .account-modal{
    width:calc(100vw - 12px);
    max-height:calc(100dvh - 12px);
    padding:12px 12px 10px;
    border-radius:16px;
  }
  .account-modal header img{width:min(170px,70%)}
  .account-modal-notice{font-size:12px;margin:8px 0 8px}
  .account-modal-tabs button{min-height:42px;font-size:14px}
  .account-modal iframe{
    min-height:200px;
    height:320px;
    max-height:calc(100dvh - 185px);
  }
  .auth-embedded .auth-card .cols2{grid-template-columns:1fr}
}
@media (max-width:380px){
  .account-modal{width:calc(100vw - 8px);padding:10px}
  .account-modal-tabs{gap:6px}
  .account-modal-tabs button{font-size:13px;padding:0 6px}
  .account-modal iframe{min-height:180px;height:300px;max-height:calc(100dvh - 170px)}
}
/* v28: Approved examples entry; compact navigation on narrower screens. */
@media(min-width:1201px) and (max-width:1450px){.nav-row{gap:18px}.nav-row>nav{gap:14px;font-size:12px}.brand img{width:210px}}
@media(min-width:901px) and (max-width:1200px){.nav-row>nav{display:none}.mobile-toggle{display:grid}.mobile-nav:not([hidden]){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:20px 30px;gap:10px;border-top:1px solid var(--line)}}

/* Auth forms: stacked links + mobile-safe register CTA */
.auth-links:has(.register-prominent),
.auth-links.auth-links-stacked{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:12px;
  margin:18px 0 10px;
}
.auth-links:has(.register-prominent)>a:not(.register-prominent),
.auth-links.auth-links-stacked>a:not(.register-prominent){
  align-self:flex-start;
  font-size:13px;
  line-height:1.4;
  order:1;
}
.auth-links .register-prominent{
  order:2;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-size:14px;
  font-weight:650;
  line-height:1.35;
  white-space:normal;
  text-align:center;
  border:2px solid var(--orange);
  color:var(--orange-dark);
  background:#fff4ec;
  margin:0;
  min-height:48px;
  padding:12px 16px;
  border-radius:9px;
}
.auth-links .register-prominent:hover{transform:none;background:#ffeee3;color:var(--orange-dark)}
.password-wrap{display:block}
.password-wrap button{
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  height:34px;
  width:34px;
  display:grid;
  place-items:center;
  margin:0;
  padding:0;
  line-height:1;
}
.auth-card form .button.full{margin-top:16px}
.auth-card .auth-links{clear:both}
@media(max-width:620px){
  .auth-layout{padding-top:18px;padding-bottom:28px;max-width:100%}
  .auth-card{padding:18px 16px;border-radius:14px;overflow:hidden}
  .auth-card h2{font-size:24px;margin-top:10px;letter-spacing:-.6px}
  .auth-notice{font-size:12px;padding:11px 12px;margin:14px 0}
  .auth-links:has(.register-prominent),
  .auth-links.auth-links-stacked{gap:14px;margin-top:14px}
  .auth-links .register-prominent{font-size:13.5px;padding:13px 14px;min-height:46px}
  .brand-sign{margin-top:8px}
  /* Auth sayfalarında header Giriş butonu gereksiz yer kaplıyor */
  body[data-path^="/hesap/"] .nav-actions>[data-account-link]{display:none}
  body[data-path^="/hesap/"] .nav-row{gap:12px}
  body[data-path^="/hesap/"] .brand img{width:min(190px,58vw)}
}
@media(max-width:380px){
  .auth-card{padding:16px 14px}
  .auth-links .register-prominent{font-size:13px;padding:12px}
  body[data-path^="/hesap/"] .brand img{width:min(160px,52vw)}
}

/* v34 home calendar */
.home-calendar{margin-top:52px;margin-bottom:64px;scroll-margin-top:110px}.home-calendar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.home-calendar-card{min-width:0;overflow-x:auto;border:1px solid var(--line);border-radius:20px;padding:26px;background:#fff}.home-calendar-card h3{font-size:22px;margin:0 0 24px}.home-calendar-card table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.5}.home-calendar-card th,.home-calendar-card td{text-align:left;padding:15px 14px;border-bottom:1px solid var(--line);vertical-align:top}.home-calendar-card th{background:#f0f2e9;font-weight:700}.home-calendar-card tbody th{width:50%}.home-calendar-card p{font-size:14px;line-height:1.7;margin:18px 0 0;color:#4c5751}.home-calendar-action{display:flex;justify-content:center;margin-top:24px}.mobile-guides{grid-column:1/-1}.mobile-guides summary{padding:12px;cursor:pointer;font-weight:700}.mobile-guides>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px}.nav-more>div{max-height:70vh;overflow-y:auto}@media(max-width:800px){.home-calendar-grid{grid-template-columns:1fr}.home-calendar-card{padding:20px}.home-calendar{margin-top:32px;margin-bottom:40px}.home-calendar-card h3{font-size:20px}}@media(max-width:420px){.home-calendar-card{padding:14px;border-radius:14px}.home-calendar-card table{font-size:12px}.home-calendar-card th,.home-calendar-card td{padding:12px 8px}.home-calendar-card h3{font-size:18px}.mobile-guides>div{grid-template-columns:1fr}}


/* === v89 nav-program CTA (fixed sizes + complete keyframes) === */
@keyframes programPress{
  0%,60%,85%,100%{transform:translateY(-1px);box-shadow:0 3px 0 #ac591c,0 5px 10px #91461322}
  68%,75%{transform:translateY(1px);box-shadow:0 1px 0 #ac591c,0 3px 7px #91461325}
}
@keyframes programCursor{
  0%,55%,90%,100%{transform:translate(2px,2px)}
  65%,78%{transform:translate(-1px,-1px) scale(.93)}
}
@keyframes programClickRays{
  0%,60%,83%,100%{opacity:0}
  67%,75%{opacity:1}
}
.site-header a.nav-program,
.mobile-nav a.nav-program{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:32px;
  max-width:100%;
  padding:5px 11px;
  border:1px solid #ffb578;
  border-radius:9px;
  background:linear-gradient(180deg,#ff9137,#f58029);
  color:#fff;
  font-size:13px;
  font-weight:750;
  line-height:1.25;
  text-align:center;
  white-space:nowrap;
  box-shadow:0 3px 0 #ac591c,0 5px 10px #91461322;
  animation:programPress 3.8s ease-in-out infinite;
  transform:translateY(-1px);
  transition:none;
  overflow:visible;
}
.site-header a.nav-program:hover,
.site-header a.nav-program:active,
.mobile-nav a.nav-program:hover,
.mobile-nav a.nav-program:active{
  background:linear-gradient(180deg,#ff9137,#f58029);
  color:#fff;
  animation:none;
  transform:translateY(2px);
  box-shadow:inset 0 2px 4px #95431255,0 1px 0 #ac591c;
}
.site-header a.nav-program:hover .program-click,
.site-header a.nav-program:active .program-click,
.mobile-nav a.nav-program:hover .program-click,
.mobile-nav a.nav-program:active .program-click{
  animation:none;
  transform:translate(-1px,-1px) scale(.93);
}
.site-header a.nav-program:hover .click-rays,
.site-header a.nav-program:active .click-rays,
.mobile-nav a.nav-program:hover .click-rays,
.mobile-nav a.nav-program:active .click-rays{
  animation:none;
  opacity:1;
}
.site-header a.nav-program:focus-visible,
.mobile-nav a.nav-program:focus-visible{
  outline:3px solid var(--orange-dark);
  outline-offset:4px;
}
/* CRITICAL: SVG must stay 22px — missing size blew up the cursor across the nav */
svg.program-click,
.program-click{
  width:22px !important;
  height:22px !important;
  max-width:22px !important;
  max-height:22px !important;
  flex:0 0 22px !important;
  display:block;
  overflow:visible;
  animation:programCursor 3.8s ease-in-out infinite;
  pointer-events:none;
  transform-origin:center;
  /* defeat global img,svg{max-width:100%} blow-up when attrs missing */
  box-sizing:content-box;
}
.program-click .click-rays{
  opacity:0;
  animation:programClickRays 3.8s ease-in-out infinite;
}
.mobile-nav a.nav-program{
  grid-column:1 / -1;
  justify-self:stretch;
  white-space:normal;
  font-size:14px;
  min-height:40px;
  padding:10px 14px;
  gap:8px;
}
@media(max-width:1200px){
  .mobile-nav a.nav-program{
    grid-column:1 / -1;
    justify-self:stretch;
    white-space:normal;
    font-size:14px;
    min-height:40px;
  }
}
@media(min-width:901px) and (max-width:1200px){
  /* desktop nav hidden here; keep program CTA tidy if ever shown */
  .site-header a.nav-program{font-size:12px;padding:5px 9px;gap:4px}
  .site-header a.nav-program .program-click{width:18px !important;height:18px !important;max-width:18px !important;max-height:18px !important;flex-basis:18px !important}
}
@media(min-width:1201px) and (max-width:1450px){
  .site-header a.nav-program{font-size:12px;padding:5px 9px;gap:4px;max-width:min(100%,220px)}
  .site-header a.nav-program .program-click{width:18px !important;height:18px !important;max-width:18px !important;max-height:18px !important;flex-basis:18px !important}
}
@media(max-width:620px){
  .mobile-nav a.nav-program{font-size:13px;padding:10px 12px}
  .mobile-nav a.nav-program .program-click{width:18px !important;height:18px !important;max-width:18px !important;max-height:18px !important;flex-basis:18px !important}
}
@media(prefers-reduced-motion:reduce){
  .site-header a.nav-program,
  .mobile-nav a.nav-program,
  .program-click,
  .program-click .click-rays{animation:none !important;transition:none}
  .program-click .click-rays{opacity:1}
}


/* === Mobile nav + Rehberler alignment (v89r3) === */
.nav-more summary{
  display:inline-flex;
  align-items:center;
  gap:6px;
  list-style:none;
  line-height:1.2;
}
.nav-more summary::-webkit-details-marker{display:none}
.nav-more summary::marker{content:""}
.nav-more summary::after{
  content:"";
  width:0;
  height:0;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
  border-top:5px solid currentColor;
  flex:0 0 auto;
  opacity:.7;
  transform:translateY(1px);
}
.nav-more[open] summary::after{
  border-top:0;
  border-bottom:5px solid currentColor;
  transform:translateY(-1px);
}

@media(max-width:1200px){
  .mobile-nav:not([hidden]){
    display:flex !important;
    flex-direction:column;
    align-items:stretch;
    gap:2px;
    padding:12px 18px 16px;
    border-top:1px solid var(--line);
  }
  .mobile-nav > a:not(.nav-program){
    display:flex;
    align-items:center;
    min-height:44px;
    padding:10px 12px;
    font-size:14px;
    font-weight:650;
    line-height:1.3;
    border-radius:10px;
  }
  .mobile-nav > a:not(.nav-program):active,
  .mobile-nav > a:not(.nav-program):hover{
    background:var(--pale);
    color:var(--orange-dark);
  }
  .mobile-nav a.nav-program{
    grid-column:auto;
    width:100%;
    justify-self:stretch;
    margin:2px 0 8px;
  }
  .mobile-guides{
    grid-column:auto;
    width:100%;
    margin-top:4px;
    padding-top:6px;
    border-top:1px solid var(--line);
  }
  .mobile-guides summary{
    list-style:none;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    min-height:44px;
    padding:10px 12px;
    font-size:14px;
    font-weight:700;
    line-height:1;
    border-radius:10px;
    cursor:pointer;
  }
  .mobile-guides summary::-webkit-details-marker{display:none}
  .mobile-guides summary::marker{content:""}
  .mobile-guides summary::after{
    content:"";
    width:0;
    height:0;
    border-left:5px solid transparent;
    border-right:5px solid transparent;
    border-top:6px solid currentColor;
    flex:0 0 auto;
    opacity:.7;
    transform:translateY(1px);
  }
  .mobile-guides[open] summary::after{
    border-top:0;
    border-bottom:6px solid currentColor;
    transform:translateY(-1px);
  }
  .mobile-guides[open] summary{
    background:var(--pale);
    color:var(--orange-dark);
  }
  .mobile-guides > div{
    display:grid;
    grid-template-columns:1fr;
    gap:2px;
    padding:4px 0 6px;
  }
  .mobile-guides > div a{
    display:flex;
    align-items:center;
    min-height:40px;
    padding:8px 12px;
    font-size:13px;
    font-weight:550;
    border-radius:8px;
  }
  .mobile-guides > div a:hover,
  .mobile-guides > div a:active{
    background:#fff;
  }
}

@media(max-width:420px){
  .mobile-nav:not([hidden]){padding:10px 14px 14px}
  .topline .wrap{padding-left:14px;padding-right:14px;gap:8px}
  .nav-row{padding-left:0;padding-right:0;height:72px;gap:12px}
}


/* === Mobile: Program left of hamburger (v89r8) === */
.mobile-cta-bar,.mobile-program-bar,.mobile-nav-cta{display:none !important}
.nav-actions a.mobile-program-link{display:none}

@media(max-width:1200px){
  .nav-actions > [data-account-link]{display:none !important}
  .nav-row{
    height:64px;
    gap:10px;
  }
  .nav-actions{
    display:flex;
    align-items:center;
    gap:8px;
    flex:0 1 auto;
    min-width:0;
  }
  .nav-actions a.mobile-program-link{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    gap:5px;
    flex:0 1 auto;
    min-width:0;
    max-width:min(210px,46vw);
    min-height:36px;
    margin:0;
    padding:6px 10px;
    font-size:11.5px;
    font-weight:750;
    line-height:1.15;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    border-radius:9px;
    animation:none !important;
    transform:none !important;
    box-shadow:0 2px 0 #ac591c;
  }
  .nav-actions a.mobile-program-link:hover,
  .nav-actions a.mobile-program-link:active{
    transform:none !important;
    animation:none !important;
  }
  .nav-actions a.mobile-program-link .program-click{
    width:14px !important;
    height:14px !important;
    max-width:14px !important;
    max-height:14px !important;
    flex:0 0 14px !important;
    animation:none !important;
  }
  .brand{min-width:0;flex:1 1 auto}
  .brand img{max-width:100%;height:auto}
  .mobile-nav a.nav-program[hidden]{display:none !important}
  .mobile-nav a.mobile-nav-login{
    display:flex !important;
    align-items:center;
    justify-content:center;
    gap:8px;
    width:100%;
    min-height:42px;
    margin:0 0 8px;
    padding:10px 14px;
    font-size:13px;
    font-weight:650;
    border-radius:10px;
    box-shadow:none;
    transform:none;
  }
  .mobile-nav a.mobile-nav-login:hover{transform:none}
  .mobile-nav a.mobile-nav-login .login-door{
    display:inline-block;
    width:15px;
    height:17px;
    color:#fff;
  }
}

@media(max-width:420px){
  .nav-row{height:60px;gap:8px}
  .nav-actions{gap:6px}
  .nav-actions a.mobile-program-link{
    max-width:min(168px,42vw);
    min-height:34px;
    padding:5px 8px;
    font-size:10.5px;
    gap:4px;
  }
  .nav-actions a.mobile-program-link .program-click{
    width:12px !important;
    height:12px !important;
    max-width:12px !important;
    max-height:12px !important;
    flex-basis:12px !important;
  }
  .mobile-toggle{width:34px;height:34px;min-width:34px}
}

@media(max-width:340px){
  .nav-actions a.mobile-program-link{
    max-width:min(140px,38vw);
    font-size:10px;
    padding:5px 7px;
  }
}
