:root {
  --ink: #1f2925; --muted: #6d7872; --paper: #f7f4ea; --cream: #fffdf7;
  --green: #265f50; --green-2: #3e806b; --green-soft: #e6efe9;
  --sun: #f5b940; --sun-soft: #fff0c2; --coral: #de735b; --line: #dddcd2;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink); background: var(--paper);
}
* { box-sizing: border-box; } body { margin: 0; min-height: 100vh; } button, textarea { font: inherit; } button { cursor: pointer; } .hidden { display: none !important; }
.topbar { position: sticky; top: 0; z-index: 20; height: 68px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 30px; border-bottom: 1px solid var(--line); background: rgba(255,253,247,.94); backdrop-filter: blur(14px); }
.brand { display: flex; gap: 10px; align-items: center; width: fit-content; padding: 0; border: 0; color: var(--ink); background: transparent; font-weight: 820; letter-spacing: -.025em; }.sunny-mini { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; color: #6f4805; background: var(--sun); box-shadow: 0 0 0 5px var(--sun-soft); font: 800 13px Georgia, serif; }
.mode-switch { display: flex; padding: 3px; border: 1px solid var(--line); border-radius: 30px; background: #efede5; }.mode { padding: 7px 13px; border: 0; border-radius: 25px; color: var(--muted); background: transparent; font-size: 11px; font-weight: 750; }.mode.active { color: white; background: var(--green); box-shadow: 0 1px 3px #244b4033; }
.top-tools{justify-self:end;display:flex;align-items:center;gap:13px}.access-button{width:32px;height:32px;border:1px solid var(--line);border-radius:8px;color:var(--green);background:white;font:800 11px Georgia,serif}.safety-note { color: var(--muted); font-size: 11px; }.safety-note span { display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: #55a27b; box-shadow: 0 0 0 4px #dcece3; }
.landing { min-height: 520px; display: grid; grid-template-columns: 1.05fr .95fr; overflow: hidden; background: linear-gradient(130deg,#f1eee2 0%,#faf8f0 62%,#fff2c8 100%); border-bottom: 1px solid var(--line); }.landing-copy { align-self: center; padding: 75px max(35px,calc((100vw - 1180px)/2)); padding-right: 20px; }.eyebrow { color: var(--green-2); font-size: 11px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }.landing h1,.dashboard-hero h1,.celebration h1 { margin: 13px 0 20px; font: 500 clamp(45px,6vw,76px)/.98 Georgia,serif; letter-spacing: -.045em; }.landing h1 em,.dashboard-hero h1 em { color: var(--coral); font-weight: 500; }.landing-copy > p { max-width: 590px; color: #53605a; font-size: 17px; line-height: 1.7; }.learning-loop { display: flex; align-items: center; gap: 12px; margin-top: 33px; color: var(--green); font-size: 12px; font-weight: 750; }.learning-loop span { padding: 8px 11px; border: 1px solid #bdd0c6; border-radius: 30px; background: #f7fbf8; }.learning-loop b { display: inline-grid; place-items:center; width: 18px;height:18px;margin-right:5px;border-radius:50%;color:white;background:var(--green);font-size:9px}.learning-loop i{color:#9aa59f}
.sunny-stage { position: relative; display: grid; place-items: center; min-height: 500px; }.orbit { position:absolute;border:1px solid #e5c876;border-radius:50%;}.orbit-one{width:380px;height:380px}.orbit-two{width:500px;height:500px;opacity:.5}.sunny-avatar { position:relative; flex:0 0 auto; border-radius:50%; background:radial-gradient(circle at 35% 28%,#ffd96c,var(--sun) 65%,#e89d22); box-shadow: inset -12px -12px 30px #d98b2033,0 22px 50px #8a651b24; }.sunny-avatar.large{width:190px;height:190px}.sunny-avatar.small{width:42px;height:42px}.eye{position:absolute;width:9%;height:13%;top:37%;border-radius:50%;background:#4a370f}.eye.left{left:31%}.eye.right{right:31%}.smile{position:absolute;left:36%;top:56%;width:28%;height:16%;border-bottom:4px solid #4a370f;border-radius:0 0 50% 50%}.small .smile{border-width:2px}.happy .eye{height:7%;border-radius:50% 50% 0 0}.speech-preview{position:absolute;left:12%;top:22%;max-width:190px;padding:14px 16px;border-radius:14px 14px 2px 14px;background:white;box-shadow:0 12px 30px #5a4c1d20;font:italic 15px/1.4 Georgia,serif;transform:rotate(-3deg)}
.topic-section{max-width:1180px;margin:0 auto;padding:66px 28px 80px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.section-heading h2{margin:7px 0 0;font:500 31px Georgia,serif;letter-spacing:-.02em}.section-heading>span{color:var(--muted);font-size:11px}.topic-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.topic-card{position:relative;min-height:235px;padding:24px;border:1px solid var(--line);border-radius:14px;text-align:left;background:var(--cream);transition:.2s;overflow:hidden}.topic-card:hover{transform:translateY(-4px);border-color:#a8bfb3;box-shadow:0 16px 35px #31443c16}.topic-icon{display:grid;place-items:center;width:43px;height:43px;border-radius:12px;color:var(--green);background:var(--green-soft);font:600 21px Georgia,serif}.topic-card h3{margin:29px 0 7px;font:500 22px/1.15 Georgia,serif}.topic-card p{color:var(--muted);font-size:12px}.topic-card .start{position:absolute;left:24px;bottom:22px;color:var(--green);font-size:11px;font-weight:800}.topic-card .arrow{position:absolute;right:22px;bottom:19px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:white;background:var(--green)}.topic-guardrail{margin:22px 0 0;color:var(--muted);text-align:center;font-size:11px}
.session{display:grid;grid-template-columns:235px minmax(440px,1fr) 270px;min-height:calc(100vh - 68px)}.mission-panel,.belief-panel{padding:30px 24px;background:#efede5}.mission-panel{border-right:1px solid var(--line)}.belief-panel{border-left:1px solid var(--line)}.back-button{margin:0 0 34px;padding:0;border:0;color:var(--muted);background:transparent;font-size:11px}.mission-panel h2{margin:8px 0 35px;font:500 25px/1.15 Georgia,serif}.progress-rail{display:grid;gap:4px}.progress-step{display:flex;gap:11px;padding:12px 8px;border-radius:9px;color:#89918d}.progress-step>span{display:grid;place-items:center;width:27px;height:27px;flex:0 0 auto;border:1px solid #c6c9c4;border-radius:50%;font-size:10px;font-weight:800}.progress-step b,.progress-step small{display:block}.progress-step b{font-size:12px}.progress-step small{margin-top:3px;font-size:10px}.progress-step.active{color:var(--ink);background:#fffdf8}.progress-step.active>span{color:white;border-color:var(--green);background:var(--green)}.progress-step.done>span{color:white;border-color:var(--green-2);background:var(--green-2)}.rule-card{margin-top:40px;padding:15px;border:1px solid #e2c882;border-radius:10px;background:#fff4cf}.rule-card b{font-size:11px}.rule-card p{margin:5px 0 0;color:#796334;font-size:10px;line-height:1.5}
.chat-panel{display:flex;flex-direction:column;min-height:calc(100vh - 68px);background:#fffef9}.chat-header{height:72px;display:flex;align-items:center;gap:12px;padding:0 22px;border-bottom:1px solid var(--line)}.chat-header b,.chat-header span{display:block}.chat-header b{font-size:13px}.chat-header span{margin-top:3px;color:var(--muted);font-size:10px}.chat-header span i{display:inline-block;width:6px;height:6px;margin-right:5px;border-radius:50%;background:#55a27b}.engine-pill{margin-left:auto;padding:6px 8px;border-radius:20px;color:var(--green);background:var(--green-soft);font:700 9px ui-monospace,monospace}.chat-stream{flex:1;padding:32px max(25px,8%);overflow-y:auto}.message{display:flex;gap:11px;max-width:78%;margin-bottom:23px}.message.student{margin-left:auto;flex-direction:row-reverse}.message-avatar{display:grid;place-items:center;width:29px;height:29px;flex:0 0 auto;border-radius:50%;color:#6d4708;background:var(--sun);font:800 10px Georgia,serif}.student .message-avatar{color:white;background:var(--green)}.bubble{padding:14px 16px;border-radius:5px 16px 16px 16px;color:#39443f;background:#f1efe7;font:15px/1.55 Georgia,serif}.student .bubble{border-radius:16px 5px 16px 16px;color:white;background:var(--green);font-family:inherit;font-size:13px}.message-meta{margin-top:5px;color:#9aa19e;font:9px ui-monospace,monospace}.student .message-meta{text-align:right}.typing{padding:0 max(25px,8%) 12px;color:var(--muted);font-size:10px}.typing span{display:inline-block;width:5px;height:5px;margin-right:3px;border-radius:50%;background:var(--sun);animation:bounce .9s infinite alternate}.typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}@keyframes bounce{to{transform:translateY(-5px)}}.composer{position:relative;margin:0 max(22px,7%) 24px;padding:10px 60px 22px 13px;border:1px solid #cfd5d0;border-radius:13px;background:white;box-shadow:0 8px 25px #2b463a10}.composer textarea{width:100%;resize:none;border:0;outline:0;color:var(--ink);background:transparent;font-size:13px;line-height:1.5}.composer>button{position:absolute;right:12px;top:12px;width:37px;height:37px;border:0;border-radius:9px;color:white;background:var(--green);font-size:20px}.composer-hint{position:absolute;left:14px;bottom:7px;color:#9da49f;font-size:9px}.composer-hint kbd{font:inherit}.consolidation{margin:auto max(25px,8%);padding:24px;border:1px solid #d8bd75;border-radius:14px;background:#fff7da;box-shadow:0 18px 45px #6e55151a}.consolidation{display:grid;grid-template-columns:auto 1fr;gap:15px}.consolidation h3{margin:5px 0;font:500 21px Georgia,serif}.consolidation p{color:#5e5949;font-size:12px;line-height:1.6}.confetti{font-size:27px;color:var(--sun)}.consolidation .primary-button{grid-column:2;width:fit-content}
.belief-panel h3{margin:7px 0 16px;font:500 22px Georgia,serif}.belief-panel blockquote{margin:0;padding:16px;border-left:3px solid var(--coral);color:#655b4d;background:#faf8f0;font:italic 14px/1.55 Georgia,serif}.belief-meter{margin-top:25px}.belief-meter>div:first-child{display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.meter-track{height:7px;margin-top:7px;border-radius:10px;background:#d9d9d2;overflow:hidden}.meter-track span{display:block;width:8%;height:100%;border-radius:10px;background:linear-gradient(90deg,var(--coral),var(--sun),var(--green-2));transition:width .5s}.privacy-card{display:flex;gap:10px;margin-top:43px;padding-top:18px;border-top:1px solid var(--line)}.privacy-card>span{color:var(--green)}.privacy-card b{font-size:11px}.privacy-card p{margin:4px 0;color:var(--muted);font-size:10px;line-height:1.5}
.primary-button,.secondary-button{padding:11px 16px;border-radius:8px;font-size:12px;font-weight:800}.primary-button{border:0;color:white;background:var(--green)}.secondary-button{border:1px solid #aabeb4;color:var(--green);background:transparent}.celebration{min-height:calc(100vh - 68px);display:grid;place-items:center;align-content:center;padding:50px;text-align:center;background:radial-gradient(circle,#fff7d8,#f3efe2 65%)}.celebration .sunny-avatar{margin-bottom:28px}.celebration h1{margin:8px 0 12px}.celebration>p{max-width:560px;color:var(--muted);line-height:1.6}.celebration-actions{display:flex;gap:10px;margin-top:20px}
.teacher-view{min-height:calc(100vh - 68px)}.dashboard-hero{display:flex;align-items:end;justify-content:space-between;gap:30px;padding:55px max(30px,calc((100vw - 1180px)/2));background:#e9eee9;border-bottom:1px solid var(--line)}.dashboard-hero h1{margin:10px 0 0;font-size:clamp(31px,4vw,49px);line-height:1.08}.dashboard-badge{min-width:150px;padding:18px;border:1px solid #b6cabf;border-radius:12px;background:#f6faf7;text-align:center}.dashboard-badge b,.dashboard-badge span{display:block}.dashboard-badge b{font:500 36px Georgia,serif}.dashboard-badge span{color:var(--muted);font-size:9px}.dashboard-grid{max-width:1180px;margin:0 auto;padding:48px 28px;display:grid;grid-template-columns:1fr 300px;gap:38px}.section-heading.compact{margin-top:46px}.heatmap{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.heat-card{padding:18px;border:1px solid var(--line);border-radius:11px;background:var(--cream)}.heat-card .heat-top{display:flex;justify-content:space-between;gap:10px}.heat-card b{font-size:12px}.heat-card strong{color:var(--coral);font:500 24px Georgia,serif}.heat-card p{min-height:38px;margin:12px 0;color:var(--muted);font-size:10px;line-height:1.5}.heat-bar{height:5px;border-radius:5px;background:#e6e5df}.heat-bar span{display:block;height:100%;border-radius:5px;background:var(--coral)}.student-table{border:1px solid var(--line);border-radius:11px;overflow:hidden;background:var(--cream)}.student-row{display:grid;grid-template-columns:90px 150px 1fr;gap:15px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);font-size:11px}.student-row:last-child{border:0}.student-row.header{color:var(--muted);background:#eeece5;font-size:9px;text-transform:uppercase;letter-spacing:.07em}.tier{width:fit-content;padding:5px 7px;border-radius:15px;color:#7f4b23;background:#fff0dc;font-size:9px;font-weight:800}.tier.strong{color:var(--green);background:var(--green-soft)}.quote{color:var(--muted);font:italic 11px/1.4 Georgia,serif}.insight-sidebar{display:grid;align-content:start;gap:12px}.insight-card,.boundary-card{padding:20px;border:1px solid var(--line);border-radius:11px;background:var(--cream)}.insight-card.featured{border-color:#d8bd75;background:#fff8dd}.insight-card h3{margin:8px 0;font:500 20px/1.2 Georgia,serif}.insight-card p,.boundary-card p{margin:5px 0;color:var(--muted);font-size:11px;line-height:1.55}.evidence-quote{margin-top:13px;padding:12px;border-left:3px solid var(--green);background:white;font:italic 12px/1.5 Georgia,serif}.boundary-card{background:#eaf0ec}.boundary-card b{font-size:11px}
.create-topic-button{padding:9px 13px;border:1px solid #a9c1b5;border-radius:8px;color:var(--green);background:#edf3ef;font-size:11px;font-weight:800}.listen-button{margin-left:8px;padding:6px 9px;border:1px solid var(--line);border-radius:20px;color:var(--green);background:white;font-size:9px;font-weight:800}.sentence-starters{display:flex;gap:5px;margin-bottom:8px}.sentence-starters button{padding:5px 7px;border:1px solid #d7ddd9;border-radius:20px;color:#64716b;background:#f6f8f6;font-size:9px}.sentence-starters button:hover{color:var(--green);border-color:#9ebbad}.topic-dialog{width:min(680px,calc(100vw - 30px));max-height:88vh;padding:26px;border:0;border-radius:15px;color:var(--ink);background:var(--cream);box-shadow:0 35px 100px #15231d55}.topic-dialog::backdrop{background:#14231dc9;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;gap:20px}.dialog-heading h2{margin:7px 0 15px;font:500 29px Georgia,serif}.dialog-heading>button{width:32px;height:32px;border:0;background:transparent;font-size:25px}.topic-dialog p{color:var(--muted);font-size:12px;line-height:1.6}.topic-dialog label:not(.approval-check){display:grid;gap:7px;margin:16px 0;font-size:11px;font-weight:800}.topic-dialog input[type="text"],.topic-dialog input:not([type]),.topic-dialog select{width:100%;padding:11px;border:1px solid #cdd3ce;border-radius:8px;color:var(--ink);background:white;font-size:13px}.full-button{width:100%;margin-top:4px}.topic-dialog small{display:block;margin-top:10px;color:var(--muted);text-align:center;font-size:9px}.dialog-error{margin:12px 0;padding:10px;border-radius:7px;color:#8b352a;background:#fde6e1;font-size:11px}.review-warning{display:flex;gap:10px;padding:11px;border-radius:8px;color:#795c21;background:#fff0c5;font-size:10px}.review-warning span{color:#806f4b}.review-block{margin:13px 0;padding:13px;border:1px solid var(--line);border-radius:9px;background:#f8f6ef}.review-block b{display:block;margin-bottom:5px;color:var(--green);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.review-block p{margin:0;color:var(--ink);font:14px/1.5 Georgia,serif}.review-rubric{margin:6px 0 0;padding-left:18px;color:var(--muted);font-size:11px;line-height:1.7}.approval-check{display:flex;gap:8px;align-items:flex-start;margin:18px 0;font-size:11px;line-height:1.4}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.large-text{font-size:112%}.large-text .bubble,.large-text .student .bubble{font-size:16px}.large-text .topic-card p,.large-text .mission-panel small{font-size:12px}button:focus-visible,textarea:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e6b74e;outline-offset:2px}
.topic-grid{grid-template-columns:repeat(auto-fit,minmax(245px,1fr))}.path-dialog{width:min(720px,calc(100vw - 30px))}.path-options{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:20px}.path-option{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;padding:18px;border:1px solid var(--line);border-radius:11px;text-align:left;color:var(--ink);background:white}.path-option:hover{border-color:#9bb8aa;background:#f4f8f5}.path-option>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:white;background:var(--green);font-size:9px;font-weight:800}.path-option b{font:500 18px Georgia,serif}.path-option p{margin:6px 0 0;font:11px/1.5 Inter,sans-serif;color:var(--muted)}.path-option i{color:var(--green);font-style:normal}.module-progress{display:flex;gap:5px;margin-bottom:16px}.module-progress span{flex:1;padding:7px;border-radius:5px;color:#78837d;background:#ecece7;text-align:center;font-size:9px;font-weight:800}.module-progress span.done{color:white;background:var(--green)}.study-guide{max-height:52vh;overflow-y:auto;padding:20px;border:1px solid var(--line);border-radius:11px;background:#f8f6ef}.study-overview{font:16px/1.6 Georgia,serif!important;color:var(--ink)!important}.study-guide ul{padding-left:20px;color:#4e5b55;font-size:12px;line-height:1.8}.common-trap,.self-check{margin-top:16px;padding:13px;border-radius:8px}.common-trap{background:#fff0df}.self-check{background:var(--green-soft)}.common-trap b,.self-check b{font-size:10px;text-transform:uppercase;letter-spacing:.07em}.common-trap p,.self-check p{margin:5px 0 0;font:13px/1.5 Georgia,serif;color:var(--ink)}.mastery-summary{width:min(700px,90vw);display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}.mastery-card{padding:15px;border:1px solid #ced8d2;border-radius:10px;background:#fffdf8;text-align:left}.mastery-card strong{display:block;color:var(--green);font:500 24px Georgia,serif}.mastery-card span{display:block;margin-top:4px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.mastery-evidence{grid-column:1/-1;padding:14px;border-left:3px solid var(--green);background:#f4f7f4;text-align:left;font:italic 12px/1.5 Georgia,serif}
.learning-home{max-width:1180px;margin:0 auto;padding:55px 28px 0}.journey-grid{display:grid;grid-template-columns:340px 1fr;gap:16px}.daily-mission,.journey-panel{border:1px solid var(--line);border-radius:14px;background:var(--cream)}.daily-mission{position:relative;padding:22px;overflow:hidden;background:linear-gradient(145deg,#1f5d4c,#307762);color:white}.daily-mission::after{content:"";position:absolute;right:-45px;top:-55px;width:170px;height:170px;border:1px solid #ffffff26;border-radius:50%;box-shadow:0 0 0 35px #ffffff09}.mission-label{position:relative;z-index:1;display:flex;justify-content:space-between;font-size:9px;text-transform:uppercase;letter-spacing:.1em}.mission-label span{font-weight:850}.mission-label b{padding:4px 7px;border-radius:20px;background:#ffffff1c}.mission-sunny{position:relative;z-index:1;display:flex;align-items:center;gap:10px;margin-top:22px}.mission-sunny p{margin:0;color:#e4eee9;font:italic 12px/1.4 Georgia,serif}.daily-mission h3{position:relative;z-index:1;margin:20px 0 17px;max-width:260px;font:500 25px/1.15 Georgia,serif}.daily-mission .primary-button{position:relative;z-index:1;color:var(--green);background:white}.journey-panel{padding:20px}.journey-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:var(--line)}.journey-stat{padding:12px;background:#f8f7f1}.journey-stat strong{display:block;color:var(--green);font:500 22px Georgia,serif}.journey-stat span{display:block;margin-top:3px;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.07em}.mind-map{display:flex;align-items:center;gap:8px;padding:22px 4px;overflow-x:auto}.mind-node{min-width:125px;padding:12px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:#f8f7f1;text-align:left}.mind-node::after{content:"→";float:right;color:#a4ada8}.mind-node:last-child::after{display:none}.mind-node b,.mind-node span{display:block}.mind-node b{font:500 13px/1.2 Georgia,serif}.mind-node span{margin-top:6px;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.06em}.mind-node.active{border-color:#9ab9aa;background:var(--green-soft)}.mind-node.remembered{border-color:#d8bd75;background:#fff7da}.keepsake-strip{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:13px;border-top:1px solid var(--line)}.keepsake-strip b,.keepsake-strip span{display:block}.keepsake-strip b{font-size:10px}.keepsake-strip span{margin-top:3px;color:var(--muted);font-size:8px}.keepsake-list{display:flex;gap:5px}.keepsake{display:grid;place-items:center;width:33px;height:33px;border:1px solid #d8bd75;border-radius:50%;color:#7b5b13;background:#fff5cf;font-size:14px}.keepsake.empty{border-style:dashed;color:#a5aaa7;background:#f5f5f0}.earned-keepsakes{display:flex;gap:8px;margin:2px 0 20px}.earned-card{display:flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid #d9bd6f;border-radius:9px;background:#fff5cd;text-align:left}.earned-card>span{font-size:19px}.earned-card b,.earned-card small{display:block}.earned-card b{font-size:10px}.earned-card small{margin-top:2px;color:#806b39;font-size:8px}
.journey-grid{grid-template-columns:340px minmax(0,1fr)}.daily-mission,.journey-panel{min-width:0}
.dashboard-hero>div:first-child{max-width:860px}.dashboard-hero>div:first-child>p{max-width:720px;margin:18px 0 0;color:#59665f;font-size:13px;line-height:1.6}.integrity-shell{max-width:1180px;margin:0 auto;padding:50px 28px 0}.integrity-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:20px}.integrity-heading h2{margin:8px 0 0;font:500 32px/1.1 Georgia,serif}.integrity-actions{display:flex;align-items:center;gap:10px}.integrity-actions span{color:var(--muted);font:9px ui-monospace,monospace}.upload-button{display:inline-block;cursor:pointer}.integrity-session-list{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:13px}.integrity-session{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--cream);text-align:left}.integrity-session:hover,.integrity-session.active{border-color:#8db09f;background:#edf4f0}.integrity-session .mini-score{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:white;background:var(--green);font:500 17px Georgia,serif}.integrity-session.avoidant .mini-score{background:#b55f4f}.integrity-session.mixed .mini-score{color:#624e1c;background:#efd37d}.integrity-session b,.integrity-session small{display:block}.integrity-session b{font-size:11px}.integrity-session small{margin-top:3px;color:var(--muted);font-size:9px}.integrity-session>span:last-child{font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.integrity-report{display:grid;grid-template-columns:250px minmax(0,1fr);overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--cream)}.integrity-score-panel{padding:25px;border-right:1px solid var(--line);background:#f0eee6}.score-ring{--score:0;display:grid;place-items:center;width:150px;height:150px;margin:0 auto 18px;border-radius:50%;background:conic-gradient(var(--green) calc(var(--score)*1%),#d9ddd9 0);position:relative}.score-ring::before{content:"";position:absolute;inset:10px;border-radius:50%;background:#f0eee6}.score-ring>div{position:relative;text-align:center}.score-ring strong,.score-ring span{display:block}.score-ring strong{font:500 45px/.9 Georgia,serif}.score-ring span{margin-top:5px;color:var(--muted);font-size:8px}.integrity-label{display:block;width:fit-content;margin:0 auto 18px;padding:5px 8px;border-radius:20px;color:var(--green);background:var(--green-soft);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.09em}.integrity-score-panel h3{margin:0;font:500 23px Georgia,serif}.integrity-score-panel>p{margin:5px 0 18px;color:var(--muted);font-size:10px;line-height:1.4}.confidence-row{display:flex;justify-content:space-between;padding:11px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:9px}.score-equation{margin-top:14px;padding:10px;border-radius:7px;color:#43504a;background:white;font:9px/1.5 ui-monospace,monospace}.audit-lock{margin-top:14px;color:var(--green);font-size:9px;font-weight:800;line-height:1.4}.integrity-detail{min-width:0;padding:24px}.narration-card{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:16px;border:1px solid #d9bd6f;border-radius:9px;background:#fff7d8}.narration-card p{max-width:690px;margin:6px 0 0;color:#5f5945;font:13px/1.5 Georgia,serif}.narration-card button{flex:0 0 auto}.feature-ledger{display:grid;grid-template-columns:1fr 1fr;gap:8px}.feature-row{padding:13px;border:1px solid var(--line);border-radius:9px;background:#faf9f4}.feature-row.unobserved{opacity:.55}.feature-top{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.feature-top b{font-size:10px}.feature-contribution{padding:4px 6px;border-radius:15px;color:var(--green);background:var(--green-soft);font:800 9px ui-monospace,monospace}.feature-contribution.negative{color:#934435;background:#fde5df}.feature-row p{margin:7px 0 0;color:var(--muted);font-size:9px;line-height:1.45}.feature-evidence{margin-top:8px;padding:7px;border-left:2px solid var(--green);color:#4d5b54;background:white;font:italic 9px/1.4 Georgia,serif}.integrity-transcript{display:grid;gap:7px}.audit-turn{position:relative;max-width:82%;padding:12px 14px;border:1px solid var(--line);border-radius:5px 13px 13px 13px;background:#f1efe8}.audit-turn.student{margin-left:auto;border-radius:13px 5px 13px 13px;color:white;border-color:var(--green);background:var(--green)}.audit-turn.flagged{box-shadow:0 0 0 3px #eccd694d}.audit-turn header{display:flex;justify-content:space-between;gap:15px;margin-bottom:5px;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.audit-turn p{margin:0;font:12px/1.45 Georgia,serif}.audit-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:7px}.audit-tags span{padding:3px 5px;border-radius:10px;color:#674f11;background:#fff0b3;font:800 7px ui-monospace,monospace}.limits-card{margin-top:18px;padding:13px;border:1px solid var(--line);border-radius:9px;background:#f2f3ef}.limits-card summary{cursor:pointer;font-size:10px;font-weight:800}.limits-card ul{margin:10px 0 0;padding-left:18px;color:var(--muted);font-size:9px;line-height:1.6}
.learning-support{margin:0 max(22px,7%) 10px;padding:15px;border:1px solid #ddb94f;border-radius:11px;background:#fff5cf;box-shadow:0 8px 24px #66511614}.learning-support>div{display:flex;align-items:center;gap:8px}.learning-support>div span{padding:4px 6px;border-radius:12px;color:#76590d;background:#f2d779;font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.learning-support>div b{font:500 17px Georgia,serif}.learning-support p{margin:9px 0 0;color:#5e594a;font-size:11px;line-height:1.5}.learning-support .support-prompt{padding:9px;border-left:2px solid var(--green);background:#fffdf7;font:italic 12px/1.45 Georgia,serif}.learning-support button{margin-top:10px}.feature-row code{display:block;margin-top:6px;color:#66726c;font-size:8px}.score-ring{--score-color:var(--green);background:conic-gradient(var(--score-color) calc(var(--score)*1%),#d9ddd9 0)}
.process-pulse{display:flex;gap:8px;margin-top:14px;padding:11px;border:1px solid var(--line);border-radius:9px;background:#f7f6f0}.process-pulse>span{width:8px;height:8px;flex:0 0 auto;margin-top:2px;border-radius:50%;background:#9da49f}.process-pulse b{display:block;font-size:9px}.process-pulse p{margin:4px 0 0;color:var(--muted);font-size:8px;line-height:1.45}.process-pulse.productive{border-color:#a9c8b8;background:#e8f2ec}.process-pulse.productive>span{background:#3e806b}.process-pulse.stalled{border-color:#dfc16b;background:#fff5d5}.process-pulse.stalled>span{background:#d1a72e}.process-pulse.concern{border-color:#dda293;background:#fde8e3}.process-pulse.concern>span{background:#b55f4f}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
@media(max-width:1000px){.session{grid-template-columns:190px 1fr}.belief-panel{display:none}.topic-grid{grid-template-columns:1fr}.topic-card{min-height:180px}.dashboard-grid{grid-template-columns:1fr}.landing{grid-template-columns:1fr}.sunny-stage{display:none}.landing-copy{padding:70px 35px}.heatmap{grid-template-columns:1fr}}
@media(max-width:700px){.topbar{grid-template-columns:1fr auto;padding:0 16px}.safety-note{display:none}.mode-switch{justify-self:end}.brand span:last-child{display:none}.session{display:block}.mission-panel{padding:18px}.mission-panel .progress-rail,.mission-panel .rule-card{display:none}.chat-panel{min-height:calc(100vh - 220px)}.topic-section{padding:45px 18px}.learning-loop{flex-wrap:wrap}.learning-loop i{display:none}.dashboard-hero{display:block;padding:40px 20px}.dashboard-badge{margin-top:25px}.dashboard-grid{padding:30px 15px}.student-row{grid-template-columns:75px 120px 1fr}.celebration-actions{flex-direction:column}}
@media(max-width:700px){.path-options{grid-template-columns:1fr}.mastery-summary{grid-template-columns:1fr}.mastery-evidence{grid-column:1}.topic-dialog{padding:20px}.module-progress span{font-size:8px}}
.sensitivity-card{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:18px;margin:18px 0;padding:15px;border:1px solid var(--line);border-radius:9px;background:#eef3f0}.sensitivity-card h3{margin:5px 0 0;font:500 17px Georgia,serif}.sensitivity-card p{margin:4px 0 0;color:var(--muted);font-size:9px}.sensitivity-card label,.sensitivity-card output{font-size:9px;font-weight:800}.sensitivity-card output{padding:7px;border-radius:6px;background:white}.report-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:13px;color:var(--muted);font:8px/1.5 ui-monospace,monospace}.text-button{padding:0;border:0;color:#934435;background:none;text-decoration:underline;cursor:pointer;font:inherit}@media(max-width:700px){.sensitivity-card{grid-template-columns:1fr}.report-controls{align-items:flex-start;flex-direction:column}}
.evaluation-summary{margin:0 20px 12px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#f4f5f1}.evaluation-summary summary{cursor:pointer;font-size:9px;font-weight:800}.evaluation-summary p{margin:8px 0 3px;font:11px/1.4 Georgia,serif}.evaluation-summary small{color:var(--muted);font-size:8px;line-height:1.4}
@media(max-width:1000px){.journey-grid{grid-template-columns:1fr}}
@media(max-width:700px){.topbar{grid-template-columns:auto 1fr auto}.mode-switch{justify-self:center}.learning-home{padding:40px 18px 0}.journey-stats{grid-template-columns:repeat(2,1fr)}.keepsake-strip{align-items:flex-start;flex-direction:column}}
.assignment-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1180px;margin:30px auto 0;padding:18px 22px;border:1px solid #9ab9aa;border-radius:13px;background:#edf5f0}.assignment-banner span,.assignment-banner b,.assignment-banner small{display:block}.assignment-banner>div:first-child>span{color:var(--green);font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.09em}.assignment-banner b{margin-top:5px;font:500 22px Georgia,serif}.assignment-banner small{margin-top:5px;color:var(--muted);font-size:10px}.assignment-promise{text-align:right}.assignment-promise strong{display:block;color:var(--green);font:500 24px Georgia,serif}.assignment-promise span{margin-top:3px;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.08em}
.activity-studio,.quick-result{max-width:1180px;margin:0 auto;padding:48px 28px 0}.studio-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:18px}.studio-heading h2{margin:7px 0;font:500 32px/1.1 Georgia,serif}.studio-heading p{max-width:620px;margin:0;color:var(--muted);font-size:12px;line-height:1.55}.prototype-pill{padding:7px 10px;border-radius:20px;color:var(--green);background:var(--green-soft);font-size:9px;font-weight:800}.studio-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--cream)}.activity-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:24px;border-right:1px solid var(--line)}.activity-form label{display:grid;gap:6px;color:#48534e;font-size:10px;font-weight:800}.activity-form label span{color:var(--muted);font-weight:500}.activity-form label:nth-child(3),.activity-form label:nth-child(4),.activity-form button{grid-column:1/-1}.activity-form input,.activity-form select{width:100%;padding:11px;border:1px solid #cdd3ce;border-radius:8px;color:var(--ink);background:white;font-size:12px}.activity-preview{padding:25px;background:#f1f5f2}.preview-course{display:block;margin-top:13px;color:var(--green);font-size:10px;font-weight:800}.activity-preview h3{margin:7px 0;font:500 25px/1.18 Georgia,serif}.activity-preview p{color:var(--muted);font-size:11px;line-height:1.5}.activity-preview ol{margin:17px 0;padding-left:20px;color:#47534d;font-size:11px;line-height:1.9}.activity-preview>small{display:block;margin-top:12px;color:var(--muted);font-size:8px;line-height:1.5}.share-row{display:flex;gap:7px;margin-top:16px}.share-row input{min-width:0;flex:1;padding:9px;border:1px solid #b8c5be;border-radius:7px;background:white;font:9px ui-monospace,monospace}.quick-result{padding-top:42px}.quick-result>#quick-result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.quick-result article,.quick-result blockquote{margin:0;padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--cream)}.quick-result article>span,.quick-result blockquote>span{display:block;margin-bottom:8px;color:var(--green);font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.quick-result article b{font:500 17px/1.25 Georgia,serif}.quick-result article p{margin:8px 0 0;color:var(--muted);font-size:9px;line-height:1.5}.quick-result blockquote{grid-column:1/-1;border-left:4px solid var(--green);font:italic 15px/1.55 Georgia,serif}.quick-result>button{margin-top:12px}
@media(max-width:800px){.studio-heading{display:block}.prototype-pill{display:inline-block;margin-top:12px}.studio-grid{grid-template-columns:1fr}.activity-form{grid-template-columns:1fr;border-right:0;border-bottom:1px solid var(--line)}.activity-form label,.activity-form label:nth-child(3),.activity-form label:nth-child(4),.activity-form button{grid-column:1}.quick-result>#quick-result-grid{grid-template-columns:1fr}.quick-result blockquote{grid-column:1}.assignment-banner{margin:18px}.assignment-promise{display:none}}
@media(max-width:900px){.integrity-heading{align-items:flex-start;flex-direction:column}.integrity-session-list{grid-template-columns:1fr}.integrity-report{grid-template-columns:1fr}.integrity-score-panel{border-right:0;border-bottom:1px solid var(--line)}.feature-ledger{grid-template-columns:1fr}}
@media(max-width:700px){.integrity-shell{padding:35px 14px 0}.integrity-actions,.narration-card{align-items:flex-start;flex-direction:column}.integrity-detail{padding:15px}.dashboard-hero>div:first-child>p{font-size:11px}.audit-turn{max-width:94%}}
.pilot-focus .integrity-shell,.pilot-focus .dashboard-grid{display:none}
.participant-notice{margin:14px 0;padding:13px;border:1px solid #d6bd76;border-radius:9px;background:#fff8dc}.participant-notice b{font-size:10px}.participant-notice p{margin:5px 0 0!important;color:#5e594a!important;font-size:9px!important;line-height:1.5!important}.pilot-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.pilot-review-grid article{padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--cream)}.pilot-review-grid h3{margin:7px 0;font:500 18px Georgia,serif}.pilot-review-grid ul,.pilot-review-grid ol{margin:10px 0 0;padding-left:18px;color:var(--muted);font-size:10px;line-height:1.6}.faculty-feedback{border-color:#9ab9aa!important;background:#edf5f0!important}@media(max-width:700px){.pilot-review-grid{grid-template-columns:1fr}}
.concept-evidence{grid-column:1/-1;padding:18px;border:1px solid var(--line);border-radius:10px;background:var(--cream)}.concept-evidence>span{display:block;margin-bottom:10px;color:var(--green);font-size:8px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.concept-evidence-row{display:grid;grid-template-columns:92px 1fr;gap:12px;padding:12px 0;border-top:1px solid var(--line)}.concept-evidence-row:first-of-type{border-top:0}.evidence-status{width:fit-content;height:fit-content;padding:5px 8px;border-radius:14px;color:#6d6250;background:#ece9df;font-size:8px;font-weight:850;text-transform:uppercase}.concept-evidence-row.demonstrated .evidence-status{color:var(--green);background:var(--green-soft)}.concept-evidence-row.contradicted .evidence-status{color:#934435;background:#f9ded8}.concept-evidence-row b{font-size:11px}.concept-evidence-row p{margin:5px 0 0;color:var(--muted);font:italic 11px/1.45 Georgia,serif}.concept-evidence-row p small{display:block;margin-top:4px;font:8px/1.4 ui-monospace,monospace}.concept-evidence-row p em{font-family:inherit}@media(max-width:700px){.concept-evidence-row{grid-template-columns:1fr}}
.pilot-transcript{display:grid;gap:7px;margin-top:12px;padding:15px;border:1px solid var(--line);border-radius:10px;background:var(--cream)}.pilot-transcript-turn{max-width:82%;padding:11px 13px;border-radius:5px 12px 12px;background:#f1efe8}.pilot-transcript-turn.student{margin-left:auto;color:white;background:var(--green);border-radius:12px 5px 12px 12px}.pilot-transcript-turn b{font-size:8px;text-transform:uppercase;letter-spacing:.07em}.pilot-transcript-turn p{margin:5px 0 0;font:11px/1.45 Georgia,serif}
.composer-hint{color:#7d8983}.composer-hint.blocked{color:#a54436;font-weight:800}
