*{box-sizing:border-box}
:root{
  --bg:#f6f3ea;--surface:#fffdf8;--ink:#13251c;--muted:#647168;
  --green:#0f5e43;--green2:#1b7f5a;--line:#ddd9ce;
  --trial:#fff0b7;--trial-line:#d8a120;--purple:#7a46b8;--blue:#1368c4;
  --shadow:0 18px 50px rgba(29,45,34,.09)
}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at top,#e6eee7 0,#f6f3ea 45%);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
.page-shell{width:min(1180px,calc(100% - 32px));margin:auto;padding:28px 0 32px;position:relative}
.hero{text-align:center;max-width:800px;margin:0 auto 34px}
.brand-pill{display:inline-block;border:1px solid var(--green);border-radius:999px;padding:8px 14px;font-size:.74rem;font-weight:900;letter-spacing:.14em;color:var(--green)}
.eyebrow{margin:16px 0 6px;text-transform:uppercase;letter-spacing:.13em;color:var(--green2);font-size:.76rem;font-weight:900}
.eyebrow.small{margin:0 0 5px;font-size:.68rem}
h1{margin:0;font-size:clamp(2.8rem,7vw,5rem);letter-spacing:-.06em;line-height:1}
h2,h3,p{margin-top:0}
.lead{max-width:730px;margin:18px auto 0;color:var(--muted);line-height:1.7;font-size:1.05rem}
.card{background:rgba(255,253,248,.96);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}
.login-card{max-width:830px;margin:0 auto;padding:24px}
label{display:block;font-weight:850;margin-bottom:9px}
.login-row{display:flex;gap:12px}
input{flex:1;min-width:0;padding:14px 16px;border:1px solid var(--line);border-radius:12px;font:inherit;outline:none;background:white}
input:focus{border-color:var(--green2);box-shadow:0 0 0 4px rgba(27,127,90,.12)}
button{border:0;border-radius:12px;padding:14px 19px;font:inherit;font-weight:850;cursor:pointer;background:var(--green);color:white}
button:hover{background:#0b4934}
.secondary{background:#e8eee9;color:var(--green)}
.status{margin:12px 0 0;color:var(--muted);font-weight:700}
.hidden{display:none!important}
.lesson-note{position:fixed;right:22px;top:125px;width:260px;background:#fff1a9;padding:28px 24px 24px;box-shadow:0 22px 45px rgba(78,62,12,.24);transform:rotate(1.4deg);z-index:8}
.lesson-note:after{content:"";position:absolute;right:0;bottom:0;border-style:solid;border-width:0 0 26px 26px;border-color:transparent transparent rgba(0,0,0,.08) transparent}
.pin{position:absolute;top:-14px;left:50%;width:22px;height:22px;border-radius:50%;background:#d53b2f;transform:translateX(-50%);box-shadow:0 4px 6px rgba(0,0,0,.25)}
.lesson-icon{font-size:1.5rem}.note-kicker{text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-weight:900;color:#735b00;margin:8px 0}
.lesson-note h2{font-size:1.35rem;line-height:1.25;margin-bottom:9px}
.lesson-time,.lesson-location{margin:5px 0;color:#493f19}.note-divider{height:1px;background:rgba(89,72,12,.2);margin:16px 0}
.lesson-comment{font-size:1.65rem;font-weight:950;color:#c8322a;text-align:center;letter-spacing:.04em;transform:rotate(-2deg);margin-bottom:10px}
.countdown{text-align:center;font-size:.78rem;font-weight:800;color:#705b14}
.profile-card{display:grid;grid-template-columns:auto 1fr auto auto;gap:20px;align-items:center;padding:24px;margin-bottom:16px}
.avatar{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:white;font-weight:950;font-size:1.25rem}
.profile-main h2{margin-bottom:4px}.muted{color:var(--muted)}
.profile-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.profile-metrics div{padding:0 18px;border-left:1px solid var(--line);min-width:115px}
.profile-metrics span{display:block;color:var(--muted);font-size:.78rem;margin-bottom:5px}
.profile-metrics strong{font-size:1.55rem}
.section-summary{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:22px;margin-bottom:16px}
.summary-block:first-child{border-right:1px solid var(--line);padding-right:24px}
.summary-top{display:flex;justify-content:space-between;margin-bottom:9px}
.summary-top span{font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}
.verbal .summary-top span{color:var(--purple)}.quantitative .summary-top span{color:var(--blue)}
.progress-track{height:11px;border-radius:999px;background:#e4e7e5;overflow:hidden}
.progress-fill{height:100%;border-radius:999px;width:0;transition:width .45s ease}
.verbal .progress-fill{background:var(--purple)}.quantitative .progress-fill{background:var(--blue)}
.results-card{overflow:hidden}
.results-layout{display:grid;grid-template-columns:230px 1fr}
.week-nav{padding:24px;border-right:1px solid var(--line);background:#fbfaf6}
.week-nav h2{font-size:1.25rem}
.week-buttons{margin-top:16px;display:grid;gap:6px}
.week-button{text-align:left;background:transparent;color:var(--ink);padding:12px;border-radius:10px;font-weight:800}
.week-button:hover,.week-button.active{background:#e9f0ea;color:var(--green)}
.week-button small{display:block;color:var(--muted);font-weight:600;margin-top:3px}
.week-detail{padding:24px}
.week-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:18px}
.norm-box{text-align:right}.norm-box span{display:block;color:var(--muted);font-size:.78rem}.norm-box strong{font-size:1.65rem;color:var(--green)}
.passes-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.pass-card{border:1px solid var(--line);border-radius:14px;padding:15px;text-align:center;background:white}
.pass-card.trial{background:var(--trial);border-color:var(--trial-line)}
.pass-index{display:block;font-size:.66rem;color:var(--muted);font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.pass-name{display:block;font-size:1.35rem;font-weight:950;margin:7px 0 8px}
.pass-card.quant .pass-name{color:var(--blue)}.pass-card.verbal .pass-name{color:var(--purple)}
.pass-score strong{font-size:1.45rem}.pass-score span{color:var(--muted);font-size:.78rem}
.trial-tag{display:inline-block;margin-top:10px;background:#6d4a00;color:white;border-radius:999px;padding:4px 7px;font-size:.63rem;font-weight:900;text-transform:uppercase}
.week-footer{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;color:var(--muted);font-size:.85rem}
footer{text-align:center;color:var(--muted);font-size:.8rem;padding:26px 0 0}
@media(max-width:1450px){.lesson-note{position:relative;right:auto;top:auto;width:min(520px,100%);margin:0 auto 24px;transform:rotate(.4deg)}}
@media(max-width:900px){.profile-card{grid-template-columns:auto 1fr}.profile-metrics{grid-column:1/-1}.profile-card .secondary{grid-column:1/-1}.results-layout{grid-template-columns:1fr}.week-nav{border-right:0;border-bottom:1px solid var(--line)}.passes-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.page-shell{padding-top:22px}.login-row{flex-direction:column}.section-summary{grid-template-columns:1fr}.summary-block:first-child{border-right:0;border-bottom:1px solid var(--line);padding-right:0;padding-bottom:22px}.profile-metrics{grid-template-columns:repeat(2,1fr);gap:14px}.profile-metrics div{border-left:0;padding:0}.passes-grid{grid-template-columns:1fr}.week-heading{flex-direction:column}.norm-box{text-align:left}}
