:root{--ink:#392e43;--muted:#6d6075;--cream:#fff9e9;--paper:#f5eedb;--green:#244d43;--mint:#daeacb;--pink:#edb3bd;--purple:#74609a;--gold:#f2c769;--line:#d6c7b6;font-family:Trebuchet MS,Arial,sans-serif;color:var(--ink);background:var(--paper);font-size:17px;font-synthesis:none;color-scheme:light}
*{box-sizing:border-box}body{margin:0;background-image:radial-gradient(#cdbfa455 .8px,transparent .8px);background-size:12px 12px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #8660b8;outline-offset:4px}button{min-height:46px}a{color:var(--green)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:700}h1{font-size:clamp(1.7rem,4vw,2.5rem);line-height:1.12}h2{font-size:1.35rem}h3{font-size:1.08rem}p{line-height:1.6}input[type=checkbox]{width:22px;height:22px;accent-color:var(--green);flex-shrink:0}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{width:100%;padding:12px;border:2px solid var(--line);background:#fffcf4;color:var(--ink);border-radius:8px;min-height:48px}textarea{min-height:110px;resize:vertical}label{line-height:1.45}.pixel{font-family:ui-monospace,Consolas,monospace;font-weight:800;letter-spacing:1px}.eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:2px;font-weight:700;color:var(--muted);margin-bottom:8px}.muted{color:var(--muted)}.small{font-size:.85rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.wrap{max-width:1120px;margin:0 auto;padding:28px 28px 60px}.page-head{display:flex;gap:20px;align-items:center;justify-content:space-between;margin:8px 0 24px}.page-head h1{margin:0 0 8px}.page-head p{margin:0}.topbar{height:76px;background:var(--cream);border-bottom:2px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1064px)/2));gap:12px}.brand{background:none;border:0;color:var(--green);font-size:1rem;display:flex;gap:10px;align-items:center;padding:0}.brand-star{display:inline-grid;place-items:center;width:33px;height:33px;background:var(--pink);box-shadow:3px 3px 0 #ae7485;color:#fff9dc}.top-actions{display:flex;align-items:center;gap:14px}.coin{display:inline-grid;place-items:center;width:23px;height:25px;border:3px solid #b98338;background:#f6d67a;box-shadow:inset 2px 2px #fff0a5,2px 2px #8e6540;color:#a37632;font:700 12px/1 monospace;vertical-align:middle}.balance{display:flex;align-items:center;gap:9px;font-weight:700;white-space:nowrap}.text-btn{border:0;background:none;padding:8px;color:var(--muted);font-size:.87rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:48px;padding:12px 20px;border:2px solid var(--green);background:var(--green);color:var(--cream);box-shadow:3px 3px 0 #183e35;border-radius:7px;text-decoration:none;font-weight:700}.btn:hover{filter:brightness(1.08)}.btn.secondary{background:var(--cream);border-color:#cabcad;box-shadow:3px 3px 0 #d6c7b6;color:var(--ink)}.btn.pink{background:var(--pink);border-color:#be8697;box-shadow:3px 3px 0 #a66f85;color:#482a3d}.btn.small-btn{min-height:44px;padding:8px 12px;font-size:.85rem}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:13px}.panel{background:var(--cream);border:2px solid var(--line);border-radius:12px;padding:24px;box-shadow:0 5px 0 #d6c7b644}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.section{margin-top:28px}.badge{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;font-size:.72rem;border-radius:5px;background:#ebe3f2;color:#59456f;font-weight:700}.badge.green{background:var(--mint);color:#345641}.badge.gold{background:#f9e5b4;color:#825b29}.footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;margin-top:30px;font-size:.72rem;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:28px 0 16px}.section-heading h2{margin:0}.empty{text-align:center;padding:34px}.loading{text-align:center;padding:20vh 20px}.error{background:#f9dcd7;color:#8a3237;border:1px solid #dcaba6;border-radius:7px;padding:12px}.success{background:#e3efd3;color:#345640;border:1px solid #c1d5b1;padding:14px;border-radius:8px}.notice{background:#eee5f5;border:1px solid #d4c2e4;border-radius:8px;padding:14px}.field{display:grid;gap:7px;margin-bottom:18px}.field small{color:var(--muted)}.check-label{display:flex;gap:12px;align-items:center;min-height:48px}.rule{border:0;border-top:1px solid var(--line);margin:22px 0}.list{padding-left:22px;line-height:1.7}.list li{margin:8px 0}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{background:#f0e8d8;padding:6px 10px;border-radius:5px;font-size:.8rem}.auth-panel{max-width:480px;margin:48px auto}.auth-panel .capy{width:100px;display:block;margin:0 auto 12px}.auth-panel h1{text-align:center;font-size:1.8rem}.auth-panel p{text-align:center}.stat-row{display:flex;flex-wrap:wrap;gap:24px;margin:14px 0}.stat strong{display:block;font-size:1.6rem;color:var(--green)}.stat span{font-size:.76rem;color:var(--muted)}.progress-track{height:10px;background:#e7ddcb;border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:#8caa78;transition:width .2s}.large-text{font-size:20px}
/* A little pixel landscape, drawn in layers so it can grow with each learner. */
.stable-scene{position:relative;height:350px;overflow:hidden;background:#cce1d0;border-radius:9px;border:2px solid #adbfaa;isolation:isolate}.sun{position:absolute;left:13%;top:24px;width:50px;height:50px;background:#ffe39a;box-shadow:0 0 0 9px #f4e9b077}.cloud{position:absolute;background:#f9f9dd;width:92px;height:19px;box-shadow:15px -12px 0 -2px #f9f9dd,45px -7px 0 -2px #f9f9dd}.cloud-one{top:68px;left:26%}.cloud-two{top:34px;right:17%;transform:scale(.75)}.hill{position:absolute;background:#a7bd8c;transform:rotate(45deg);width:360px;height:360px;bottom:-260px}.hill-one{left:-50px}.hill-two{right:-50px;background:#8faa84;bottom:-225px}.stable-building{position:absolute;width:270px;height:180px;bottom:35px;left:50%;transform:translateX(-50%);background:repeating-linear-gradient(0deg,#bd8c63 0 14px,#a97754 14px 17px);border:6px solid #6b4d44}.stable-roof{position:absolute;left:-25px;right:-25px;top:-43px;height:54px;background:repeating-linear-gradient(0deg,#8c5558 0 12px,#754850 12px 15px);clip-path:polygon(8% 0,92% 0,100% 100%,0 100%);border-bottom:7px solid #573e43}.stable-sign{position:absolute;left:25px;right:25px;top:15px;font-size:11px;text-align:center;background:#efd5a1;color:#604032;padding:8px 0;border:3px solid #805846}.stable-door{position:absolute;bottom:-2px;width:72px;height:95px;background:#473b40;left:94px;border:6px solid #e6ba7c;border-bottom:0}.stable-door:after{content:'';position:absolute;left:0;right:0;height:40px;bottom:0;background:linear-gradient(36deg,transparent 44%,#ddb686 44% 56%,transparent 56%),#a97754;border-top:5px solid #ddb686}.stable-window{position:absolute;left:18px;bottom:52px;width:49px;height:48px;background:linear-gradient(90deg,transparent 44%,#b58a63 44% 57%,transparent 57%),linear-gradient(0deg,#eac78c 44%,#b58a63 44% 57%,#eac78c 57%);border:5px solid #694b41}.pixel-tree{position:absolute;bottom:35px;width:16px;height:113px;background:#8f7255}.pixel-tree:before{content:'';position:absolute;left:-39px;bottom:35px;width:94px;height:105px;background:#698b72;clip-path:polygon(20% 0,80% 0,80% 12%,100% 12%,100% 83%,80% 83%,80% 100%,20% 100%,20% 83%,0 83%,0 12%,20% 12%);box-shadow:inset 15px 12px #87a477}.tree-left{left:7%}.tree-right{right:6%;transform:scale(.8)}.picket-fence{position:absolute;bottom:20px;left:0;right:0;height:39px;background:repeating-linear-gradient(90deg,#e7d6ad 0 8px,transparent 8px 38px),linear-gradient(0deg,transparent 35%,#e7d6ad 35% 50%,transparent 50% 80%,#e7d6ad 80% 96%,transparent 96%)}.scene-horse{position:absolute;width:160px;bottom:29px;left:15%;z-index:3}.scene-capy{position:absolute;width:97px;bottom:27px;right:17%;z-index:3}.grass-flowers{position:absolute;bottom:0;left:4%;right:0;letter-spacing:22px;color:#f5edbe;font-size:20px}.flower-box{position:absolute;left:9px;bottom:31px;background:#81523f;color:#f3a7ba;font-size:24px;letter-spacing:1px;line-height:30px;border-bottom:6px solid #6f483b}.bunting{position:absolute;top:-32px;left:25px;right:20px;color:#ffd984;white-space:nowrap;font-size:23px;letter-spacing:3px}.lantern{position:absolute;right:16px;top:76px;color:#ffdc70;background:#6c4a3d;border:4px solid #725340;font-size:28px;line-height:37px;box-shadow:0 0 18px #ffdc7077}
/* Pixel characters keep their parts separate for gentle, readable animation. */
.character{overflow:visible;display:block;width:100%}.capy-head{transform-origin:61px 65px;animation:capy-nod 8s steps(2,end) infinite}.capy-body{animation:breathe 5s steps(2,end) infinite;transform-origin:60px 110px}.mouth-open{opacity:0}.talking .capy-head{animation:talk-nod .8s steps(2,end) infinite}.talking .mouth-open{animation:mouth .36s steps(1,end) infinite}.talking .mouth-closed{animation:closed-mouth .36s steps(1,end) infinite}.blink{animation:blink 7s steps(1,end) infinite;transform-box:fill-box;transform-origin:center}.horse-head{transform-origin:66px 83px;animation:horse-look 12s steps(3,end) infinite}.mane-shake{transform-origin:70px 35px;animation:mane 9s steps(2,end) infinite}.hoof-tap{transform-origin:38px 100px;animation:hoof 11s steps(2,end) infinite}.horse-tail{transform-origin:126px 78px;animation:tail 8s steps(2,end) infinite}.horse{animation:breathe 6s steps(2,end) infinite;transform-origin:80px 140px}.small.capy{width:50px}.wordmark{width:min(680px,90%);margin:0 auto;display:block;filter:drop-shadow(0 5px 0 #b37a8166)}
@keyframes capy-nod{0%,88%,100%{transform:rotate(0)}92%,96%{transform:rotate(-3deg)}}@keyframes talk-nod{0%,100%{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(2deg) translateY(-1px)}}@keyframes mouth{0%,49%{opacity:1}50%,100%{opacity:0}}@keyframes closed-mouth{0%,49%{opacity:0}50%,100%{opacity:1}}@keyframes breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-1px)}}@keyframes blink{0%,94%,98%,100%{transform:scaleY(1)}96%{transform:scaleY(.12)}}@keyframes mane{0%,85%,100%{transform:rotate(0)}88%,94%{transform:rotate(-7deg)}91%,97%{transform:rotate(5deg)}}@keyframes hoof{0%,80%,92%,100%{transform:translateY(0)}83%,89%{transform:translateY(-5px)}86%{transform:translateY(0)}}@keyframes horse-look{0%,88%,100%{transform:rotate(0)}92%,96%{transform:rotate(3deg)}}@keyframes tail{0%,85%,100%{transform:rotate(0)}90%{transform:rotate(6deg)}95%{transform:rotate(-3deg)}}
.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation:none!important;transition:none!important}.reduce-motion .mouth-open{opacity:0!important}.reduce-motion .mouth-closed{opacity:1!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.mouth-open{opacity:0!important}.mouth-closed{opacity:1!important}}
/* Title and adventures. */
.title-page{max-width:1050px;margin:0 auto;padding:35px 28px 24px;text-align:center}.title-page .eyebrow{color:#776580;margin-bottom:23px}.title-tagline{font-size:1.12rem;color:#695875;margin:4px 0 22px}.title-landscape{max-width:850px;margin:0 auto;position:relative}.title-landscape .stable-scene{height:325px;border-radius:14px 14px 0 0;border-bottom:0}.title-menu{position:relative;max-width:850px;margin:0 auto;background:var(--cream);padding:25px;border:2px solid #adbfaa;border-top:4px solid #779178;border-radius:0 0 14px 14px}.title-menu .actions{justify-content:center}.title-menu .btn{min-width:190px}.title-note{font-size:.78rem;color:var(--muted);margin:19px 0 0}.welcome-message{display:flex;align-items:center;gap:20px;margin-bottom:24px}.welcome-message .capy{width:95px;flex-shrink:0}.welcome-message p{margin-bottom:8px}.home-columns{display:grid;grid-template-columns:1.5fr 1fr;gap:22px}.quest-card{display:flex;flex-direction:column;justify-content:space-between;gap:16px}.quest-card .actions{margin-top:8px}.world-card{overflow:hidden;padding:0}.world-card .world-info{padding:22px}.world-card p{margin-bottom:16px}.world-card img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;image-rendering:pixelated}.world-card .stable-scene{border:0;border-radius:0;height:auto;aspect-ratio:3/2}.world-card .scene-horse{width:135px}.world-card .scene-capy{width:75px}.world-card .stable-building{transform:translateX(-50%) scale(.78);transform-origin:bottom}.world-card .world-info h2{margin-bottom:8px}.shop-hero{position:relative;overflow:hidden;border:3px solid #9c7457;border-radius:12px;background:#dec49c}.shop-hero img{display:block;width:100%;max-height:570px;object-fit:cover;object-position:center;image-rendering:pixelated}.shop-caption{background:var(--cream);border-top:3px solid #9c7457;padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:15px}.shop-caption p{margin:0}.decoration-card{display:flex;align-items:flex-start;gap:17px}.decoration-icon{flex-shrink:0;display:grid;place-items:center;width:58px;height:58px;background:#e7edd3;border:2px solid #bbcb9f;border-radius:8px;font-size:33px;color:#b56e8a}.decoration-card h3{margin:3px 0 5px}.decoration-card p{font-size:.84rem;margin-bottom:14px}.price{display:inline-flex;align-items:center;gap:8px}.horse-card{text-align:center;position:relative}.horse-card .horse{width:160px;margin:0 auto 12px}.horse-card.selected{border-color:#688761;background:#eff3dd}.horse-card h2{margin-bottom:8px}.portrait-card{overflow:hidden;height:145px;width:110px;background-image:none;background-size:440px auto;background-position:0 0;image-rendering:pixelated}.character-credit{display:flex;align-items:center;gap:18px}.character-credit img{width:200px;max-width:45%;border-radius:8px}
/* Learning panel. */
.quest-layout{display:grid;grid-template-columns:minmax(0,1fr) 295px;gap:22px;align-items:start}.quest-top{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px}.question-panel{min-height:370px}.question-panel h1{font-size:1.55rem;line-height:1.4;margin-top:12px}.question-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.answer-form{margin-top:22px}.choice-list{display:grid;gap:11px}.choice{display:flex;align-items:center;gap:12px;background:#fffcf5;padding:13px;border:2px solid var(--line);border-radius:8px;cursor:pointer;min-height:55px}.choice:has(input:checked){border-color:#6d8c67;background:#edf2db}.choice input{width:21px;height:21px;accent-color:var(--green)}.answer-form .actions{margin-top:18px}.help-panel .capy{width:123px;margin:-4px auto 10px}.help-panel h2{text-align:center}.help-panel p{font-size:.9rem}.help-panel .btn{width:100%;margin-top:8px}.help-step{padding:12px;background:#ede6f4;border-radius:6px;margin:10px 0;font-size:.9rem;line-height:1.6}.help-panel .field{margin-top:12px}.help-panel input{background:#fffdf6}.passage{background:#eee8d7;border-left:4px solid #9da77c;padding:18px 20px;margin:16px 0;line-height:1.75}.passage h2{font-size:1rem}.passage p{margin:0;white-space:pre-line}.diagram{max-width:370px;margin:16px auto}.diagram svg{display:block;width:100%;max-height:165px}.group-diagram{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:17px 0}.treat-group{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;padding:8px;border:2px solid #bda991;border-radius:6px;background:#ece5d4;opacity:.55}.treat-group.take{background:#e9c8c8;border-color:#b57a8d;opacity:1}.treat{width:12px;height:12px;background:#ba8656;border:2px solid #815938;margin:auto}.feedback{margin-top:20px;padding:18px;border-radius:8px;background:#e4efd6;border:2px solid #b5c99e}.feedback.retry{background:#f6e5d0;border-color:#ddbc92}.feedback.review{background:#eee5f5;border-color:#cdbbdf}.feedback h2{font-size:1.1rem;margin-bottom:8px}.feedback p{margin-bottom:10px}.order-buttons{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}.order-value{background:#eee4f4;border:2px solid #c5b2d5;border-radius:7px;padding:12px 15px;min-width:72px;font-weight:700}.order-result{min-height:54px;padding:12px;border:2px dashed #c4b29b;border-radius:7px;background:#fffdf5;margin:12px 0}.question-table{border-collapse:collapse;width:100%;margin:18px 0}.question-table th,.question-table td{padding:12px;border:1px solid var(--line);text-align:left}.question-table th{background:#e3ead4}.summary-character{width:140px;margin:0 auto}.quest-summary{max-width:610px;margin:35px auto;text-align:center}.quest-summary .stat-row{justify-content:center}.reward-coins{display:inline-flex;align-items:center;gap:10px;background:#fae5b2;padding:12px 20px;border:2px solid #d4ad59;border-radius:8px;font-weight:700;font-size:1.2rem;margin:12px 0 22px}
/* Adult controls keep dense choices readable. */
.parent-tabs{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:24px}.parent-tabs button{padding:10px 15px;min-height:46px;border:2px solid var(--line);border-radius:7px;background:var(--cream);color:var(--ink)}.parent-tabs button.active{background:var(--green);color:var(--cream);border-color:var(--green)}.curriculum-toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:15px 0}.parent-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(230px,1fr);gap:22px;align-items:start}.type-tree .type-branch{min-width:0}.type-tree .type-subject{background:#fffdf5;border:2px solid var(--line);border-radius:8px;margin:12px 0;padding:3px 7px}.branch-head{display:flex;gap:3px;align-items:center;border-bottom:1px solid #e7dccd}.branch-check{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:48px}.branch-toggle{flex:1;display:flex;align-items:center;gap:9px;min-width:0;background:none;border:0;padding:9px 4px;text-align:left;color:var(--ink)}.branch-name{flex:1;overflow-wrap:anywhere}.branch-count{font-size:.72rem;color:var(--muted);white-space:nowrap}.branch-children{margin-left:12px}.type-row{display:grid;grid-template-columns:minmax(0,1fr) 53px;gap:7px;border-bottom:1px solid #e7dccd;padding:13px 0}.type-label{display:flex;align-items:flex-start;gap:9px;min-height:44px;cursor:pointer}.type-label input{margin-top:2px}.type-description{min-width:0;overflow-wrap:anywhere;font-size:.88rem}.type-example{display:block;font-size:.76rem;color:var(--muted);margin-top:5px}.type-focus{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.68rem;gap:4px;cursor:pointer}.type-row.excluded{color:var(--muted)}.format-grid{display:grid;gap:5px}.parent-summary p{font-size:.85rem}.evidence-table{width:100%;border-collapse:collapse;font-size:.86rem}.evidence-table td,.evidence-table th{padding:12px 6px;text-align:left;border-bottom:1px solid var(--line)}.review-item{padding:18px;border:1px solid var(--line);border-radius:8px;margin:14px 0;background:#fffcf5}.review-item blockquote{margin:12px 0;padding:12px;background:#eee7d9;white-space:pre-wrap}.calendar-row{display:flex;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--line);font-size:.9rem}.calendar-row strong{white-space:nowrap}.recovery-code{display:block;overflow-wrap:anywhere;padding:16px;background:#e9efd9;font:700 17px/1.8 monospace;user-select:all}.option-row{padding:16px 0;border-bottom:1px solid var(--line)}.option-row p{font-size:.82rem;margin:3px 0 0 36px;color:var(--muted)}.option-row label{font-weight:700}.option-preview{max-width:230px;margin:15px auto}.option-preview .horse{width:150px;margin:auto}.option-preview .capy{width:100px;margin:auto}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);background:var(--green);color:var(--cream);border:2px solid #f2dbab;padding:12px 20px;border-radius:8px;z-index:30;box-shadow:0 5px 15px #21352b33;display:none}#toast.visible{display:block}dialog{border:3px solid #b4a086;background:var(--cream);color:var(--ink);border-radius:12px;max-width:500px;width:calc(100% - 32px);padding:28px;box-shadow:8px 8px 0 #392e4344}dialog::backdrop{background:#29243c88}dialog .actions{margin-top:22px}dialog h2{margin-bottom:14px}[hidden]{display:none!important}
@media(max-width:850px){.home-columns,.parent-grid{grid-template-columns:1fr}.quest-layout{grid-template-columns:minmax(0,1fr) 245px}.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.wrap{padding:23px 20px 45px}.topbar{padding:0 20px}.parent-summary{order:-1}.parent-summary .stat-row{margin:0}.parent-summary .preview-list{display:none}}
@media(max-width:640px){:root{font-size:16px}.topbar{height:68px;padding:0 14px}.top-actions{gap:5px}.brand{font-size:.8rem}.brand-star{width:28px;height:28px}.topbar .text-btn{font-size:.75rem;padding:7px}.wrap{padding:20px 14px 40px}.title-page{padding:27px 14px 20px}.title-tagline{font-size:1rem}.title-menu{padding:20px 15px}.title-menu .actions{display:grid;grid-template-columns:1fr;width:100%}.title-menu .btn{width:100%}.title-landscape .stable-scene{height:280px}.title-landscape .stable-building{transform:translateX(-50%) scale(.8);transform-origin:bottom}.scene-horse{left:4%;width:125px}.scene-capy{right:5%;width:82px}.stable-scene{height:300px}.grid,.grid.three,.quest-layout{grid-template-columns:1fr}.panel{padding:19px}.page-head{align-items:flex-start;flex-wrap:wrap}.page-head h1{font-size:1.8rem}.welcome-message{gap:10px}.welcome-message .capy{width:70px}.help-panel{display:grid;grid-template-columns:86px minmax(0,1fr);gap:6px 14px}.help-panel>.capy{width:86px;margin:0;grid-row:1 / 3}.help-panel>h2{text-align:left;margin:8px 0}.help-panel>.help-body{grid-column:1 / -1}.help-panel>.help-intro{margin:0;font-size:.85rem}.question-panel h1{font-size:1.35rem}.shop-caption{flex-wrap:wrap;padding:17px}.shop-hero img{object-fit:contain}.tree-right{display:none}.calendar-row{flex-wrap:wrap;gap:6px}.type-tree .type-subject{padding:2px 4px}.branch-children{margin-left:5px}.type-example{font-size:.75rem}.stat-row{gap:18px}.footer{font-size:.7rem}.evidence-table{font-size:.75rem}.auth-panel{margin:25px auto}.question-panel .actions .btn{flex:1}.large-text{font-size:18px}.world-card .stable-scene{height:270px;aspect-ratio:auto}.character-credit{flex-wrap:wrap}}

.update-banner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;background:#e8dfef;border-bottom:2px solid #c4b0d5;padding:16px max(20px,calc((100vw - 1064px)/2));font-size:.88rem}.update-banner span{display:block;color:var(--muted);margin-top:5px}
/* The horse coin appears on the two faces of a turning collectible. */
.character-credit img.girl-friend{width:140px;height:225px;max-height:none;object-fit:contain;mix-blend-mode:multiply;animation:girl-breathe 6s ease-in-out infinite}
@keyframes girl-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
[data-sync-status]{color:var(--green)}

.coin{position:relative;display:inline-block;width:30px;height:31px;flex-shrink:0;border:0;background:none;box-shadow:none;perspective:500px;font-size:inherit}
.coin-spin{position:absolute;inset:0;transform-style:preserve-3d;animation:coin-turn 5s linear infinite}
.coin-face{position:absolute;inset:0;backface-visibility:hidden;clip-path:ellipse(49.5% 49.5% at 50% 50%)}
.coin-face svg{display:block;width:100%;height:100%;image-rendering:pixelated}
.coin-front{transform:translateZ(2px)}.coin-back{transform:rotateY(180deg) translateZ(2px)}
.coin-edge{position:absolute;inset:1%;border-radius:50%;background:repeating-linear-gradient(0deg,#b57324 0 3px,#efbb42 3px 6px);box-shadow:0 0 0 1px #684027;transform:translateZ(0)}
@keyframes coin-turn{0%,12%{transform:rotateY(0deg)}88%,100%{transform:rotateY(360deg)}}
.coin-showcase{display:flex;align-items:center;gap:24px;margin:24px 0}.coin-showcase>.coin{width:108px;height:110px}.coin-showcase h3{margin-bottom:8px}.coin-showcase p{margin:0}.reward-coins>.coin{width:60px;height:62px}
.subject-section{margin:0 0 28px}.subject-shortcuts{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.subject-shortcut{display:block;min-width:0;padding:0;border:2px solid transparent;background:var(--cream);border-radius:12px;box-shadow:0 4px 0 #d6c7b655;transition:transform .15s}
.subject-shortcut:hover{transform:translateY(-4px);border-color:#cabcad}.subject-art{display:block;position:relative;overflow:hidden;aspect-ratio:543/724;width:100%;border-radius:10px}
.subject-art img{position:absolute;top:0;left:calc(var(--column) * -100%);width:400%;max-width:none;height:100%;image-rendering:pixelated;mix-blend-mode:multiply}.single-icon img{left:0;width:100%;object-fit:contain}
.gear-shop{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.gear-card{text-align:center;padding:16px;display:flex;flex-direction:column;align-items:center}.gear-card h3{min-height:2.6em}.gear-preview{width:125px;max-width:100%;margin:auto}.gear-preview .horse,.item-pony .horse{width:100%;height:auto}.gear-preview *,.item-pony *{animation:none!important}
dialog.wardrobe{max-width:910px;max-height:calc(100dvh - 32px);padding:24px;overflow:auto;border:3px solid #ab839b;background:#fff9ee}
.wardrobe-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:2px solid #e5ceda;padding-bottom:14px}.wardrobe-heading h2{font-size:1.65rem;margin:0}.wardrobe-heading>.text-btn{font-size:1.25rem;min-width:46px}
.wardrobe-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:26px;padding:22px 0}.wardrobe-preview{align-self:start;position:sticky;top:0;text-align:center;background:linear-gradient(#deecd8 65%,#c6dbb4 65%);border:2px solid #bdd0ac;border-radius:12px;padding:20px 14px 14px}.wardrobe-preview .horse{width:100%;max-height:230px}.wardrobe-preview .badge{margin:10px 0}.wardrobe-preview p.small{line-height:1.5;margin-bottom:8px}.wardrobe-preview .text-btn{color:#395847}
.wardrobe-browse{min-width:0}.wardrobe-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.wardrobe-tabs button{border:2px solid #d6c7b6;background:#fffdf5;color:var(--ink);border-radius:7px;padding:9px 12px;font-size:.85rem}.wardrobe-tabs [aria-pressed=true]{background:#eacfe0;border-color:#b2809f}
.wardrobe-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.wardrobe-item{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:10px 7px;background:#fffdf7;border:2px solid #ded0bc;border-radius:10px;color:var(--ink);font-size:.8rem;min-height:175px}.wardrobe-item.selected{background:#f8e1ed;border-color:#b4779b;box-shadow:0 3px 0 #d6a7c1}.wardrobe-item:disabled{opacity:.65}.wardrobe-item small{font-size:.7rem;line-height:1.4}.item-pony{display:block;width:88px;max-width:100%;height:85px}.no-item{display:grid;place-items:center;height:85px;font-size:2.6rem;color:#9d8093}.wardrobe-footer{border-top:2px solid #e5ceda;padding-top:18px;display:flex;justify-content:space-between;align-items:center;gap:16px}.wardrobe-footer>.small{max-width:245px}.wardrobe-footer .actions{margin:0}
@media(max-width:850px){.gear-shop{grid-template-columns:repeat(3,minmax(0,1fr))}.wardrobe-layout{grid-template-columns:190px minmax(0,1fr);gap:18px}.wardrobe-items{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.subject-shortcuts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.subject-section .section-heading{flex-wrap:wrap}.gear-shop{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gear-card{padding:12px 8px}.gear-card h3{font-size:.92rem}.gear-card .btn{font-size:.78rem;padding:8px}.gear-preview{width:105px}.wardrobe-layout{grid-template-columns:1fr;padding-top:12px}.wardrobe-preview{position:static;padding:8px;display:grid;grid-template-columns:120px 1fr;align-items:center;gap:4px}.wardrobe-preview #outfit-preview{grid-row:1 / 4}.wardrobe-preview .badge{justify-self:center;margin:0}.wardrobe-preview p.small{font-size:.75rem;margin:0}.wardrobe-tabs{gap:6px;margin-bottom:14px}.wardrobe-tabs button{flex-grow:1;font-size:.78rem;padding:8px}.wardrobe-items{grid-template-columns:repeat(2,minmax(0,1fr))}.wardrobe-footer{flex-direction:column;align-items:stretch;gap:10px}.wardrobe-footer>.small{max-width:none;font-size:.72rem}.wardrobe-footer .actions{justify-content:flex-end}dialog.wardrobe{padding:14px;width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.wardrobe-heading h2{font-size:1.4rem}.wardrobe-heading .eyebrow{font-size:.62rem}.home-columns .section-heading{flex-wrap:wrap}.topbar .coin{width:25px;height:26px}}

@media(orientation:landscape) and (max-height:520px){
 .topbar{height:54px;padding:0 18px}.wrap{padding:16px 20px 30px}.page-head{margin:0 0 16px}.page-head h1{font-size:1.7rem}.title-page{padding:14px 20px}.title-page>.eyebrow{display:none}.title-page .wordmark{max-width:330px}.title-tagline{font-size:.9rem;margin:5px 0 12px}.title-landscape{max-width:620px}.title-landscape .stable-scene{height:180px}.title-landscape .stable-building{transform:translateX(-50%) scale(.65);transform-origin:bottom}.title-landscape .scene-horse{width:105px}.title-landscape .scene-capy{width:70px}.title-menu{padding:14px}.title-menu .actions{display:flex}.title-menu .btn{width:auto}.title-note{display:none}.subject-shortcuts{grid-template-columns:repeat(5,minmax(0,1fr))}.subject-art{max-height:170px}.quest-layout{grid-template-columns:minmax(0,1fr) 225px;gap:16px}.question-panel{min-height:0}.question-panel h1{font-size:1.15rem}.help-panel{display:block;padding:14px}.help-panel>.capy{width:80px}.help-panel h2{font-size:1rem}.panel{padding:17px}.wardrobe-layout{grid-template-columns:150px minmax(0,1fr);gap:16px;overflow:auto;min-height:0;padding:12px 0}.wardrobe-preview{display:block;position:sticky;top:0;padding:8px}.wardrobe-preview .horse{max-height:115px}.wardrobe-preview p.small{font-size:.7rem}.wardrobe-heading{padding-bottom:8px}.wardrobe-heading .eyebrow{display:none}.wardrobe-heading h2{font-size:1.3rem}.wardrobe-tabs{gap:5px;margin-bottom:10px}.wardrobe-tabs button{padding:5px 9px;font-size:.75rem;min-height:44px}.wardrobe-items{grid-template-columns:repeat(3,minmax(0,1fr))}.wardrobe-item{min-height:130px;padding:7px}.item-pony,.no-item{height:60px}.item-pony{width:64px}.wardrobe-footer{flex-direction:row;padding-top:8px;gap:10px}.wardrobe-footer .small{max-width:230px;font-size:.7rem}.wardrobe-footer .btn{padding:8px 12px;min-height:44px}.wardrobe-footer .actions{gap:9px}dialog.wardrobe[open]{display:flex;flex-direction:column;padding:12px 18px;max-height:calc(100dvh - 18px);width:calc(100% - 32px)}
}
.catch-up-note{margin:0 0 16px;padding:12px 16px;border:2px solid #d4a545;border-radius:12px;background:#fff1bd;color:#624d28;font-weight:800}
.brand-icon{display:block;width:34px;height:34px;border-radius:5px;image-rendering:pixelated;flex-shrink:0}@media(max-width:640px){.brand-icon{width:28px;height:28px}}
/* Optional Daisy method tutorial after two consecutive misses in one skill. */
dialog.daisy-tutorial{width:min(760px,calc(100% - 28px));border:4px solid #c590ba;background:linear-gradient(145deg,#fff8df,#f8e5f4);box-shadow:0 14px 0 #70496955}
.daisy-tutorial-offer,.daisy-mini-lesson{display:grid;grid-template-columns:minmax(150px,210px) minmax(0,1fr);gap:22px;align-items:center}
.daisy-tutorial .guide-horse{width:100%;max-width:210px;margin:auto}.daisy-tutorial h2{color:#824876}.daisy-mini-lesson>div:last-child>p{font-size:1.05rem;line-height:1.65}.daisy-mini-lesson .diagram{margin:12px auto}.daisy-tutorial .actions{display:flex;flex-wrap:wrap;gap:10px}
@media(max-width:600px){.daisy-tutorial-offer,.daisy-mini-lesson{grid-template-columns:105px minmax(0,1fr);gap:12px}.daisy-tutorial .guide-horse{max-width:105px}.daisy-tutorial .eyebrow{font-size:.65rem}.daisy-tutorial h2{font-size:1.25rem}.daisy-tutorial .actions{grid-column:1/-1}.daisy-tutorial .actions .btn{width:100%}}
/* Finger and stylus working-out pad for Maths questions. */
.maths-scratch-pad{margin:18px 0;padding:14px;border:3px solid #9e76a0;border-radius:15px;background:linear-gradient(145deg,#fff8dd,#f7e9fa);box-shadow:0 5px 0 #785d7d2b}.scratch-pad-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.scratch-pad-heading h2{margin:3px 0 0!important;color:#5b4168;font-size:1.1rem!important}.scratch-pad-actions{display:flex;gap:8px}.scratch-pad-actions button{min-height:42px;padding:8px 12px;border:2px solid #88668d;border-radius:9px;background:#fffaf1;color:#573c63;font-weight:800}.scratch-pad-actions button:disabled{opacity:.38}.scratch-paper{position:relative;height:230px;overflow:hidden;border:3px solid #7b617f;border-radius:10px;background-color:#fffefa;background-image:linear-gradient(#9cc6de42 1px,transparent 1px),linear-gradient(90deg,#9cc6de42 1px,transparent 1px),linear-gradient(#6ca2c62e 1px,transparent 1px),linear-gradient(90deg,#6ca2c62e 1px,transparent 1px);background-size:22px 22px,22px 22px,110px 110px,110px 110px;box-shadow:inset 0 0 20px #5f4a6810;overscroll-behavior:contain}.scratch-paper canvas{display:block;width:100%;height:100%;cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.scratch-hint{position:absolute;left:50%;top:50%;pointer-events:none;transform:translate(-50%,-50%);color:#705f7785;font-weight:800;text-align:center}.scratch-note{margin:8px 2px 0}.maths-scratch-pad:focus-within{border-color:#cf5797;box-shadow:0 5px 0 #cf57972d}
@media(max-width:600px){.scratch-pad-heading{align-items:flex-start;flex-direction:column}.scratch-pad-actions{width:100%}.scratch-pad-actions button{flex:1}.scratch-paper{height:210px}}
@media(orientation:landscape) and (max-height:560px){.scratch-paper{height:175px}.maths-scratch-pad{padding:10px;margin:12px 0}.scratch-pad-heading{flex-direction:row;align-items:center}}

/* Practical maths tools and long reading texts. */
.passage p{white-space:pre-line;line-height:1.75}.construction{padding:1rem;background:#faf9ff;border:2px solid #d7cce8;border-radius:18px;margin:1rem 0}.construction svg{display:block;width:100%;max-width:520px;margin:auto;background:white;border-radius:12px}.construction-fields{display:flex;flex-wrap:wrap;gap:.6rem}.construction-fields fieldset{display:flex;gap:.5rem;min-width:0;border:1px solid #c9bdd5;border-radius:9px}.construction-fields label{display:grid;gap:.2rem}.construction input[type=number]{width:100%;min-width:0;max-width:8rem;padding:.5rem}.construction input[type=range]{width:100%}.construction .question-table{width:100%;table-layout:fixed}.construction .question-table th,.construction .question-table td{overflow-wrap:anywhere}.construction [data-grid]{cursor:crosshair;touch-action:manipulation}.construction text{font-family:system-ui,sans-serif;font-size:12px}

.paper-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:1rem}.paper-banner{background:#edf6ff;border-radius:16px;padding:1rem;margin-bottom:1rem}.paper-banner p{margin:.4rem 0}.paper-results details{text-align:left;border-top:1px solid #ddd;padding:.8rem}.paper-results details p{white-space:pre-line}.quest-checkpoints.is-long{display:none}

.passage-paragraphs{padding-left:2rem}.passage-paragraphs li{padding-left:.4rem;margin:1rem 0}.passage-paragraphs li::marker{font-weight:700;color:#79588c}.passage-paragraphs h3{margin-bottom:.25rem}.passage-paragraphs p{margin-top:0}p.passage{white-space:pre-line}

.passage>summary{font-size:1.2rem;font-weight:700;cursor:pointer;padding:.6rem 0}.passage-paragraphs li{display:list-item}.construction select{max-width:100%;padding:.6rem}
