@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/atkinson-hyperlegible-next-latin-ext-wght-normal-C6vrW8VD.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Next Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/atkinson-hyperlegible-next-latin-wght-normal-BcXVPD7q.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Lexend Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/lexend-vietnamese-wght-normal-RvljkFvg.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Lexend Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/lexend-latin-ext-wght-normal-B6JQhE1e.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Lexend Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/lexend-latin-wght-normal-ci0D1wrL.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:OpenDyslexic;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/opendyslexic-latin-400-normal-nUhe5EwG.woff2)format("woff2"),url(/assets/opendyslexic-latin-400-normal-Cv3YY6GF.woff)format("woff")}@font-face{font-family:OpenDyslexic;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/opendyslexic-latin-700-normal-Bnmt45Ln.woff2)format("woff2"),url(/assets/opendyslexic-latin-700-normal-wYUJcbXi.woff)format("woff")}:root{color:oklch(31% .035 73);font-synthesis:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:oklch(93% .03 90);font-family:Atkinson Hyperlegible Next Variable,Open Sans,Verdana,Arial,sans-serif}:root[data-font-scale=small]{font-size:94%}:root[data-font-scale=medium]{font-size:108%}:root[data-font-scale=large]{font-size:124%}*{box-sizing:border-box}html{background:oklch(93% .03 90);min-height:100%}body{background-color:oklch(93% .03 90);background-image:radial-gradient(oklch(64% .04 86/.28) .65px,#0000 .85px),repeating-linear-gradient(105deg,#0000 0 12px,oklch(45% .025 78/.025) 13px,#0000 14px);background-size:12px 12px,auto;min-width:320px;min-height:100dvh;margin:0;line-height:1.5;overflow-x:clip}#root{background-color:oklch(93% .03 90);justify-content:center;min-height:100dvh;display:flex}.habitat{--reading-font:"Atkinson Hyperlegible Next Variable", "Open Sans", Verdana, Arial, sans-serif;color:oklch(31% .035 73);width:min(1140px,100% - 32px);font-family:var(--reading-font);padding:30px 0 48px}.habitat[data-reading-font=rounded]{--reading-font:"Lexend Variable", "Atkinson Hyperlegible Next Variable", sans-serif}.habitat[data-reading-font=familiar]{--reading-font:Verdana, Arial, sans-serif}.habitat[data-reading-font=opendyslexic]{--reading-font:"OpenDyslexic", "Atkinson Hyperlegible Next Variable", sans-serif}.skip-link{z-index:20;color:oklch(98% .02 94);background:oklch(30% .07 125);border-radius:8px;padding:10px 14px;font-weight:700;transition:transform .15s ease-out;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.masthead{justify-content:space-between;align-items:end;margin:0 9px 20px;display:flex}.eyebrow,.section-kicker{color:oklch(45% .055 126);letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:.69rem;font-weight:800}.masthead h1{color:oklch(31% .065 130);letter-spacing:-.065em;margin:1px 0 0;font-family:Georgia,Times New Roman,serif;font-size:3.35rem;font-weight:500;line-height:.97}.settings-link,.back-link{color:oklch(37% .04 83);cursor:pointer;background:oklch(98% .016 95);border:1.5px solid oklch(66% .045 82);border-radius:999px;font-weight:800}.settings-link{background:0 0;border:0;border-radius:9px;place-items:center;width:44px;height:44px;padding:0;font-size:1.65rem;line-height:1;display:grid}.settings-link:hover,.back-link:hover{background:oklch(93% .04 93)}.settings-view{padding:clamp(54px,7vw,88px) clamp(42px,8vw,100px) 72px;position:relative}.back-link{padding:8px 13px}.settings-intro{max-width:560px;margin:28px 0 25px}.settings-intro h2{color:oklch(30% .07 125);letter-spacing:-.055em;margin:5px 0 8px;font-family:Georgia,serif;font-size:3rem;font-weight:500}.settings-intro p:last-child,.settings-note{color:oklch(42% .036 83);margin:0;line-height:1.5}.settings-list{border-top:1px solid oklch(75% .045 91);max-width:680px}.setting-row{cursor:pointer;border-bottom:1px solid oklch(81% .035 91);justify-content:space-between;align-items:center;gap:20px;padding:17px 0;display:flex}.setting-row span{gap:3px;display:grid}.setting-row strong{color:oklch(32% .053 119);font-size:1.08rem;font-weight:700}.setting-row small{color:oklch(49% .036 83);font-size:.82rem}.setting-row select,.pace-grid input{color:oklch(34% .035 76);font:inherit;background:oklch(99% .012 96);border:1.5px solid oklch(68% .045 82);border-radius:8px;padding:8px 9px}.setting-toggle input{accent-color:oklch(53% .105 122);width:20px;height:20px}.settings-section{max-width:680px;margin-top:32px}.settings-section h3{color:oklch(32% .053 119);margin:5px 0 6px;font-family:Georgia,serif;font-size:1.45rem;font-weight:600}.pace-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:15px;display:grid}.pace-grid label{color:oklch(44% .04 83);text-transform:uppercase;gap:6px;font-size:.78rem;font-weight:800;display:grid}.calibration-note{color:oklch(38% .05 105);background:oklch(91% .055 112);border-radius:10px;max-width:680px;margin-top:30px;padding:14px 16px}.calibration-note p{margin:0;font-size:.84rem;line-height:1.45}.calibration-note strong{font-size:.98rem}.explore-view{padding:clamp(54px,7vw,88px) clamp(42px,8vw,100px) 72px;position:relative}.explore-art{color:oklch(65% .13 55);font-size:3rem;position:absolute;top:20px;right:clamp(23px,7vw,80px)}.explore-intro,.explore-cards{z-index:1;position:relative}.explore-intro{max-width:560px;padding-top:30px}.explore-intro h2{color:oklch(30% .07 125);letter-spacing:-.055em;margin:5px 0 8px;font-family:Georgia,serif;font-size:3rem;font-weight:500}.explore-intro p:last-child{color:oklch(42% .036 83);max-width:500px;margin:0;line-height:1.5}.explore-flow{z-index:1;max-width:760px;margin-top:42px;position:relative}.assessment-ready,.assessment-active,.monster-offer{border-top:1px solid oklch(70% .045 91);padding:24px 0 8px}.assessment-ready h3,.assessment-active h3,.monster-offer h3{color:oklch(30% .07 125);margin:6px 0 8px;font-family:Georgia,serif;font-size:1.85rem;font-weight:600}.assessment-ready>p:not(.section-kicker),.assessment-guidance,.monster-offer p:not(.section-kicker){color:oklch(39% .04 83);max-width:600px;line-height:1.55}.assessment-ready .primary-button{margin-top:14px}.assessment-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.assessment-timer{color:oklch(32% .053 119);font-variant-numeric:tabular-nums;font-size:2rem;font-weight:700}.assessment-guidance{margin:4px 0 16px}.assessment-writing{min-height:260px}.assessment-count{color:oklch(45% .036 83);text-align:right;margin:9px 0 0;font-size:.8rem;font-weight:700}.monster-offer{justify-content:space-between;align-items:center;gap:28px;display:flex}.monster-offer>div{max-width:470px}.monster-offer .monster-portrait{flex:none;width:210px;height:210px}.writing-recovery{margin-top:18px}.writing-recovery>p:first-child{color:oklch(39% .04 83);max-width:440px;margin:0;font-size:.88rem;line-height:1.5}.offer-actions{align-items:center;gap:5px;margin-top:12px;display:flex}.icon-button{color:oklch(39% .065 119);cursor:pointer;background:0 0;border:0;border-radius:0;flex:0 0 44px;place-items:center;width:44px;height:44px;padding:0;display:inline-grid}.icon-button:hover{color:oklch(27% .075 119)}.icon-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:23px;height:23px}.writing-actions{flex-wrap:wrap;gap:9px;margin-top:10px;display:flex}.action-message{color:oklch(42% .036 83);min-height:1.35em;margin:7px 0 0;font-size:.78rem}.collection-summary{color:oklch(45% .036 83);margin:24px 0 0;font-size:.86rem}.explore-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:42px;display:grid}.explore-card{background:oklch(99% .012 96/.82);border:1.5px solid oklch(70% .055 90);border-radius:13px;flex-direction:column;align-items:flex-start;min-height:215px;padding:20px;display:flex}.explore-card-soft{background:oklch(92% .045 113/.58)}.explore-card h3{color:oklch(32% .053 119);margin:6px 0 7px;font-family:Georgia,serif;font-size:1.7rem;font-weight:600}.explore-card p:not(.section-kicker){color:oklch(45% .036 83);max-width:290px;margin:0;font-size:.88rem;line-height:1.5}.explore-card .primary-button,.explore-card .quiet-note{margin-top:auto}.bottom-nav{width:100%;box-shadow:none;background:0 0;border:0;border-radius:0;justify-content:center;gap:0;margin:14px 0 0;padding:0;display:flex}.bottom-nav button{color:oklch(48% .04 83);cursor:pointer;background:0 0;border:0;border-radius:0;flex:1;justify-content:center;align-items:center;gap:7px;min-width:110px;padding:12px 15px;font-size:.84rem;font-weight:800;display:inline-flex}.bottom-nav button span{color:oklch(61% .11 55);font-size:1.08rem}.bottom-nav button:hover{background:oklch(93% .04 93)}.bottom-nav button.active{color:oklch(32% .053 119);background:oklch(89% .065 118)}.bottom-nav button:disabled{cursor:not-allowed;opacity:.42}.bottom-nav button:disabled:hover{background:0 0}.woodland-view{isolation:isolate;margin:30px 30px 26px;position:relative}.settings-view,.explore-view,.habitat-grid{isolation:isolate;box-shadow:none;background:0 0;border:0;border-radius:0;position:relative}.settings-view:before,.explore-view:before,.habitat-grid:before{z-index:0;content:"";opacity:.3;pointer-events:none;background:url(/assets/habitat-organic-background-v2-C-Z9HIob.png) 50%/cover no-repeat;position:absolute;inset:0}.settings-view>*,.habitat-grid>*{z-index:1;position:relative}.explore-view>*{z-index:1}.collection{background:0 0;border:0;align-items:center;gap:7px;padding:30px clamp(20px,4vw,45px) 14px;display:flex;position:relative;overflow-x:auto}.collection>.section-kicker{flex:none;margin-right:12px}.companion{min-width:130px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:8px;padding:5px 8px;transition:background .18s ease-out,transform .18s ease-out;display:flex;position:relative}.companion:hover{background:oklch(98% .025 95/.48);transform:translateY(-1px)}.companion.selected{background:oklch(98% .027 97/.72)}.companion .monster-portrait{flex:none;width:56px;height:56px}.companion strong,.companion small{display:block}.companion strong{color:oklch(30% .04 75);font-family:Georgia,serif;font-size:1.04rem;font-weight:600}.companion small{color:oklch(46% .04 82);margin-top:2px;font-size:.74rem}.care-space{min-width:0;padding:0 clamp(72px,15vw,175px) 55px}.companion-stage{background:0 0;justify-content:space-between;align-items:center;min-height:214px;margin:0;padding:24px 12px 12px;display:flex;position:relative}.companion-stage>div{z-index:1;position:relative}.companion-stage h2{color:oklch(30% .07 125);letter-spacing:-.055em;margin:4px 0 6px;font-family:Georgia,serif;font-size:2.5rem;font-weight:500}.state-copy{color:oklch(36% .035 92);max-width:280px;margin:0;line-height:1.45}.companion-stage .monster-portrait{z-index:1;width:205px;height:205px;margin:2px 5% -10px 0;position:relative}.monster-portrait{object-fit:contain;filter:drop-shadow(2px 3px oklch(32% .03 70/.18));display:block}.monster-portrait.is-hungry{transform-origin:50% 78%;animation:2.8s ease-in-out infinite nibble}@keyframes nibble{50%{transform:translateY(-4px)rotate(-1.2deg)}}.feeding-plan{flex-wrap:wrap;gap:7px 24px;padding:14px 0 18px;display:flex}.feeding-plan div{align-items:baseline;gap:6px;display:flex}.feeding-plan span{color:oklch(48% .045 89);letter-spacing:.035em;text-transform:uppercase;font-size:.71rem;font-weight:700}.feeding-plan strong{color:oklch(32% .053 119);font-size:1rem}.session-head{justify-content:space-between;align-items:end;gap:18px;margin:5px 0 10px;display:flex}.message{color:oklch(39% .036 83);max-width:510px;margin:4px 0 0;font-size:.91rem;line-height:1.45}.word-count{color:oklch(37% .085 124);white-space:nowrap;font-size:1.8rem;font-weight:600}.word-count span{color:oklch(48% .04 88);font-family:var(--reading-font);font-size:.75rem;font-weight:700}textarea{resize:vertical;color:oklch(30% .026 73);width:100%;min-height:220px;font:1rem/1.75 var(--reading-font);letter-spacing:.01em;background-color:oklch(99% .012 96);background-image:repeating-linear-gradient(#0000 0 1.7em,oklch(76% .045 88/.45) 1.75em);border:0;border-radius:0;outline:none;padding:17px 19px;display:block}textarea::placeholder{color:oklch(59% .03 83)}textarea:focus{border-color:oklch(51% .095 122);box-shadow:0 0 0 3px oklch(71% .1 118/.26),inset 0 1px 3px oklch(40% .02 70/.07)}textarea[readonly]{color:oklch(38% .03 78);background-color:oklch(97% .018 92)}.session-controls{align-items:center;gap:10px;padding-top:14px;display:flex}.progress-wrap{flex:1;min-width:0}.progress-label{color:oklch(41% .038 88);justify-content:space-between;gap:10px;margin-bottom:6px;font-size:.78rem;display:flex}.progress{background:oklch(90% .035 91);border:1px solid oklch(69% .045 88);border-radius:99px;height:8px;overflow:hidden}.progress i{border-radius:inherit;background:oklch(57% .11 123);height:100%;transition:width .2s ease-out;display:block}.quiet-note{color:oklch(45% .036 83);font-size:.85rem}button,input,select,textarea{font-family:inherit}button{font:inherit}.primary-button,.text-button{cursor:pointer;border-radius:10px;padding:10px 13px;font-weight:800;transition:transform .15s ease-out,background .15s ease-out}.primary-button{color:oklch(98% .02 94);background:oklch(53% .105 122);border:1.5px solid oklch(39% .08 118);box-shadow:2px 3px oklch(35% .07 112)}.primary-button:hover{background:oklch(48% .105 122);transform:translateY(-1px)}.primary-button:disabled{cursor:not-allowed;opacity:.5;box-shadow:none}.text-button{color:oklch(37% .04 83);background:oklch(98% .016 95);border:1.5px solid oklch(66% .045 82)}.text-button:hover{background:oklch(93% .04 93)}.text-button:disabled{cursor:not-allowed;opacity:.5}button,select,input{min-height:44px}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid oklch(66% .13 63)}@media (width<=720px){.habitat{width:min(100%,560px);padding-top:calc(18px + env(safe-area-inset-top));padding-bottom:calc(48px + env(safe-area-inset-bottom))}.masthead{align-items:start;gap:8px;margin:0 12px 15px}.masthead h1{font-size:2.55rem}.settings-link{width:42px;height:42px;font-size:1.55rem}.settings-view{padding:48px 32px 52px}.settings-intro{margin-top:23px}.settings-intro h2{font-size:2.35rem}.setting-row{align-items:flex-start}.setting-row small{max-width:190px}.pace-grid{grid-template-columns:1fr;gap:10px}.explore-view{padding:48px 32px 52px}.explore-art{font-size:2.4rem;top:17px;right:20px}.explore-intro{padding-top:27px}.explore-intro h2{font-size:2.35rem}.explore-cards{grid-template-columns:1fr;margin-top:30px}.explore-card{min-height:180px}.explore-flow{margin-top:30px}.assessment-ready,.assessment-active,.monster-offer{padding-top:20px}.assessment-heading{align-items:baseline}.assessment-timer{font-size:1.55rem}.assessment-writing{min-height:240px}.monster-offer{align-items:flex-start;gap:8px}.monster-offer .monster-portrait{width:116px;height:116px;margin-right:-16px}.bottom-nav{width:100%;margin-top:10px}.bottom-nav button{flex:1;min-width:0}.woodland-view{margin:0}.settings-view:before,.explore-view:before,.habitat-grid:before{background-image:url(/assets/habitat-organic-background-mobile-v2-D3YyYDlH.png)}.collection{gap:7px;padding:34px 12px 12px}.collection>.section-kicker{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.companion{text-align:center;flex-direction:column;align-items:center;gap:2px;min-width:106px;margin:0;padding:6px}.companion .monster-portrait{width:50px;height:50px}.companion small{font-size:.72rem}.care-space{padding:0 38px 40px}.companion-stage{min-height:158px;padding:17px 2px 10px}.companion-stage h2{font-size:1.95rem}.state-copy{max-width:150px;font-size:.87rem}.companion-stage .monster-portrait{width:118px;height:118px;margin-right:-8px}.feeding-plan{gap:5px 13px}.feeding-plan strong{font-size:.83rem}.feeding-plan span{font-size:.72rem}.session-controls{flex-wrap:wrap;justify-content:space-between}.progress-wrap{flex-basis:100%}.session-controls>.writing-actions{width:100%;margin-top:2px}.session-controls>.writing-actions button{flex:1}}@media (width<=480px){.setting-row{flex-direction:column}.setting-row select,.pace-grid input{width:100%}.session-head{align-items:flex-start}}@media (prefers-reduced-motion:reduce){.skip-link{transition:none}.monster-portrait.is-hungry{animation:none}.companion,.primary-button,.text-button,.progress i{transition:none}.companion:hover,.primary-button:hover{transform:none}}[data-reduce-motion=true] .monster-portrait.is-hungry{animation:none}[data-reduce-motion=true] .companion,[data-reduce-motion=true] .primary-button,[data-reduce-motion=true] .text-button,[data-reduce-motion=true] .progress i{transition:none}[data-reduce-motion=true] .companion:hover,[data-reduce-motion=true] .primary-button:hover{transform:none}
