:root{--paper: #f4f0e6;--panel: #faf8f1;--ink: #283a32;--muted: #68736a;--line: #d8d9cc;--green: #365d49;--contrast: #fffdf3;--tint: #e7ecdc;--board: #e9ecdd;--shadow: #2d433b14;color-scheme:light}html[data-theme=dark]{--paper: #1d2925;--panel: #26362f;--ink: #eeeade;--muted: #b4beb2;--line: #455349;--green: #bed4ab;--contrast: #20342a;--tint: #33463a;--board: #33473e;--shadow: #0003;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:500 15px/1.65 Manrope,system-ui,sans-serif}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.6}a{color:inherit;text-decoration:none}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #bd783d;outline-offset:5px}button[hidden],[hidden]{display:none!important}.wrap{max-width:1320px;padding:0 48px;margin:auto}h1,h2,h3,p{margin:0}h1,h2{font-family:Lora,Georgia,serif;font-weight:500;line-height:1.12;letter-spacing:-.045em}h1 em,h2 em{font-weight:500}h2{font-size:40px}h3{font-size:20px}p{margin:0 0 16px}img{display:block;max-width:100%;height:auto}.eyebrow{font-size:10px;letter-spacing:.14em;font-weight:800;text-transform:uppercase;line-height:1.6;margin:0 0 20px}.muted{color:var(--muted)}.masthead{height:108px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;font:600 16px/1.25 Manrope,sans-serif;letter-spacing:-.05em}.brand-mark{font:48px/1 Georgia;color:var(--green)}.masthead nav{display:flex;gap:34px;font-size:13px}.masthead nav a[aria-current]{text-decoration:underline;text-underline-offset:8px}.header-actions{display:flex;align-items:center;gap:22px;font-size:12px}.theme-toggle{width:40px;height:40px;background:transparent;border:1px solid var(--line);border-radius:50%;font-size:23px}.hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;min-height:620px;padding:54px 0 46px}.hero h1{font-size:clamp(50px,5.3vw,74px);line-height:1.08;margin-bottom:26px}.hero h1 em{color:var(--green)}.tiny-star{font-size:22px;vertical-align:middle;margin-right:8px}.hero-intro{font-size:18px;line-height:1.7;letter-spacing:-.03em}.hero-note{font-size:13px;color:var(--muted);line-height:1.8;margin-top:14px}.hero-actions{display:flex;align-items:center;gap:20px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:49px;padding:13px 23px;font-size:13px;font-weight:700;border-radius:6px;line-height:1.5;border:1px solid transparent}.primary{background:var(--green);color:var(--contrast)}.primary:hover{filter:brightness(1.09)}.secondary{background:transparent;border-color:var(--line)}.secondary:hover{background:var(--tint)}.handwritten{font:italic 16px/1.3 Lora,serif;color:var(--muted);max-width:120px;transform:rotate(-7deg)}.hero-art{position:relative}.art-caption{display:block;text-align:center;font:italic 15px Lora,serif;color:var(--muted);transform:rotate(-3deg);margin-top:-28px}.intro-strip{border-block:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;font-size:12px;color:var(--muted)}.intro-strip b{font:500 25px Lora,serif;margin-right:7px;color:var(--ink)}.strip-end{font:italic 14px Lora,serif}.daily{margin:50px 0 70px;background:var(--tint);border-radius:8px;padding:28px 32px;display:grid;grid-template-columns:1.15fr 1.8fr;gap:12px 35px}.daily h2{font-size:27px;letter-spacing:-.035em;margin-bottom:12px}.daily .eyebrow{font-size:9px;margin-bottom:10px}.daily p:not(.eyebrow){font-size:12px;color:var(--muted);margin:0}.daily ol{list-style:none;padding:0;display:flex;margin:0;align-items:center;gap:25px}.daily li{flex:1;font-size:13px}.daily li span{font:italic 22px Lora,serif;color:var(--muted);display:block;margin-bottom:10px}.daily small{display:block;color:var(--muted);font-size:10px;margin-top:6px}.daily .text-link{font-size:12px;text-decoration:underline;text-underline-offset:5px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px}.section-heading p:not(.eyebrow){font-size:13px;color:var(--muted);margin:0}.section-heading .eyebrow{margin-bottom:12px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.filters button{border:1px solid var(--line);padding:8px 16px;border-radius:30px;font-size:12px;background:transparent;min-height:40px}.filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.exercise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 26px}.exercise-card{min-width:0;border-bottom:1px solid var(--line)}.card-art{position:relative;background:var(--tone);border-radius:8px;overflow:hidden}.card-art img{width:100%;transition:transform .3s}.exercise-card a:hover .card-art img{transform:scale(1.035)}.card-number{position:absolute;top:17px;left:18px;font:italic 17px Lora,serif;color:#3f4a3f}.card-time{position:absolute;right:14px;bottom:13px;font-size:10px;padding:4px 9px;background:#fffc;border-radius:20px;color:#35483a}.card-copy{padding:22px 0 20px}.card-copy .eyebrow{font-size:9px;margin:0 0 8px;color:var(--muted)}.card-copy h3{font:500 25px Lora,serif;letter-spacing:-.04em;display:flex;justify-content:space-between;margin-bottom:12px}.card-copy h3 span{font-family:Manrope;font-size:20px}.card-copy>p:not(.eyebrow){font-size:12px;line-height:1.8;min-height:66px;color:var(--muted)}.card-progress{font-size:11px;color:var(--green)}.tone-moss{--tone: #dfe7cf}.tone-clay{--tone: #e8d9c7}.tone-lavender{--tone: #e3deeb}.tone-honey{--tone: #eee0bc}.tone-rose{--tone: #ead8cf}.tone-water{--tone: #d8e7df}.journal-promo{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin:90px 0;padding:50px 0;border-block:1px solid var(--line);align-items:center}.journal-promo h2{margin-bottom:20px}.journal-promo p:not(.eyebrow){max-width:420px;color:var(--muted);font-size:13px;line-height:1.9}.journal-sample{padding:45px 30px;background:var(--panel);box-shadow:0 8px 24px var(--shadow);transform:rotate(-4deg);text-align:center;max-width:420px;border:1px solid var(--line)}.journal-sample>span{font:italic 22px Lora,serif}.sample-days{display:flex;align-items:end;justify-content:center;gap:14px;height:100px;padding-bottom:20px;border-bottom:1px solid var(--line);margin:15px 0}.sample-days i{display:block;width:24px;height:25px;background:var(--green);opacity:.5;border-radius:2px}.sample-days i:nth-child(2n){height:40px;opacity:.7}.sample-days i:nth-child(3n){height:55px;opacity:.9}.sample-days i:last-child{height:65px;opacity:1}.journal-sample small{font-size:8px;letter-spacing:.1em}.about{display:grid;grid-template-columns:1fr 1.3fr;gap:70px;margin:70px 0}.about h2{font-size:50px}.about-copy h3{font-size:17px;margin-bottom:12px}.about-copy p{font-size:14px;line-height:1.9;color:var(--muted);margin-bottom:28px}.about-copy .source-note{font-size:11px}.source-note a{text-decoration:underline}.footer{border-top:1px solid var(--line);display:grid;grid-template-columns:1.3fr 1fr;gap:20px;padding-top:35px;padding-bottom:30px;margin-top:60px;font-size:12px}.footer .brand-mark{font-size:32px}.footer p{margin:15px 0;color:var(--muted);font-size:11px}.footer>div:nth-child(2){display:flex;flex-direction:column;align-items:flex-end;gap:12px}.footer small{font-size:10px;color:var(--muted)}.breadcrumb{display:flex;gap:12px;color:var(--muted);font-size:11px;margin-top:35px}.breadcrumb a{text-decoration:underline}.exercise-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:50px;align-items:center;margin:30px 0}.exercise-heading h1{font-size:58px}.exercise-heading>p{font-size:14px;color:var(--muted);max-width:440px}.exercise-heading .eyebrow{margin-bottom:12px}.play-shell{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden;position:relative}.play-top,.play-bottom{display:flex;align-items:center;justify-content:space-between;padding:15px 25px;border-bottom:1px solid var(--line);font-size:11px;gap:20px}.play-top>div{display:flex;gap:8px}.play-top button{padding:7px 12px;background:var(--tint);border-radius:4px;min-height:36px}.play-bottom{border-bottom:0;border-top:1px solid var(--line);color:var(--muted)}.play-intro{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:40px;align-items:center;min-height:440px}.play-intro h2{font-size:29px;margin-bottom:20px}.play-intro ol{padding-left:20px;color:var(--muted);font-size:13px}.play-intro li{padding-left:5px;margin-bottom:12px}.intro-illustration img{border-radius:50%;background:var(--tone)}.level-picker{border:0;padding:0;margin:24px 0 6px;display:flex;gap:8px}.level-picker legend{font-size:11px;margin-bottom:10px}.level-picker label{position:relative;cursor:pointer;font-size:11px}.level-picker input{position:absolute;opacity:0;width:100%;height:100%;margin:0}.level-picker span{border:1px solid var(--line);padding:9px 12px;display:block;border-radius:4px}.level-picker input:checked+span{background:var(--green);color:var(--contrast);border-color:var(--green)}.level-picker input:focus-visible+span{outline:3px solid #bd783d;outline-offset:3px}.level-description{font-size:10px;color:var(--muted);min-height:20px}.start-actions{display:flex;gap:9px;flex-wrap:wrap}.start-actions .button{font-size:11px;padding:12px 16px;gap:10px}.exercise-notes{display:grid;grid-template-columns:1fr 1fr;gap:80px;margin:55px 0}.exercise-notes h2{font-size:32px;margin-bottom:22px}.exercise-notes h3{font-size:14px;margin-bottom:10px}.exercise-notes p:not(.eyebrow){font-size:13px;line-height:1.9;color:var(--muted)}.related{border-top:1px solid var(--line);padding-top:30px}.related h2{font-size:29px;margin-bottom:20px}.related>div{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.related a{display:flex;flex-direction:column;gap:8px;padding:20px 0;border-bottom:1px solid var(--line)}.related span{font-size:10px;color:var(--muted)}.related strong{font-size:15px}.game-area{min-height:500px;text-align:center;padding:22px 25px 30px}.game-instruction{font-size:16px;min-height:32px;margin-bottom:15px}.game-board{max-width:650px;margin:auto;min-height:265px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.game-controls{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:20px 0 0}.game-controls>button{background:var(--tint);border:1px solid var(--line);border-radius:7px;padding:15px 24px;min-width:100px;font-weight:700}.game-feedback{min-height:28px;color:var(--green);font-size:13px;margin:16px auto 0;max-width:580px}.game-feedback[data-correct=false]{color:#a95437}html[data-theme=dark] .game-feedback[data-correct=false]{color:#f0b18a}.next-button{margin:15px auto 0}.pause-panel,.result-panel{min-height:500px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:45px 25px}.pause-symbol{font-size:65px}.pause-panel h2,.result-panel h2{font-size:40px;margin:20px 0}.pause-panel p,.result-panel p{font-size:13px;color:var(--muted);max-width:550px}.result-numbers{display:flex;gap:45px;margin:15px 0 25px}.result-numbers strong{display:block;font:500 50px Lora,serif}.result-numbers span{font-size:11px;color:var(--muted)}.result-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.result-panel .save-state{margin-top:20px;font-size:11px}.reaction-meadow{width:100%;height:285px;position:relative;overflow:hidden;border-radius:10px;background:#dce6cb;color:#36503d;display:flex;align-items:center;justify-content:center;flex-direction:column;font:500 20px Lora,serif;border:1px solid #bfcbb0}.reaction-meadow:before,.reaction-meadow:after{content:"";position:absolute;width:95%;height:200px;border-radius:50%;background:#aabd9580;bottom:-150px;left:-20%}.reaction-meadow:after{left:30%;bottom:-165px;background:#78966b80}.reaction-signal{font-size:110px;line-height:1.2;min-height:135px}.reaction-word{font:700 12px Manrope,sans-serif;letter-spacing:.07em}.memory-grid,.canal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;width:310px;max-width:100%}.memory-cell{aspect-ratio:1;border-radius:12px;border:1px solid var(--line);background:var(--tint);font:500 16px Lora,serif;color:var(--muted)}.memory-cell.lit{background:#e9bc65;color:#2b392d;box-shadow:0 0 0 3px #e9bc6522}.memory-cell.chosen{background:var(--green);color:var(--contrast)}.stamp-shape{width:110px;height:110px;color:var(--green)}.stamp-sample{padding:12px 25px;background:var(--tint);border:1px dashed var(--line);border-radius:6px}.stamp-choices{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:650px;width:100%}.stamp-choices button{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:10px 5px;display:flex;flex-direction:column;align-items:center}.stamp-choices button.good{outline:3px solid var(--green);outline-offset:2px}.stamp-choices small{font-size:10px}.parcel{width:195px;height:170px;background:#dcbf91;border:3px solid #a8875c;box-shadow:5px 7px #99794c33;position:relative;display:grid;place-items:center;color:#3b4f3c;transform:rotate(-5deg)}.parcel.round{border-radius:50%}.parcel:before{content:"";width:16px;height:100%;position:absolute;background:#efe0bf;left:30%;border-inline:1px solid #b39868}.parcel-stamp{font:500 60px Lora,serif;z-index:1;background:#f8efd5;width:85px;height:85px;display:grid;place-items:center;border:4px double #7c8d69;margin-left:45px}.rule-card{border:1px solid var(--line);padding:8px 18px;border-radius:30px;font-size:12px;margin-bottom:10px}.scale-row{display:flex;gap:18px;align-items:center;justify-content:center;font-size:22px;width:100%;padding-bottom:10px;border-bottom:1px solid var(--line)}.scale-row>span{min-width:115px;padding:5px}.scale-row b{font:500 25px Lora,serif;color:var(--muted)}.object{display:inline-block;margin:0 3px;font-size:26px;vertical-align:middle}.scale-target{font-size:20px;background:var(--tint);border-radius:8px;padding:15px 25px;margin-top:10px}.canal-grid{grid-template-columns:repeat(5,1fr);gap:3px;width:320px;background:#9cbcb2;padding:8px;border-radius:8px}.canal-cell{aspect-ratio:1;background:#cce1d8;border-radius:3px;display:grid;place-items:center;font-size:25px;color:#35493d}.canal-cell.rock{background:#80917e;box-shadow:inset 0 -5px #708371}.canal-cell.dock{outline:2px dashed #627e6a;outline-offset:-4px;background:#e8dfb9}.move-note{font-size:12px;color:var(--muted)}.direction-controls{display:grid!important;grid-template-columns:repeat(3,52px);gap:7px!important}.direction-controls button{min-width:0;padding:9px;font-size:23px;min-height:45px}.direction-controls button:first-child{grid-column:2}.direction-controls button:nth-child(2){grid-column:1}.direction-controls button:last-child{grid-column:3}.progress-heading{padding:60px 0 30px}.progress-heading h1{font-size:60px;margin-bottom:25px}.progress-heading>p:last-child{color:var(--muted)}.storage-banner{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:24px;background:var(--tint);border-radius:8px;margin:20px 0;font-size:13px}.storage-banner p{font-size:12px;margin:5px 0 0;color:var(--muted)}.progress-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:40px 0}.stat{padding:25px 0;border-block:1px solid var(--line)}.stat strong{font:500 40px Lora,serif;display:block}.stat span{font-size:11px;color:var(--muted)}.progress-empty{padding:30px;text-align:center}.progress-empty img{margin:0 auto 20px}.progress-empty h2{font-size:35px;margin-bottom:20px}.progress-empty p{font-size:14px;color:var(--muted)}.chart-filters{display:flex;gap:15px}.chart-filters label{font-size:10px}.chart-filters select{display:block;max-width:220px;background:var(--panel);color:var(--ink);border:1px solid var(--line);padding:10px;border-radius:4px;margin-top:5px}.chart-panel{background:var(--panel);padding:25px;border:1px solid var(--line);border-radius:7px;margin:25px 0 35px;min-height:180px}.chart-panel svg{width:100%;max-height:270px;overflow:visible}.chart-panel text{fill:var(--muted);font:11px Manrope,sans-serif}.chart-panel line{stroke:var(--line)}.chart-panel polyline{stroke:var(--green);fill:none;stroke-width:2.5}.chart-panel circle{fill:var(--green)}.chart-panel p{font-size:12px;color:var(--muted)}.history-table{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;font-size:12px}caption{text-align:left;font:500 28px Lora,serif;margin-bottom:15px}th{font-weight:600;color:var(--muted);font-size:11px}td,th{padding:14px 10px;border-bottom:1px solid var(--line);white-space:nowrap}td a{text-decoration:underline;text-underline-offset:3px}.notice{padding:20px;background:var(--tint)}.skip{position:absolute;top:-100px;left:20px;z-index:20;background:var(--ink);color:var(--paper);padding:12px 20px}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 1000px){.wrap{padding-inline:28px}.hero h1{font-size:55px}.hero{min-height:560px}.hero-intro{font-size:16px}.hero-actions{gap:15px}.handwritten{font-size:13px}.masthead nav{gap:20px}.strip-end{display:none}.daily{gap:20px}.exercise-grid{gap:24px 20px}.card-copy h3{font-size:22px}.play-intro{padding:30px;gap:25px}.exercise-heading h1{font-size:48px}.start-actions .button{width:100%}.journal-promo{gap:40px}.section-heading h2{font-size:34px}.exercise-heading{gap:30px}}@media (max-width: 720px){.wrap{padding-inline:20px}.masthead{height:88px;gap:15px;flex-wrap:wrap}.brand{font-size:13px;gap:8px}.brand-mark{font-size:36px}.masthead nav{order:3;position:relative;width:100%;justify-content:center;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px;gap:32px}.masthead{margin-bottom:40px;align-content:center}.site-link{display:none}.header-actions{margin-left:auto;gap:15px;font-size:11px}.theme-toggle{width:34px;height:34px;font-size:20px}.hero{grid-template-columns:1fr;padding:32px 0;min-height:0}.hero h1{font-size:clamp(43px,10vw,66px);line-height:1.15}.hero .eyebrow{font-size:9px}.hero-intro{font-size:16px}.hero-note{font-size:12px}.hero-art{max-width:400px;margin:8px auto 0}.art-caption{font-size:13px}.hero-actions{margin-top:22px}.hero-art img{max-height:340px}.intro-strip{padding:18px 0;gap:12px;align-items:start}.intro-strip span{font-size:9px;line-height:1.5;max-width:100px}.intro-strip b{display:block;font-size:24px}.daily{margin:30px 0 50px;padding:24px 20px;grid-template-columns:1fr}.daily ol{gap:12px;align-items:start;padding:0 0 15px}.daily li{font-size:11px}.daily small{font-size:9px}.daily li span{font-size:19px;margin:0 0 5px}.daily .text-link{font-size:11px}.section-heading{display:block;margin-bottom:20px}.section-heading p:not(.eyebrow){margin-top:15px;font-size:12px}.section-heading h2{font-size:32px}.section-heading p br{display:none}.filters{gap:6px;margin-bottom:22px}.filters button{font-size:10px;padding:7px 12px;min-height:36px}.exercise-grid{grid-template-columns:repeat(2,1fr);gap:24px 16px}.card-copy{padding:15px 0}.card-copy h3{font-size:21px;line-height:1.25;gap:8px}.card-copy h3 span{font-size:16px}.card-copy .eyebrow{font-size:8px;letter-spacing:.06em}.card-copy>p:not(.eyebrow){font-size:11px;min-height:0;margin-bottom:12px}.card-number{font-size:14px;top:10px;left:10px}.card-time{font-size:8px;right:8px;bottom:8px;padding:3px 6px}.card-progress{font-size:9px}.journal-promo{grid-template-columns:1fr;margin:50px 0;padding:35px 0;gap:40px}.journal-sample{max-width:350px;margin:auto;padding:25px}.journal-sample>span{font-size:18px}.journal-promo h2{font-size:37px}.about{grid-template-columns:1fr;margin:45px 0;gap:25px}.about h2{font-size:39px}.about h2 br{display:none}.about-copy p{font-size:13px}.footer{grid-template-columns:1fr;gap:15px;margin-top:40px}.footer>div:nth-child(2){align-items:flex-start}.footer .brand{font-size:14px}.breadcrumb{padding-top:18px;margin-top:0}.exercise-heading{grid-template-columns:1fr;margin:22px 0;gap:15px}.exercise-heading h1{font-size:43px}.exercise-heading .eyebrow{font-size:9px}.exercise-heading>p{font-size:12px;margin:0}.play-top,.play-bottom{padding:12px 14px;font-size:9px;gap:12px}.play-bottom span:last-child{display:none}.play-intro{grid-template-columns:1fr;padding:20px;gap:18px}.intro-illustration{max-width:220px;margin:auto}.play-intro h2{font-size:28px}.play-intro ol{font-size:12px}.level-picker span{padding:9px;font-size:10px}.start-actions .button{width:auto;flex:1;min-width:120px}.exercise-notes{grid-template-columns:1fr;gap:20px;margin:35px 0}.exercise-notes h2{font-size:30px}.related h2{font-size:26px}.related>div{grid-template-columns:1fr;gap:0}.related a{padding:14px 0}.game-area{padding:20px 12px;min-height:490px}.game-instruction{font-size:13px;min-height:44px}.game-board{min-height:250px}.game-controls{gap:9px}.game-controls>button{padding:12px 15px;min-width:90px;font-size:13px}.game-feedback{font-size:12px;line-height:1.65}.stamp-choices{grid-template-columns:repeat(2,1fr);max-width:320px;gap:10px}.stamp-shape{width:85px;height:85px}.stamp-sample{padding:5px 15px}.stamp-sample .stamp-shape{width:90px;height:90px}.memory-grid{width:270px;gap:7px}.canal-grid{max-width:275px}.scale-row{font-size:16px;gap:4px}.scale-row>span{min-width:95px;padding:4px}.object{font-size:20px;margin:0 2px}.scale-target{font-size:16px;padding:12px}.progress-heading{padding-top:30px}.progress-heading h1{font-size:40px}.progress-heading>p:last-child{font-size:13px}.storage-banner{flex-direction:column;align-items:start;padding:20px;gap:15px}.progress-stats{gap:12px;margin:25px 0}.stat{padding:15px 0}.stat strong{font-size:30px}.stat span{font-size:9px}.chart-filters{margin-top:20px;gap:10px}.chart-filters select{max-width:165px;font-size:11px}.chart-panel{padding:15px}.progress-empty{padding:25px 0}.progress-empty h2{font-size:29px}.result-panel h2,.pause-panel h2{font-size:32px}.result-numbers{gap:25px}.result-numbers strong{font-size:42px}.result-panel,.pause-panel{padding:35px 20px}}@media (max-width: 390px){.exercise-grid{grid-template-columns:1fr}.card-copy>p:not(.eyebrow){font-size:12px}.card-copy h3{font-size:25px}.card-copy .eyebrow{font-size:9px}.card-art{max-height:210px}.card-art img{margin-top:-8px}.card-progress{font-size:11px}.masthead nav{gap:25px}.hero h1{font-size:40px}.handwritten{font-size:12px}.hero-actions .button{padding:12px 16px;font-size:12px}.level-picker{gap:5px}.level-picker span{padding:8px 6px}.play-intro{padding:16px}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.journal-promo>div{min-width:0}.journal-sample{width:100%}@media (max-width: 390px){.sample-days{gap:10px}.sample-days i{width:18px}.journal-sample{width:calc(100% - 12px)}}.exercise-task{font-size:13px;line-height:1.8;color:var(--ink)}:root{--muted: #5c685f;--control-line: #829180}html[data-theme=dark]{--muted: #b4beb2;--control-line: #879c8b}.play-shell{scroll-margin-top:12px}.level-picker span,.theme-toggle,.chart-filters select{border-color:var(--control-line)}.card-copy>p:not(.eyebrow){font-size:13px}.card-progress{font-size:12px}.game-controls button:not(.direction-controls button){border-color:var(--control-line)}.game-controls .direction-controls button{border:1px solid var(--control-line);border-radius:5px;background:var(--tint)}.tile-grid{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:10px;width:100%;max-width:420px}.tile-grid button{aspect-ratio:1;min-width:0;border-radius:8px;background:var(--tint);border:1px solid var(--control-line);font:500 40px Lora,serif;min-height:44px}.shelf-grid{max-width:420px}.shelf-grid button{background:#e7ddc7;color:#42614a;box-shadow:0 5px #baa78c55}.curtain{padding:50px;font:500 25px Lora,serif;color:var(--muted);border:2px dashed var(--line);border-radius:12px}.flock-field{position:relative;width:100%;max-width:560px;aspect-ratio:560/300;border-radius:10px;overflow:hidden}.flock-field canvas{width:100%;height:100%;display:block}.flock-choices{position:absolute;top:0;right:0;bottom:0;left:0}.flock-choices button{position:absolute;transform:translate(-50%,-50%);border-radius:50%;width:40px;height:40px;border:2px solid #47624a;background:#f6efdc;color:#314535;font-size:12px}.flock-choices button[aria-pressed=true]{background:#edc26d;border-color:#885e2f;outline:2px solid #885e2f;outline-offset:2px}.rain-drum{width:250px;height:250px;border-radius:50%;border:2px solid var(--control-line);background:var(--tint);color:var(--green);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;opacity:1!important}.rain-drum svg{width:65px;height:85px}.rain-drum span{font-size:10px}.rain-drum.beat{background:#e9c275;color:#745930;box-shadow:0 0 0 10px #d8b46d33}.lantern-field{width:380px;max-width:100%;height:250px;background:var(--tint);position:relative;border-radius:10px;display:grid;place-items:center}.window-sign{width:100px;height:110px;display:grid;place-items:center;background:var(--panel);border:7px solid #b8a78b;border-radius:50px 50px 0 0;font-size:65px;color:var(--green)}.corner{position:absolute;font-size:40px;color:var(--green)}.corner-0{left:20px;top:10px}.corner-1{right:20px;top:10px}.corner-2{left:20px;bottom:10px}.corner-3{right:20px;bottom:10px}.corner-grid{max-width:240px}.pattern-row{display:flex;gap:15px;align-items:center}.pattern-tile{display:flex;align-items:center;justify-content:center;flex-direction:column;background:var(--tint);border:1px solid var(--control-line);border-radius:5px;width:80px;height:100px}.pattern-tile b{font-size:45px;line-height:1.2}.pattern-tile small{font-size:20px;letter-spacing:4px}.pattern-tile.question{border-style:dashed;font-size:35px}.game-controls button:has(.pattern-tile){padding:0;min-width:0;background:none;border:0}.leaf-icon{width:42px;height:49px}.leaf-sample{background:var(--tint);border:1px dashed var(--control-line);border-radius:10px;padding:8px 20px}.herb-grid{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:8px;max-width:400px;width:100%}.herb-grid button{background:var(--paper);border:1px solid var(--line);min-height:50px;border-radius:6px;padding:4px}.correct-choice{outline:3px solid var(--green)!important;outline-offset:2px}.cube-scene{max-width:300px;width:100%;height:230px;overflow:visible}.cube-scene text{font:13px Manrope;fill:var(--ink)}.map-options{display:flex;justify-content:center;gap:15px;width:100%}.map-options button{background:var(--tint);border:1px solid var(--control-line);padding:8px;border-radius:6px;display:flex;flex-direction:column;gap:5px;align-items:center}.map-options small{font-size:9px}.map-grid{display:grid;grid-template-columns:repeat(3,20px);gap:2px}.map-grid i{width:20px;height:20px;background:var(--paper);border:1px solid var(--line)}.map-grid i.filled{background:var(--green)}.map-options span:last-child{font-size:10px}.recipe-chain{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px}.recipe-cup{padding:22px;background:var(--tint);border-radius:15px;font:500 32px Lora,serif}.recipe-op{padding:15px 10px;border-block:1px solid var(--control-line);font:500 23px Lora,serif}.echo-symbol{font-size:120px;line-height:1.5;width:220px;border-radius:50%;background:var(--tint);color:var(--green)}.echo-sequence{display:flex;gap:15px}.echo-sequence span{font-size:70px;padding:15px;background:var(--tint);border-radius:8px}.bridge-field{position:relative;aspect-ratio:500/300;width:100%;max-width:500px;background:#dae6d6;border-radius:10px;overflow:hidden}.bridge-field svg{width:100%;height:100%}.bridge-field line{stroke:#af9271;stroke-width:10;stroke-linecap:round}.bridge-field line.used{stroke:#718d70;stroke-width:5;stroke-dasharray:5 6}.bridge-house{position:absolute;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:6px;background:#fcf1d5;color:#3c5541;border:2px solid #9a8764;font-weight:700;font-size:12px}.bridge-house.current{background:#315f45;color:#fff;border-color:#315f45;outline:3px solid #fff5;outline-offset:2px}.quilt-grid{display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:3px;max-width:300px;width:100%;border:6px solid #c1ac90;border-radius:7px;padding:4px;background:#ede4d1}.quilt-grid button{aspect-ratio:1;background:#f8f3e6;border:1px dashed #9ca58b;border-radius:3px;color:#314535;font-size:14px;min-height:42px}.quilt-grid .fabric{border:1px solid #686b5244}.fabric-0{background:#c7ad88!important}.fabric-1{background:#a1b28e!important}.fabric-2{background:#b6a4bc!important}.fabric-3{background:#d3ab98!important}.fabric-4{background:#9dbdb4!important}.fabric-5{background:#ddca8b!important}.quilt-pieces{display:flex;gap:9px;flex-wrap:wrap;justify-content:center;width:100%}.quilt-pieces button{background:var(--tint);border:1px solid var(--control-line);border-radius:5px;width:65px;min-height:60px;padding:6px;color:var(--green)}.quilt-pieces button[aria-pressed=true]{outline:3px solid var(--green);outline-offset:2px}.quilt-pieces button small{font-size:9px;display:block}.piece-shape{max-height:50px;max-width:50px;width:100%;fill:currentColor}.market-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:380px;width:100%}.market-grid button{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px;background:var(--tint);border:1px solid var(--control-line);border-radius:7px}.market-grid button>span{font-size:32px;color:var(--green)}.market-grid strong{font-size:15px}.market-grid small{font-size:9px;font-weight:500}.market-grid button[aria-pressed=true]{outline:3px solid var(--green);outline-offset:2px;background:var(--panel)}.command-strip{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:500px}.command-strip span{font-size:12px;border:1px solid var(--line);padding:7px;border-radius:5px}.compass-grid{max-width:300px;gap:5px}.compass-grid button{font-size:25px;border-radius:4px}.path-cell{background:#bed2a3!important;color:#2e4936!important}.guest-cards{display:flex;gap:15px;flex-wrap:wrap;justify-content:center}.guest-cards>div{display:flex;flex-direction:column;align-items:center;gap:8px;background:var(--tint);padding:20px;border-radius:40px 40px 8px 8px;min-width:100px;font-size:13px}.guest-face{display:block;width:56px;height:60px;background:#d9b99b;color:#6b513e;border-radius:50%;font:500 50px/1.05 Lora,serif;text-align:center;box-shadow:inset 0 6px #987650}.guest-question .guest-face{margin:0 auto 20px}.guest-cards>div:nth-child(2n) .guest-face{background:#c7a181;box-shadow:inset 0 6px #685849}.game-controls [aria-pressed=true]{border-color:var(--green)}@media (max-width: 720px){.card-copy>p:not(.eyebrow){font-size:12px}.card-progress{font-size:11px}.tile-grid{gap:7px;max-width:290px}.tile-grid button{font-size:30px}.herb-grid{gap:5px}.herb-grid button{padding:2px;min-height:42px}.leaf-icon{width:34px;height:40px}.pattern-row{gap:6px}.pattern-tile{width:45px;height:70px}.pattern-tile b{font-size:30px}.pattern-tile small{font-size:15px;letter-spacing:2px}.map-options{gap:7px;flex-wrap:wrap}.map-options button{padding:5px}.map-grid{grid-template-columns:repeat(3,15px);gap:1px}.map-grid i{width:15px;height:15px}.cube-scene{height:190px}.recipe-cup{padding:14px;font-size:25px}.recipe-op{font-size:19px;padding:10px 6px}.recipe-chain{gap:8px}.echo-sequence span{font-size:50px;padding:8px}.flock-choices button{width:30px;height:30px;font-size:10px}.bridge-house{width:32px;height:32px;font-size:11px}.quilt-grid{max-width:260px}.quilt-pieces{gap:7px}.quilt-pieces button{width:48px;min-height:50px;padding:4px}.piece-shape{max-width:38px;max-height:35px}.compass-grid{max-width:260px;gap:4px}.compass-grid button{font-size:23px}.guest-cards{gap:9px}.guest-cards>div{min-width:80px;padding:12px;font-size:12px}.guest-face{width:45px;height:49px;font-size:40px}.command-strip span{font-size:10px}.game-controls>button{min-width:0}.play-shell[data-exercise=canal] .game-controls{gap:8px}.play-shell[data-exercise=canal] .game-controls>button{font-size:10px;padding:8px}.play-shell[data-exercise=canal] .direction-controls{width:100%;justify-content:center}}.map-with-rows{display:flex;align-items:center;gap:4px}.map-with-rows>small{font-size:9px;line-height:22px}.map-options .map-columns{padding-left:12px}.map-options .map-with-rows{font-size:inherit}.map-with-rows .map-grid{display:grid}.map-options .map-grid i{display:block}.cube-scene text{font-size:14px;font-weight:700}@media (max-width: 720px){.map-options{gap:5px}.map-options button{padding:4px}.map-with-rows>small{line-height:16px;font-size:8px}.map-options .map-columns{font-size:8px}.map-with-rows{gap:2px}}@media (min-width: 361px) and (max-width: 390px){.exercise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-copy h3{font-size:21px}.card-copy .eyebrow{font-size:8px}.card-art img{margin:0}.card-progress{font-size:10px}}.game-board button:disabled,.game-controls button:disabled{opacity:1}.game-controls button:disabled{cursor:default;filter:saturate(.8)}.flock-choices button{width:44px;height:44px}.rhythm-details{font-size:11px;text-align:left;color:var(--muted);max-width:100%;margin-top:15px}.rhythm-details summary{cursor:pointer}.rhythm-details p{margin:8px 0;overflow-wrap:anywhere}.chart-panel svg{max-height:none;height:260px}.chart-panel text{font-size:11px}.chart-panel{padding:16px}.map-grid{grid-template-columns:repeat(var(--map-cols, 3),20px)}@media (max-width: 720px){.map-grid{grid-template-columns:repeat(var(--map-cols, 3),15px)}.map-options-four{display:grid;grid-template-columns:repeat(2,110px);gap:10px}}.history-hint{display:none}@media (max-width: 720px){.history-hint{display:block;color:var(--muted);font-size:11px}}.wrong-choice{outline:2px dashed #b77856!important;outline-offset:2px}.stamp-proof{display:flex;align-items:center;justify-content:center;gap:15px;color:var(--muted);font-size:10px}.stamp-proof .stamp-shape{width:60px;height:60px}
