@import"https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800;900;1000&display=swap";:root{font-family:Nunito,ui-rounded,system-ui,sans-serif;color:#33134d;background:#faf6f1;font-synthesis:none;--ink:#33134d;--purple:#6926d7;--muted:#78677f;--cream:#faf6f1;--line:#e7dfe9;--shadow:#451a8b;--coral:#ffdfd6;--lavender:#e8dfff;--sunny:#fff0b5;--mint:#d9efe3;--sky:#dcedfa}*{box-sizing:border-box}body{margin:0;min-width:320px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible{outline:3px solid #9261e8;outline-offset:4px}a{color:#6325ba}button svg{flex-shrink:0}input,textarea,select{width:100%;background:#fffdfc;border:1.5px solid #d6cbdc;padding:13px 16px;border-radius:13px;color:var(--ink)}input:focus,textarea:focus,select:focus{outline:3px solid #e4d8fb;border-color:#9964df}textarea{min-height:105px;resize:vertical}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:1000;letter-spacing:-.035em}p{line-height:1.6}button{transition:background .15s,transform .15s,box-shadow .15s}button:active:not(:disabled){transform:translateY(2px)}.app-shell{min-height:100vh;background-image:url(../assets/room.webp);background-size:cover;background-attachment:fixed;background-position:center top}.topbar{max-width:1280px;margin:auto;height:91px;display:flex;align-items:center;gap:32px;padding:0 30px}.brand{display:flex;align-items:center;gap:8px;padding:0;font-weight:1000;font-size:32px;letter-spacing:-1.4px}.brand svg{color:#a579d8}.topbar nav{display:flex;gap:7px}.topbar nav button{padding:12px 22px;border-radius:26px;font-size:17px;font-weight:800}.active{background:#eee0fb;color:var(--purple)}.nav-actions{margin-left:auto;display:flex;align-items:center;gap:21px}.outline{border:1.5px solid #7b3cd2;border-radius:24px;padding:10px 18px;background:#ffffff75;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800}.outline:hover{background:#eee2ff}.profile{display:flex;color:#87749c;padding:4px;border-radius:50%}.home{max-width:1280px;margin:auto;padding:14px 30px 0}.welcome{text-align:center;padding:0 0 18px}.eyebrow{font-size:12px;letter-spacing:.1em;font-weight:900;color:#846898;display:inline-flex;align-items:center;gap:6px;text-transform:uppercase}.welcome .eyebrow{margin-bottom:13px}.welcome h1{font-size:clamp(32px,3.65vw,53px);line-height:1.13;margin-bottom:8px}.welcome p{font-size:23px;color:#887091;margin-bottom:10px}.shelf-section{position:relative;margin:0 -8px}.carousel{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:10px 8px 17px;scroll-behavior:smooth}.carousel::-webkit-scrollbar{display:none}.skill-card{flex:0 0 calc((100% - 75px)/3.3);min-width:282px;scroll-snap-align:start;border-radius:18px 18px 13px 13px;box-shadow:0 5px #4320470b;overflow:hidden;position:relative;background:#fff}.art-link{padding:0;display:block;width:100%;height:205px;overflow:hidden;background:#faf6f1}.art-link img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply;transition:transform .25s}.art-link:hover img{transform:scale(1.045)}.card-copy{padding:16px 20px 19px}.coral{background-color:var(--coral)}.lavender{background-color:var(--lavender)}.sunny{background-color:var(--sunny)}.mint{background-color:var(--mint)}.sky{background-color:var(--sky)}.card-copy h2{font-size:27px;margin-bottom:4px;line-height:1.15}.card-copy p{min-height:26px;font-size:16px;margin-bottom:8px;font-weight:600}.tiny{font-size:12px;display:flex;align-items:center;gap:5px;color:#635064;white-space:nowrap;margin-bottom:15px}.card-button{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;background:#fffaf8;border-radius:30px;padding:10px 15px;color:#6924c2;font-size:17px;font-weight:900;box-shadow:0 3px #3817540e}.card-button:hover{background:#fff}.new-card{flex:0 0 180px;scroll-snap-align:start;align-self:stretch;margin:22px 0 0;border:2px dashed #c9b5e5;border-radius:20px;background:#eee5f380;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;min-height:315px}.new-card>span{background:#a77bd3;color:#fff;display:flex;border-radius:50%;padding:11px}.new-card strong{font-size:20px;line-height:1.3}.new-card small{color:#735e83}.carousel-arrow{position:absolute;top:46%;z-index:2;border-radius:50%;height:46px;width:46px;display:flex;align-items:center;justify-content:center;background:#fffafd;color:#6c25ca;box-shadow:0 5px 20px #46264d21}.carousel-arrow.prev{left:-22px}.carousel-arrow.following{right:-22px}.shelf-foot{height:34px;display:flex;justify-content:center;align-items:center;gap:9px;color:#8a7895;font-size:12px;font-weight:700}.shelf-dot{width:7px;height:7px;border-radius:50%;background:#8e54cb}.today{margin:15px auto 0;max-width:1000px;background:#fffdfbe8;border:1px solid #fff;border-radius:25px;padding:22px 32px;box-shadow:0 10px 35px #6c3b7407;scroll-margin-top:20px}.today-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:9px}.today-head>div{display:flex;align-items:center;gap:20px}.today h2{font-size:24px;margin:0}.duration{display:flex;align-items:center;gap:6px;font-size:13px;color:#7c668b;white-space:nowrap}.today time{font-size:12px;color:#806c8a;text-transform:capitalize;white-space:nowrap}.today-row{width:100%;display:flex;align-items:center;gap:18px;text-align:left;padding:12px 0;border-top:1px solid #eee7ed}.today-row:hover{color:var(--purple)}.round-icon{height:44px;width:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.today-row strong{min-width:95px;font-size:16px;font-weight:900}.task-name{font-size:15px;color:#7b6688;flex:1}.task-time{font-size:14px;font-weight:900;white-space:nowrap}.day-cta{text-align:center;margin:22px 0 12px}.primary{background:var(--purple);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:14px;padding:15px 26px;border-radius:30px;font-weight:900;font-size:17px;border-bottom:4px solid #4c16a0;box-shadow:0 4px 14px #7124ba12}.primary:hover:not(:disabled){background:#7b37df}.day-cta .primary{min-width:300px}.day-cta p{font-size:14px;color:#917d9a;margin:12px 0 0;font-style:italic}.home footer{display:flex;justify-content:center;gap:30px;color:#9b899d;font-size:11px;padding:17px 0 24px}.home footer span{display:flex;gap:5px;align-items:center}.box-page{max-width:1050px;padding:15px 30px 70px;margin:auto}.back-link{display:flex;gap:7px;align-items:center;font-weight:800;font-size:14px;margin:8px 0 22px;color:#7e6491}.box-hero{display:flex;align-items:center;border-radius:28px;padding:30px 40px;gap:20px}.box-hero>div{flex:1}.box-hero h1{font-size:48px;margin:6px 0 10px;line-height:1.1}.box-hero p{max-width:510px;font-size:18px;color:#68526e}.box-hero>img{width:34%;max-width:290px;border-radius:20px;mix-blend-mode:multiply}.chips{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.chips span{display:flex;align-items:center;gap:6px;background:#ffffff80;padding:7px 12px;border-radius:20px;font-size:12px;font-weight:800}.box-tabs{display:flex;border-bottom:1px solid #dfd2e4;gap:12px;margin:28px 0}.box-tabs button{padding:13px 22px;display:flex;align-items:center;gap:9px;font-weight:900;font-size:16px;border-radius:15px 15px 0 0}.path{max-width:800px;margin:25px auto}.section-label h2,.path>h2{font-size:27px;margin-bottom:7px}.section-label p,.muted{color:var(--muted)}.lesson-row{width:100%;display:flex;align-items:center;gap:22px;padding:22px 15px;border-bottom:1px solid #e5d9e7;text-align:left}.lesson-row>span:nth-child(2){display:flex;flex-direction:column;flex:1;gap:5px}.lesson-row small{text-transform:uppercase;letter-spacing:.07em;font-size:10px;color:#9a7ba9;font-weight:900}.lesson-row strong{font-size:20px;font-weight:900}.lesson-row em{font-style:normal;font-size:13px;color:#8c7894}.step-number{background:#e6d7f3;color:#7342a8;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:1000}.completed .step-number{background:#d6eddd;color:#36814e}.empty{text-align:center;padding:40px 20px;color:#8b719a}.empty svg{color:#9d7cbc}.empty h3{font-size:24px;margin:14px 0 8px;color:var(--ink)}.empty p{max-width:500px;margin:0 auto 20px}.resource{display:flex;align-items:center;gap:15px;padding:24px 0;border-bottom:1px solid #e4dce7;text-decoration:none;font-weight:800}.resource span{flex:1}.progress-entry{display:flex;gap:15px;padding:22px 0;border-bottom:1px solid #e4dce7}.progress-entry svg{color:#548a65}.progress-entry h3{margin:0 0 8px}.progress-entry p{white-space:pre-wrap;color:#796080;font-size:15px}.progress-entry small{color:#a28ca9}.modal-shade{position:fixed;top:0;right:0;bottom:0;left:0;background:#2b163c64;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:30;display:flex;align-items:center;justify-content:center;padding:25px}.dialog{width:min(620px,100%);max-height:92dvh;overflow:auto;position:relative;background:#fffcf8;border-radius:28px;padding:38px;box-shadow:0 25px 90px #2812363b}.dialog h2{font-size:33px;line-height:1.16;margin:12px 30px 12px 0}.dialog h3{font-size:21px}.close{position:absolute;right:18px;top:18px;padding:7px;border-radius:50%;background:#efe7f2;display:flex}.dialog label{display:block;font-weight:900;font-size:14px;margin:22px 0 0}.dialog label input,.dialog label textarea,.dialog label select{margin-top:9px;font-weight:600;font-size:16px}.wizard-dots{display:flex;gap:7px;margin:22px 0}.wizard-dots span{height:5px;flex:1;border-radius:5px;background:#ece4ef}.wizard-dots .on{background:#8d58d0}.suggestions{display:flex;gap:9px;margin:16px 0}.suggestions button{background:#f1e9f4;padding:7px 12px;border-radius:20px;display:flex;align-items:center;gap:7px;font-size:12px;font-weight:800}.minutes-options{display:flex;gap:10px;margin-top:12px}.minutes-options button{flex:1;border:1.5px solid #e0d3e6;border-radius:13px;display:flex;align-items:center;flex-direction:column;padding:12px 0;font-weight:1000;font-size:23px;background:#fff}.minutes-options button.selected{border-color:#8c49d3;background:#ecddfa}.minutes-options small{font-weight:700;font-size:12px}.gentle-note{display:flex;gap:13px;background:#f2ecf5;border-radius:15px;padding:16px;font-size:13px;line-height:1.5;color:#80638d;margin-top:23px}.gentle-note svg{flex-shrink:0}.dialog-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:29px}.text-button{display:flex;align-items:center;gap:8px;font-weight:800;color:#8a7297}.dialog .primary{font-size:15px;padding:12px 21px}.box-preview{padding:23px;border-radius:18px;display:flex;align-items:center;gap:20px}.box-preview>svg{flex-shrink:0}.box-preview h3{font-size:27px;margin:0 0 6px}.box-preview p{font-size:14px;margin:0 0 8px}.box-preview small{font-size:11px}.swatches{display:flex;gap:13px;margin-top:14px}.swatch{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center}.swatch.selected{outline:2px solid #8055a5;outline-offset:3px}.lesson-badge{display:inline-flex;align-items:center;gap:9px;padding:8px 15px;border-radius:24px;font-size:13px;font-weight:900}.phase-label{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;color:#8e73a0}.intro{font-size:18px;color:#6f547b}.reading{background:#f5eef5;border-radius:16px;padding:22px;line-height:1.85;font-size:17px}.small{font-size:12px;margin-top:15px}.answers{display:flex;flex-direction:column;gap:12px}.answers button{text-align:left;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1.5px solid #dfd2e5;background:#fff;padding:15px;border-radius:14px;font-weight:700;font-size:16px}.answers button.correct{background:#e1f1e5;border-color:#82b491}.answers button.incorrect{background:#fff0e7;border-color:#edb38c}.feedback{padding:16px;background:#e3f0e5;color:#386a48;border-radius:13px;font-size:14px;margin:2px 0 0}.feedback.retry{background:#fff1e3;color:#98622f}.speech-practice{padding:20px;background:#f1e8f5;border-radius:18px;display:flex;flex-direction:column;align-items:center;gap:13px}.record{display:flex;align-items:center;gap:8px;border:1.5px solid #a387b8;background:#fff;border-radius:25px;padding:12px 20px;font-weight:800}.record.active-record{background:#f7d5d8;color:#b13a4c}.speech-practice small{font-size:11px;color:#846c90;text-align:center}.speech-practice audio{max-width:100%}.keyboard-wrap{text-align:center;margin:20px 0;padding:20px;background:#f0e9f8;border-radius:18px}.keyboard-wrap>span{display:flex;justify-content:center;align-items:center;gap:6px;font-size:12px;color:#856d98}.keyboard{display:flex;margin:15px 0 10px;gap:4px}.keyboard button{flex:1;background:#fff;height:100px;border:1px solid #bda8cf;border-bottom:6px solid #c9bed5;border-radius:0 0 8px 8px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:10px;font-size:12px;font-weight:900}.keyboard button.pressed{background:#d9bbed;transform:translateY(3px);border-bottom-width:3px}.keyboard-wrap small{font-size:11px;color:#987ca7}.word-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.word-grid span{background:#fff0b5;border-radius:12px;padding:20px 10px;text-align:center;font-weight:900;font-size:19px}.memory-practice .outline{margin:10px 0}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%);z-index:60;background:#3d2455;color:#fff;padding:15px 20px;display:flex;align-items:center;gap:12px;border-radius:18px;box-shadow:0 6px 28px #341a4840;max-width:min(90vw,650px);font-size:14px}.toast button{display:flex;color:#ddd}.loading{min-height:90vh;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:25px}.loading svg{color:#a275ca}.loading h1{margin:20px 0 10px}.loading button{background:#e7d9f3;padding:12px;border-radius:20px}.error{padding:12px;border-radius:12px;background:#f9e2dd;color:#9e493b;font-size:14px;margin-top:15px}.new-cover{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#9f7bb2;gap:5px}.new-cover span{font-size:13px;font-weight:900}.section-label p{font-size:14px}@media(min-width:1500px){.home{padding-top:24px}.welcome{padding-bottom:26px}.art-link{height:225px}.today{margin-top:23px}}@media(max-width:1050px){.topbar{padding:0 25px}.home{padding:10px 30px 0}.today-head>div{display:block}.duration{margin-top:8px}.skill-card{flex-basis:310px}.today h2{font-size:23px}.today-row strong{min-width:85px}.task-name{font-size:14px}.topbar nav button{padding:10px 14px}.topbar{gap:20px}.home footer{gap:12px}}@media(max-width:650px){.topbar{height:76px;padding:0 20px;gap:12px}.brand{font-size:27px}.brand svg{width:34px}.topbar nav{display:none}.nav-actions{gap:12px}.nav-actions .outline{padding:9px}.nav-actions .outline span{display:none}.profile svg{width:28px}.home{padding:9px 22px 0}.welcome{padding-bottom:10px}.welcome .eyebrow{font-size:9px;margin-bottom:14px}.welcome h1{font-size:33px;line-height:1.12;letter-spacing:-1.2px}.welcome p{font-size:18px;margin-bottom:13px}.carousel{gap:16px;padding:4px 3px 15px}.skill-card{flex-basis:83%;min-width:250px}.art-link{height:200px}.card-copy{padding:15px 19px}.card-copy h2{font-size:26px}.carousel-arrow{width:35px;height:35px}.carousel-arrow.prev{left:-12px}.carousel-arrow.following{right:-12px}.shelf-foot{font-size:10px;height:28px}.new-card{flex-basis:165px}.today{padding:20px;margin:16px 0 0;border-radius:22px}.today-head{display:block}.today h2{font-size:22px;line-height:1.2}.duration{font-size:11px}.today time{display:block;margin:8px 0 2px;font-size:10px}.today-row{gap:11px;flex-wrap:wrap;position:relative;padding:14px 0}.round-icon{width:35px;height:35px}.round-icon svg{width:20px}.today-row strong{font-size:14px;min-width:0;flex:1}.task-time{font-size:12px}.today-row>svg{display:none}.task-name{order:5;flex-basis:100%;margin-left:46px;margin-top:-8px;font-size:12px}.day-cta{margin:22px 0 10px}.day-cta .primary{min-width:0;width:90%;font-size:17px}.home footer{flex-direction:column;align-items:center;font-size:9px;gap:5px;padding-bottom:25px}.box-page{padding:8px 20px 40px}.box-hero{padding:23px;position:relative;overflow:hidden}.box-hero>div{position:relative;z-index:1}.box-hero h1{font-size:39px}.box-hero p{font-size:15px;max-width:85%}.box-hero>img{position:absolute;width:150px;right:-35px;bottom:-10px;opacity:.25}.box-hero .primary{font-size:14px;padding:13px 18px}.eyebrow{font-size:10px}.box-tabs{gap:3px}.box-tabs button{padding:12px 9px;font-size:12px;gap:5px}.box-tabs svg{width:17px}.section-label h2,.path>h2{font-size:25px}.lesson-row{padding:18px 0;gap:13px}.lesson-row strong{font-size:18px}.step-number{width:39px;height:39px}.modal-shade{padding:12px;align-items:center}.dialog{padding:29px 22px 24px;border-radius:23px;max-height:94dvh}.dialog h2{font-size:29px}.dialog .muted{font-size:14px}.dialog .primary{font-size:13px;padding:12px 16px;gap:8px}.dialog .primary svg{width:18px}.dialog label{font-size:13px}.minutes-options{gap:6px}.minutes-options button{font-size:21px}.box-preview{padding:16px;gap:13px}.box-preview svg{width:55px}.box-preview h3{font-size:23px}.box-preview p{font-size:13px}.reading{padding:18px;font-size:16px;line-height:1.75}.intro{font-size:16px}.answers button{font-size:14px}.toast{bottom:15px;font-size:12px;min-width:80vw}.dialog-actions{gap:7px}.text-button{font-size:12px}.keyboard{gap:2px}.keyboard button{font-size:10px}.word-grid span{font-size:16px}.resource{font-size:14px}.resource svg{flex-shrink:0}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@media(min-width:1051px){.topbar{height:76px}.home{padding-top:6px}.welcome{padding-bottom:10px}.welcome .eyebrow{display:none}.welcome h1{font-size:48px}.welcome p{font-size:23px;margin-bottom:8px}.today{padding:18px 30px}.today-row{padding:10px 0}.round-icon{height:38px;width:38px}.day-cta{margin-top:18px}.art-link{height:205px}}.daily-done{color:#47734f}.daily-done .task-name{text-decoration:line-through;opacity:.7}.ai-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:22px 0}.ai-actions p{flex-basis:100%;margin:0}.preparing-note{background:#f0e8fb;border-radius:18px;padding:18px;display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-weight:800;color:#6332a8}.preparing-note small{font-weight:600;flex-basis:100%}.close:disabled{opacity:.35;cursor:wait}.art-link img.generated-cover{object-fit:contain}
