:root{--blue:#004c97;--dark:#041e42;--red:#da291c;--yellow:#ffc600;--silver:#b2b4b2;--ink:#17243a;--muted:#5b6878;--line:#d9e0e8;--pale:#f3f7fb;--white:#fff;--good:#17734b;--review:#9b5c00;--radius:16px;--shadow:0 16px 44px rgba(4,30,66,.09)}
*{box-sizing:border-box}html{font-size:17px;scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:"Fira Sans",Calibri,"Segoe UI",sans-serif;line-height:1.55}a{color:var(--blue);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}button,input,select,textarea{font:inherit}.skip-link{position:fixed;z-index:100;left:1rem;top:-5rem;padding:.7rem 1rem;background:var(--yellow);color:var(--dark);font-weight:700}.skip-link:focus{top:1rem}.site-header{min-height:90px;padding:.8rem clamp(1rem,4vw,4.5rem);display:flex;align-items:center;gap:2rem;border-bottom:1px solid var(--line);background:#fff;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:.85rem;color:var(--dark);text-decoration:none;min-width:max-content}.brand img{width:142px;height:auto}.brand>span{border-left:1px solid var(--line);padding-left:.85rem;line-height:1}.brand b{display:block;font-size:1.15rem;letter-spacing:.08em}.brand small{display:block;margin-top:.28rem;color:var(--muted);font-size:.72rem;letter-spacing:.04em}.site-header nav{margin-left:auto;display:flex;align-items:center;gap:.2rem;flex-wrap:wrap}.site-header nav>a{padding:.55rem .65rem;color:var(--dark);font-size:.88rem;font-weight:650;text-decoration:none;border-radius:8px}.site-header nav>a:hover,.site-header nav>a.active{background:var(--pale);color:var(--blue)}.logout-form{margin:0}.link-button{border:0;background:transparent;color:var(--blue);text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:.5rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.72rem 1.1rem;border:2px solid var(--blue);border-radius:9px;background:var(--blue);color:#fff;text-decoration:none;font-weight:750;cursor:pointer}.button:hover{background:#003d79;border-color:#003d79}.button.secondary{background:#fff;color:var(--blue)}.button.secondary:hover{background:var(--pale)}.button.small{min-height:40px;padding:.5rem .9rem;color:#fff}.text-link{font-weight:750;text-decoration:none}.actions{display:flex;align-items:center;gap:1.3rem;flex-wrap:wrap}.flash{padding:.9rem clamp(1rem,4vw,4.5rem);border-bottom:1px solid}.flash.success{background:#e9f7f0;color:#0b5c3a;border-color:#bfe3d0}.flash.error{background:#fff2f0;color:#862015;border-color:#f2c3bc}.flash ul{margin:.3rem 0}.section{max-width:1240px;margin:0 auto;padding:clamp(2.7rem,6vw,5.5rem) clamp(1rem,4vw,3rem)}.section.narrow{max-width:880px}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:.74rem;font-weight:800;color:var(--blue);margin:0 0 .65rem}h1,h2,h3{color:var(--dark);line-height:1.14;margin-top:0}h1{font-size:clamp(2.3rem,5vw,4.5rem);letter-spacing:-.045em;margin-bottom:1.1rem}h2{font-size:clamp(1.45rem,3vw,2.15rem);letter-spacing:-.025em}h3{font-size:1.08rem}.lead{font-size:clamp(1.05rem,2vw,1.28rem);color:#435267;max-width:760px}.muted,.small-copy,.optional{color:var(--muted)}.optional{font-size:.78em;font-weight:400}.block{display:block}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero{max-width:1440px;margin:auto;min-height:630px;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,6vw,7rem);align-items:center;padding:clamp(3.5rem,8vw,8rem) clamp(1rem,7vw,7rem);background:linear-gradient(135deg,#fff 55%,#f2f7fc 55%)}.hero h1{max-width:800px}.hero .lead{max-width:680px;margin-bottom:2rem}.hero-path{display:grid;gap:.75rem}.hero-path article{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem;display:flex;gap:1rem;box-shadow:var(--shadow)}.hero-path article:nth-child(2){transform:translateX(1.5rem)}.hero-path article>span{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--dark);color:#fff;font-weight:800}.hero-path b{font-size:1.2rem;color:var(--dark)}.hero-path p{margin:.2rem 0 0;color:var(--muted)}.band{background:var(--dark);color:#fff;display:flex;justify-content:center;gap:clamp(1rem,5vw,5rem);padding:1.1rem 2rem;flex-wrap:wrap}.band p{margin:0;font-size:.85rem;font-weight:650}.band p:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--yellow);margin-right:.55rem}.public-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}.public-grid article{padding:1.7rem;border-top:4px solid var(--blue);background:var(--pale)}.public-grid h2{font-size:1.5rem}.split-callout{display:grid;grid-template-columns:1fr 1fr;gap:4rem;border-top:1px solid var(--line)}.page-intro{padding-bottom:2rem}.page-intro h1{max-width:900px}.principles{border-top:1px solid var(--line)}.principles article{display:grid;grid-template-columns:70px 1fr;gap:1rem;padding:1.5rem 0;border-bottom:1px solid var(--line)}.principles article>span{color:var(--blue);font-weight:800}.principles p{margin:0;font-size:1.08rem}.source-link{margin-top:2rem}.sign-in-shell{min-height:610px;display:grid;grid-template-columns:1fr .72fr;gap:clamp(2rem,8vw,8rem);align-items:center}.sign-in-shell h1{font-size:clamp(2.4rem,5vw,4rem)}.sign-in-shell aside{background:var(--dark);color:#fff;padding:2.2rem;border-radius:var(--radius)}.sign-in-shell aside h2{color:#fff}.button.google span{width:26px;height:26px;background:#fff;color:var(--blue);border-radius:50%;display:grid;place-items:center;margin-right:.6rem}.notice{padding:1.1rem 1.2rem;background:#fff7dc;border-left:4px solid var(--yellow);border-radius:0 8px 8px 0}.notice h2{font-size:1.2rem}.check-list{padding:0;list-style:none}.check-list li{padding:.7rem 0 .7rem 1.6rem;border-bottom:1px solid rgba(255,255,255,.16);position:relative}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--yellow);font-weight:900}.dashboard-head{display:flex;justify-content:space-between;align-items:end;padding-bottom:2rem}.dashboard-head h1{font-size:clamp(2rem,4vw,3.4rem)}.time-choice{display:flex;border:1px solid var(--line);padding:.25rem;border-radius:10px;background:#fff}.time-choice button{border:0;background:transparent;padding:.55rem .8rem;border-radius:7px;cursor:pointer}.time-choice .selected{background:var(--dark);color:#fff}.dashboard-grid{padding-top:1rem;display:grid;grid-template-columns:1.6fr .8fr;gap:1rem}.primary-card{background:linear-gradient(140deg,var(--dark),#07366d);padding:2.4rem;border-radius:var(--radius);color:#fff;min-height:330px;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}.primary-card h2,.primary-card .eyebrow{color:#fff}.primary-card .meta{color:#cbd9eb}.side-stack{display:grid;gap:1rem}.side-stack article{border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem}.kicker{color:var(--blue);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.next-grid{padding-top:1rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.next-grid>a{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:12px;padding:1.2rem;color:var(--dark);text-decoration:none}.next-grid>a:hover{border-color:var(--blue);box-shadow:var(--shadow)}.next-grid span{color:var(--blue);font-size:.75rem;font-weight:800;text-transform:uppercase}.next-grid small{color:var(--muted);margin-top:.3rem}.section-title{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.section-title>span{color:var(--muted)}.empty{padding:2rem;border:1px dashed var(--silver);border-radius:var(--radius);background:var(--pale)}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.card-grid article{border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;display:flex;flex-direction:column}.card-grid article .text-link{margin-top:auto}.skill-tag,.mode-badge{display:inline-block;width:max-content;padding:.26rem .5rem;border-radius:5px;background:#e5f0fb;color:var(--blue);font-size:.73rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.evidence-list{border-top:1px solid var(--line)}.evidence-list>div{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line);align-items:center}.status-dot{display:inline-flex;align-items:center;gap:.4rem;color:var(--muted);font-size:.84rem;font-weight:750;text-transform:capitalize}.status-dot:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--silver)}.status-dot.good{color:var(--good)}.status-dot.good:before{background:var(--good)}.status-dot.review{color:var(--review)}.status-dot.review:before{background:var(--yellow)}.activity-head,.studio-head,.simulation-head{display:flex;justify-content:space-between;align-items:center;padding:1rem clamp(1rem,4vw,4rem);border-bottom:1px solid var(--line);background:#fff}.activity-head h1,.studio-head h1,.simulation-head h1{font-size:1.25rem;margin:.25rem 0}.reading-split{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 180px)}.reading-split>.stimulus,.reading-split>.question{padding:clamp(1.5rem,5vw,4.5rem);overflow:auto}.reading-split>.stimulus{background:var(--pale);font-family:Georgia,serif;font-size:1.08rem}.reading-split>.question{border-left:1px solid var(--line)}.option{display:flex;gap:.8rem;align-items:flex-start;padding:1rem;border:1px solid var(--line);border-radius:10px;margin:.7rem 0;cursor:pointer}.option:has(input:checked){border-color:var(--blue);box-shadow:0 0 0 2px rgba(0,76,151,.16)}.option input{margin-top:.45rem}.option-letter{flex:0 0 30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--pale);font-weight:800}.option small{display:block;color:var(--muted);margin-top:.4rem}.option.answer{border-color:var(--good)}.feedback-panel{padding:1rem;border-left:4px solid;border-radius:0 8px 8px 0;margin-bottom:1rem}.feedback-panel.correct{background:#e9f7f0;border-color:var(--good)}.feedback-panel.incorrect{background:#fff7dc;border-color:var(--yellow)}.feedback-panel h3{margin-bottom:.3rem}.question-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem}.hint-check{color:var(--muted);font-size:.88rem}.studio-status{text-align:right;color:var(--muted);font-size:.82rem}.studio-status b{display:block;color:var(--dark)}.studio{display:grid;grid-template-columns:.62fr 1.35fr .55fr;min-height:calc(100vh - 181px)}.studio>aside,.editor-panel{padding:1.5rem}.prompt-panel{background:var(--pale)}.prompt-reminder{border-top:1px solid var(--line);margin-top:2rem;padding-top:1rem}.editor-panel{display:flex;flex-direction:column;border-inline:1px solid var(--line)}.editor-toolbar{min-height:48px;display:flex;gap:.4rem;align-items:center;border-bottom:1px solid var(--line);padding-bottom:.6rem}.editor-toolbar button{width:40px;height:40px;border:1px solid var(--line);background:#fff;border-radius:7px}.editor-toolbar>span{margin-left:auto;color:var(--muted);font-size:.8rem}.editor-panel textarea,.writing-simulation textarea{width:100%;min-height:520px;resize:vertical;border:0;outline:none;padding:1.3rem .4rem;font-family:Georgia,serif;font-size:1.05rem;line-height:1.75}.editor-foot{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-top:.7rem;color:var(--muted);font-size:.82rem}.submit-panel{align-self:start}.confirm{display:flex;gap:.65rem;align-items:flex-start;padding:1rem 0;font-size:.9rem}.confirm input{margin-top:.35rem}.feedback-layout,.review-layout,.two-col{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem}.writing-paper{white-space:normal;border:1px solid var(--line);border-radius:10px;padding:2rem;min-height:280px;background:#fff;font-family:Georgia,serif;line-height:1.8}.feedback-layout aside{border-left:1px solid var(--line);padding-left:2rem}.strength{padding:1.2rem;background:#e9f7f0;border-left:4px solid var(--good)}.strength span{font-size:.75rem;text-transform:uppercase;font-weight:800;color:var(--good)}.priority-list{padding-left:1.4rem}.priority-list li{padding:.5rem}.criteria>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:.6rem 0}.criteria dt{text-transform:capitalize}.criteria dd{font-weight:800}.feedback-layout form{margin-top:2rem}.feedback-layout textarea,.review-form textarea{width:100%;border:1px solid var(--line);border-radius:7px;padding:.7rem;display:block;margin:.3rem 0 .8rem}.skill-map{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.skill-map article{border:1px solid var(--line);border-radius:12px;padding:1.2rem}.skill-map header{display:flex;justify-content:space-between}.skill-map header>span:first-child{color:var(--blue);font-weight:850}.skill-map h3{margin:.8rem 0 .3rem}.skill-map p{font-size:.88rem;color:var(--muted)}.writing-progress{display:flex;justify-content:space-between;align-items:center;background:var(--pale);border-radius:var(--radius);margin-bottom:4rem}.simulation-rules{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.simulation-rules article{padding:1.5rem;background:var(--dark);color:#fff;border-radius:var(--radius)}.simulation-rules strong{display:block;color:var(--yellow);font-size:1.3rem}.simulation-rules p{margin-bottom:0}.simulation-head{position:sticky;top:0;z-index:4}.timer-wrap{display:flex;align-items:center;gap:1rem}.timer-wrap strong{font-variant-numeric:tabular-nums;font-size:1.5rem;color:var(--dark)}.question-nav{position:sticky;top:85px;z-index:3;background:#fff;padding:.7rem clamp(1rem,4vw,3rem);display:flex;flex-wrap:wrap;gap:.25rem;border-bottom:1px solid var(--line)}.question-nav a{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:5px;text-decoration:none;font-size:.75rem}.question-nav a.answered{background:var(--dark);color:#fff}.simulation-question{max-width:1100px;margin:0 auto;padding:3rem 1rem;display:grid;grid-template-columns:1fr 1fr;gap:3rem;border-bottom:1px solid var(--line)}.simulation-question .stimulus{font-family:Georgia,serif;background:var(--pale);padding:1.5rem}.simulation-submit{max-width:1100px;margin:2rem auto;padding:1.5rem;display:flex;align-items:center;justify-content:flex-end;gap:2rem;border:1px solid var(--line);border-radius:12px}.writing-simulation{display:grid;grid-template-columns:.7fr 1.3fr;max-width:1300px;margin:auto;min-height:680px}.writing-simulation>aside,.writing-simulation>article{padding:2rem}.writing-simulation>aside{background:var(--pale)}.teacher-metrics,.setup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding-top:1rem}.teacher-metrics article,.setup-grid article{padding:1.4rem;border:1px solid var(--line);border-radius:12px}.teacher-metrics span,.setup-grid article>span{color:var(--muted);font-size:.8rem;text-transform:uppercase;font-weight:800}.teacher-metrics strong{display:block;color:var(--dark);font-size:2.2rem}.student-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}.student-list a{display:flex;align-items:center;gap:1rem;border:1px solid var(--line);border-radius:10px;padding:1rem;text-decoration:none;color:var(--dark)}.student-list a>span:last-child{margin-left:auto}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--dark);color:#fff;font-weight:800}.student-list small{display:block;color:var(--muted)}.stacked-form{display:grid;gap:1rem}.stacked-form label,.review-form>label{font-weight:700}.stacked-form input,.stacked-form select,.review-form input,.inline-review input,.inline-review select{width:100%;display:block;margin-top:.25rem;padding:.65rem;border:1px solid var(--line);border-radius:7px;background:#fff}.plain-list{list-style:none;padding:0}.plain-list li{display:flex;justify-content:space-between;padding:.7rem 0;border-bottom:1px solid var(--line)}.review-layout>aside{border-left:1px solid var(--line);padding-left:2rem}.score-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;margin-bottom:1rem}.score-grid label{text-transform:capitalize;font-size:.82rem}.score-grid input{max-width:90px}.content-counts{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem}.content-counts article{border:1px solid var(--line);padding:1rem;border-radius:9px}.content-counts span,.content-counts small{display:block;color:var(--muted);text-transform:capitalize;font-size:.75rem}.content-counts strong{font-size:1.7rem;color:var(--dark)}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.setup-grid{grid-template-columns:repeat(4,1fr)}.inline-review{display:grid;grid-template-columns:1fr 1fr auto;gap:.35rem;min-width:420px}.inline-review button{border:0;background:var(--blue);color:#fff;border-radius:6px;padding:.4rem .7rem;cursor:pointer}.table-wrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:10px}table{border-collapse:collapse;width:100%;font-size:.85rem}th,td{text-align:left;padding:.8rem;border-bottom:1px solid var(--line);vertical-align:middle}th{background:var(--dark);color:#fff;font-size:.75rem;letter-spacing:.04em}tbody tr:nth-child(even){background:#f8fafc}footer{background:#071b38;color:#d6dfeb;padding:2.2rem clamp(1rem,6vw,6rem);display:flex;justify-content:space-between;gap:3rem;font-size:.78rem}footer p{max-width:720px;margin:.3rem 0}footer nav{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap}footer a{color:#fff}
*:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}@media(max-width:1000px){.site-header{flex-wrap:wrap;gap:.6rem}.site-header nav{order:3;width:100%;overflow:auto;flex-wrap:nowrap}.hero{grid-template-columns:1fr;background:#fff}.hero-path article:nth-child(2){transform:none}.public-grid,.card-grid,.skill-map{grid-template-columns:repeat(2,1fr)}.studio{grid-template-columns:1fr}.editor-panel{border-inline:0;border-block:1px solid var(--line)}.feedback-layout,.review-layout,.two-col{grid-template-columns:1fr}.feedback-layout aside,.review-layout>aside{border-left:0;padding-left:0}.content-counts{grid-template-columns:repeat(3,1fr)}.setup-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){html{font-size:16px}.brand img{width:112px}.brand>span{display:none}.site-header{padding:.7rem 1rem}.hero{min-height:auto;padding-top:4rem}.public-grid,.card-grid,.skill-map,.next-grid,.dashboard-grid,.simulation-rules,.simulation-question,.writing-simulation,.student-list,.admin-grid,.setup-grid,.teacher-metrics{grid-template-columns:1fr}.split-callout{grid-template-columns:1fr;gap:1rem}.dashboard-head,.writing-progress{align-items:flex-start;flex-direction:column}.reading-split{grid-template-columns:1fr}.reading-split>.question{border-left:0}.studio-head,.activity-head,.simulation-head{align-items:flex-start}.studio-status{text-align:left}.simulation-question{gap:1rem}.simulation-submit{align-items:stretch;flex-direction:column}.content-counts{grid-template-columns:repeat(2,1fr)}footer{flex-direction:column}.inline-review{min-width:360px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
.filter-bar{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:.7rem;align-items:end;margin-bottom:2rem;padding:1rem;background:var(--pale);border-radius:12px}.filter-bar label{font-size:.82rem;font-weight:750}.filter-bar input{display:block;width:100%;margin-top:.25rem;padding:.65rem;border:1px solid var(--line);border-radius:7px;background:#fff}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.5rem}.pagination a,.pagination span{padding:.45rem .7rem;border:1px solid var(--line);border-radius:7px}.pagination span{color:var(--muted)}.review-document{display:grid;grid-template-columns:1.4fr .7fr;gap:3rem;padding-top:1rem}.review-document aside{border-left:1px solid var(--line);padding-left:2rem}.review-document dt{font-size:.75rem;color:var(--muted);font-weight:800;text-transform:uppercase}.review-document dd{margin:0 0 1rem}.hash{overflow-wrap:anywhere}.review-document pre,.review-items pre{white-space:pre-wrap;overflow-wrap:anywhere;padding:.8rem;background:var(--pale);border-radius:7px;font-size:.75rem}.review-items{display:grid;gap:1rem}.review-items article{border:1px solid var(--line);border-radius:12px;padding:1.3rem}.review-items li{padding:.35rem}.review-items .correct-answer{background:#e9f7f0;color:#0b5c3a}@media(max-width:1000px){.review-document{grid-template-columns:1fr}.review-document aside{border-left:0;padding-left:0}.filter-bar{grid-template-columns:1fr 1fr}}@media(max-width:720px){.filter-bar{grid-template-columns:1fr}}
