:root{--brand:#1d4ed8;--ink:#111827;--muted:#4b5563;--line:#d1d5db;--paper:#fff;--wash:#f6f7f9;--bad:#b91c1c;--good:#047857;--warn:#92400e;--radius:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{color:var(--ink);background:var(--wash);margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--brand)}.app-shell{background-color:#f7f7f3;background-image:url(/images/school-background.svg);background-position:top;background-repeat:no-repeat;background-size:cover;min-height:100vh}.family-area{background-color:#f5f8f5;background-image:url(/images/family-background.svg)}.student-area{background-color:#f5f8ff;background-image:url(/images/student-background.svg)}.top{background:var(--paper);border-bottom:1px solid var(--line)}.top-inner{justify-content:space-between;align-items:center;gap:16px;max-width:980px;margin:0 auto;padding:12px 16px;display:flex}.school{color:var(--brand);align-items:center;gap:10px;font-weight:700;text-decoration:none;display:flex}.school-logo{flex:none;width:48px;height:48px;display:block}.landing-page{background:#f7f7f3 url(/images/school-background.svg) top/cover no-repeat;min-height:100vh;padding:clamp(20px,5vw,56px) 20px 48px}.landing-inner{max-width:1080px;margin:0 auto}.landing-brand{color:var(--ink);align-items:center;gap:12px;font-size:1.15rem;font-weight:750;text-decoration:none;display:flex}.landing-hero{max-width:760px;padding:clamp(48px,10vh,104px) 0 48px}.landing-hero h1{letter-spacing:-.04em;overflow-wrap:anywhere;max-width:22ch;font-size:clamp(1.5rem,6.4vw,4rem);line-height:1.05}.landing-links{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.landing-section{margin:0 0 24px}.landing-section>h2{letter-spacing:-.02em;font-size:clamp(1.45rem,3vw,2rem)}.landing-eyebrow{color:#245b50;letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:.82rem;font-weight:750}.landing-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px;display:grid}.landing-two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.landing-card{background:#fffffff0;border:1px solid #d8e0dc;border-radius:16px;min-width:0;padding:clamp(18px,3vw,26px);box-shadow:0 12px 32px #1f332d0d}.landing-card h2,.landing-card h3{margin:0 0 10px}.landing-card h3{font-size:1.08rem}.landing-card p,.landing-highlight p{color:#45524d;max-width:68ch;margin:0}.landing-highlight{background:linear-gradient(125deg,#ecf6f1f5,#fffffff5);border:1px solid #c9ded6;border-radius:18px;padding:clamp(20px,4vw,34px)}.landing-highlight h2{margin:0 0 10px;font-size:clamp(1.45rem,3vw,2rem)}.landing-roadmap{background:#f8faf9f5}.landing-notice{background:#fff9e9f5;border:1px solid #e3d3a8;border-radius:14px;padding:16px 20px}.landing-notice h2{margin:0 0 6px;font-size:1.1rem}.landing-notice p{color:#5a4a22;max-width:84ch;margin:0}.landing-steps{color:#2f3b37;gap:8px;margin:14px 0 0;padding-left:22px;display:grid}.landing-card p.landing-small{margin-top:12px;font-size:.92rem}.landing-disclaimer{color:#45524d;background:#ffffffe0;border-left:4px solid #6c8f82;border-radius:0 10px 10px 0;max-width:84ch;margin:24px 0 0;padding:16px 18px;font-size:.94rem}.landing-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;display:flex}.landing-top-links{gap:16px;font-size:.95rem;font-weight:600;display:flex}.landing-sub{margin:16px 0 6px;font-size:1.05rem}.landing-foot{color:#45524d;margin:16px 0 0;font-size:.92rem}.hl-notices h3{margin:0 0 8px;font-size:1rem}.hl-notices ul{color:#45524d;gap:6px;margin:0;padding-left:20px;font-size:.92rem;display:grid}.showcase-facts{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:28px 0 0;padding:0;list-style:none;display:grid}.showcase-facts li{background:#ffffffeb;border:1px solid #d8e0dc;border-radius:14px;flex-direction:column;gap:2px;padding:14px 16px;display:flex}.showcase-facts strong{letter-spacing:-.02em;color:var(--ink);font-size:clamp(1.35rem,3vw,1.8rem);line-height:1.1}.showcase-facts span{color:#45524d;font-size:.85rem}.showcase{background:linear-gradient(160deg,#ecf6f1f5,#fffffff5);border:1px solid #c9ded6;border-radius:18px;gap:18px;padding:clamp(18px,3vw,26px);display:grid}.showcase h2{letter-spacing:-.02em;margin:0;font-size:clamp(1.35rem,3vw,1.7rem)}.showcase h3{margin:0 0 6px;font-size:1.02rem}.showcase p,.showcase li{color:#45524d;margin:0;font-size:.95rem;line-height:1.5}.showcase ul{gap:4px;margin:0;padding-left:20px;display:grid}.showcase-grades{list-style:none;padding-left:0!important}.showcase-grades li{border-top:1px solid #e0e8e4;padding:4px 0}.showcase-small{margin-top:8px!important;font-size:.88rem!important}.showcase-honest{border-top:1px solid #c9ded6;padding-top:12px}.showcase-compact{grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 24px}.showcase-compact h2,.showcase-compact .showcase-honest{grid-column:1/-1}.page.with-showcase{grid-template-columns:minmax(0,440px) minmax(0,1fr);align-items:start;gap:32px;max-width:980px;display:grid}.page.with-showcase>.showcase{position:sticky;top:16px}@media (max-width:840px){.page.with-showcase{grid-template-columns:1fr}.page.with-showcase>.showcase{position:static}.showcase-compact{grid-template-columns:1fr}}@media (max-width:760px){.landing-feature-grid,.landing-two-column{grid-template-columns:1fr}.showcase-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}.page{max-width:980px;margin:0 auto;padding:24px 16px 64px}.foot{border-top:1px solid var(--line,#e5e7eb);max-width:980px;color:var(--muted,#6b7280);margin:0 auto;padding:16px;font-size:.875rem}.narrow{max-width:480px}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);margin:0 0 16px;padding:20px}h1{margin:0 0 8px;font-size:1.6rem}h2{margin:0 0 12px;font-size:1.2rem}.lead{color:var(--muted);margin:0 0 20px}label{margin:14px 0 4px;font-weight:600;display:block}.hint{color:var(--muted);margin:2px 0 0;font-size:.9rem;font-weight:400}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=url],select,textarea{border:1px solid var(--line);width:100%;font:inherit;background:#fff;border-radius:8px;padding:10px 12px}textarea{min-height:96px}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb, var(--brand) 40%, transparent);outline-offset:1px}.check{align-items:flex-start;gap:10px;font-weight:400;display:flex}.check input{flex:none;width:18px;height:18px;margin-top:4px}button,.button{font:inherit;cursor:pointer;background:var(--brand);color:#fff;border:0;border-radius:8px;padding:10px 18px;font-weight:600;text-decoration:none;display:inline-block}button.secondary,.button.secondary{color:var(--brand);border:1px solid var(--brand);background:#fff}button.danger{background:var(--bad)}.actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;display:flex}.error{color:var(--bad);margin:4px 0 0;font-size:.92rem}.notice{background:#eef2ff;border-radius:8px;margin:0 0 16px;padding:12px 14px}.notice.bad{color:var(--bad);background:#fef2f2}.notice.good{color:var(--good);background:#ecfdf5}.notice.warn{color:var(--warn);background:#fffbeb}.grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-bottom:16px;display:grid}.tile{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);color:inherit;padding:18px;text-decoration:none;display:block}.tile:hover{border-color:var(--brand)}.tile strong{color:var(--brand);margin-bottom:4px;display:block}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 6px}th{color:var(--muted);font-size:.85rem;font-weight:600}.pill{background:var(--wash);border:1px solid var(--line);border-radius:999px;padding:2px 8px;font-size:.8rem;display:inline-block}.pill.good{color:var(--good);border-color:var(--good)}.pill.warn{color:var(--warn);border-color:var(--warn)}.ai{background:var(--ink);color:#fff;border-radius:4px;margin-right:8px;padding:1px 6px;font-size:.8rem;font-weight:700}.row{grid-template-columns:2fr 1fr;gap:12px;display:grid}.prose h2,.prose h3{margin-top:1.4em}.prose p,.prose li{max-width:70ch}pre.script{white-space:pre-wrap;background:var(--wash);font:inherit;border-radius:8px;padding:12px}.split{grid-template-columns:minmax(0,3fr) minmax(260px,2fr);gap:20px;display:grid}@media (max-width:760px){.split,.row{grid-template-columns:1fr}}label .hint{margin-top:2px;display:block}
