
:root{--ink:#34234d;--purple:#7447cc;--pink:#f15491;--mint:#1a9b88;--line:#e9def3;--muted:#776987}*{box-sizing:border-box}body{margin:0;background:#fff9fd;color:var(--ink);font-family:Tahoma,Arial,sans-serif;font-size:17px;line-height:1.8}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid #1a9b88;outline-offset:4px}button{border:0;border-radius:15px;padding:11px 22px;background:var(--purple);color:white;font-weight:bold}button:hover{filter:brightness(.96);transform:translateY(-1px)}button:disabled{cursor:default;opacity:.65;transform:none}.light{background:#f0e8fc;color:var(--purple)}header{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:auto;padding:20px 26px;font-size:14px}.brand{font-size:20px;font-weight:bold}.brand span{color:var(--pink)}.pill{border:1px solid var(--line);background:white;border-radius:30px;padding:5px 15px}.hero{max-width:1180px;margin:14px auto 34px;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:28px;padding:25px 30px}.eyebrow{color:var(--mint);font-size:14px;font-weight:bold;letter-spacing:.5px}h1{font-size:clamp(34px,4.5vw,60px);line-height:1.35;margin:14px 0}h1 em{color:var(--purple);font-style:normal}p{margin:10px 0}.hero p{max-width:570px;color:var(--muted)}.hero-art{position:relative;min-height:295px;background:radial-gradient(ellipse,#f1e5ff 10%,#ffedf4 55%,transparent 72%);display:grid;place-items:center}.orb{width:218px;height:218px;border:2px solid #c4a6ec;border-radius:50%;position:relative;transform:rotate(-18deg)}.orb:before{content:'';position:absolute;inset:27px;border:1px dashed #c4a6ec;border-radius:50%}.ribbon{position:absolute;background:white;border:1px solid var(--line);box-shadow:0 15px 40px #7744aa12;border-radius:18px;padding:14px 22px;font-size:24px;direction:ltr}.r1{top:39px;right:10px;transform:rotate(7deg)}.r2{bottom:30px;left:0;transform:rotate(-7deg);color:var(--mint)}.heart{position:absolute;color:var(--pink);font-size:30px;animation:float 4s infinite ease-in-out}.h1{top:7px;left:70px}.h2{bottom:8px;right:60px;animation-delay:-2s}.spark{font-size:55px;color:#edac40;position:absolute;left:35px;top:90px}@keyframes float{50%{transform:translateY(-12px) rotate(8deg)}}main{max-width:1160px;margin:auto;padding:0 24px 35px}.journey{display:flex;gap:9px;overflow-x:auto;padding:6px 2px 18px}.journey button{white-space:nowrap;background:white;border:1px solid var(--line);color:var(--muted);font-size:14px;padding:12px 17px}.journey button.active{background:var(--purple);color:white;border-color:var(--purple)}.journey b{display:inline-grid;place-items:center;width:25px;height:25px;background:#ffffff30;border-radius:50%;margin-left:6px}.panel{background:white;border:1px solid var(--line);border-radius:27px;padding:30px;box-shadow:0 15px 50px #54308008}.topline{display:flex;justify-content:space-between;align-items:center;gap:15px}.step{color:var(--pink);font-size:13px;font-weight:bold}h2{font-size:28px;margin:5px 0 8px}h3{font-size:20px;margin:10px 0}.muted{color:var(--muted);font-size:15px}.split{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:20px}.visual{background:#f8f4ff;border-radius:22px;padding:18px;text-align:center}.visual svg{width:100%;max-width:350px;height:auto;display:block;margin:auto}.math{direction:ltr;unicode-bidi:isolate;display:inline-block;font-family:Georgia,'Times New Roman',serif;font-size:1.15em;font-weight:bold}.equation{direction:ltr;text-align:center;border:1px solid var(--line);background:#faf7ff;padding:16px;border-radius:16px;font-size:23px;font-family:Georgia,serif;margin:15px 0}input[type=range]{width:100%;accent-color:var(--purple)}.stats{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.stat{background:white;border-radius:12px;padding:5px 10px;font-size:14px}.sin{color:#d9367c}.cos{color:#008c83}.choices{display:grid;gap:10px;margin:18px 0}.choices button{background:white;color:var(--ink);border:2px solid var(--line);text-align:right;font-weight:normal}.choices button.correct{border-color:var(--mint);background:#edfaf6}.choices button.wrong{border-color:#ed83a5;background:#fff0f4}.feedback{border-radius:14px;padding:12px 16px;background:#f1edfb;margin-top:12px;min-height:52px;font-size:15px}.feedback.good{background:#e9f8f2;color:#176a55}.feedback.bad{background:#fff0f4;color:#a12d54}.nextrow{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:25px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:20px}.tile{border:2px solid var(--line);border-radius:18px;padding:19px;text-align:center;background:white;color:var(--ink);min-height:90px}.tile.selected{border-color:var(--purple);background:#f0e8fc}.tile.matched{border-color:var(--mint);background:#e9f8f2}.label{font-size:13px;color:var(--muted)}.proof{display:grid;gap:12px;margin:20px 0}.proof button{background:#f9f6ff;color:var(--ink);border:1px solid var(--line);font-size:22px}.proof button.used{background:#e7f7f1;color:#16836b}.progress{height:7px;background:#eee7f5;border-radius:8px;overflow:hidden;margin:15px 0}.progress div{height:100%;background:linear-gradient(90deg,var(--pink),var(--purple));transition:width .3s}.score{text-align:center;padding:25px;background:linear-gradient(135deg,#f2e9ff,#ffedf3);border-radius:20px}.score strong{display:block;font-size:52px;color:var(--purple)}.rubric{width:100%;border-collapse:collapse;font-size:14px;margin:18px 0}.rubric th,.rubric td{padding:11px;border:1px solid var(--line);text-align:right}.rubric th{background:#f6efff}.domain{background:#fff8e8;border-radius:13px;padding:10px 14px;font-size:14px;margin-top:18px}.footer{text-align:center;color:var(--muted);font-size:14px;padding:27px} .footer b{color:var(--purple)}.nameinput{border:1px solid var(--line);border-radius:12px;padding:10px;width:100%;max-width:300px} .badge{color:var(--mint);background:#eaf8f3;padding:5px 12px;border-radius:20px;font-size:13px} @media(max-width:720px){header{padding:16px;font-size:12px}.brand{font-size:16px}.hero{grid-template-columns:1fr;padding:12px 22px;margin-bottom:12px;gap:0}.hero-art{min-height:230px}.orb{width:165px;height:165px}.ribbon{font-size:19px}.r1{top:22px;right:5px}.r2{bottom:15px}.hero h1{margin-top:8px}.split{grid-template-columns:1fr;gap:14px}.panel{padding:20px 16px;border-radius:20px}main{padding:0 12px 20px}.cards{grid-template-columns:repeat(2,1fr)}h2{font-size:24px}.rubric{font-size:12px}.rubric td,.rubric th{padding:7px}.topline{align-items:flex-start}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.family{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.family .visual{padding:17px 10px}.family .math{font-size:21px}.area{display:flex;direction:ltr;height:36px;background:#ece6f5;border-radius:12px;overflow:hidden;margin:15px 0}.area>div{transition:width .65s ease;background:var(--pink)}.area>div+div{background:var(--mint)}.flow{animation:enter .5s ease both}.tiles{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.tiles button{background:#f6edff;color:var(--purple);border:2px solid #d8c4f4;min-width:120px}.blank{display:inline-block;min-width:86px;padding:2px 12px;background:#ffe1ee;color:#b82f68;border:2px dashed #ed83b1;border-radius:12px}.steps{display:grid;gap:12px;margin:18px 0}.steps>div{border-right:4px solid var(--pink);padding:12px 16px;background:#faf6ff;border-radius:12px}.memory-note{background:#fff5d8;padding:14px;border-radius:16px}.flowers{font-size:35px;letter-spacing:10px;text-align:center;color:var(--pink)}.hiddenformula{filter:blur(9px);user-select:none;pointer-events:none}.example-nav{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.example-nav button{font-size:14px}.big-number{font-size:40px;font-weight:bold;color:var(--purple)}@keyframes enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media(max-width:720px){.family{grid-template-columns:1fr}.family .math{font-size:24px}}

[hidden]{display:none!important}body:not([data-station="home"]) .hero{display:none}body:not([data-station="home"]) main{padding-top:20px}.journey{justify-content:space-between;align-items:center;flex-wrap:wrap}.map-link{color:var(--purple);text-decoration:none;font-weight:bold;font-size:15px;padding:9px 12px;border-radius:12px;background:#f0e8fc}.encouragement{padding:12px 18px;border-radius:16px;margin:18px 0;background:linear-gradient(100deg,#fff0f6,#f1eaff);color:#874184;font-size:15px;border:1px solid #f0d9eb}.station-map{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:25px 0}.station-card{position:relative;display:block;text-decoration:none;color:var(--ink);padding:24px;border:1px solid #e8dbf4;border-radius:23px;background:linear-gradient(140deg,#fff,#faf2ff);transition:transform .2s,box-shadow .2s}.station-card:nth-child(even){background:linear-gradient(140deg,#fff,#fff0f6)}.station-card:hover{transform:translateY(-5px);box-shadow:0 12px 28px #8652aa15}.station-card:focus-visible,.map-link:focus-visible{outline:3px solid var(--mint);outline-offset:4px}.station-number{display:inline-grid;place-items:center;border-radius:50%;background:var(--purple);color:white;width:35px;height:35px;font-weight:bold}.map-symbol{position:absolute;left:23px;top:20px;font-size:38px;color:var(--pink)}.station-card p{color:var(--muted);font-size:15px;min-height:58px}.enter-label{color:var(--purple);font-weight:bold;font-size:14px}.topline h2:focus{outline:none}.nextrow{flex-wrap:wrap}.brand{color:var(--ink);text-decoration:none}@media(max-width:800px){.station-map{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.station-map{grid-template-columns:1fr}.station-card p{min-height:0}.journey .pill{font-size:12px}.encouragement{font-size:14px}}

.assessment-hero{text-align:center;padding:24px 0 32px}.assessment-hero h1{font-size:44px}.field{display:grid;gap:7px;margin:20px 0;max-width:500px;font-size:16px}.field input,.field select{padding:12px 15px;border:1px solid #dfd0ec;border-radius:13px;background:white;font:inherit;color:var(--ink)}.question-visual{text-align:center;background:#faf4ff;border-radius:22px;padding:20px;margin:18px 0}.question-flower{font-size:75px;line-height:1.4;color:var(--pink);animation:float 4s infinite ease-in-out}.question-visual .area{max-width:450px;height:48px;margin:15px auto}.square-row{direction:ltr;display:flex;justify-content:center;align-items:flex-end;gap:20px;padding:15px}.small-square{display:grid;place-items:center;background:var(--pink);color:white;width:45px;height:45px;border-radius:8px}.large-square{display:grid;place-items:center;background:var(--purple);color:white;width:135px;height:135px;border-radius:14px}.mint-square{background:var(--mint);width:105px;height:105px}.choices button.selected-answer{border-color:var(--purple);background:#f0e5ff}.math-block{direction:ltr;text-align:center;font-family:Georgia,serif;font-size:22px;margin:10px 0}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.toolbar .field{flex:1;min-width:200px}.metric{display:block;font-size:32px;color:var(--purple)}.table-wrap{overflow:auto}.rubric th{white-space:nowrap}.small{font-size:13px;padding:7px 12px}.answer-detail{margin-top:25px;border-top:2px solid var(--line);padding-top:20px}a{color:var(--purple)}.encouragement{margin:18px 0}main{padding-top:18px} @media(max-width:600px){.assessment-hero h1{font-size:34px}.toolbar button{width:100%}}

/* Six-piece graduation cap assessment */
.cap-assessment .assessment-hero{padding-bottom:20px}.cap-assessment .panel{overflow:hidden;background:linear-gradient(180deg,#fff 0%,#fffafd 100%)}.cap-garden{position:relative;text-align:center;padding:24px 16px 16px;background:radial-gradient(ellipse at 50% 40%,#eee0ff 0%,#fff0f8 48%,#fffafc 80%);border:1px solid #f0deef;border-radius:25px;margin-bottom:24px;isolation:isolate}.cap-heading{position:relative;z-index:1}.cap-heading h2{font-size:clamp(22px,3vw,29px)}.cap-heading p{font-size:15px;color:var(--muted);max-width:620px;margin:8px auto}.graduation-cap{display:block;width:100%;max-width:630px;margin:5px auto 0;position:relative;z-index:1;overflow:visible}.cap-piece{cursor:default;outline:none}.cap-piece[role=button]{cursor:pointer}.cap-piece polygon{transition:fill .4s ease,filter .25s ease,stroke .25s ease}.cap-piece[role=button]:hover polygon{filter:brightness(.97);stroke:#c4a3e5}.cap-piece.piece-active polygon,.cap-piece:focus-visible polygon{stroke:#7447cc;stroke-width:6;filter:drop-shadow(0 2px 4px #7447cc30)}.cap-piece:focus-visible circle{stroke:#7447cc;stroke-width:3}.cap-tick{animation:cap-heart-in .35s ease both}.cap-status{display:flex;gap:12px;align-items:center;justify-content:center;position:relative;z-index:1}.cap-count{display:inline-block;direction:ltr;background:#fff;border:1px solid #e2c8f5;color:var(--purple);border-radius:20px;padding:3px 19px;font-size:22px;font-weight:bold}.cap-note{font-size:13px;color:var(--muted);max-width:610px;margin:12px auto 0}.love-sky{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none;border-radius:25px}.sky-love{position:absolute;color:#ec75a8;font-size:26px;animation:love-rise 7s ease-in-out infinite;opacity:.6}.sky-love-0{left:5%;top:66%}.sky-love-1{left:16%;top:37%;animation-delay:-2s;font-size:36px}.sky-love-2{left:85%;top:58%;animation-delay:-4s}.sky-love-3{left:77%;top:25%;animation-delay:-1s;color:#e9af35}.sky-love-4{left:42%;top:10%;animation-delay:-3s}.sky-love-5{left:93%;top:30%;animation-delay:-5s}.happy-orbit{position:absolute;font-family:Arial,sans-serif;font-size:49px;color:#c58e26;animation:happy-bob 4s ease-in-out infinite}.smile-left{left:4%;top:30%;transform:rotate(-12deg)}.smile-right{right:4%;top:68%;animation-delay:-2s;color:#e1639f}.cap-complete{border-color:#d7b5f1;box-shadow:0 0 0 4px #f6edfc}.cap-complete .cap-face{animation:happy-bob 3s ease-in-out infinite}.cap-cheer{color:var(--pink);letter-spacing:14px;font-size:28px;margin-top:10px;animation:happy-bob 3s ease-in-out infinite}.cap-submit{background:#eee5ff;border:1px solid #d9c3f1;text-align:center;border-radius:20px;padding:16px 20px;margin:0 0 25px}.cap-submit p{font-size:15px}.cap-submit button{margin:8px 0;max-width:100%}.cap-question{scroll-margin-top:20px;border:1px solid #eddbf0;border-radius:22px;padding:22px;background:white;animation:cap-question-in .35s ease}.question-welcome{display:flex;align-items:center;gap:13px;justify-content:center;margin-bottom:18px}.question-welcome h2{font-size:23px}.question-welcome>span{font-size:34px;color:var(--pink)}.question-welcome>span:first-child{color:#dba53e}.cap-assessment .choices button{font-size:21px}.cap-assessment .choices button.selected-answer{border-color:#a966d0;background:linear-gradient(100deg,#f4e6ff,#fff0f8)}@keyframes love-rise{0%,100%{translate:0 10px;rotate:-8deg;opacity:.35}50%{translate:8px -25px;rotate:9deg;opacity:.85}}@keyframes happy-bob{0%,100%{translate:0 0}50%{translate:0 -7px}}@keyframes cap-heart-in{from{opacity:0;scale:.4}to{opacity:1;scale:1}}@keyframes cap-question-in{from{opacity:.7;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.cap-garden{padding:19px 4px 15px}.cap-note{padding:0 10px}.happy-orbit{font-size:31px}.cap-question{padding:16px 12px}.cap-status{font-size:14px}.cap-count{font-size:19px}.cap-assessment .choices button{font-size:20px}.cap-heading p{padding:0 10px}.sky-love{font-size:21px}}@media(prefers-reduced-motion:reduce){.cap-garden *,.cap-question{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.lesson-feeling{padding:24px;margin:23px 0;border:1px solid #ecd3ec;border-radius:24px;background:linear-gradient(135deg,#fff4fa,#f4eeff)}.feeling-title{display:flex;gap:15px;align-items:center}.feeling-title>span{font-size:47px;color:var(--pink);animation:happy-bob 4s ease-in-out infinite}.feeling-title h2{font-size:25px}.feeling-options{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.feeling-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:2px solid #e7d5f0;border-radius:18px;padding:17px 13px;min-height:150px;color:var(--ink);background:#fff;font-size:15px;font-weight:normal;line-height:1.8}.feeling-choice:first-child{grid-column:1/-1;min-height:0;padding:6px 12px;justify-self:start;font-size:13px;border:0;background:transparent;color:var(--muted)}.feeling-choice.feeling-selected{border-color:var(--purple);background:#f0e2ff;box-shadow:0 5px 18px #9657bc12}.feeling-emoji{font-size:39px;line-height:1.4}.feeling-note{display:grid;gap:8px;margin-top:18px;font-size:16px}.feeling-note textarea{resize:vertical;min-height:100px;width:100%;border:1px solid #d8bce7;border-radius:14px;padding:12px 15px;font:inherit;color:var(--ink);background:white;line-height:1.9}.feeling-note textarea:focus-visible{outline:3px solid var(--mint);outline-offset:3px}.saved-note{white-space:pre-wrap;overflow-wrap:anywhere;background:#ffffffa0;padding:12px;border-radius:12px}.feeling-saved{font-size:17px}@media(max-width:650px){.lesson-feeling{padding:18px 13px}.feeling-options{grid-template-columns:1fr}.feeling-choice{min-height:0;flex-direction:row;text-align:right;justify-content:flex-start;padding:13px}.feeling-title h2{font-size:23px}.feeling-emoji{font-size:30px}}@media(prefers-reduced-motion:reduce){.feeling-title>span{animation:none}}

.restart-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:0 0 18px;margin-bottom:15px;border-bottom:1px solid #efdeed}.restart-toolbar button{flex-shrink:0;border:1px solid #d8bdea}.restart-toolbar p{font-size:13px;max-width:590px;margin:0}@media(max-width:600px){.restart-toolbar{align-items:flex-start}.restart-toolbar button{width:100%}}

.teacher-session{max-width:1160px;margin:auto;padding:18px 24px 0;text-align:left}
