:root{--ink:#17211b;--muted:#637069;--paper:#f4f3ed;--surface:#fffefa;--line:#d9ddd7;--green:#1f6044;--green-soft:#dce9df;--amber:#a66020;--danger:#a64038;--shadow:0 18px 50px #24352b14}*{box-sizing:border-box}html{background:var(--paper)}body{color:var(--ink);background:radial-gradient(circle at 5% 0%, #457c5814, transparent 28rem), var(--paper);margin:0;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.topbar{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f4f3ede0;border-bottom:1px solid #d9ddd7d9;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px;min-height:76px;padding:12px clamp(18px,4vw,64px);display:grid;position:sticky;top:0}.brand{align-items:center;gap:12px;width:max-content;display:flex}.brandMark{color:#fff;background:var(--ink);letter-spacing:-.04em;border-radius:13px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.brand strong,.brand small{display:block}.brand small{color:var(--muted);margin-top:3px;font-size:11px}.topbar nav{border:1px solid var(--line);background:#fffefab8;border-radius:14px;align-items:center;gap:6px;padding:5px;display:flex}.topbar nav a{color:var(--muted);border-radius:9px;padding:8px 13px;font-size:14px}.topbar nav a.active{color:var(--ink);background:var(--surface);box-shadow:0 2px 12px #192e2014}.quietButton{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:10px;justify-self:end;padding:9px 14px}.page{width:min(1180px,100% - 36px);margin:0 auto;padding:56px 0 80px}.hero{color:#fff;background:linear-gradient(120deg, #1a4a32f5, #16231cf5), var(--ink);box-shadow:var(--shadow);border-radius:28px;justify-content:space-between;align-items:end;gap:32px;padding:48px;display:flex;overflow:hidden}.hero.compact{min-height:280px}.hero h1,.pageTitle h1,.loginStory h1{letter-spacing:-.035em;max-width:820px;margin:7px 0 14px;font-family:Georgia,Noto Serif SC,serif;font-size:clamp(32px,5vw,58px);font-weight:500;line-height:1.08}.hero p:not(.eyebrow){color:#ffffffb3;max-width:680px;margin:0;line-height:1.75}.eyebrow{color:var(--green);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:12px;font-weight:800}.hero .eyebrow,.loginStory .eyebrow{color:#b8dcc4}.primaryButton{color:#fff;background:var(--green);cursor:pointer;border:0;border-radius:11px;justify-content:center;align-items:center;min-height:44px;padding:11px 18px;font-weight:700;display:inline-flex}.hero .primaryButton{color:var(--ink);background:#d8efdf;flex:none}.primaryButton:disabled{opacity:.58;cursor:wait}.metricGrid{grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0;display:grid}.metricCard,.panel{background:#fffefae6;border:1px solid #d3d9d3e6;box-shadow:0 12px 35px #273a2e0b}.metricCard{border-radius:18px;min-height:154px;padding:24px}.metricCard span,.metricCard small,.goalRow small,td small,.goalCard small{color:var(--muted);display:block}.metricCard strong{margin:14px 0 10px;font-family:Georgia,serif;font-size:36px;font-weight:500;display:block}.metricCard.warning strong{color:var(--amber)}.twoColumn{grid-template-columns:1.2fr .8fr;gap:18px;display:grid}.twoColumn.alignedStart{align-items:start;margin-bottom:18px}.panel{border-radius:20px;padding:28px}.mutedPanel{color:#e7efe9;background:#26372d;border-color:#26372d}.mutedPanel p:not(.eyebrow){color:#b9c4bd;line-height:1.75}.panel h2,.loginCard h2{margin:6px 0 18px;font-family:Georgia,Noto Serif SC,serif;font-size:25px;font-weight:500}.panelHeader{justify-content:space-between;align-items:start;gap:20px;display:flex}.panelHeader>a{color:var(--green);font-size:14px;font-weight:700}.stack{gap:12px;display:grid}.goalRow{border-top:1px solid var(--line);grid-template-columns:minmax(180px,1fr) minmax(120px,.7fr);align-items:center;gap:22px;padding:16px 0;display:grid}.goalRow small{margin-top:5px}.progressTrack{background:#e5e9e5;border-radius:10px;height:7px;overflow:hidden}.progressTrack span{border-radius:inherit;background:var(--green);height:100%;display:block}.statusLine{color:#d7e5dc;align-items:center;gap:9px;margin-top:25px;font-size:13px;display:flex}.statusDot{background:#7fd19a;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 5px #7fd19a1f}.empty{border:1px dashed var(--line);color:var(--muted);background:#f4f3ed73;border-radius:13px;padding:22px;line-height:1.65}.centeredState{border:1px solid var(--line);background:var(--surface);width:min(680px,100% - 36px);box-shadow:var(--shadow);border-radius:24px;margin:12vh auto;padding:44px}.centeredState h1,.pageTitle h1{color:var(--ink)}.centeredState p:not(.eyebrow),.pageTitle p:not(.eyebrow){color:var(--muted);line-height:1.7}.pageTitle{padding:22px 0 38px}.pageTitle h1{max-width:900px;font-size:clamp(36px,5vw,60px)}.loginLayout{grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid}.loginStory{color:#fff;background:linear-gradient(145deg,#182e21e6,#0c1912f5),#16241b;flex-direction:column;justify-content:center;padding:clamp(40px,8vw,110px);display:flex}.loginStory h1{font-size:clamp(42px,6vw,76px)}.loginStory>p:not(.eyebrow){color:#bdc9c0;max-width:620px;font-size:17px;line-height:1.8}.principleList{color:#d8e5dc;letter-spacing:.04em;gap:12px;margin-top:36px;font-size:13px;display:grid}.loginCard{border:1px solid var(--line);background:var(--surface);width:min(520px,100% - 48px);box-shadow:var(--shadow);border-radius:24px;place-self:center;padding:38px}.segmented{background:#eceeea;border-radius:12px;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:26px;padding:5px;display:grid}.segmented button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:9px}.segmented button.selected{color:var(--ink);background:#fff;box-shadow:0 2px 10px #192d1f14}.formStack{gap:17px;display:grid}.formGrid{grid-template-columns:1fr 1fr;gap:14px;display:grid}label{color:#465249;gap:7px;font-size:13px;font-weight:700;display:grid}label small{color:var(--muted);font-weight:400;line-height:1.5}input,textarea,select{width:100%;color:var(--ink);background:#fff;border:1px solid #ccd2cd;border-radius:10px;outline:none;padding:12px 13px;transition:border-color .12s,box-shadow .12s}textarea{resize:vertical;line-height:1.65}input:focus,textarea:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px #1f60441a}.formError,.successMessage{border-radius:9px;padding:11px 13px;font-size:13px}.formError{color:var(--danger);background:#f8e7e4}.successMessage{color:var(--green);background:var(--green-soft)}.tableWrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-top:1px solid var(--line);text-align:left;vertical-align:top;padding:15px 12px}th{color:var(--muted);letter-spacing:.05em;font-size:12px}td{font-size:14px}td small{margin-top:5px}.pill{width:max-content;color:var(--green);background:var(--green-soft);border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;display:inline-flex}.goalCard{border:1px solid var(--line);background:#fff;border-radius:14px;padding:18px}.goalCard h3{margin:12px 0;font-size:17px}.goalCard .progressTrack{margin-bottom:10px}.goalMeta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;display:flex}.draftReview{background:#f4faf6;border:1px solid #b9d1c1;border-radius:15px;gap:16px;margin-top:24px;padding:20px;display:grid}.draftReview h3{margin:4px 0 0}.timeline{display:grid}.timelineItem{border-top:1px solid var(--line);grid-template-columns:12px 1fr;gap:12px;padding:17px 0;display:grid}.timelineItem p{margin:7px 0 0;line-height:1.6}.timelineDot{background:#8a958e;border-radius:50%;width:9px;height:9px;margin-top:4px}.timelineDot.high{background:var(--green)}.timelineDot.low{background:var(--amber)}.topicGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.topicLink{border:1px solid var(--line);background:var(--surface);border-radius:11px;gap:7px;padding:14px;display:grid}.topicLink:hover{border-color:var(--green)}.topicLink small{color:var(--muted)}.inlineUpload{grid-template-columns:1fr auto;align-items:center;gap:9px;margin-top:13px;display:grid}.inlineUpload small{color:var(--muted);grid-column:1/-1}.classroomLayout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:18px;display:grid}.classroomSide{position:sticky;top:104px}.chatStream{gap:14px;margin:24px 0;display:grid}.chatBubble{white-space:pre-wrap;border-radius:15px;max-width:86%;padding:17px;line-height:1.75}.chatBubble.teacher{background:#eef3ef}.chatBubble.student{color:#fff;background:#213d2d;justify-self:end}.chatBubble small{opacity:.65;margin-bottom:7px;display:block}.hardStop{color:var(--green);margin-top:12px;font-size:11px;font-weight:800;display:block}.answerComposer{border-top:1px solid var(--line);gap:12px;padding-top:18px;display:grid}.buttonRow{gap:9px;display:flex}.buttonRow .quietButton{cursor:pointer}.stateList{gap:0;display:grid}.stateList div{border-top:1px solid var(--line);justify-content:space-between;gap:18px;padding:11px 0;display:flex}.stateList dt{color:var(--muted)}.stateList dd{text-align:right;margin:0;font-weight:700}.integrationStatus{color:var(--green);font-size:23px!important}.privacyPage a{color:var(--green);font-weight:700}.privacyIntro{margin-bottom:18px}.privacyIntro p,.privacySection p{color:var(--muted);line-height:1.75}.privacyGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.privacySection>span{color:var(--green);letter-spacing:.12em;font-size:12px;font-weight:800}.privacySection h2{margin-bottom:10px}.privacySection p{margin:0}.strategyTitle .buttonRow,.dailyTitle .reportControls{margin-top:24px}.confidenceNotice,.mutedText{color:var(--muted);font-size:13px;line-height:1.65}.confidenceNotice{color:var(--green);background:var(--green-soft);border-radius:9px;align-self:center;padding:9px 12px;font-weight:700}.pathCardGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0;display:grid}.pathCard{flex-direction:column;gap:18px;display:flex}.pathCard.recommended{border-color:#88b99b;box-shadow:0 18px 55px #1f60441f}.pathCardHeader,.reportHero{justify-content:space-between;align-items:start;gap:22px;display:flex}.pathCard h2{margin:9px 0 0;font-family:Georgia,Noto Serif SC,serif;font-size:23px;font-weight:500}.scoreBadge{text-align:right;flex:none}.scoreBadge strong{color:var(--green);font-family:Georgia,serif;font-size:36px;font-weight:500;display:block}.scoreBadge small,.pathSummary,.pathDetails li,.criticBox p,.reviewRow span,.actionCard p{color:var(--muted);line-height:1.65}.pathSummary{margin:0}.scoreStrip{flex-wrap:wrap;gap:7px;display:flex}.scoreStrip span{color:#3d5146;background:#edf2ee;border-radius:8px;padding:6px 8px;font-size:11px;font-weight:700}.pathDetails{grid-template-columns:1fr 1fr;gap:16px;display:grid}.pathDetails h3{margin:0 0 8px;font-size:13px}.pathDetails ul{margin:0;padding-left:18px}.pathDetails li{margin-bottom:5px;font-size:12px}.criticBox,.trendNotice{background:#fcf6ee;border:1px solid #e0cbb5;border-radius:11px;padding:14px}.criticBox p{margin:6px 0 0;font-size:12px}.dataGap{color:var(--amber);background:#fff5e7;border-radius:9px;margin:0;padding:11px 13px;font-size:12px}.versionList{flex-wrap:wrap;gap:7px;display:flex}.versionList span,.versionList button{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:8px;padding:6px 9px;font-size:12px}.versionList button{cursor:pointer}.versionList button.selected{color:#fff;border-color:var(--green);background:var(--green)}.weightPanel,.comparisonPanel,.versionPanel{margin-top:18px}.weightGrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}.comparisonPanel td strong{color:var(--green);font-size:18px;display:block}.reportControls{grid-template-columns:180px 180px auto;align-items:end;gap:12px;display:grid}.reportHero{align-items:center;margin-bottom:14px}.reportHero h2{margin-bottom:8px;font-size:32px}.reportHero p{max-width:760px;color:var(--muted);line-height:1.75}.reportMeta{background:var(--green-soft);text-align:center;border-radius:14px;flex:none;min-width:150px;padding:18px}.reportMeta strong,.reportMeta span,.reportMeta small{display:block}.reportMeta strong{color:var(--green);font-family:Georgia,serif;font-size:26px}.reportMeta span,.reportMeta small{color:var(--muted);margin-top:4px;font-size:11px}.trendNotice{color:var(--amber);margin:14px 0;font-size:13px}.actionGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px;display:grid}.actionCard{position:relative;overflow:hidden}.actionCard.completed{opacity:.7}.actionNumber{color:#1f604412;font-family:Georgia,serif;font-size:96px;line-height:1;position:absolute;top:-14px;right:8px}.actionCard h2{margin-top:20px;position:relative}.successCriteria{margin:18px 0;font-size:12px;line-height:1.6;display:block}.reviewRow{border-top:1px solid var(--line);gap:5px;padding:13px 0;display:grid}.reviewRow span{font-size:12px}.riskRow{border-top:1px solid var(--line);grid-template-columns:auto 1fr;gap:10px;padding:12px 0;display:grid}.riskRow>span{height:max-content;color:var(--amber);background:#fff1dc;border-radius:7px;padding:4px 7px;font-size:10px;font-weight:800}.riskRow p{color:var(--muted);margin:0;line-height:1.65}.dashboardStrategy .primaryButton{color:var(--ink);background:#d8efdf;margin-top:20px}.dashboardDaily{margin-top:18px}.dashboardActionGrid{grid-template-columns:1fr 1fr;gap:0 24px;display:grid}.dashboardFacts{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:14px;display:grid}.dashboardFacts span{color:var(--muted);background:#f0f2ed;border-radius:9px;padding:11px;font-size:12px;line-height:1.5}@media (max-width:900px){.topbar{grid-template-columns:1fr auto}.topbar nav{grid-column:1/-1;justify-content:space-between;overflow-x:auto}.metricGrid,.twoColumn,.loginLayout,.pathCardGrid,.actionGrid{grid-template-columns:1fr 1fr}.twoColumn,.loginLayout{grid-template-columns:1fr}.loginStory{min-height:46vh}.loginCard{margin:40px auto}}@media (max-width:620px){.brand small,.quietButton{display:none}.topbar{padding:10px 16px}.topbar nav a{white-space:nowrap}.page{width:min(100% - 24px,1180px);padding-top:26px}.hero,.panel,.loginCard{padding:22px}.hero{flex-direction:column;align-items:start}.metricGrid,.formGrid{grid-template-columns:1fr}.metricCard{min-height:auto}.goalRow{grid-template-columns:1fr}.loginStory{padding:44px 24px}.loginStory h1{font-size:42px}.topicGrid,.classroomLayout,.privacyGrid,.pathCardGrid,.actionGrid,.pathDetails,.reportControls,.weightGrid{grid-template-columns:1fr}.reportHero,.pathCardHeader{flex-direction:column;align-items:start}.dashboardActionGrid,.dashboardFacts{grid-template-columns:1fr}.classroomSide{position:static}}
