@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Nunito:wght@400;500;600;700;800;900&display=swap";.puzzle-dialog{--ink:#235e58;--accent:#c7e56f;--wash:#edf3e9;--line:#d4dfcf;position:fixed;top:0;right:0;bottom:0;left:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;border:0;background:var(--wash);color:var(--ink);font-family:Nunito,system-ui,sans-serif;overflow:auto;overscroll-behavior:contain}.puzzle-dialog::backdrop{background:#153831aa}.puzzle-fold{--ink:#544b83;--accent:#d5cdf5;--wash:#f1eef7;--line:#ddd6eb}.puzzle-dialog *{box-sizing:border-box}.puzzle-dialog button,.puzzle-dialog select{font:inherit}.puzzle-dialog button{cursor:pointer}.puzzle-dialog button:disabled{cursor:default}.puzzle-dialog button:focus-visible,.puzzle-dialog select:focus-visible,.puzzle-dialog svg:focus-visible{outline:3px solid #d48937;outline-offset:5px}.puzzle-dialog h1:focus{outline:none}.puzzle-dialog button{transition:transform .12s ease,background .15s ease,box-shadow .15s ease}.puzzle-dialog button:active:not(:disabled){transform:translateY(2px) scale(.98)}.puzzle-shell{max-width:1160px;margin:auto;min-height:100%;display:flex;flex-direction:column;padding:0 max(24px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(24px,env(safe-area-inset-left))}.puzzle-header{display:flex;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.puzzle-icon-button{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink)}.puzzle-icon-button:hover{background:#ffffffa6}.puzzle-wordmark{font-size:25px;font-weight:900;letter-spacing:-1.2px;line-height:1}.puzzle-wordmark>span{font-weight:500}.puzzle-wordmark small{display:block;font:9px/1.8 ui-monospace,monospace;letter-spacing:1.6px}.puzzle-header-actions{display:flex;gap:10px;margin-left:auto}.puzzle-map{padding:44px 18px 20px}.puzzle-hero{display:grid;grid-template-columns:1.5fr 1fr;gap:55px;align-items:center;margin-bottom:48px}.puzzle-overline{font:700 11px/1.5 ui-monospace,monospace;letter-spacing:1.8px}.puzzle-hero h1{font-size:clamp(42px,6vw,68px);font-weight:900;letter-spacing:-3px;line-height:1;margin:18px 0}.puzzle-hero h1 span{display:block;font-size:clamp(18px,2.4vw,26px);letter-spacing:-.6px;margin-top:15px;line-height:1.3}.puzzle-hero p{max-width:480px;font-size:15px;line-height:1.75;color:#526c61;margin:0 0 26px}.puzzle-fold .puzzle-hero p{color:#756b84}.puzzle-primary{display:inline-flex;justify-content:center;align-items:center;gap:30px;min-height:49px;padding:12px 24px;border:0;border-radius:12px;background:var(--ink);box-shadow:0 4px #00000020;color:#fff;font-weight:800!important}.puzzle-primary:hover{filter:brightness(1.1)}.puzzle-primary:disabled{opacity:.4}.puzzle-hero-art{position:relative;max-width:320px;justify-self:center;background-color:#ffffff70;background-image:radial-gradient(var(--line) 1.3px,transparent 1.3px);background-size:18px 18px;aspect-ratio:1;border:1px solid var(--line);border-radius:40px 40px 70px;padding:25px;transform:rotate(3deg);box-shadow:8px 10px #163a2a08}.puzzle-fold .puzzle-hero-art{transform:rotate(-3deg)}.puzzle-hero-art svg{width:100%;display:block}.puzzle-hero-art>span{display:block;text-align:center;font:9px ui-monospace,monospace;letter-spacing:1px}.puzzle-map-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px}.puzzle-map-meta>span{font:12px ui-monospace,monospace}.puzzle-progress-track{height:5px;background:var(--line);margin:15px 0 30px;border-radius:5px;overflow:hidden}.puzzle-progress-track i{display:block;height:100%;background:var(--ink);transition:width .4s ease}.puzzle-chapter{margin:26px 0}.puzzle-chapter h2{font-size:17px;display:flex;align-items:center;gap:12px;letter-spacing:-.2px;margin:0 0 14px}.puzzle-chapter h2>span{font:11px ui-monospace,monospace;opacity:.65}.puzzle-levels{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.puzzle-levels>button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-height:143px;gap:9px;padding:17px;background:#ffffff75;border:1px solid var(--line);border-radius:16px;color:var(--ink)}.puzzle-levels>button.current{background:var(--accent);border-color:var(--ink);box-shadow:0 4px 0 var(--ink)}.puzzle-levels>button.complete{background:#fff;border-color:var(--ink)}.puzzle-levels>button:hover:not(:disabled){transform:translateY(-3px)}.puzzle-levels>button:disabled{opacity:.55}.puzzle-levels>button>span{font:700 21px ui-monospace,monospace;min-height:25px}.puzzle-levels strong{font-size:13px;line-height:1.4}.puzzle-levels small{font-size:10px;margin-top:auto}.puzzle-map-note{text-align:center;font-size:12px;line-height:1.6;margin:35px 0 0}.puzzle-footer{margin-top:auto;display:flex;justify-content:center;align-items:center;gap:8px;padding:20px 0;font-size:11px;opacity:.8;text-align:center}.puzzle-footer button{border:0;background:transparent;color:var(--ink);min-width:36px;min-height:36px;font-size:20px}.puzzle-play{width:100%;max-width:760px;align-self:center;padding:26px 0 0}.puzzle-level-heading{text-align:center;margin-bottom:22px}.puzzle-level-heading h1{font-size:clamp(26px,4vw,36px);font-weight:900;letter-spacing:-1px;margin:9px 0 5px;line-height:1.15}.puzzle-level-heading p{margin:0;font-size:13px;opacity:.7}.puzzle-table{background:#fffdf7;border:1px solid var(--line);border-radius:26px;box-shadow:0 8px #18382a09;padding:22px 30px}.puzzle-fold .puzzle-table{background:#fdfbff}.puzzle-metrics{display:flex;align-items:center;justify-content:space-between;gap:10px;font:12px ui-monospace,monospace;padding-bottom:20px}.puzzle-metrics b{font-size:18px}.puzzle-board-wrap{display:flex;justify-content:center}.path-board{width:100%;display:block;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:14px;background:#dde7d8;overflow:visible}.path-board text{font-family:Nunito,system-ui,sans-serif;font-weight:900;font-size:21px;pointer-events:none}.path-cell{fill:#fffdf7;transition:fill .12s ease}.path-cell.visited{fill:#d3e8b7}.path-stone{fill:#b4c4ad;stroke:#a6b8a0;stroke-width:1;stroke-dasharray:3 4}.path-head{transform-box:fill-box;transform-origin:center;animation:puzzle-pop .16s ease-out}.path-hint{fill:#d6e98966;stroke:#426d24;stroke-width:3;stroke-dasharray:5 4;animation:puzzle-hint 1s ease-in-out infinite}.puzzle-message{min-height:40px;text-align:center;line-height:1.5;font-size:13px;margin:20px auto 12px;max-width:520px}.puzzle-tools{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.puzzle-tools button{border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:10px;min-height:43px;padding:9px 15px;font-size:12px;font-weight:800}.puzzle-tools button:hover:not(:disabled),.puzzle-tools button[aria-pressed=true]{background:var(--wash)}.puzzle-tools button:disabled{opacity:.4}.puzzle-keyboard{text-align:center;font-size:10px;opacity:.7;margin:16px 0 0}.fold-workspace{display:grid;grid-template-columns:104px minmax(0,1fr);gap:25px;align-items:start}.fold-target{background:#f0edf6;padding:13px 10px;border-radius:12px;display:flex;flex-direction:column;align-items:center;gap:10px;border:1px solid var(--line)}.fold-target>span{font:9px ui-monospace,monospace;letter-spacing:.7px}.fold-target svg{width:100%;background:#fff9;outline:1px solid #ddd6eb}.fold-target small{font-size:9px;line-height:1.5;text-align:center}.fold-board{display:block;width:min(100%,43vh,420px);height:auto;margin:auto;aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;background:#f5f2fa;border:1px solid #ddd6eb;box-shadow:3px 5px #544b8310;overflow:visible}.fold-mat-label{display:block;text-align:center;font:8px ui-monospace,monospace;letter-spacing:1px;margin-top:12px}.fold-controls{display:flex;align-items:end;gap:12px;max-width:510px;margin:20px auto 0}.fold-controls label{display:flex;flex:1;min-width:0;flex-direction:column;gap:6px;font-size:11px;font-weight:800}.fold-controls select{width:100%;min-height:45px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-size:12px}.fold-controls .puzzle-primary{min-height:45px;white-space:nowrap}.puzzle-victory{text-align:center;padding:20px 20px 40px;animation:puzzle-arrive .3s ease-out}.puzzle-win-art{display:flex;align-items:center;justify-content:center;gap:20px;height:190px;margin:5px 0 25px}.puzzle-win-art img{height:190px;max-width:70%;object-fit:contain}.puzzle-win-art>span{font-size:40px;color:var(--ink);animation:puzzle-hint 1.8s ease-in-out infinite}.puzzle-stamp{font:11px ui-monospace,monospace;letter-spacing:1.5px;border:1px dashed var(--ink);border-radius:20px;padding:8px 16px}.puzzle-victory h2{font-size:26px;margin:26px 0 10px;letter-spacing:-.7px}.puzzle-victory p{max-width:390px;margin:0 auto 25px;font-size:14px;line-height:1.7}.puzzle-victory .puzzle-tools{margin-top:18px}@keyframes puzzle-pop{0%{opacity:.6}to{opacity:1}}@keyframes puzzle-hint{50%{opacity:.45}}@keyframes puzzle-arrive{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:700px){.puzzle-shell{padding-left:16px;padding-right:16px}.puzzle-map{padding:28px 0 12px}.puzzle-hero{gap:16px;grid-template-columns:1fr 140px;margin-bottom:34px}.puzzle-hero-art{padding:10px;border-radius:22px}.puzzle-hero-art>span{font-size:6px;letter-spacing:0}.puzzle-hero h1{font-size:43px;letter-spacing:-2px}.puzzle-hero h1 span{font-size:19px}.puzzle-hero p{font-size:13px}.puzzle-overline{font-size:9px;letter-spacing:1px}.puzzle-levels{gap:8px}.puzzle-levels>button{min-height:129px;padding:12px 9px}.puzzle-levels strong{font-size:11px}.puzzle-levels small{font-size:9px}.puzzle-table{padding:18px 15px}.fold-workspace{grid-template-columns:80px minmax(0,1fr);gap:15px}.puzzle-header{padding:14px 0}.puzzle-wordmark{font-size:23px}.puzzle-play{padding-top:22px}.puzzle-metrics{font-size:10px}.puzzle-tools button{padding:9px 12px}.puzzle-level-heading{margin-bottom:18px}}@media(max-width:450px){.puzzle-hero{grid-template-columns:1fr}.puzzle-hero-art{display:none}.puzzle-hero h1{font-size:48px}.puzzle-hero p{max-width:310px}.puzzle-levels{grid-template-columns:repeat(3,minmax(0,1fr))}.puzzle-levels>button{min-height:118px}.puzzle-table{border-radius:18px;padding:16px 11px}.puzzle-header{gap:12px}.puzzle-header-actions{gap:5px}.puzzle-wordmark small{font-size:8px}.puzzle-icon-button{width:44px;height:44px}.fold-workspace{grid-template-columns:65px minmax(0,1fr);gap:10px}.fold-target{padding:9px 5px;gap:6px}.fold-target>span{font-size:7px}.fold-target small{font-size:8px}.fold-controls{gap:8px}.fold-controls .puzzle-primary{padding:10px 16px;font-size:13px}.fold-controls select{font-size:11px;padding:8px 5px}.puzzle-metrics{font-size:9px}.puzzle-tools{gap:5px}.puzzle-tools button{font-size:11px;padding:9px;min-height:44px}.puzzle-footer button{min-width:44px;min-height:44px}.puzzle-message,.puzzle-map-meta{font-size:12px}.puzzle-win-art,.puzzle-win-art img{height:160px}.puzzle-victory{padding-left:0;padding-right:0}}@media(prefers-reduced-motion:reduce){.puzzle-dialog *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.puzzle-path{--wash:#f3f2e4;--line:#c9dac3;--accent:#dceecb}.puzzle-fold{--wash:#f6f0f5;--line:#d8cce5;--accent:#e3daf3}.puzzle-hero-art{padding:12px;background-color:#fffaf1;border:2px solid var(--line);box-shadow:8px 10px #28544b12,0 16px 25px #28544b0c}.puzzle-hero-scene{display:block;width:100%;height:auto;filter:drop-shadow(0 4px 3px #304b3d14)}.puzzle-hero-mori{position:absolute;right:-29px;bottom:7px;width:110px;height:110px;object-fit:contain;filter:drop-shadow(0 6px 2px #224e4626)}.puzzle-hero-art>span{position:absolute;left:16px;bottom:13px;padding:5px 8px;border-radius:12px;background:#fff9e9df;color:var(--ink);font-weight:800}.puzzle-fold .puzzle-hero-art>span{background:#fff7f3e8}.puzzle-chapter h2:before{content:"";width:28px;height:28px;flex:none;background-size:contain;background-repeat:no-repeat}.puzzle-path .puzzle-chapter h2:before{background-image:url(/games/mori-puzzles/path-icon.svg)}.puzzle-fold .puzzle-chapter h2:before{background-image:url(/games/mori-puzzles/fold-icon.svg)}.puzzle-path .puzzle-table{background:#fffbef;border-color:#cdddc5;box-shadow:0 8px #9ebc962e}.puzzle-fold .puzzle-table{background:#fffaf7;border-color:#dfd3e8;box-shadow:0 8px #baaacc38}.path-board{background:#e8efdc url(/games/mori-puzzles/path-board-bg.svg) repeat;border:2px solid #bfd3b9;box-shadow:inset 0 0 0 4px #f8f5e8,0 5px 10px #456b5818}.path-cell{fill:#fffaf0;stroke:#aec8a7;stroke-width:1.8}.path-cell.visited{fill:#e3efd1;stroke:#78ad7c}.fold-mat{padding:14px;border:1px solid #e1d5e9;border-radius:17px;background:#fbf7fc;box-shadow:0 5px #c7b7d624}.fold-board{background:#f6f0f8 url(/games/mori-puzzles/fold-mat.svg) repeat;background-size:120px 120px;border:2px solid #cfc0e0;box-shadow:0 4px #c9b9db,0 9px 14px #51447416}.fold-target{background:#f8f2f8;border:2px dashed #cabada;box-shadow:0 4px #e1d8eb}.fold-target svg{background:#fcf9f3 url(/games/mori-puzzles/fold-mat.svg) repeat;background-size:80px 80px;border-radius:5px}.puzzle-stamp{background:#fff9ed}@media(max-width:700px){.puzzle-hero-mori{right:-16px;bottom:0;width:75px;height:75px}.fold-mat{padding:8px}}@media(max-width:450px){.puzzle-hero-art{display:block;width:210px;margin:8px auto 0}.puzzle-hero-mori{width:80px;height:80px}.puzzle-hero-art>span{font-size:7px}.puzzle-chapter h2:before{width:23px;height:23px}}.journey-panel{margin:30px 0 38px;border:1px solid #eaded3;border-radius:25px;background:#fff;box-shadow:0 12px 32px #6542310d;overflow:hidden}.journey-head{background:linear-gradient(110deg,#f7efe1,#fff8ee 65%,#fce7de);padding:26px 30px;display:flex;justify-content:space-between;align-items:center;gap:20px}.journey-head h2{font-size:30px;margin:6px 0}.journey-head p{font-size:13px;color:#786b69;max-width:670px;margin:0}.journey-head img{height:115px;width:105px;object-fit:contain;flex:none}.journey-panel>.form-error,.journey-panel>p{margin:18px 26px}.journey-start,.journey-finished{padding:25px 30px}.journey-start p,.journey-finished p{font-size:14px;color:#786d70;max-width:630px}.journey-finished blockquote{margin:15px 0;padding:11px 15px;border-left:3px solid #d7bd9e;color:#736469;background:#fff8ee}.journey-finished small{display:block;margin-top:10px;color:#8d7d80}.course-roadmap{padding:24px 30px;background:#fffdfb;border-bottom:1px solid #f0e7e1}.course-roadmap-title{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:15px}.course-roadmap-title h3{font:800 19px Nunito,sans-serif;margin:5px 0 0;color:#4d4146}.course-count{border-radius:30px;background:#f9eee8;padding:8px 12px;color:#99706a;font-size:11px;font-weight:800;white-space:nowrap}.course-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.course-module{display:grid;grid-template-columns:31px 1fr;align-items:start;gap:10px;border:1px solid #eee4dd;border-radius:15px;padding:14px 13px;background:#fff;transition:border-color .2s,transform .2s}.course-module.is-current{border-color:#e3ad9b;box-shadow:0 5px 16px #bb826411;transform:translateY(-2px)}.course-module.is-complete{background:#f7fbf4;border-color:#deead9}.course-module-number{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#fff0e9;color:#c78274;font-weight:900;font-size:12px}.course-module.is-complete .course-module-number{background:#dcebd8;color:#577b60}.course-module h4{font:800 14px Nunito,sans-serif;margin:1px 0 5px;color:#53454b}.course-module p{font-size:11px;line-height:1.5;color:#897a7f;margin:0 0 8px}.course-module p strong{color:#75636a}.course-module ol{margin:0;padding-left:17px;color:#8f8285;font-size:10px;line-height:1.6}.course-module li{padding-left:2px}.course-module li.is-active{font-weight:900;color:#c47468}.course-module li.is-done{color:#69846a;text-decoration:line-through;text-decoration-color:#b2c6ac}.course-active-label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-2px 0 14px;padding:10px 13px;border-radius:11px;background:#fff6ee;color:#916e64;font-size:12px}.course-active-label strong{color:#aa786e;font-size:11px}.course-assessment{margin:20px 0;padding:20px 21px;border:1px solid #e5e9d7;border-radius:17px;background:linear-gradient(135deg,#f9faef,#fffaf4)}.course-assessment h4{font:800 17px Nunito,sans-serif;margin:6px 0 13px;color:#4e4940}.course-assessment-options{display:grid;gap:8px}.course-assessment-options button{border:1px solid #e4ded5;background:#fff;border-radius:12px;padding:11px 13px;text-align:left;color:#6d6262;font-size:12px;line-height:1.45;font-weight:700;cursor:pointer}.course-assessment-options button:hover,.course-assessment-options button.selected{border-color:#d6a293;background:#fff6f1;color:#8f6057}.course-assessment-feedback{margin:12px 0 0;padding:11px 13px;background:#fff;border-radius:11px;color:#617660;font-size:12px;line-height:1.55}.course-assessment-options button:focus-visible{outline:3px solid #eac0ae;outline-offset:2px}.journey-body{padding:25px 30px 30px}.journey-progress{display:flex;align-items:center;justify-content:space-between;gap:15px;color:#a07169;font-size:12px;font-weight:900;margin-bottom:18px}.journey-progress>div{display:flex;gap:5px}.journey-progress>div span{width:23px;height:6px;background:#eee4dd;border-radius:10px}.journey-progress>div span.active{background:#e69b88}.journey-continuity{background:#eff7ee;border:1px solid #dbead7;border-radius:14px;padding:13px 17px;margin:0 0 18px;font-size:13px;color:#5b745d}.journey-continuity p{margin:3px 0}.journey-continuity blockquote{margin:7px 0 0;font-style:italic}.journey-task{border:1px solid #eee2d9;border-radius:18px;overflow:hidden}.journey-task-head{padding:21px 23px 13px;background:#fffbf7}.journey-task-head span{font-size:11px;color:#ae7e71;font-weight:800}.journey-task-head h3{font-size:23px;margin:6px 0 4px}.journey-task-head p{font-size:13px;color:#776b6f;margin:0}.journey-task-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(230px,1fr);gap:27px;padding:19px 23px 24px}.journey-task-grid h4,.journey-reflect h4,.journey-sequence h4{font-family:Nunito,sans-serif;font-size:17px;margin:0 0 8px}.journey-task-grid p,.journey-task-grid li{font-size:13px;color:#71676b;line-height:1.6}.journey-task-grid ol{padding-left:20px}.journey-task-grid li{padding-left:4px;margin:9px 0}.journey-say{background:#fff3ea;padding:13px 15px;border-radius:13px}.journey-say strong,.journey-help strong,.journey-safety-title{font-size:12px;color:#926d66}.journey-say p{margin:4px 0 0}.journey-task-grid aside{border-left:1px solid #f1e7e0;padding-left:22px}.journey-mori{display:flex;align-items:center;gap:10px}.journey-mori img{height:80px;width:64px;object-fit:contain}.journey-mori p{background:#f4f6e9;border-radius:13px;padding:10px;margin:0}.journey-text-button{border:0;background:none;padding:7px 0;font-size:12px;color:#b27468;font-weight:800;text-align:left}.journey-help{padding:12px 14px;border-radius:12px;background:#f9f6f1;margin:4px 0 13px}.journey-help p{margin:2px 0 10px}.journey-safety-title{display:block;margin-top:12px}.journey-safety{margin:4px 0 15px!important}.journey-task-grid aside>.button{white-space:normal;text-align:left}.journey-sequence{background:#f5f9ef;border:1px solid #dcebd6;border-radius:17px;padding:19px 22px;margin:19px 0}.journey-sequence>p,.journey-sequence small{font-size:12px;color:#657366}.journey-sequence-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:13px 0}.journey-sequence-choices{display:flex;gap:9px;flex-wrap:wrap}.journey-sequence-choices button,.journey-responses button{border:1px solid #e4d9d0;background:#fff;border-radius:12px;padding:10px 13px;color:#695d61;font-weight:800;font-size:12px}.journey-sequence-choices button:hover,.journey-responses button:hover{border-color:#dfa999}.journey-sequence-result{margin:10px 0;background:#fff;border-radius:10px;padding:10px;font-size:13px;font-weight:800;color:#5e8065}.journey-sequence small{display:block}.journey-reflect{border-top:1px solid #efe6df;margin-top:22px;padding-top:22px}.journey-reflect>p{font-size:12px;color:#8a7d81}.journey-responses{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.journey-responses button.selected{background:#e8f2e6;border-color:#adcfb3;color:#57765e}.journey-reflect label{max-width:700px}.journey-reflect textarea{min-height:70px}.journey-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.journey-source{display:inline-block;font-size:11px;color:#a56f64;margin-top:19px}.journey-print-overlay{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;z-index:100;background:#e8e2da}.journey-print-toolbar{height:64px;padding:9px 24px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px}.journey-print-sheet{width:min(210mm,calc(100% - 26px));min-height:285mm;margin:24px auto;padding:22mm 17mm;background:#fff;box-shadow:0 14px 30px #36282722}.journey-print-sheet h1{font-size:36px;margin:10px 0}.journey-print-sheet>p{font-size:15px}.journey-print-cards{display:grid;grid-template-columns:1fr 1fr;gap:17px;margin:35px 0}.journey-print-cards>div{height:280px;border:2px dashed #d3bbab;border-radius:18px;padding:20px;display:flex;flex-direction:column;justify-content:space-between}.journey-print-cards strong{font-family:Nunito;font-size:19px}.journey-print-cards span{font-size:11px;color:#a59590}.journey-print-note{background:#fff6eb;padding:16px 20px;border-radius:13px}.journey-print-note p{margin:7px 0 0}.journey-print-sheet footer{font-size:11px;color:#8b7c7b;margin-top:30px}@media(max-width:700px){.journey-head{padding:21px;align-items:flex-end}.journey-head h2{font-size:25px}.journey-head img{height:78px;width:65px}.course-roadmap{padding:20px 18px}.course-roadmap-title{align-items:start;flex-direction:column}.course-roadmap-title h3{font-size:17px}.course-module-grid{grid-template-columns:1fr}.course-module{padding:12px}.journey-body{padding:18px}.journey-task-grid{grid-template-columns:1fr;gap:15px;padding:15px}.journey-task-grid aside{border-left:0;border-top:1px solid #f1e7e0;padding-left:0;padding-top:15px}.journey-sequence-inputs{grid-template-columns:1fr}.journey-actions .button{white-space:normal;flex:1}.journey-print-cards{grid-template-columns:1fr}.journey-print-toolbar{height:auto;flex-wrap:wrap}.journey-print-sheet{padding:25px;min-height:0}.course-assessment{padding:16px}.course-active-label{align-items:flex-start;flex-direction:column}}@media print{body:has(.journey-print-overlay) .app-shell{display:none!important}body:has(.journey-print-overlay) .journey-print-overlay{position:static;background:#fff;overflow:visible}body:has(.journey-print-overlay) .journey-print-toolbar{display:none!important}body:has(.journey-print-overlay) .journey-print-sheet{width:100%;min-height:0;margin:0;padding:0;box-shadow:none}body:has(.journey-print-overlay) .journey-print-cards{grid-template-columns:1fr 1fr}}.journey-source-credit{margin:16px 0 0;padding:13px 16px;border:1px solid #e6e9dc;border-radius:13px;background:#f8faef;color:#6b7060;font-size:11px;line-height:1.55}.journey-source-credit strong{color:#627451}.journey-source-credit p{margin:5px 0}.journey-source-credit a{color:#a56f64;font-weight:800}.journey-source-credit small{display:block;color:#817a70}.journey-panel{border:3px solid #315d4d;border-radius:26px;box-shadow:0 8px #bfd2aa,0 18px 30px #315d4d12}.journey-head{background:linear-gradient(115deg,#dcecc8,#fff0c5 62%,#ffd8c8);border-bottom:2px solid #315d4d}.journey-head .eyebrow{color:#315d4d}.journey-head img{filter:drop-shadow(2px 3px 0 #315d4d);animation:journey-mori 3s ease-in-out infinite}.course-roadmap{background:#fffdf4;border-bottom:2px dashed #bfd2aa}.course-count{border:2px solid #315d4d;background:#dff0bd;color:#315d4d}.course-module{border:2px solid #c5d6b8;border-radius:18px;box-shadow:0 3px #d9e6cf;transition:transform .18s,border-color .18s,box-shadow .18s}.course-module:hover{transform:translateY(-2px) rotate(-.25deg);box-shadow:0 5px #d1e1c4}.course-module.is-current{border:2px solid #315d4d;background:#f2f8df;box-shadow:0 5px #b6cd9f;transform:translateY(-3px)}.course-module.is-current .course-module-number{background:#cde980;color:#315d4d;border:2px solid #315d4d}.course-module.is-complete .course-module-number{border:2px solid #315d4d}.journey-progress>div span{height:10px;border:1px solid #315d4d;background:#f2efe2}.journey-progress>div span.active{background:#cde980;box-shadow:0 1px #315d4d}.journey-task{border:2px solid #315d4d;border-radius:20px;box-shadow:0 5px #d5e2c8}.journey-task-head{background:#fff2d7;border-bottom:2px dashed #bfd2aa}.journey-task-head>span{display:inline-block;padding:6px 9px;border:1px solid #315d4d;border-radius:99px;background:#e7f2d7;color:#315d4d}.journey-say,.journey-sequence,.course-assessment{border:2px solid #b5cb9e;box-shadow:0 3px #dce8ce}.journey-responses button,.journey-sequence-choices button,.course-assessment-options button{border:2px solid #bdcfae;box-shadow:0 3px #e0e9d7;transition:transform .15s,background .15s,border-color .15s}.journey-responses button.selected,.journey-sequence-choices button:hover,.course-assessment-options button.selected{border-color:#315d4d;background:#e7f2d7;color:#315d4d;box-shadow:0 3px #a9c293;transform:translateY(-2px)}.journey-panel .button-primary{border:2px solid #315d4d;box-shadow:0 4px #315d4d}@keyframes journey-mori{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media(max-width:700px){.journey-panel{margin:22px 0 30px;border-radius:21px}.journey-head{padding:18px;align-items:center}.journey-head img{height:68px;width:57px}.journey-head h2{font-size:23px;line-height:1.14}.course-roadmap{padding:18px 15px}.course-module-grid{gap:10px}.course-module{grid-template-columns:30px minmax(0,1fr);gap:9px;padding:12px}.course-module p,.course-module ol{font-size:12px}.journey-body{padding:16px 14px 20px}.journey-progress{align-items:flex-start;flex-direction:column;gap:9px}.journey-progress>div{width:100%;gap:5px}.journey-progress>div span{flex:1;width:auto;height:9px}.journey-task-head{padding:16px 15px 13px}.journey-task-head h3{font-size:21px;line-height:1.2}.journey-task-grid{padding:15px;gap:12px}.journey-responses{display:grid;grid-template-columns:1fr;gap:8px}.journey-responses button{min-height:46px;text-align:left}.journey-sequence-choices button,.course-assessment-options button,.journey-task-grid .journey-text-button{min-height:44px}.journey-actions{display:grid;grid-template-columns:1fr}.journey-actions .button{min-height:48px}}@media(prefers-reduced-motion:reduce){.journey-head img{animation:none}.course-module,.journey-responses button,.journey-sequence-choices button,.course-assessment-options button{transition:none}}.learning-hub{margin:20px 0 42px}.learning-hub-intro{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:20px}.learning-hub-intro h2{font:900 clamp(26px,3vw,34px) Nunito,sans-serif;color:#315d4d;margin:7px 0}.learning-hub-intro p{max-width:690px;color:#71676b;font-size:14px;margin:0;line-height:1.6}.learning-hub-count{display:flex;align-items:center;gap:7px;white-space:nowrap;padding:11px 14px;border:2px solid #315d4d;border-radius:16px;background:#e7f2d7;box-shadow:0 3px #bdd1ac;color:#315d4d;font-size:12px}.learning-hub-count span{font-weight:700}.learning-age-filters{display:flex;gap:9px;overflow-x:auto;padding:3px 2px 12px;margin:0 0 18px;scrollbar-width:thin}.learning-age-filters button{flex:none;min-height:44px;padding:9px 15px;border:2px solid #b8cdaa;border-radius:99px;background:#fffdf5;color:#53695a;font-weight:900;font-size:12px;white-space:nowrap;box-shadow:0 3px #d9e6cf}.learning-age-filters button.active{border-color:#315d4d;background:#cde980;color:#315d4d;box-shadow:0 3px #315d4d}.learning-age-group{margin:23px 0 30px}.learning-age-group>header{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:13px;padding:0 2px}.learning-age-group>header h3{font:900 22px Nunito,sans-serif;color:#315d4d;margin:3px 0}.recommended-label,.learning-course-recommended{display:inline-flex;align-items:center;gap:5px;color:#315d4d;background:#e8f4d0;border:1px solid #b7cf9d;border-radius:99px;padding:6px 10px;font-size:11px;font-weight:900}.learning-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.learning-course-card{min-width:0;display:flex;flex-direction:column;padding:19px;border:2px solid #315d4d;border-radius:21px;background:#fffdf6;box-shadow:0 5px #c9d9b9}.learning-course-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.learning-course-age{color:#426d56;font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.learning-course-recommended{padding:4px 8px;font-size:9px}.learning-course-card h4{font:900 21px/1.2 Nunito,sans-serif;color:#315d4d;margin:12px 0 8px}.learning-course-description{color:#746b6d;font-size:13px;line-height:1.55;margin:0 0 13px}.learning-course-fit-note,.journey-age-note{padding:10px 12px;border:1px solid #e5cf91;border-radius:12px;background:#fff8e6;color:#715d3b;font-size:11px;line-height:1.5}.learning-course-fit-note{margin:0 0 12px}.journey-age-note{margin:10px 0 0!important}.learning-course-meta{display:flex;flex-wrap:wrap;gap:8px 14px;color:#6c7c68;font-size:11px;font-weight:800;margin:0 0 14px}.learning-course-meta span{display:inline-flex;align-items:center;gap:5px}.learning-course-progress{padding:12px 13px;border-radius:14px;background:#f2f7e8;border:1px solid #d5e3c8;margin-bottom:12px}.learning-course-progress>div:first-child{display:flex;justify-content:space-between;gap:8px;color:#63765e;font-size:11px;font-weight:800}.learning-course-progress strong{color:#315d4d}.learning-progress-track{height:9px;border-radius:99px;background:#fff;border:1px solid #9db88a;overflow:hidden;margin:8px 0 5px}.learning-progress-track span{display:block;height:100%;border-radius:inherit;background:#acd46a;transition:width .25s ease}.learning-course-progress small{color:#7e8776;font-size:10px}.learning-course-outline{border-top:1px dashed #cbd9bf;border-bottom:1px dashed #cbd9bf;margin:0 0 13px}.learning-course-outline summary{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;color:#496b53;font-size:12px;font-weight:900;list-style:none}.learning-course-outline summary::-webkit-details-marker{display:none}.learning-course-outline summary:after{content:"+";display:grid;place-items:center;width:26px;height:26px;border:1px solid #a9c297;border-radius:50%;font-size:17px}.learning-course-outline[open] summary:after{content:"−"}.learning-course-outline summary span{margin-left:auto;color:#8b7d78;font-size:10px;font-weight:700}.learning-course-outline>div{padding:1px 0 8px}.learning-course-outline section{padding:8px 0 9px;border-top:1px solid #edf1e8}.learning-course-outline h5{display:flex;align-items:center;gap:7px;color:#315d4d;font:900 12px Nunito,sans-serif;margin:0 0 4px}.learning-course-outline h5 span{display:grid;place-items:center;width:21px;height:21px;border:1px solid #315d4d;border-radius:50%;background:#e9f2d8}.learning-course-outline p{font-size:11px;color:#778072;line-height:1.45;margin:0 0 5px}.learning-course-outline ol{list-style:none;padding:0;margin:0;display:grid;gap:4px}.learning-course-outline li{display:flex;align-items:center;gap:5px;color:#70686a;font-size:11px;line-height:1.4;padding:3px 0}.learning-course-outline li.is-done{color:#477259;font-weight:800}.learning-course-footer{display:flex;flex-direction:column;gap:10px;margin-top:auto}.learning-course-footer>.button{justify-content:center;min-height:46px;white-space:normal}.learning-badges{display:flex;flex-wrap:wrap;gap:6px;min-height:22px}.learning-badges span,.journey-earned-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 9px;border:1px solid #d4dfbf;border-radius:99px;background:#eef5df;color:#57734f;font-size:10px;font-weight:900}.learning-badges .earned,.journey-earned-badge{border-color:#95b67d;background:#dff0bd;color:#315d4d}.learning-hub-loading,.learning-hub-empty{padding:16px;border-radius:15px;background:#fffdf6;color:#607262}.journey-back{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:8px 13px;border:2px solid #315d4d;border-radius:14px;background:#fffdf6;color:#315d4d;font-weight:900;box-shadow:0 3px #c9d9b9}.journey-outcomes{display:grid;gap:5px;padding:0;margin:12px 0 0;list-style:none}.journey-outcomes li{display:flex;align-items:flex-start;gap:6px;color:#4f7256;font-size:12px;line-height:1.45}.journey-outcomes svg{flex:none;margin-top:1px}.journey-inspiration{font-size:11px!important;line-height:1.5;margin-top:9px!important;color:#65745e!important}.journey-learning-outcome,.journey-micro-lesson,.journey-artifact,.journey-age-adaptation,.journey-final-project{padding:13px 15px;border:1px solid #b5cb9e;border-radius:14px;background:#f2f7e8;margin:0 0 13px;color:#4e6b52}.journey-learning-outcome strong,.journey-artifact strong,.journey-age-adaptation strong,.journey-final-project>strong{font:900 12px Nunito,sans-serif;color:#315d4d}.journey-learning-outcome p,.journey-micro-lesson p,.journey-artifact p,.journey-age-adaptation p,.journey-final-project p{margin:5px 0 0;color:#607063;font-size:12px;line-height:1.55}.journey-micro-lesson{background:#fff8e6;border-color:#e5cf91}.journey-micro-lesson .eyebrow{font-size:9px;color:#81643b}.journey-micro-lesson p{font-size:13px;color:#625545}.journey-artifact{background:#fff3e9;border-color:#e7c2ad}.journey-age-adaptation{margin-top:12px}.journey-parent-check>p{font-size:13px;line-height:1.55;color:#637064}.journey-parent-check small{display:block;color:#7a7d70;font-size:11px;line-height:1.5}.journey-final-project ul{margin:9px 0;padding-left:19px;color:#607063;font-size:12px;line-height:1.6}.journey-final-project small{color:#6d7d66;line-height:1.5}.journey-finished .journey-earned-badge{margin:0 0 12px}.learning-progress-overview .section-head{align-items:flex-end}.learning-progress-overview .section-head>.button{min-height:44px;white-space:nowrap}.learning-progress-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.learning-progress-card{display:grid;gap:10px;min-width:0;padding:16px;border:2px solid #315d4d;border-radius:18px;background:#fffdf6;box-shadow:0 4px #c9d9b9}.learning-progress-card h3{font:900 17px/1.25 Nunito,sans-serif;color:#315d4d;margin:6px 0 0}.learning-progress-empty{display:grid;gap:8px;padding:18px;border:2px dashed #b8cdaa;border-radius:16px;background:#fffdf6;color:#617262}.learning-progress-empty strong{color:#315d4d}.learning-progress-empty span{font-size:13px}.learning-progress-empty .button{justify-self:start;margin-top:4px}.journey-age-adaptation small{display:block;margin-top:7px;color:#71806e;font-size:11px;line-height:1.5}@media(max-width:760px){.learning-progress-overview .section-head{align-items:flex-start;flex-direction:column}.learning-progress-grid{grid-template-columns:1fr}.learning-progress-overview .section-head>.button{width:100%;justify-content:center;white-space:normal}}@media(max-width:760px){.learning-hub-intro{align-items:flex-start;flex-direction:column}.learning-hub-count{align-self:flex-start}.learning-course-grid{grid-template-columns:1fr}.learning-age-group>header{align-items:flex-start;flex-direction:column}.learning-course-card{padding:16px}.learning-course-card h4{font-size:20px}}@media(prefers-reduced-motion:reduce){.learning-progress-track span{transition:none}}:root{font-family:DM Sans,system-ui,sans-serif;color:#363037;background:#fffaf4;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Nunito,system-ui,sans-serif}h1{font-weight:900;letter-spacing:-.045em}h2{font-weight:900;letter-spacing:-.035em}h3{font-weight:800;letter-spacing:-.02em}p{line-height:1.6}button:disabled{opacity:.6;cursor:not-allowed}:focus-visible{outline:3px solid #ec9f8b;outline-offset:3px}.eyebrow{display:inline-flex;align-items:center;gap:7px;color:#a66e61;font-size:11px;font-weight:800;letter-spacing:.14em}.brand-mark{width:31px;height:31px;border-radius:10px;display:inline-grid;place-items:center;background:#f8b8a9;color:#fff;font-size:23px;line-height:1;transform:rotate(-8deg)}.brand-name{font-family:Nunito,sans-serif;font-size:24px;font-weight:900;letter-spacing:-.07em;color:#3c353a}.brand-name span{color:#e89586}.mori{object-fit:contain;display:block}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:14px;min-height:43px;padding:10px 17px;font-size:13px;font-weight:800;white-space:nowrap;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:#e89586;color:#fff;box-shadow:0 7px 18px #d8887640}.button-primary:hover{background:#d78474}.button-secondary{background:#fff;color:#66575d;border:1px solid #eee4dd;box-shadow:0 3px 12px #4f2a1210}.button-secondary.pressed{color:#d67473;border-color:#eec2ba;background:#fff4f1}.button-ghost{background:transparent;color:#7a696f}.button-dark{background:#42373d;color:#fff}.button-wide{width:100%;justify-content:center}.icon-button{border:0;background:#fff;border-radius:12px;display:grid;place-items:center;width:38px;height:38px;color:#6b5c61}.icon-button:hover{background:#fff0e9}input,select,textarea{border:1px solid #e8ded8;border-radius:12px;background:#fff;color:#3e353a;outline:none}input:focus,select:focus,textarea:focus{border-color:#e89c8b;box-shadow:0 0 0 3px #f9e1d9}label{display:grid;gap:8px;font-size:12px;font-weight:800;color:#5b4d53}label input,label select,label textarea{width:100%;padding:12px 13px;min-height:44px;font-size:14px;font-weight:500}.form-error{background:#fff0ef;border:1px solid #fac8c4;color:#ad4b4b;border-radius:12px;padding:11px 13px;font-size:13px;margin:10px 0}.success-note{background:#eef8ed;color:#477c55;border-radius:12px;padding:12px 15px;margin:12px 0}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.grace-banner{background:#fff0d9;color:#856036;padding:11px 20px;text-align:center;font-size:13px}.empty-state{border:1px dashed #e7d8cf;border-radius:18px;padding:35px;text-align:center;color:#877780;background:#fffdf9}.toast{position:fixed;bottom:26px;right:28px;z-index:100;background:#393239;color:#fff;padding:14px 17px;border-radius:13px;box-shadow:0 15px 40px #2f202440;display:flex;gap:9px;align-items:center;max-width:350px;font-size:13px}.auth-page{min-height:100vh;position:relative;overflow:hidden;background:#fff9f2;padding:26px max(26px,calc((100vw - 1180px)/2)) 40px}.auth-page:before{content:"";position:absolute;right:-170px;top:-220px;width:620px;height:620px;border-radius:50%;background:#ffece4}.auth-page:after{content:"";position:absolute;left:-180px;bottom:-270px;width:600px;height:600px;border-radius:50%;background:#fff1d8}.auth-ornament{position:absolute;border-radius:50%;z-index:0}.auth-ornament-one{width:16px;height:16px;background:#eec3c3;left:44%;top:17%}.auth-ornament-two{width:23px;height:23px;border:5px solid #d5e5d2;right:14%;bottom:13%}.auth-header{position:relative;z-index:2;display:flex;align-items:center;gap:10px}.auth-wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:8%;min-height:calc(100vh - 85px)}.auth-story{position:relative;padding-top:44px;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.auth-story h1{font-size:clamp(48px,5.8vw,76px);line-height:1.04;margin:20px 0 18px}.auth-story h1 em,.page-title h1 em{font-style:normal;color:#e99585}.auth-story>p{font-size:16px;color:#71666a;max-width:485px}.auth-feature-row{display:flex;gap:18px;flex-wrap:wrap;color:#8e6866;font-size:12px;font-weight:700;margin-top:12px}.auth-art{position:relative;height:310px;margin-top:0;max-width:520px}.sun-disc{position:absolute;width:340px;height:250px;background:#fbdacb;border-radius:53% 47% 50% 50%;left:35px;bottom:12px;transform:rotate(-12deg)}.auth-art .mori{position:absolute;bottom:-2px;left:82px;height:345px;width:auto;filter:drop-shadow(0 12px 14px #7d493022)}.floating-note{position:absolute;background:#fff;border:1px solid #f3e6de;border-radius:13px;padding:10px 13px;font-size:12px;color:#755f63;font-weight:800;box-shadow:0 10px 25px #8e6c5e1f;transform:rotate(-7deg)}.note-one{left:0;top:95px}.note-two{right:5%;top:36px;transform:rotate(8deg)}.auth-card{background:#fff;border:1px solid #f2e8e0;border-radius:26px;box-shadow:0 25px 70px #8055421a;padding:38px;max-width:470px;width:100%;justify-self:end}.auth-card-top{display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.15em;font-weight:900;color:#ae8178}.little-flower{font-size:24px;color:#e69a87}.auth-card h2{font-size:36px;line-height:1.15;margin:12px 0}.auth-card p{font-size:14px;color:#807277;margin-bottom:26px}.auth-card form{display:grid;gap:17px}.auth-card input{height:47px}.auth-card .button{margin-top:3px;min-height:49px}.auth-help{font-size:12px;color:#8c7c80;text-align:center;margin:25px 0 0}.auth-help a{color:#d98475;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;gap:3px}.auth-foot{border-top:1px solid #f1e8e1;padding-top:22px;margin-top:24px;text-align:center;font-size:11px;color:#ab9ba0}.loading-screen{min-height:100vh;display:grid;place-content:center;text-align:center;color:#9d7370;font-weight:700;gap:12px}.loading-screen .mori{height:170px;margin:auto}.onboarding{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 25% 15%,#ffe9dc,transparent 34%),#fff9f2}.onboarding-card{background:#fff;border:1px solid #f0e3dc;border-radius:25px;box-shadow:0 20px 70px #8159411a;max-width:500px;width:100%;padding:30px 40px 40px;text-align:center}.onboarding-card .mori{height:140px;margin:auto}.onboarding-card h1{font-size:34px;margin:9px 0}.onboarding-card p{color:#83777b;font-size:14px}.child-form{text-align:left;margin-top:20px;display:grid;gap:14px}.app-shell{min-height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr);background:#fffaf5}.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid #f1e8e1;padding:28px 16px;display:flex;flex-direction:column}.sidebar-brand{display:flex;align-items:center;gap:9px;margin:0 9px 46px}.sidebar-caption{font-size:10px;font-weight:900;letter-spacing:.16em;color:#b3a5a9;margin:0 15px 14px}.sidebar nav{display:grid;gap:5px}.sidebar nav button,.sidebar-bottom>button{border:0;background:transparent;min-height:46px;border-radius:13px;padding:11px 15px;display:flex;align-items:center;gap:13px;text-align:left;color:#786d72;font-size:13px;font-weight:800;width:100%}.sidebar nav button.active{background:#fff0eb;color:#d98072}.sidebar nav button:hover,.sidebar-bottom>button:hover{background:#fff6f0}.sidebar-bottom{margin-top:auto}.sidebar-mori{background:#fff4e9;border-radius:18px;min-height:138px;display:flex;align-items:flex-end;overflow:hidden;margin-bottom:16px}.sidebar-mori .mori{width:98px;height:133px;align-self:end;margin-left:-8px;margin-bottom:-4px}.sidebar-mori div{align-self:center;margin-left:-5px}.sidebar-mori strong{font-family:Nunito;font-size:14px;line-height:1.25;display:block}.sidebar-mori span{display:block;color:#aa7972;font-size:11px;margin-top:6px}.main-content{min-width:0;max-width:1500px;width:100%;padding:0 42px 70px;margin:auto}.topbar{height:83px;display:flex;justify-content:flex-end;align-items:center;border-bottom:1px solid #f0e5df;margin-bottom:31px}.topbar-right{display:flex;align-items:center;gap:16px}.today-date{display:flex;gap:7px;align-items:center;color:#91858a;font-size:12px;font-weight:700}.child-select{position:relative}.child-select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:22px;padding:10px 35px 10px 15px;font-weight:800;color:#5a484e;background:#fff}.child-select svg{position:absolute;right:13px;top:13px;pointer-events:none}.add-child{border:1px solid #eee1d9}.mobile-brand,.mobile-nav{display:none}.welcome-banner{height:260px;border-radius:25px;background:linear-gradient(105deg,#f9e0d3,#fceee1 58%,#fff2db);overflow:hidden;position:relative;padding:33px 40px;display:flex;justify-content:space-between}.welcome-copy{position:relative;z-index:2;max-width:580px}.welcome-copy .eyebrow{color:#bd806f}.welcome-copy h1{font-size:clamp(30px,3vw,46px);line-height:1.1;margin:16px 0 8px}.welcome-copy h1 span{color:#e99080}.welcome-copy>p{font-size:14px;color:#775e61;margin-bottom:25px}.welcome-actions{display:flex;align-items:center;gap:18px}.welcome-actions>span{font-size:12px;color:#9a7372;font-weight:700}.welcome-art{position:absolute;right:42px;bottom:0;width:265px;height:260px}.welcome-circle{position:absolute;width:240px;height:220px;background:#f7cfbd;border-radius:50%;bottom:-42px;right:0}.welcome-art .mori{position:absolute;bottom:-32px;right:5px;height:270px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:36px 0 21px}.section-head h2{font-size:27px;margin:5px 0 3px}.section-head p{font-size:13px;color:#95888b;margin:0}.daily-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.daily-card{display:flex;flex-direction:column;background:#fff;border:1px solid #f0e5df;border-radius:21px;padding:20px 21px;box-shadow:0 5px 25px #64432d0a;min-height:315px}.daily-top{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.11em;font-weight:900;color:#ad9599}.daily-top button{border:0;background:transparent;color:#c18d83;font-size:11px;font-weight:800;display:flex;gap:5px;align-items:center}.daily-icon{width:49px;height:49px;border-radius:16px;display:grid;place-items:center;font-size:24px;color:#fff;margin:17px 0}.pillar-badge{display:inline-flex;align-items:center;gap:5px;width:max-content;padding:5px 8px;border-radius:30px;background:color-mix(in srgb,var(--pillar) 28%,white);color:#63535a;font-size:10px;font-weight:800}.pillar-badge>span{color:color-mix(in srgb,var(--pillar) 75%,#5f4650);font-size:14px;line-height:1}.daily-card h3{font-size:20px;margin:13px 0 6px;line-height:1.23}.daily-card>p{font-size:12px;color:#8a7d82;line-height:1.5;min-height:52px}.daily-bottom{margin-top:auto;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #f4ede8;padding-top:14px}.daily-bottom span{display:flex;gap:4px;align-items:center;color:#a6999d;font-size:11px}.daily-bottom button{border:0;background:transparent;color:#d18275;font-weight:800;font-size:11px;display:flex;align-items:center;gap:4px}.complete-box{margin-top:14px}.complete-box textarea{resize:vertical;width:100%;min-height:60px;padding:9px;font-size:11px}.complete-box .button{width:100%;min-height:37px;font-size:11px;margin-top:6px}.completed{display:flex;align-items:center;gap:8px;color:#5a9b68;background:#edf8ed;border-radius:10px;padding:11px;font-size:12px;font-weight:800}.home-explore{margin:34px 0 10px;border-radius:24px;background:#e5ede2;min-height:198px;padding:32px 36px;display:flex;justify-content:space-between;overflow:hidden}.home-explore h2{font-size:26px;margin:5px 0}.home-explore p{font-size:12px;color:#67796c}.home-explore .button{margin-top:3px}.explore-decoration{position:relative;width:220px}.explore-decoration span{position:absolute;color:#b0d0ae;font-size:72px}.explore-decoration span:first-child{font-size:160px;right:2px;top:-40px}.explore-decoration span:nth-child(2){left:0;top:25px}.explore-decoration span:nth-child(3){right:20px;bottom:-25px;color:#fff;font-size:100px}.page-title{margin:36px 0 31px}.page-title h1{font-size:clamp(37px,4vw,57px);line-height:1.1;margin:12px 0}.page-title p{font-size:14px;color:#8e8185;max-width:590px}.search-row{display:flex;gap:12px;margin-bottom:13px}.searchbox{display:flex;align-items:center;gap:10px;padding:0 13px;background:#fff;border:1px solid #eadfd8;border-radius:14px;min-height:46px;flex:1;color:#a18f94}.searchbox input{border:0;box-shadow:none;background:transparent;width:100%;min-height:42px;font-size:13px}.searchbox input:focus{border:0;box-shadow:none}.filter-row{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #eee5df;padding-bottom:22px}.filter-row select{padding:9px 12px;font-size:12px;color:#76676e;background:#fff;font-weight:700}.results-bar{display:flex;gap:6px;align-items:center;margin:22px 0 16px;font-size:13px;color:#95888b}.results-bar strong{color:#4b3e44}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.item-card{min-width:0;position:relative;background:#fff;border:1px solid #f0e5df;border-radius:18px;padding:17px;display:flex;gap:13px;box-shadow:0 4px 18px #5b3b3008}.card-symbol{width:47px;height:47px;border-radius:14px;display:grid;place-items:center;color:#fff;font-size:23px;flex-shrink:0}.item-card-body{min-width:0;width:100%}.item-card-meta{display:flex;align-items:center;gap:7px;padding-right:20px}.item-card-meta>span:last-child{color:#a6959a;font-size:10px;font-weight:700}.item-card h3{font-size:16px;margin:11px 0 5px;line-height:1.25}.item-card p{color:#8e8287;font-size:11px;line-height:1.5;min-height:49px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.item-card-bottom{border-top:1px solid #f5ede8;padding-top:10px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:#ad9fa3;font-size:10px}.item-card-bottom span:first-child{display:flex;align-items:center;gap:3px}.item-card-bottom button{margin-left:auto;border:0;background:transparent;color:#d38577;font-weight:900;font-size:10px;display:flex;align-items:center;gap:3px;padding:0}.favorite-button{position:absolute;right:13px;top:16px;color:#cbb9b8;border:0;background:transparent;padding:2px}.favorite-button.active{color:#df8d87}.progress-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:28px}.progress-summary>div{background:#fff;border:1px solid #efe4dd;border-radius:18px;padding:20px 24px;display:grid;gap:3px}.progress-summary span{font-size:10px;letter-spacing:.12em;color:#a89b9e;font-weight:900}.progress-summary strong{font-family:Nunito;font-size:38px;line-height:1.1;color:#e18c7c}.progress-summary small{color:#93858a}.progress-section{background:#fff;border:1px solid #eee4de;border-radius:21px;padding:22px 26px;margin:19px 0}.progress-section .section-head{margin:0 0 17px}.disclaimer{background:#fff7e9;border-radius:13px;padding:13px 15px;color:#806e59;font-size:12px;line-height:1.6;margin-bottom:15px}.disclaimer a{font-weight:800;color:#bb7c6a}.observations{display:grid}.observation{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid #f1e9e4;padding:12px 0;font-size:13px}.observation select{padding:8px 10px;font-size:12px;min-width:142px}.history-list{display:grid;gap:8px}.history-row{display:flex;gap:13px;padding:13px;border:1px solid #f1e8e3;border-radius:13px}.history-check{width:29px;height:29px;border-radius:50%;background:#e1f1dd;color:#75a879;display:grid;place-items:center;flex-shrink:0}.history-row strong{font-size:13px}.history-row small{display:block;color:#b1a4a8;margin-top:2px}.history-row p{font-size:12px;color:#816e75;margin:5px 0 0}.goal-form{display:flex;gap:9px}.goal-form input{padding:11px 13px;flex:1}.goals-list{display:grid;gap:8px;margin-top:13px}.goal-row{display:flex;align-items:center;gap:10px;border:1px solid #eee4dd;background:#fff;border-radius:12px;padding:11px;color:#63545a;text-align:left}.goal-row.done{color:#88928a;text-decoration:line-through}.goal-check{width:21px;height:21px;border:1px solid #d9ccc4;border-radius:6px;display:grid;place-items:center}.goal-row.done .goal-check{background:#a9cdb6;color:#fff;border:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#342a30a1;z-index:50;display:flex;align-items:center;justify-content:center;padding:18px;overflow:auto}.small-modal,.quiz-panel,.detail-panel,.editor-form{position:relative;background:#fffdf9;border-radius:23px;box-shadow:0 25px 80px #2112174d;width:min(100%,720px);max-height:92vh;overflow:auto;padding:30px}.small-modal{max-width:470px}.small-modal h2{font-size:27px;margin:8px 0}.small-modal p{color:#8e7e85;font-size:13px}.close{position:absolute;top:18px;right:18px;background:#fff7f2}.quiz-panel{max-width:620px;padding:35px}.quiz-panel h2{font-size:31px;line-height:1.13;margin:11px 0}.quiz-panel>p{font-size:13px;color:#8e8185;max-width:480px}.quiz-section{margin:21px 0}.quiz-section h3{font-size:15px;margin:0 0 2px}.quiz-section small{color:#ab9da2}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:11px}.choice{border:1px solid #eae0da;background:#fff;border-radius:12px;padding:9px 11px;display:flex;align-items:center;gap:7px;text-align:left;font-size:12px;font-weight:800;color:#6a5d63}.choice span{width:25px;height:25px;border-radius:8px;display:grid;place-items:center;color:#fff;font-size:14px}.choice.active,.segmented button.active{border-color:#e89a86;background:#fff0ea;color:#bb6c5d}.segmented{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.segmented button{background:#fff;border:1px solid #eae0da;border-radius:10px;padding:9px 14px;font-size:12px;font-weight:800;color:#71656a}.detail-panel{max-width:790px;padding:34px}.detail-top{display:flex;gap:18px;padding-right:35px}.detail-symbol{width:70px;height:70px;border-radius:22px;flex-shrink:0;display:grid;place-items:center;color:#fff;font-size:35px}.detail-top h2{font-size:31px;margin:5px 0}.detail-top p{font-size:14px;color:#8b7c81}.detail-tags{display:flex;align-items:center;gap:13px;border-bottom:1px solid #f0e6df;padding:16px 0 22px;margin-bottom:22px}.detail-tags>span:not(.pillar-badge){display:flex;gap:4px;align-items:center;color:#9a8d91;font-size:12px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:27px;margin:23px 0}.detail-grid h3{font-size:17px;margin-bottom:7px}.detail-grid p,.detail-grid li{font-size:13px;color:#7e7075;line-height:1.65}.detail-grid ol{padding-left:20px}.detail-grid li{padding-left:4px;margin-bottom:8px}.chips{display:flex;gap:6px;flex-wrap:wrap}.chips span{background:#fff2e9;border-radius:20px;padding:6px 9px;color:#9a746e;font-size:11px}.info-strip{background:#f2f7ef;border-radius:14px;padding:14px 16px;color:#5b715c}.info-strip p{font-size:13px;margin:5px 0 0}.detail-source{font-size:12px;color:#a09297;border-top:1px solid #f0e6df;padding-top:15px}.detail-source a{font-weight:800;color:#cf8071;text-decoration:none;display:inline-flex;align-items:center;gap:3px}.detail-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.delete-link{margin-top:24px;border:0;background:transparent;color:#b56767;font-size:12px;font-weight:800;text-decoration:underline;padding:0}.print-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#e8e2da;z-index:80;overflow:auto}.print-toolbar{position:sticky;top:0;background:#fff;box-shadow:0 2px 12px #4d3e351a;padding:10px 25px;display:flex;justify-content:space-between;align-items:center;z-index:2;color:#8e7d84;font-size:13px;font-weight:800}.print-sheet{width:210mm;min-height:297mm;background:#fff;margin:25px auto;padding:22mm 21mm;box-shadow:0 12px 35px #3d353322}.print-brand{font-family:Nunito;font-weight:900;font-size:19px;color:#d98d7c;border-bottom:2px solid #f3ded5;padding-bottom:10px;margin-bottom:28px}.print-brand span{font-family:DM Sans;font-size:10px;font-weight:500;color:#91858a;margin-left:8px}.print-sheet h1{font-size:33px;margin:14px 0 4px}.print-sheet>p{font-size:14px;color:#61565b}.print-meta{font-size:12px;color:#a28f94}.print-section{margin:27px 0}.print-section h2,.print-workspace h2{font-size:18px}.print-section p,.print-section li{font-size:13px;line-height:1.6}.print-section li{margin-bottom:7px}.print-workspace{margin-top:30px}.writing-lines{height:260px;background:repeating-linear-gradient(to bottom,#fff 0,#fff 31px,#e5dcd6 32px);border:1px solid #eee5df;border-radius:8px}.print-sheet footer{margin-top:28px;border-top:1px solid #eee2da;padding-top:12px;font-size:9px;color:#978a8d;word-break:break-word}.print-routine{border:1px solid #ddd4cd;border-radius:8px;overflow:hidden}.print-routine-head,.print-routine-row{display:grid;grid-template-columns:1fr 120px;border-bottom:1px solid #e8e0da}.print-routine-head{background:#fff3ea;color:#755960;font-size:11px;font-weight:800}.print-routine-head span,.print-routine-row>span{padding:12px}.print-routine-head span:last-child,.print-routine-row>span:last-child{border-left:1px solid #e8e0da}.print-routine-row{height:57px}.print-routine-row:last-child{border-bottom:0}.print-routine-row>span:first-child{color:#afa19c}.print-check{width:19px;height:19px;border:1px solid #bdb1ac;border-radius:4px;display:block;margin:11px 0 0 45px}.print-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.print-card{height:125px;border:1px dashed #d7c7bd;border-radius:10px;display:grid;place-items:center;padding:12px}.print-card>span{font-size:32px;color:#e0a08e}.print-card-line{border-bottom:1px solid #d8cfc9;width:75%}.print-weather{display:grid;grid-template-columns:100px 1fr 1.3fr;border-top:1px solid #ddd4cd;border-left:1px solid #ddd4cd}.print-weather>div{border-right:1px solid #ddd4cd;border-bottom:1px solid #ddd4cd;min-height:40px;padding:10px;font-size:11px}.print-weather>div:nth-child(-n+3){background:#fff3ea;font-weight:800}.print-story{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.print-story>div{height:235px;border:1px solid #dfd5cf;border-radius:9px;padding:12px;display:flex;flex-direction:column}.print-story strong{font-size:13px;color:#765d61}.print-story span{font-size:10px;color:#baaaa9;margin:auto;text-align:center}.print-drawing-box{height:215px;border:1px dashed #d2c5bc;border-radius:9px;display:grid;place-items:center;color:#c0b2af;font-size:11px}.print-drawing .writing-lines{height:100px;margin-top:12px}.print-pattern-shapes{font-size:30px;letter-spacing:.2em;text-align:center;border:1px solid #ddd4cd;border-radius:9px;padding:25px 5px;margin-bottom:15px;color:#b98d83}.editor-login{min-height:100vh;display:grid;place-items:center;background:#fff6ed;padding:20px}.editor-login .auth-card{justify-self:auto}.back-link{display:flex;gap:6px;align-items:center;margin-bottom:25px;color:#b17b73;text-decoration:none;font-size:12px;font-weight:800}.editor-shell{max-width:1220px;padding:40px 24px;margin:auto}.editor-shell>header{display:flex;justify-content:space-between;align-items:center}.editor-shell h1{font-size:42px;margin:8px 0 0}.editor-shell p{color:#8a7b80}.editor-shell>header>div:last-child{display:flex;gap:8px}.editor-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin:24px 0}.editor-stats>div{background:#fff;border:1px solid #eee1d9;padding:20px;border-radius:17px;display:grid}.editor-stats strong{font-size:30px;font-family:Nunito;color:#dc8b7a}.editor-stats span{font-size:12px;color:#998a8d}.editor-actions{display:flex;gap:10px;margin:18px 0}.editor-list{background:#fff;border:1px solid #eee1d9;border-radius:17px;overflow:hidden}.editor-list>button{width:100%;display:flex;align-items:center;gap:15px;border:0;border-bottom:1px solid #f1e9e4;padding:13px 16px;text-align:left;background:#fff}.editor-list>button:hover{background:#fff8f3}.editor-kind{font-size:10px;color:#c37d72;background:#fff0ea;padding:5px 8px;border-radius:10px;min-width:68px;text-align:center}.editor-list-title{font-size:13px;font-weight:800;flex:1}.editor-list-title small{display:block;color:#a4999c;font-weight:500;margin-top:3px}.status-chip{font-size:10px;padding:5px 9px;border-radius:9px;background:#e9f4e9;color:#669a6b}.status-chip.draft{background:#fff0df;color:#b28b57}.editor-form{max-width:800px}.editor-form h2{font-size:29px;margin:8px 0 20px}.editor-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}.editor-fields label:has(textarea){grid-column:span 2}.editor-fields textarea{min-height:80px;resize:vertical}.editor-fields select{padding:10px}.review-check{display:flex;align-items:center;gap:9px;margin-top:20px;line-height:1.45}.review-check input{width:18px;height:18px;min-height:0;flex-shrink:0;accent-color:#dc8b7a}@media(max-width:1100px){.main-content{padding:0 25px 55px}.daily-grid,.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-wrap{gap:3%}.auth-art .mori{height:300px}.auth-art{height:265px}.welcome-art{right:5px}}@media(max-width:800px){.app-shell{display:block}.sidebar{display:none}.main-content{padding:0 18px 95px}.topbar{height:68px;margin-bottom:20px;justify-content:space-between}.mobile-brand{display:flex;align-items:center;gap:7px}.mobile-brand .brand-name{font-size:20px}.mobile-brand .brand-mark{width:27px;height:27px;font-size:19px}.today-date{display:none}.mobile-nav{position:fixed;display:flex;z-index:25;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #eee5df;padding:7px 9px calc(8px + env(safe-area-inset-bottom));justify-content:space-around;box-shadow:0 -5px 20px #513b330d}.mobile-nav button{border:0;background:transparent;color:#a19499;display:grid;place-items:center;gap:3px;min-width:80px;font-size:10px;font-weight:800}.mobile-nav button.active{color:#d88476}.auth-wrap{grid-template-columns:1fr}.auth-story{display:none}.auth-card{justify-self:center;margin-top:45px}.auth-page{padding:25px}.welcome-art{opacity:.35}.welcome-copy{max-width:100%}.welcome-banner{height:auto;min-height:250px}.daily-grid,.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.toast{bottom:90px;right:12px;left:12px;max-width:none}}@media(max-width:560px){.auth-card{padding:26px}.auth-card h2{font-size:31px}.welcome-banner{padding:27px 23px;min-height:235px}.welcome-copy h1{font-size:31px;max-width:300px}.welcome-copy>p{max-width:275px}.welcome-actions{flex-direction:column;align-items:flex-start;gap:8px}.welcome-art{right:-60px}.section-head{align-items:start}.section-head h2{font-size:24px}.section-head .button{font-size:0;padding:10px;min-width:41px}.section-head .button svg{width:17px}.daily-grid,.library-grid{grid-template-columns:1fr}.daily-card{min-height:0}.daily-card>p{min-height:0}.home-explore{padding:26px}.explore-decoration{display:none}.page-title h1{font-size:38px}.filter-row{display:grid;grid-template-columns:repeat(2,1fr)}.filter-row select{min-width:0}.progress-summary{gap:7px}.progress-summary>div{padding:13px 11px}.progress-summary span{font-size:8px}.progress-summary strong{font-size:30px}.progress-summary small{font-size:10px}.progress-section{padding:18px}.observation{align-items:start;flex-direction:column}.observation select{width:100%}.choice-grid{grid-template-columns:repeat(2,1fr)}.quiz-panel,.detail-panel,.small-modal{padding:24px 19px}.detail-top{gap:11px}.detail-symbol{width:50px;height:50px;font-size:26px;border-radius:15px}.detail-top h2{font-size:24px}.detail-grid{grid-template-columns:1fr;gap:0}.detail-actions,.goal-form{flex-direction:column}.editor-stats{grid-template-columns:repeat(2,1fr)}.editor-actions{flex-direction:column}.editor-fields{grid-template-columns:1fr}.editor-fields label:has(textarea){grid-column:span 1}.print-toolbar span{display:none}.print-sheet{width:100%;min-height:100vh;margin:0;padding:25px}.print-toolbar{padding:8px}.print-toolbar button{font-size:11px;padding:8px}.editor-shell>header{align-items:start;gap:10px}.editor-shell>header>div:last-child{flex-direction:column}}@media(max-width:560px){.topbar-right{gap:5px}.topbar-right .icon-button{width:32px;height:32px}.child-select select{padding:7px 25px 7px 10px;font-size:12px}.child-select svg{right:8px;top:9px}}@media print{body{background:#fff}.app-shell{display:block!important;background:#fff}.app-shell>:not(.print-overlay),.auth-page,.print-toolbar{display:none!important}.print-overlay{position:static;background:#fff;overflow:visible}.print-sheet{width:100%;min-height:0;margin:0;box-shadow:none;padding:0}@page{size:A4;margin:15mm}}.brand-mark{width:38px;height:38px;flex:none;padding:1px;overflow:hidden;border-radius:13px;background:#fff0e7;transform:none;transition:transform .25s ease,background .25s ease}.brand-mark img{display:block;width:100%;height:100%;object-fit:contain;transform:scale(1.14)}.mori[role=button]{cursor:pointer}.mori[role=button]:focus-visible{outline:3px solid #c9726d;outline-offset:4px;border-radius:18px}.mori[role=button].mori-celebrate{animation:mori-pop .65s both}.auth-header:hover .brand-mark,.sidebar-brand:hover .brand-mark,.mobile-brand:hover .brand-mark{transform:rotate(-8deg) scale(1.06);background:#ffe5d8}.auth-art .mori-wave,.welcome-art .mori-wave,.onboarding-card .mori-wave{transform-origin:50% 85%;animation:mori-appear .7s both;transition:transform .3s ease}.auth-card{position:relative}.demo-notice{display:grid;gap:4px;background:#f2f8ed;border:1px solid #d7e8cf;color:#456b47;border-radius:13px;padding:11px 13px;margin:-8px 0 18px;font-size:12px;line-height:1.5}.demo-notice strong{font-size:12px}.demo-notice a{font-weight:800;text-decoration:underline}.auth-card-mori{display:none}.auth-art:hover .mori-wave,.welcome-banner:hover .mori-wave,.onboarding-card:hover .mori-wave{transform:rotate(-5deg) translateY(-6px)}.loading-screen .mori-reading{animation:mori-breathe 1.8s ease-in-out infinite}.explore-decoration .mori-reading{position:absolute;z-index:1;right:-8px;bottom:-55px;height:205px;width:auto;filter:drop-shadow(0 9px 12px #55775b24);transition:transform .3s ease}.home-explore:hover .mori-reading{transform:translateY(-7px) rotate(2deg)}.toast-mori{min-height:75px;gap:5px;padding:7px 16px 7px 5px}.toast-mori .mori{width:67px;height:67px;flex:none;object-fit:contain;animation:mori-pop .55s both}.toast-mori span{line-height:1.35}@keyframes mori-appear{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes mori-breathe{50%{transform:translateY(-5px) rotate(-2deg)}}@keyframes mori-pop{0%{opacity:0;transform:translateY(18px) scale(.55) rotate(-12deg)}65%{opacity:1;transform:translateY(-5px) scale(1.08) rotate(5deg)}to{transform:translateY(0) scale(1) rotate(0)}}@media(max-width:800px){.mobile-brand .brand-mark{width:32px;height:32px}.explore-decoration .mori-reading{height:165px;right:-12px;bottom:-25px}.auth-card-mori{display:block;position:absolute;right:18px;top:-92px;height:112px;filter:drop-shadow(0 8px 10px #a2716126);animation:mori-appear .7s both;transition:transform .3s ease}.auth-card:hover .auth-card-mori{transform:rotate(-5deg) translateY(-6px)}}@media(max-width:560px){.auth-header .brand-mark{width:34px;height:34px}.toast-mori .mori{width:54px;height:54px}.toast-mori{min-height:62px}}@media(prefers-reduced-motion:reduce){.mori,.brand-mark{animation:none!important;transition:none!important}}.page-enter{animation:page-enter .26s ease both}@keyframes page-enter{0%{opacity:.45;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.game-hub .page-title{margin-bottom:23px}.course-promo{margin:29px 0 34px;padding:25px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid #f0dfd1;border-radius:22px;background:linear-gradient(110deg,#fff8ed,#f6f6e9);overflow:hidden}.course-promo h2{font:800 22px Nunito,sans-serif;margin:7px 0;color:#51434a}.course-promo p{max-width:650px;margin:0 0 15px;color:#86777b;font-size:13px;line-height:1.6}.course-promo>.mori{height:120px;width:105px;object-fit:contain;flex:none;align-self:flex-end;margin-bottom:-20px}@media(max-width:560px){.course-promo{padding:20px;align-items:flex-start}.course-promo h2{font-size:19px}.course-promo>.mori{height:83px;width:68px;margin-right:-12px;margin-bottom:-20px}.course-promo .button{font-size:12px;padding:10px 12px}}.game-hub-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 17px;color:#93858a;font-size:12px;font-weight:700}.game-age-picker,.game-variant-picker{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 16px}.game-age-picker>span,.game-variant-picker>strong{color:#6e6670;font:900 12px Nunito,system-ui,sans-serif;margin-right:4px}.game-age-picker button,.game-variant-picker button{border:1px solid #d8d0c7;border-radius:999px;background:#fffaf3;color:#71636b;padding:8px 12px;min-height:38px;cursor:pointer;font:800 12px Nunito,system-ui,sans-serif}.game-age-picker button.active,.game-variant-picker button.active{background:#315d4d;border-color:#315d4d;color:#fff;box-shadow:0 3px #c0d7ad}.game-variant-picker{padding:4px 2px 2px}.game-variant-picker button{display:flex;align-items:center;gap:6px}.game-variant-picker small{font-size:10px;opacity:.8}.game-launch-error{max-width:520px;margin:10vh auto;padding:28px;border:2px solid #cfb2a7;border-radius:20px;background:#fff9f2;color:#624f50;text-align:center;box-shadow:0 10px 30px #51372a19}.game-launch-error h2{font:900 24px Nunito,system-ui,sans-serif}.game-launch-error p{font-size:14px}.game-launch-error>div{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:16px}.game-launch-error button{padding:10px 14px;border:1px solid #a4b998;border-radius:10px;background:#e7f0db;color:#315d4d;font-weight:800;cursor:pointer}.sound-toggle,.game-back,.game-link{border:0;background:transparent;color:#b27469;font-size:12px;font-weight:800;display:inline-flex;align-items:center;gap:6px;padding:7px}.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.game-tile{background:#fff;border:1px solid #f0e4dc;border-radius:20px;padding:20px;text-align:left;min-height:184px;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 5px 18px #6542310b;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;color:#51434a}.game-tile:hover{transform:translateY(-3px);border-color:#e7b9aa;box-shadow:0 12px 28px #81574418}.game-tile-icon{width:52px;height:52px;border-radius:16px;background:#fff0e6;color:#d78577;font-size:29px;display:grid;place-items:center;flex:none;font-family:Nunito}.game-tile:nth-child(3n+2) .game-tile-icon{background:#eef5e9;color:#759d85}.game-tile:nth-child(3n) .game-tile-icon{background:#f5edf7;color:#9f83ad}.mystery-game-launch .game-tile-icon{background:#fff1d8;color:#a97842}.game-tile strong{font-family:Nunito;font-size:20px;margin:13px 0 3px}.game-tile>span:not(.game-tile-icon){font-size:12px;line-height:1.5;color:#92868a}.game-tile small{color:#bf8074;font-weight:800;display:flex;gap:5px;align-items:center;margin-top:auto;padding-top:12px}.game-hub-note{font-size:12px;color:#9a8d90;margin:20px 0}.logic-game-launch .game-tile-icon{background:#eaf2fa;color:#6d8eb0}.logic-games-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#211b1dcc;display:grid;place-items:center;padding:18px;overflow:auto}.logic-games-panel{width:min(1100px,100%);max-height:min(94vh,900px);overflow:auto;background:#fffaf5;border-radius:22px;padding:22px;box-shadow:0 24px 90px #241a1c55}.logic-games-panel>header{display:flex;align-items:center;justify-content:space-between;gap:15px}.logic-games-panel h2{font:800 26px Nunito,sans-serif;margin:3px 0 0;color:#51434a}.logic-close{width:40px;height:40px;border:0;border-radius:50%;background:#f4e8e0;color:#806b6c;display:grid;place-items:center}.logic-intro{font-size:12px;color:#8c7d7f;line-height:1.55;margin:10px 0 14px}.logic-game-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.logic-game-links>a{min-width:0;display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:auto 1fr auto;align-items:center;column-gap:9px;text-decoration:none;border:1px solid #eee0d6;border-radius:15px;background:#fff;padding:14px;color:#67565a;transition:border-color .15s,transform .15s}.logic-game-links>a:hover{border-color:#d28c7c;transform:translateY(-2px)}.logic-game-links>a>span{grid-row:span 3;font-size:29px}.logic-game-links strong{font:800 15px Nunito,sans-serif}.logic-game-links small{font-size:11px;line-height:1.45;color:#9e8988;margin-top:4px}.logic-game-links em{font-style:normal;color:#b27469;font-size:10px;font-weight:800;display:flex;align-items:center;gap:5px;margin-top:11px}.logic-games-panel>footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:14px;color:#a08f92;font-size:11px}.game-video{background:#fff;border:1px solid #efdfd5;border-radius:15px;padding:13px 16px;margin:0 0 18px;max-width:550px;color:#8c6969}.game-video summary{cursor:pointer;font-size:13px;font-weight:800;list-style:none}.game-video summary:before{content:"▶";font-size:10px;margin-right:9px;color:#d5897d}.game-video[open] summary{margin-bottom:12px}.game-video video{display:block;width:100%;aspect-ratio:16/9;border-radius:11px;background:#f7e7df;object-fit:contain}.game-video p{font-size:11px;color:#8a7b80;margin:9px 0 0}.game-video-session{grid-column:1/-1;margin:0;max-width:100%}.game-session{max-width:820px;margin:0 auto 70px}.game-back{margin-bottom:16px}.game-session-head{display:flex;align-items:center;gap:17px;background:#fff2e9;border-radius:22px;padding:20px 24px;margin-bottom:18px}.game-session-head h2{font-size:29px;margin:3px 0}.game-session-head p{font-size:13px;color:#8d7375;margin:0}.game-session-head .game-tile-icon{background:#fff}.game-instructions,.game-play,.game-end{background:#fff;border:1px solid #f0e4dd;border-radius:22px;padding:28px;box-shadow:0 7px 22px #6542310b}.game-instructions{display:grid;grid-template-columns:1fr 1fr;gap:25px}.game-instructions h3{font-size:18px;margin:0 0 9px}.game-instructions ol{margin:0;padding-left:21px}.game-instructions li,.game-instructions p{font-size:13px;line-height:1.65;color:#776a6f}.game-instructions li{margin-bottom:10px}.game-instructions .button{justify-self:start;grid-column:1/-1}.game-play-progress{display:flex;align-items:center;justify-content:space-between;color:#a28e92;font-size:12px;font-weight:800;border-bottom:1px solid #f1e8e2;padding-bottom:14px}.game-play-progress button{border:0;background:none;color:#b87b70;font-size:12px;font-weight:800}.game-play-card{padding:23px 0}.game-play-card h3{font-size:23px;margin:7px 0 17px}.game-play-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #f2e9e4;padding-top:17px}.game-center{text-align:center;display:grid;justify-items:center;gap:10px}.game-center p{color:#7d7074;font-size:13px;margin:2px 0}.flip-card{width:min(100%,260px);height:230px;border:2px solid #efcfbe;border-radius:23px;background:linear-gradient(145deg,#fff7ec,#ffe7dc);box-shadow:0 10px 25px #c77e6825;display:grid;align-content:center;justify-items:center;gap:12px;color:#9f6c64;transition:transform .25s}.flip-card:hover{transform:rotate(-2deg) scale(1.02)}.flip-card span{font-size:72px;line-height:1}.flip-card strong{font-family:Nunito;font-size:22px}.flip-card.flipped{background:#f2f8ec;border-color:#d7e4d1}.game-big-icon{font-size:100px;line-height:1.2}.game-spoken-text{font-family:Nunito;font-weight:900;font-size:25px!important;color:#4b4145!important}.game-draw-prompt{background:#fff6ed;border-radius:12px;padding:9px 13px;color:#806767;font-weight:800;font-size:14px;margin-bottom:12px}.game-pad-wrap{display:grid;gap:9px}.game-pad-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:#9a8b8f;font-size:11px;font-weight:800}.game-pad-tools button:not(.color-dot){border:1px solid #eee1da;background:#fff;border-radius:9px;padding:6px 8px;color:#826e74;display:inline-flex;gap:5px;align-items:center}.color-dot{width:24px;height:24px;border-radius:50%;border:2px solid white;box-shadow:0 0 0 1px #ddcdc7}.color-dot.active{box-shadow:0 0 0 2px #69505d}.game-pad{position:relative;background-color:#fffdf9;border:2px dashed #e5d1c6;border-radius:15px;overflow:hidden}.game-pad-guide{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-family:Nunito;font-size:clamp(52px,12vw,100px);font-weight:900;color:#eaded5;pointer-events:none;white-space:nowrap;overflow:hidden}.game-pad canvas{display:block;width:100%;height:auto;touch-action:none;position:relative}.game-text-alternative{font-size:11px}.game-text-alternative input{font-size:12px;min-height:38px;padding:8px 10px}.game-pad-wrap small{color:#a39497;font-size:11px}.game-play-card>.button{margin-top:13px}.count-objects{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:530px;padding:14px}.count-objects button,.count-objects span{display:grid;place-items:center;width:62px;height:62px;border-radius:15px;border:1px solid #f0dfd2;background:#fff7ed;font-size:32px;transition:transform .15s,background .15s}.count-objects button.touched{background:#e7f3e7;transform:scale(.9)}.count-display{font-family:Nunito;font-size:20px!important;font-weight:900;color:#658c73!important}.quiz-answers{display:flex;gap:12px}.quiz-answers button{width:59px;height:59px;border-radius:15px;border:1px solid #e9d9d0;background:#fff;color:#846c73;font-family:Nunito;font-size:25px;font-weight:900}.quiz-answers button.chosen{background:#e8f2e6;color:#548267;border-color:#c7ddcb}.game-end{text-align:center;display:grid;justify-items:center}.game-end img{height:155px}.game-end h3{font-size:25px;margin:8px 0 0}.game-end p{font-size:13px;color:#8c7a80;max-width:440px}.game-end label{width:min(100%,480px);text-align:left;margin:12px 0}.game-end textarea{min-height:80px}.game-end .game-play-actions{width:100%}.game-message{background:#eef7ed;color:#547a5c;padding:12px;border-radius:12px;font-size:12px;margin-top:13px}.mori-guide{position:fixed;right:22px;bottom:20px;z-index:30;display:flex;align-items:flex-end;gap:10px}.mori-guide-trigger{width:80px;height:80px;border:0;border-radius:50%;background:#fff6ea;box-shadow:0 8px 25px #7e584433;overflow:hidden;padding:0}.mori-guide-trigger .mori{width:100%;height:100%;object-fit:contain}.mori-guide-bubble{position:relative;width:min(270px,calc(100vw - 125px));background:#fff;border:1px solid #f0e1d7;border-radius:16px;box-shadow:0 10px 33px #47312a24;padding:15px 17px;order:-1;font-size:12px}.mori-guide-bubble strong{font-family:Nunito;font-size:15px}.mori-guide-bubble p{color:#796b70;margin:6px 0}.mori-guide-close{position:absolute;right:9px;top:8px;border:0;background:none;color:#99888c}.game-print-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;overflow:auto;background:#e8e2da}.cut-print-pattern{margin:40px 0 30px;border:2px dashed #ddd0c8;padding:25px;display:grid;gap:10px;color:#ba8173;font-size:12px;font-weight:900}.cut-print-pattern svg{width:100%;height:250px}.cut-print-pattern path{fill:none;stroke:#bf9d91;stroke-width:4;stroke-dasharray:9 8}.game-editor-form{max-width:850px}.game-editor-form>h3{margin:22px 0 10px}.game-editor-entries{display:grid;gap:10px;margin-bottom:13px}.game-editor-entries>div{display:grid;grid-template-columns:100px 1fr 2fr;gap:9px;background:#fff7f0;padding:13px;border-radius:13px}.game-editor-entries strong{grid-column:1/-1;font-size:13px}.game-editor-entries .delete-link{grid-column:1/-1;justify-self:start;margin:0}.game-editor-entries label{font-size:11px}.game-editor-entries input{min-width:0}@media(max-width:1000px){.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.game-grid{grid-template-columns:1fr}.game-tile{min-height:130px;padding:15px}.game-instructions{grid-template-columns:1fr;gap:5px}.game-session-head{padding:15px}.game-session-head h2{font-size:23px}.game-play,.game-instructions,.game-end{padding:18px}.game-play-card h3{font-size:20px}.game-play-actions{flex-wrap:wrap}.mori-guide{bottom:78px;right:10px}.mori-guide-trigger{width:62px;height:62px}.mobile-nav button{min-width:0;flex:1}.game-hub-toolbar{align-items:flex-start;flex-direction:column}.game-editor-entries>div{grid-template-columns:1fr}.game-editor-entries strong,.game-editor-entries .delete-link{grid-column:1}}@media(max-width:680px){.logic-games-overlay{padding:8px}.logic-games-panel{padding:15px;border-radius:17px;max-height:98vh}.logic-game-links{grid-template-columns:1fr}.logic-games-panel>footer{align-items:flex-start;flex-direction:column}}@media(prefers-reduced-motion:reduce){.page-enter,.game-tile,.flip-card{animation:none!important;transition:none!important}}@media print{body:has(.game-print-overlay) .app-shell{display:none!important}body:has(.game-print-overlay) .game-print-overlay{position:static;background:#fff;overflow:visible}body:has(.game-print-overlay) .game-print-overlay .print-sheet{width:100%;min-height:0;margin:0;box-shadow:none;padding:0}body:has(.game-print-overlay) .game-print-overlay .print-toolbar{display:none!important}}.plan-reason{display:flex;align-items:flex-start;gap:9px;background:#eef7ed;border:1px solid #dbead7;color:#5a745d;border-radius:14px;padding:12px 15px;margin:0 0 17px;font-size:12px}.plan-reason svg{flex:none;margin-top:2px}.plan-responses{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:11px}.plan-responses>span{flex-basis:100%;font-size:11px;font-weight:800;color:#8b777a}.plan-responses button{border:1px solid #ebddd4;background:#fff;border-radius:9px;color:#806d72;padding:6px 8px;font-size:10px;font-weight:800;text-align:left}.plan-responses button.selected{background:#e9f4e8;border-color:#a9d0ad;color:#52785a}.number-garden-loading{max-width:1000px;margin:30px auto;padding:50px 20px;text-align:center;border:1px solid #eadfd5;border-radius:22px;background:#fffaf4;color:#7c6d6d;font-size:14px}.puzzle-native-launch{border-color:#c5d6be!important;background:#edf3e9!important}.puzzle-native-launch.fold-launch{background:#f0edf7!important;border-color:#d8cfea!important}.puzzle-native-launch.line-launch{background:#f7f0df!important;border-color:#d8caa8!important}.puzzle-native-launch .game-tile-icon img{width:43px;height:43px;display:block}.game-tile-cards{background:#fff6ee;border-color:#eed8c9}.game-tile-cutting{background:#f0f5e9;border-color:#cbdcbd}.game-tile-count{background:#fff9e9;border-color:#e9d9af}.game-tile-cards .game-tile-icon,.game-tile-cutting .game-tile-icon,.game-tile-count .game-tile-icon{background:#fffaf0}.game-tile-cards .game-tile-icon img,.game-tile-cutting .game-tile-icon img,.game-tile-count .game-tile-icon img,.game-session-head .game-tile-icon img{width:43px;height:43px;display:block}.game-session-cards{--activity-paper:#fff3e8;--activity-line:#eacdbd;--activity-ink:#76584e}.game-session-cutting{--activity-paper:#f0f6e9;--activity-line:#cbdcbc;--activity-ink:#496c56}.game-session-count{--activity-paper:#fff8e8;--activity-line:#e7d5ac;--activity-ink:#776046}.game-session-cards .game-session-head,.game-session-cutting .game-session-head,.game-session-count .game-session-head{position:relative;overflow:hidden;min-height:145px;background:var(--activity-paper);border:1px solid var(--activity-line)}.game-session-cards .game-session-head>div,.game-session-cutting .game-session-head>div,.game-session-count .game-session-head>div{position:relative;z-index:1;max-width:470px}.game-session-cards .game-session-head h2,.game-session-cutting .game-session-head h2,.game-session-count .game-session-head h2{color:var(--activity-ink)}.game-session-art{width:215px;height:128px;object-fit:contain;margin-left:auto;align-self:center;flex:none;filter:drop-shadow(0 5px 4px #57473b1b)}.game-session-cards .game-play,.game-session-cutting .game-play,.game-session-count .game-play{background:#fffcf7;border-color:var(--activity-line)}.game-session-cards .game-play-card,.game-session-cutting .game-play-card,.game-session-count .game-play-card{border-radius:18px;background:radial-gradient(#a7907412 1px,transparent 1px);background-size:18px 18px}.game-session-cards .game-play-card h3,.game-session-cutting .game-play-card h3,.game-session-count .game-play-card h3{color:var(--activity-ink)}.flip-card{width:min(100%,285px);height:265px;border:2px solid #d9ab94;background:#ffeadd;box-shadow:0 7px #d8baa9,0 18px 27px #80625320;transform:rotate(-2deg);transition:transform .22s ease,background .22s ease,box-shadow .22s ease}.flip-card:hover{transform:rotate(0) translateY(-3px);box-shadow:0 10px #d8baa9,0 20px 29px #80625325}.flip-card:active{transform:translateY(3px) rotate(0);box-shadow:0 3px #d8baa9}.flip-card.flipped{background:#f2f6e9;border-color:#a9c4a2;transform:rotate(1deg)}.flip-card img{display:block;object-fit:contain;filter:drop-shadow(0 5px 3px #79544520)}.flip-card-cover{width:150px;height:150px}.flip-card-picture{width:160px;height:160px}.flip-card strong{font-size:20px;color:#72564b}.game-session-cutting .game-draw-prompt{display:flex;align-items:center;gap:9px;background:#eaf2df;color:#496f56;border:1px solid #c8dcbf;font-family:Nunito;font-size:16px}.game-session-cutting .game-draw-prompt img{width:29px;height:29px}.cutting-pad{background:radial-gradient(#9cb48f26 1px,transparent 1px) 0 0/20px 20px,#fffaf0;border:2px solid #b4cbaa;border-radius:20px;box-shadow:0 7px #cfddc5,0 13px 20px #5871541c}.cutting-guide{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.cutting-paper-edge{fill:none;stroke:#dacdb4;stroke-width:2;stroke-dasharray:3 9}.cutting-guide-halo{fill:none;stroke:#e8e3c9;stroke-width:20;stroke-linecap:round;stroke-linejoin:round}.cutting-guide-line{fill:none;stroke:#5e8a6a;stroke-width:4;stroke-dasharray:8 9;stroke-linecap:round;stroke-linejoin:round}.cutting-start{fill:#e8aa8d;stroke:#654a43;stroke-width:2}.cutting-end{fill:#f1d28a;stroke:#654a43;stroke-width:2}.cutting-guide-label{font:800 17px Nunito,system-ui,sans-serif;letter-spacing:2px;fill:#526c56}.game-session-count .count-objects{gap:12px;max-width:620px;padding:18px 10px}.game-session-count .count-objects button{position:relative;width:78px;height:78px;padding:4px;border:2px solid #dbcca9;border-radius:20px;background:#fff7e4;box-shadow:0 5px #e2d1b2,0 8px 12px #69574318;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.game-session-count .count-objects button:hover{transform:translateY(-3px)}.game-session-count .count-objects button:active{transform:translateY(2px);box-shadow:0 2px #e2d1b2}.game-session-count .count-objects button.touched{background:#e9f3dd;border-color:#9fbc94;transform:none;box-shadow:0 3px #b7ceb0}.game-session-count .count-objects img,.quiz-objects img{width:60px;height:60px;object-fit:contain;display:block;pointer-events:none}.game-session-count .count-objects .count-token-number{position:absolute;right:-8px;bottom:-8px;width:25px;height:25px;border:2px solid #fffaf0;border-radius:50%;background:#51785e;color:#fff;font:900 13px Nunito,system-ui,sans-serif;box-shadow:0 3px 6px #445b4929}.quiz-objects{gap:10px;max-width:620px}.quiz-objects>span{width:72px;height:72px;background:#fff8e9;border:2px solid #d9cbae;box-shadow:0 4px #e6d6b6}.quiz-answers button{box-shadow:0 4px #dfd0bf;transition:transform .12s ease,box-shadow .12s ease}.quiz-answers button:active{transform:translateY(3px);box-shadow:0 1px #dfd0bf}@media(max-width:600px){.game-session-art{width:105px;height:90px}.game-session-cards .game-session-head,.game-session-cutting .game-session-head,.game-session-count .game-session-head{min-height:125px}.game-session-cards .game-session-head>div,.game-session-cutting .game-session-head>div,.game-session-count .game-session-head>div{max-width:none}.game-session-head .game-tile-icon{width:42px;height:42px}.game-session-head .game-tile-icon img{width:35px;height:35px}.game-session-count .count-objects{gap:10px;padding:14px 4px}.game-session-count .count-objects button{width:68px;height:68px}.game-session-count .count-objects img,.quiz-objects img{width:52px;height:52px}.cutting-guide-label{font-size:21px}}@media(max-width:390px){.game-session-art{display:none}.game-session-count .count-objects button{width:61px;height:61px}.game-session-count .count-objects img{width:48px;height:48px}}@media(prefers-reduced-motion:reduce){.flip-card,.game-session-count .count-objects button,.quiz-answers button{transition:none!important}}.activity-preview-shell{max-width:1000px;margin:0 auto;padding:24px 16px 60px}.activity-preview-nav{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:20px;font:800 12px Nunito,system-ui,sans-serif;color:#7d706a}.activity-preview-nav strong{margin-right:7px;color:#5f5047}.activity-preview-nav span{margin-left:12px}.activity-preview-nav a{padding:7px 11px;border:1px solid #dfd2c5;border-radius:999px;background:#fffaf2;color:#725f52;text-decoration:none}.activity-preview-nav a.active{background:#4d7660;border-color:#4d7660;color:#fff}.cut-print-pattern circle{fill:#fff;stroke:#6a7868;stroke-width:2}.cut-print-pattern text{fill:#586a59;font:800 11px Nunito,system-ui,sans-serif;letter-spacing:1.5px}.game-level-rail{display:flex;gap:6px;margin-top:13px}.game-level-rail span{height:7px;flex:1;border-radius:20px;background:#eadfd5}.game-level-rail span.passed{background:#8aa993}.game-level-rail span.current{background:#cf866f;box-shadow:0 0 0 3px #f6e6da}.activity-prompt{font:800 15px Nunito,system-ui,sans-serif!important;color:#665952!important;max-width:570px}.activity-after{display:grid;gap:3px;margin:13px 0;padding:13px 16px;border:1px solid #d7e5d3;border-radius:14px;background:#f1f7ec;color:#4e6f5b;font-size:13px}.activity-after strong{font:900 13px Nunito,system-ui,sans-serif}.activity-after span{line-height:1.5}.count-trays{display:flex;justify-content:center;gap:14px;width:100%;max-width:670px}.count-tray{flex:1;min-width:0;padding:7px;background:#f8f0dc;border:2px solid #e5d5ae;border-radius:20px;box-shadow:0 5px #e6d6b9}.count-tray>small{display:block;color:#8d7758;font:900 11px Nunito,system-ui,sans-serif;margin:5px 0 0}.count-tray .count-objects{padding:10px 3px;max-width:none}.count-trays:not(.grouped) .count-tray{max-width:570px}.game-session-listen .game-session-head{background:linear-gradient(135deg,#e8e9fb,#f7e8e8)}.game-session-listen .game-session-head .game-tile-icon{background:#fff;color:#7469a4}.game-session-listen .game-play-card{padding-bottom:13px}.listen-level{display:grid;gap:17px}.listen-scene{position:relative;display:grid;grid-template-columns:150px 1fr;align-items:center;gap:20px;min-height:205px;padding:22px;border-radius:23px;overflow:hidden;background:radial-gradient(circle at 18% 45%,#eee5ff 0,#e8ecfc 38%,#f9e9e2);border:2px solid #dcd8eb}.listen-scene:after{content:"♫";position:absolute;right:22px;top:5px;font:900 92px Nunito,system-ui,sans-serif;color:#fff8;transform:rotate(16deg)}.listen-orbit{position:relative;display:grid;place-items:center;width:135px;height:135px;border-radius:50%;background:#fff9ee;border:5px solid #fff;box-shadow:0 8px #c5c4dd,0 14px 20px #595c8230}.listen-orbit span{font-size:68px;z-index:1}.listen-orbit i{position:absolute;border:2px solid #8d90c363;border-radius:50%;top:-13px;right:-13px;bottom:-13px;left:-13px}.listen-orbit i:nth-of-type(2){top:-23px;right:-23px;bottom:-23px;left:-23px;border-color:#9d9cbd48}.listen-orbit i:nth-of-type(3){top:-33px;right:-33px;bottom:-33px;left:-33px;border-color:#a9abc234}.listen-scene>div:last-child{z-index:1}.listen-scene small{display:block;font:900 11px Nunito,system-ui,sans-serif;letter-spacing:1px;text-transform:uppercase;color:#7975a2}.listen-scene strong{display:block;font:900 clamp(23px,4vw,33px) Nunito,system-ui,sans-serif;color:#504b68;margin:5px 0}.listen-scene p{color:#696579;font-size:14px;line-height:1.5;margin:0;max-width:430px}.listen-stages{display:flex;gap:8px}.listen-stages span{flex:1;text-align:center;padding:9px 4px;border-radius:11px;background:#f4f0ed;color:#978b91;font:900 11px Nunito,system-ui,sans-serif}.listen-stages span.active{background:#e8edda;color:#5b7866}.listen-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center}.listen-controls .button{min-width:170px;justify-content:center}.listen-recording{background:#cf6e68;color:#fff;border-color:#bd5e5a;box-shadow:0 4px #a34e4b;animation:listen-pulse 1.1s ease-in-out infinite}.listen-meter{height:45px;display:flex;align-items:center;justify-content:center;gap:5px}.listen-meter b{width:6px;height:12px;border-radius:8px;background:#ca7c74;animation:listen-bars .8s ease-in-out infinite alternate}.listen-meter b:nth-child(2),.listen-meter b:nth-child(6){animation-delay:.2s}.listen-meter b:nth-child(3),.listen-meter b:nth-child(5){animation-delay:.4s}.listen-meter b:nth-child(4){animation-delay:.6s}.listen-playback{padding:14px;border:1px solid #d9e3d4;border-radius:15px;background:#f1f7ed}.listen-playback>div{display:flex;align-items:center;gap:7px;color:#567a61;margin-bottom:8px}.listen-playback strong{font:900 13px Nunito,system-ui,sans-serif}.listen-playback button{display:flex;gap:5px;align-items:center;margin-left:auto;border:0;background:transparent;color:#a45e5a;font:800 12px Nunito,system-ui,sans-serif}.listen-playback audio{display:block;width:100%;height:43px}.listen-hint{font-size:12px;color:#786c78;margin:0;text-align:center}.listen-parent-note{display:grid;gap:3px;padding:13px 15px;border-radius:14px;background:#fff8ec;border:1px solid #ebdec9;color:#7d695c;font-size:13px}.listen-parent-note strong{font:900 13px Nunito,system-ui,sans-serif}.listen-parent-note small{font-size:11px;line-height:1.45;color:#9a897e;margin-top:4px}@keyframes listen-bars{to{height:37px}}@keyframes listen-pulse{50%{filter:brightness(1.12)}}@media(max-width:600px){.listen-scene{grid-template-columns:1fr;text-align:center;justify-items:center;gap:14px}.listen-orbit{width:112px;height:112px}.listen-orbit span{font-size:55px}.listen-controls .button{flex:1}.count-trays.grouped{gap:7px}.count-tray{padding:3px}.count-tray .count-objects{gap:4px}.count-trays.grouped .count-objects button{width:45px;height:45px}.count-trays.grouped .count-objects img{width:39px;height:39px}}@media(prefers-reduced-motion:reduce){.listen-meter b,.listen-recording{animation:none}}.game-session-cards,.game-session-cutting,.game-session-count{--activity-paper:#fff9ed;--activity-ink:#315d4d;--activity-line:#a9bda0}.game-session-cards .game-session-head,.game-session-cutting .game-session-head,.game-session-count .game-session-head{background:#fff9ed url(/games/mori-puzzles/path-board-bg.svg) center/180px;border:2px solid #a9bda0;box-shadow:0 7px #d9e5cc}.game-session-cards .game-play,.game-session-cutting .game-play,.game-session-count .game-play{background:#fffaf0 url(/games/mori-puzzles/path-board-bg.svg) center/220px;border:2px solid #c6d8b9;box-shadow:0 7px #e2e9d7}.game-session-cards .game-play-card,.game-session-cutting .game-play-card,.game-session-count .game-play-card{background:#fffdf6;border:1px solid #d4dfc7;border-radius:22px}.game-session-cards .game-level-rail span.passed,.game-session-cutting .game-level-rail span.passed,.game-session-count .game-level-rail span.passed{background:#cde980}.game-session-cards .game-level-rail span.current,.game-session-cutting .game-level-rail span.current,.game-session-count .game-level-rail span.current{background:#315d4d;box-shadow:0 0 0 3px #dfeec9}.game-session-cards .flip-card{border:2px solid #a9bda0;background:#fff9ed url(/games/mori-puzzles/path-board-bg.svg) center/170px;box-shadow:0 7px #d6e3ca,0 14px 22px #315d4d20}.game-session-cards .flip-card strong{color:#315d4d}.game-session-cards .flip-card-cover{filter:drop-shadow(0 4px 2px #315d4d1c)}.mori-counting{width:min(100%,720px);margin:0 auto;padding:16px;border:2px solid #b9d0aa;border-radius:24px;background:#fff9ed url(/games/mori-puzzles/path-board-bg.svg) center/170px;box-shadow:0 7px #d7e4ca;color:#315d4d}.mori-counting-heading{text-align:center}.mori-counting-heading span,.mori-cutting-top span{font:900 10px Nunito,system-ui,sans-serif;letter-spacing:1.7px;color:#5e826a}.mori-counting-heading p{font:900 clamp(17px,3vw,23px)/1.3 Nunito,system-ui,sans-serif;margin:7px auto 16px;max-width:560px;color:#315d4d}.mori-counting-scene{display:flex;justify-content:center;align-items:stretch;flex-wrap:wrap;gap:12px;min-height:140px}.mori-counting-group{flex:1 1 210px;max-width:620px;padding:12px;border:2px solid #b9cfad;border-radius:18px;background:#fffdf5;box-shadow:0 4px #d6e2cb}.mori-counting-group strong{display:block;text-align:left;font:900 11px Nunito,system-ui,sans-serif;color:#5b7461;margin:0 0 8px}.mori-counting-items{display:flex;justify-content:center;align-items:center;align-content:center;flex-wrap:wrap;gap:5px;min-height:66px}.mori-counting-item{position:relative;display:grid;place-items:center;width:49px;height:49px;border:2px solid #cad7b8;border-radius:14px;background:#f9f8e9;box-shadow:0 3px #dce5ca}.mori-counting-item img{width:40px;height:40px;object-fit:contain}.mori-counting-item b{position:absolute;right:-5px;bottom:-5px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#315d4d;color:#fff;font:900 11px Nunito,system-ui,sans-serif}.mori-counting-item.added{cursor:pointer;animation:mori-count-snap .15s ease-out}.mori-counting-change{display:flex;align-items:center;gap:7px;justify-content:center;width:100%;color:#315d4d;font:900 13px Nunito,system-ui,sans-serif}.mori-counting-change span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fce4d9;color:#9b5247;font-size:27px}.mori-counting-empty{color:#80917c;font-size:12px;padding:15px}.mori-counting-build{border-style:dashed}.mori-counting-choices,.mori-counting-build-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:20px 0 13px}.mori-counting-choices button{min-width:66px;min-height:61px;padding:8px 14px;border:2px solid #9ab88f;border-radius:16px;background:#fffdf5 url(/games/mori-puzzles/path-checkpoint.svg) center/contain no-repeat;color:#315d4d;font:1000 21px Nunito,system-ui,sans-serif;box-shadow:0 4px #c7daba;cursor:pointer}.mori-counting-choices button.selected{border-color:#315d4d;box-shadow:0 0 0 4px #cde980,0 4px #86a985;transform:translateY(-2px)}.mori-counting-build-actions button,.mori-counting-controls button,.mori-cutting-controls button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:8px 13px;border:1px solid #a7c19c;border-radius:12px;background:#fffdf3;color:#315d4d;font:900 12px Nunito,system-ui,sans-serif;cursor:pointer}.mori-counting-build-actions button:first-child{background:#dceec8}.mori-counting-controls,.mori-cutting-controls{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}.mori-counting-controls .mori-counting-check{background:#315d4d;color:#fff;border-color:#315d4d}.mori-counting button:disabled,.mori-cutting button:disabled{opacity:.48;cursor:not-allowed}.mori-counting-hint,.mori-cutting-hint{margin:11px auto 0;padding:10px 13px;background:#eef5e3;border:1px dashed #9cbb8f;border-radius:12px;color:#426c55;font-size:12px;max-width:570px}.mori-counting-feedback{min-height:36px;margin:12px 0 0;text-align:center;color:#755d4c;font:800 12px Nunito,system-ui,sans-serif}.mori-counting-feedback.success{color:#315d4d;font-size:14px}.mori-counting.is-solved{border-color:#719b74;box-shadow:0 7px #b6d5a8}.mori-counting-change>div{display:flex;gap:3px}.mori-counting-change img{width:31px;height:31px;object-fit:contain}.mori-counting-change:has(span:first-child) img{filter:drop-shadow(0 2px 1px #315d4d22)}.mori-cutting{width:min(100%,740px);margin:0 auto;padding:12px;border:2px solid #b9d0aa;border-radius:24px;background:#fff9ed url(/games/mori-puzzles/path-board-bg.svg) center/170px;box-shadow:0 7px #d6e3ca;color:#315d4d}.mori-cutting-top{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:5px 8px 12px}.mori-cutting-top strong{font:900 10px Nunito,system-ui,sans-serif;letter-spacing:1px;color:#315d4d}.mori-cutting-board{display:block;width:100%;height:auto;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:16px;cursor:crosshair;background:#fffdf4;box-shadow:inset 0 0 0 2px #c2d4b8}.mori-cutting-paper{fill:#fffdf5;stroke:#b4caa9;stroke-width:2;stroke-dasharray:3 9}.mori-cutting-path{fill:none;stroke:#d9dfc8;stroke-width:29;stroke-linecap:round;stroke-linejoin:round}.mori-cutting-path.active{stroke:#dbeacb;stroke-width:31}.mori-cutting-path.finished{stroke:#315d4d;stroke-width:20}.mori-cutting-path.waiting{opacity:.55}.mori-cutting-progress{fill:none;stroke:#315d4d;stroke-width:19;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.mori-cutting-start{fill:#fff8e6;stroke:#486f5f;stroke-width:4}.mori-cutting-start-text{font:900 15px Nunito,system-ui,sans-serif;fill:#315d4d;pointer-events:none}.mori-cutting-head{fill:#cde980;stroke:#315d4d;stroke-width:3;pointer-events:none}.mori-cutting-flag path:first-child{fill:none;stroke:#76583f;stroke-width:4}.mori-cutting-flag path:last-child{fill:#e99379;stroke:#76583f;stroke-width:2}.mori-cutting-message{display:flex;align-items:center;justify-content:center;gap:9px;min-height:47px;margin:10px 3px;padding:7px 11px;border-radius:12px;background:#eef5e5;color:#315d4d;font:900 13px Nunito,system-ui,sans-serif}.mori-cutting-message span{font-size:21px}.mori-cutting.outside .mori-cutting-message{background:#fff0e8;color:#874f43}.mori-cutting.edge .mori-cutting-message{background:#fff5d8;color:#715d37}.mori-cutting.done .mori-cutting-message{background:#e3f3d6;color:#315d4d}.mori-cutting-controls .mori-cutting-step{background:#315d4d;color:#fff;border-color:#315d4d}.mori-cutting-hint{text-align:center}.mori-cutting-centerline{fill:none;stroke:#598469;stroke-width:3;stroke-dasharray:7 8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.mori-cutting-centerline.waiting{opacity:.35}.mori-cutting-progress-core{fill:none;stroke:#cde980;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.mori-cutting.done .mori-cutting-board{transform:translateY(-4px);box-shadow:0 8px #c2d4b8,0 15px 22px #315d4d1a;transition:transform .22s ease,box-shadow .22s ease}.mori-cutting-path.active{stroke:#deedce}.mori-cutting-path.finished{stroke:#e7f0dc}.mori-cutting-path.waiting{stroke:#eceee1}.mori-cutting-handstroke,.mori-cutting-failed-stroke,.mori-cutting-button-progress{fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.mori-cutting-handstroke{stroke:#315d4d;stroke-width:10;filter:drop-shadow(0 2px 0 #cde980)}.mori-cutting-handstroke.current{stroke:#426e55;stroke-width:11}.mori-cutting-failed-stroke{stroke:#e8846b;stroke-width:9;stroke-dasharray:3 5}.mori-cutting-button-progress{stroke:#315d4d;stroke-width:9}.mori-cutting-dot{fill:#cde980;stroke:#315d4d;stroke-width:3;pointer-events:none}@keyframes mori-count-snap{0%{transform:translateY(-12px) scale(.85);opacity:.4}to{transform:none;opacity:1}}@media(max-width:600px){.mori-counting,.mori-cutting{padding:8px;border-radius:16px}.mori-counting-group{flex-basis:170px;padding:8px}.mori-counting-item{width:42px;height:42px}.mori-counting-item img{width:35px;height:35px}.mori-counting-choices button{min-width:57px;min-height:55px}.mori-cutting-top span{letter-spacing:.5px}.mori-cutting-message{font-size:12px}}@media(prefers-reduced-motion:reduce){.mori-counting-item.added{animation:none}.mori-cutting.done .mori-cutting-board{transform:none;transition:none}}:root{--mp-ink:#315d4d;--mp-leaf:#cde980;--mp-coral:#ee927d;--mp-paper:#fffaf0;--mp-line:#315d4d}body{background-color:var(--mp-paper);background-image:radial-gradient(#d9e8c9 1px,transparent 1px);background-size:24px 24px}.app-shell{background:transparent}.sidebar{border-right:2px solid var(--mp-ink);background:#fffdf6;box-shadow:5px 0 #dce9cf}.sidebar-brand .brand-mark{border:2px solid var(--mp-ink);box-shadow:2px 3px 0 var(--mp-ink)}.sidebar nav button{border:2px solid transparent;transition:background .18s,border-color .18s,transform .18s}.sidebar nav button.active{background:#e7f2d7;border-color:var(--mp-ink);color:var(--mp-ink);box-shadow:0 3px #a7c494;transform:translate(2px)}.sidebar nav button:hover{border-color:#bdd2aa;background:#f4f8e9}.topbar{border-bottom:2px dashed #c3d3b6}.child-select select,.add-child{border:2px solid var(--mp-ink);box-shadow:0 3px #b7cba9}.welcome-banner{border:3px solid var(--mp-ink);border-radius:29px;background:linear-gradient(112deg,#f9d6c8,#ffe9bb);box-shadow:0 8px #b8cfaa,0 15px 24px #315d4d12}.welcome-banner:after{content:"✦  ✿";position:absolute;right:26px;top:19px;color:#fff;font:900 24px Nunito,sans-serif;letter-spacing:9px;text-shadow:1px 2px 0 var(--mp-ink)}.welcome-copy .eyebrow,.page-title .eyebrow,.section-head .eyebrow{color:#426d56}.welcome-copy h1 span{color:#e77f68;text-shadow:2px 2px 0 #fff}.welcome-circle{border:3px solid var(--mp-ink);background:#f6c2a8;box-shadow:inset 0 0 0 8px #fff5}.welcome-art .mori{filter:drop-shadow(3px 4px 0 var(--mp-ink))}.button-primary{border:2px solid var(--mp-ink);background:var(--mp-coral);box-shadow:0 4px 0 var(--mp-ink);transition:transform .15s,box-shadow .15s,background .15s}.button-primary:hover{background:#f27c68;box-shadow:0 6px 0 var(--mp-ink);transform:translateY(-2px)}.button-primary:active{box-shadow:0 1px 0 var(--mp-ink);transform:translateY(3px)}.button-dark{border:2px solid var(--mp-ink);box-shadow:0 4px 0 var(--mp-ink)}.course-promo{border:2px solid var(--mp-ink);border-radius:24px;background:#f0f5d9;box-shadow:0 6px #b7ce9f;position:relative}.course-promo:after{content:"JALUR MORI";position:absolute;right:20px;top:15px;padding:5px 10px;border:2px solid var(--mp-ink);border-radius:99px;background:var(--mp-leaf);color:var(--mp-ink);font:900 9px Nunito,sans-serif;letter-spacing:.08em}.course-promo>.mori{filter:drop-shadow(2px 3px 0 var(--mp-ink));animation:mori-float 3.2s ease-in-out infinite}.daily-card,.item-card,.progress-summary>div,.progress-section{border:2px solid var(--mp-ink);box-shadow:0 5px #c9d9b9,0 10px 18px #315d4d0b}.daily-card{border-radius:22px;transition:transform .2s,box-shadow .2s}.daily-card:hover,.item-card:hover{transform:translateY(-4px) rotate(-.35deg);box-shadow:0 9px #bfd2aa,0 17px 25px #315d4d14}.daily-icon,.card-symbol{border:2px solid var(--mp-ink);box-shadow:0 3px 0 var(--mp-ink)}.daily-top{color:#477259}.daily-bottom{border-color:#dce8d4}.home-explore{border:3px solid var(--mp-ink);box-shadow:0 7px #aac496;background:#dceacb}.page-title h1 em{color:#e57f69;text-shadow:1px 2px 0 #fff}.searchbox,.filter-row select,.button-secondary{border:2px solid var(--mp-ink);box-shadow:0 3px #c5d6b7}.auth-card,.onboarding-card,.small-modal,.quiz-panel,.detail-panel,.editor-form{border:2px solid var(--mp-ink);box-shadow:0 6px #c9d9b9,0 16px 38px #315d4d14}.progress-summary>div{border-radius:20px}.mobile-nav{display:none}@media(max-width:800px){body{background-size:20px 20px}.main-content{padding:0 15px calc(112px + env(safe-area-inset-bottom))}.topbar{height:66px;position:sticky;top:0;z-index:20;margin:0 -15px 19px;padding:0 15px;background:#fffaf0ed;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:2px solid var(--mp-ink)}.topbar-right{gap:7px}.child-select select{max-width:120px;min-height:42px;padding:8px 29px 8px 10px;font-size:12px}.topbar-right .icon-button{width:42px;height:42px}.mobile-nav{left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));display:flex;justify-content:space-around;gap:2px;padding:6px 7px;background:#fffdf5;border:2px solid var(--mp-ink);border-radius:22px;box-shadow:0 5px 0 var(--mp-ink),0 12px 25px #315d4d24}.mobile-nav button{flex:1;min-width:0;min-height:54px;padding:4px 1px;border:2px solid transparent;border-radius:15px;color:#718274;gap:2px;font-size:9px;transition:transform .18s,background .18s,border-color .18s}.mobile-nav button svg{width:21px;height:21px;stroke-width:2.5}.mobile-nav button.active{color:var(--mp-ink);background:#e4f0d3;border-color:var(--mp-ink);box-shadow:0 2px #a4bd91;transform:translateY(-4px)}.mobile-nav button:active{transform:scale(.95)}.welcome-banner{min-height:244px;padding:24px 20px;border-radius:24px}.welcome-banner:after{right:15px;top:11px;font-size:18px}.welcome-copy{max-width:78%}.welcome-copy h1{font-size:clamp(27px,7vw,34px);max-width:290px}.welcome-copy>p{max-width:250px}.welcome-art{right:-21px;opacity:.94}.welcome-circle{width:190px;height:180px;right:0}.welcome-art .mori{height:225px;right:0;bottom:-23px}.daily-grid,.library-grid{gap:14px}.daily-card{padding:17px;border-radius:20px}.section-head{margin:29px 0 17px}.mori-guide{bottom:calc(82px + env(safe-area-inset-bottom))}.toast{bottom:calc(85px + env(safe-area-inset-bottom))}}@media(max-width:560px){.welcome-banner{min-height:260px}.welcome-copy{max-width:100%}.welcome-copy>p{max-width:250px}.welcome-actions .button{min-height:46px}.course-promo{padding:19px 18px;min-height:190px;align-items:flex-start}.course-promo:after{right:11px;top:11px;font-size:8px}.course-promo>div{max-width:calc(100% - 47px)}.course-promo>.mori{width:64px;height:86px;margin:0 -12px -16px 0;align-self:flex-end}.course-promo .button{white-space:normal;text-align:left;min-height:45px}.daily-card,.item-card,.progress-section{border-radius:19px}.daily-card{min-height:0}.daily-card>p{min-height:0}.item-card{padding:14px;gap:10px}.item-card-bottom{gap:7px}.item-card-bottom button{min-height:38px;padding:4px}.progress-summary>div{border-radius:15px}}@keyframes mori-float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(2deg)}}@media(prefers-reduced-motion:reduce){.course-promo>.mori{animation:none}.daily-card,.item-card,.mobile-nav button,.button{transition:none!important}}@media(max-width:800px){.app-shell{height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;overflow:hidden}.main-content{grid-column:1;grid-row:1;align-self:stretch;min-height:0;height:100%;max-height:100%;margin:0;overflow-y:auto;overscroll-behavior-y:contain;padding:0 15px 22px}.mobile-nav{position:relative;grid-column:1;grid-row:2;left:auto;right:auto;bottom:auto;z-index:25;margin:0 10px calc(8px + env(safe-area-inset-bottom))}.mori-guide{position:fixed;inset:auto 14px calc(92px + env(safe-area-inset-bottom)) auto;z-index:26;display:flex;align-items:flex-end;gap:8px;margin:0}.mori-guide-trigger{width:56px;height:56px;border:2px solid var(--mp-ink);box-shadow:0 3px 0 var(--mp-ink)}.mori-guide-bubble{position:absolute;right:64px;bottom:0;width:min(270px,calc(100vw - 100px));max-height:min(35dvh,250px);overflow:auto;z-index:2}.mori-guide-close{width:44px;height:44px;display:grid;place-items:center}.search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.search-row .searchbox{min-width:0}.search-row>.button{min-height:46px;padding:10px 12px}.game-tile{border:2px solid var(--mp-ink);box-shadow:0 5px #c9d9b9}.game-play-actions button,.game-play-progress button,.sound-toggle,.game-back,.game-link{min-height:44px}.game-play-actions{gap:8px}.game-play-actions .button{flex:1;white-space:normal;padding:10px 11px}.detail-panel,.quiz-panel,.small-modal{scroll-padding-block:16px}.quiz-panel>.button-primary{position:sticky;bottom:-19px;z-index:3;box-shadow:0 -10px 0 8px #fffdf9,0 4px 0 var(--mp-ink)}}@media(max-width:560px){.welcome-banner{display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:0;height:auto;padding:20px 20px 0;overflow:hidden}.welcome-copy{max-width:100%;padding:0}.welcome-copy h1{max-width:100%;font-size:clamp(29px,8vw,36px);margin:12px 0 8px}.welcome-copy>p{max-width:100%;margin-bottom:16px}.welcome-actions{align-items:flex-start;gap:9px;flex-direction:column}.welcome-actions .button{min-height:46px}.welcome-art{position:relative;right:auto;bottom:auto;width:100%;height:125px;flex:none;opacity:1;margin-top:3px}.welcome-circle{width:150px;height:130px;right:calc(50% - 75px);bottom:-36px}.welcome-art .mori{height:164px;width:145px;right:calc(50% - 73px);bottom:-22px}.search-row{grid-template-columns:1fr}.search-row>.button{justify-self:start;min-width:125px}.progress-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.progress-summary>div{min-width:0;padding:14px}.progress-summary span{font-size:9px;letter-spacing:.07em;line-height:1.3}}@media(max-width:370px){.topbar{padding-inline:10px}.mobile-brand{gap:4px;min-width:0}.mobile-brand .brand-mark{width:24px;height:24px;font-size:17px;flex:none}.mobile-brand .brand-name{font-size:16px;white-space:nowrap}.topbar-right{gap:4px;flex:none}.child-select select{max-width:72px;min-height:38px;padding:7px 22px 7px 8px;font-size:11px}.child-select svg{right:5px;top:12px;width:12px}.topbar-right .icon-button{width:36px;height:36px;flex:none}.mobile-nav{left:7px;right:7px;padding-inline:5px}.mobile-nav button{font-size:9px}.welcome-banner{padding-inline:16px}.welcome-copy h1{font-size:29px}.progress-summary span{font-size:9px;letter-spacing:.08em}.progress-summary small{font-size:11px}.progress-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.progress-summary>div:last-child{grid-column:1/-1}}@media(max-width:800px){.button{min-height:44px}.section-head .button{min-width:44px;min-height:44px}.complete-box .button{min-height:44px}.topbar-right .icon-button{width:44px;height:44px}.child-select select,.filter-row select{min-height:44px}.item-card-bottom button{min-height:44px;padding-inline:5px}.daily-top button,.daily-bottom button{min-height:44px;padding:8px}.favorite-button{display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;right:5px;top:5px;border-radius:14px;background:#fffdf5}.item-card-meta{padding-right:44px}.game-instructions,.game-play,.game-end{border:2px solid var(--mp-ink);box-shadow:0 5px #c9d9b9}.game-video{border:2px solid var(--mp-ink)}.game-pad-tools button:not(.color-dot){min-height:44px;padding:8px 10px}.game-pad-tools .color-dot{width:44px;height:44px;padding:10px;border:0;background-clip:content-box!important;box-shadow:none}.game-pad-tools .color-dot.active{box-shadow:0 0 0 2px var(--mp-ink) inset}.modal-backdrop .icon-button.close{width:44px;height:44px}.course-module,.quiz-panel .choice,.quiz-panel .segmented button,.plan-responses button,.mori-counting-build-actions button,.mori-counting-controls button,.mori-cutting-controls button,.listen-controls .button{min-height:44px}.icon-button{min-width:44px;min-height:44px}}@media(max-width:370px){.topbar-right .icon-button{width:44px;height:44px}.child-select select{max-width:72px;min-height:44px}.mobile-nav{left:auto;right:auto}}@media(max-width:800px){.app-shell:has(.mori-guide){grid-template-rows:minmax(0,1fr) auto auto}.mori-guide{position:relative;grid-column:1;grid-row:2;inset:auto;justify-self:end;align-items:center;margin:3px 14px 8px;z-index:26}.mori-guide-trigger{width:48px;height:48px}.mori-guide-bubble{position:absolute;right:56px;bottom:0;width:min(270px,calc(100vw - 100px));max-height:min(35dvh,250px);overflow:auto}.mobile-nav{grid-row:3}}
