:root{--ink:#242321;--muted:#85837d;--paper:#f7f7f2;--white:#fff;--orange:#f27650;--orange-dark:#db5e3b;--purple:#aaa0e8;--line:#ecebe5;--green:#568775}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}.app-shell{max-width:1190px;margin:0 auto;padding:0 46px}.topbar{height:82px;border-bottom:1px solid #e9e8e1;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:9px;color:var(--ink);text-decoration:none}.brand-mark{width:35px;height:35px;background:#fce6d8;border-radius:12px;display:grid;place-items:center}.brand-mark svg{width:26px;fill:none;stroke:#e77951;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.brand-name{font-family:Nunito,sans-serif;font-size:13px;line-height:1.06;letter-spacing:-.3px}.brand-name b{font-size:15px}.topbar-right{display:flex;align-items:center;gap:10px;color:#85837d;font-size:12px}.sparkle{font-size:18px;color:#f27650}.avatar{width:33px;height:33px;margin-left:12px;background:#d9e7db;border-radius:50%;display:grid;place-items:center;color:#577361;font-family:Nunito;font-size:14px;font-weight:900}.welcome{height:235px;display:flex;align-items:center;justify-content:space-between;position:relative}.welcome-copy{padding-bottom:5px}.eyebrow,.mini-label{font-size:9px;letter-spacing:1.35px;font-weight:800;color:#8d8b84}.eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:13px}.eyebrow span{width:6px;height:6px;background:var(--orange);border-radius:50%}h1{font-family:Nunito,sans-serif;font-size:43px;line-height:1.02;letter-spacing:-1.9px;margin:0;font-weight:900}.title-dot{color:var(--orange)}.welcome-copy p{color:#74736e;font-size:13px;margin:12px 0 0}.hero-art{width:210px;height:184px;position:relative;margin-right:39px}.sun{position:absolute;width:136px;height:136px;top:19px;left:40px;border-radius:50%;background:#f5e7c9}.book-art{position:absolute;width:133px;height:86px;left:43px;top:60px;display:flex;transform:rotate(-8deg);filter:drop-shadow(0 8px 6px #564b3017)}.book-left,.book-right{height:79px;width:66px;background:#fffdf9;border:1px solid #e5dccb;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:0 12px}.book-left{border-radius:7px 3px 3px 7px;transform:skewY(8deg);border-right:0}.book-right{border-radius:3px 7px 7px 3px;transform:skewY(-8deg);border-left:0}.book-left i,.book-right i{height:2px;background:#c8c0ad;border-radius:3px}.book-left i:nth-child(2),.book-right i:nth-child(2){width:80%}.book-spine{position:absolute;left:65px;top:2px;height:80px;width:2px;background:#dfd5c3}.hero-star{position:absolute;color:#ed8861}.star-one{font-size:22px;left:24px;top:24px}.star-two{font-size:17px;right:20px;top:80px;color:#a49ada}.hero-caption{position:absolute;bottom:3px;right:9px;font-family:Nunito;font-size:10px;color:#9b968a;font-style:italic}.session-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(340px,.94fr);gap:18px;align-items:stretch}.panel{background:var(--white);border:1px solid #efeee8;border-radius:14px;box-shadow:0 3px 12px #28251d08}.reading-panel{padding:23px 24px 19px}.timer-panel{padding:23px 24px 17px}.panel-heading{display:flex;align-items:center;gap:12px;position:relative}.step-icon{height:33px;width:33px;border-radius:11px;background:#fbe9df;color:#de704b;display:grid;place-items:center;font-family:Nunito;font-size:10px;font-weight:900}.step-lilac{background:#efedff;color:#8679d7}.panel-heading .mini-label{font-size:8px;margin-bottom:3px}.panel-heading h2{font-family:Nunito,sans-serif;font-size:18px;line-height:1;margin:0;letter-spacing:-.3px}.heading-doodle{margin-left:auto;color:#b7b1e8;font-size:24px;transform:rotate(11deg)}.controls-row{display:flex;gap:10px;margin:19px 0 14px}.select-wrap{height:51px;min-width:113px;flex:0 0 116px;border:1px solid #ecebe5;border-radius:8px;padding:6px 12px;position:relative;display:flex;flex-direction:column;justify-content:center;background:#fff}.select-wrap>span:first-child{font-size:9px;color:#96938b;margin-bottom:1px}.select-wrap select{appearance:none;border:0;outline:0;background:transparent;color:var(--ink);font-family:inherit;font-size:12px;font-weight:700;padding:0;cursor:pointer;width:100%}.select-arrow{position:absolute;right:11px;bottom:8px;color:#8b8982;pointer-events:none}.story-select{flex:1}.story-card{background:#fcfaf5;border:1px solid #f1eee4;border-radius:10px;padding:15px 17px 12px}.story-meta{display:flex;align-items:center;justify-content:space-between}.story-tag{background:#e8eee2;border-radius:4px;padding:4px 7px;font-size:8px;letter-spacing:.65px;font-weight:800;color:#658064}.story-length{font-size:9px;color:#9d9a91}.story-card h3{font-family:Nunito,sans-serif;font-size:16px;letter-spacing:-.25px;margin:11px 0 6px}.story-text{font-size:12px;line-height:1.65;letter-spacing:.01px;color:#53524e;margin:0;max-height:none;overflow:visible}.story-text .spoken{background:#f7dc9b;border-radius:3px;color:#332d21}.story-text .recognized{background:#dcebdd;border-radius:3px}.story-footer{border-top:1px solid #eeeae1;margin-top:11px;padding-top:9px;display:flex;align-items:center;gap:7px;font-size:9px;color:#8b887f}.tiny-book{font-size:14px;color:#b29b74}.story-count{margin-left:auto;color:#b2aea4;font-variant-numeric:tabular-nums}.reading-tip{display:flex;align-items:center;gap:8px;margin-top:13px;color:#818078;font-size:10px}.reading-tip b{color:#5d5c56;font-weight:700}.tip-icon{color:#e7a861;font-size:15px}.timer-intro{color:#85837d;font-size:10px;margin:17px 0 8px}.duration-options{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}.duration{border:1px solid #eeede8;background:#fff;border-radius:6px;height:30px;color:#7e7c75;font:600 10px 'DM Sans',sans-serif;cursor:pointer;transition:.15s}.duration:hover{border-color:#b4ade7;color:#766cc0}.duration.selected{color:#756bc4;border-color:#b2a9ea;background:#f5f3ff;font-weight:700}.timer-dial{width:154px;height:154px;margin:13px auto 3px;position:relative}.timer-dial svg{width:100%;height:100%;transform:rotate(-90deg)}.dial-track,.dial-progress{fill:none;stroke-width:7}.dial-track{stroke:#f0eff8}.dial-progress{stroke:#a69be7;stroke-linecap:round;stroke-dasharray:615.75;stroke-dashoffset:0;transition:stroke-dashoffset .3s}.dial-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.timer-time{font-family:Nunito,sans-serif;font-weight:800;font-size:36px;letter-spacing:-1.3px;font-variant-numeric:tabular-nums;line-height:1}.timer-caption{font-size:8px;letter-spacing:1.3px;color:#aaa6b8;margin-top:5px;font-weight:700}.dial-spark{position:absolute;color:#f3a15d;top:19px;right:8px;font-size:15px}.word-result{height:51px;margin:1px auto 10px;background:#faf9fd;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:19px;width:100%}.word-result>div:not(.result-divider){display:flex;align-items:baseline;gap:6px}.result-number{font-family:Nunito,sans-serif;color:#423d63;font-weight:900;font-size:23px;letter-spacing:-.6px;font-variant-numeric:tabular-nums}.result-number.small{font-size:17px}.result-label{font-size:9px;color:#88858f}.result-divider{height:23px;width:1px;background:#e9e7f0}.action-buttons{display:grid;grid-template-columns:1fr 43px;gap:8px}.start-button,.reset-button{height:41px;border:0;border-radius:8px;cursor:pointer;font-family:inherit;font-weight:700;transition:transform .15s,background .15s}.start-button{background:var(--orange);color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center;gap:9px;box-shadow:0 3px 0 #df6542}.start-button:hover{background:var(--orange-dark);transform:translateY(-1px)}.start-button:active{transform:translateY(2px);box-shadow:none}.start-button.running{background:#57516e;box-shadow:0 3px 0 #403b53}.play-icon{font-size:10px}.start-button.running .play-icon{font-size:12px}.reset-button{display:grid;place-items:center;background:#f6f5f1;color:#77746e}.reset-button:hover{background:#eeede7}.reset-button svg{height:17px;width:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.mic-status{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:12px;color:#96938c;font-size:9px}.mic-dot{height:6px;width:6px;border-radius:50%;background:#9db69c}.mic-status.listening .mic-dot{background:#ec7c63;box-shadow:0 0 0 3px #fbe9e3;animation:pulse 1.2s infinite}.mic-status button{border:1px solid #d9d7d0;background:transparent;width:13px;height:13px;padding:0;border-radius:50%;color:#89867f;font-size:9px;line-height:11px;cursor:pointer}@keyframes pulse{50%{box-shadow:0 0 0 5px #fbe9e3}}.bottom-note{display:flex;align-items:center;gap:10px;margin:20px 3px 24px;color:#88867e;font-size:10px}.bottom-star{font-size:16px;color:#eda460}.bottom-line{height:1px;flex:1;background:#eae9e2;margin-left:8px}.session-number{font-size:8px;letter-spacing:1px;color:#a29f96}.session-number b{color:#5a5851;margin-left:4px}footer{text-align:center;border-top:1px solid #e9e8e1;padding:15px;color:#aaa79f;font-size:9px;letter-spacing:.2px}footer span{color:#e8a167;margin:0 3px}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,15px);background:#302e2a;color:#fff;border-radius:8px;padding:11px 16px;font-size:12px;opacity:0;pointer-events:none;transition:.2s;box-shadow:0 6px 20px #0002;z-index:5;max-width:90vw;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}button:focus-visible,select:focus-visible{outline:3px solid #bbb1f2;outline-offset:2px}
@media(min-width:1100px){.reading-panel{padding:25px 27px 21px}.timer-panel{padding:25px 27px 19px}.story-text{font-size:12.5px}}@media(max-width:790px){.app-shell{padding:0 24px}.welcome{height:210px}.hero-art{margin-right:0;transform:scale(.86);transform-origin:center right}.session-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.9fr);gap:12px}.reading-panel,.timer-panel{padding:19px 17px}.story-card{padding:13px}.story-text{font-size:11px}}@media(max-width:650px){.app-shell{padding:0 16px}.topbar{height:67px}.topbar-right{font-size:0;gap:4px}.topbar-right .sparkle{font-size:17px}.avatar{margin-left:7px}.welcome{height:185px}.welcome-copy{z-index:1}h1{font-size:36px}.welcome-copy p{font-size:11px;max-width:235px}.hero-art{position:absolute;right:-16px;opacity:.75;transform:scale(.7);transform-origin:center right}.session-grid{grid-template-columns:1fr;gap:12px}.reading-panel,.timer-panel{padding:19px}.story-text{font-size:12px;line-height:1.8;max-height:none}.timer-panel{display:grid;grid-template-columns:1fr 1fr;column-gap:16px;align-items:start}.timer-panel .panel-heading,.timer-intro,.duration-options{grid-column:1/-1}.timer-intro{margin-top:14px}.timer-dial{width:140px;height:140px;margin:10px auto 0;grid-column:1;grid-row:4 / span 2}.word-result{grid-column:2;grid-row:4;margin:31px 0 7px;align-self:start;gap:8px}.word-result>div:not(.result-divider){flex-direction:column;align-items:center;gap:0}.result-label{font-size:8px}.result-number{font-size:21px}.action-buttons{grid-column:2;grid-row:5;margin-top:0}.mic-status{grid-column:1/-1;margin-top:9px}.bottom-note{margin-top:16px}.bottom-note>span:nth-child(2){max-width:190px;line-height:1.5}.bottom-line{min-width:10px}}@media(max-width:370px){.app-shell{padding:0 11px}.reading-panel,.timer-panel{padding:16px 13px}.hero-art{right:-28px;opacity:.55}.controls-row{gap:6px}.select-wrap{flex-basis:101px;min-width:101px;padding-left:9px}.duration{font-size:9px}.word-result{gap:5px}.result-number.small{font-size:15px}.bottom-note{font-size:9px}}

.mic-picker{margin-top:10px}.mic-picker>label{display:block;color:#96938c;font-size:8px;font-weight:800;letter-spacing:.9px;margin-bottom:4px}.mic-picker-controls{display:flex;gap:6px}.mic-picker select{min-width:0;flex:1;height:29px;border:1px solid #ecebe5;border-radius:6px;background:#fff;color:#69675f;padding:0 7px;font:500 9px 'DM Sans',sans-serif}.mic-picker button{height:29px;border:1px solid #ecebe5;border-radius:6px;background:#f8f7f3;color:#77746e;padding:0 9px;font:600 9px 'DM Sans',sans-serif;cursor:pointer}.mic-picker button:hover{background:#efeee8}.mic-status{margin-top:8px}.mic-status.listening .mic-dot{background:#ec7c63}

.story-labels{display:flex;align-items:center;gap:7px}.story-age{background:#f0eefb;border-radius:4px;padding:4px 7px;color:#7970b6;font-size:8px;letter-spacing:.55px;font-weight:800}@media(max-width:650px){.timer-dial{grid-row:3 / span 2}.word-result{grid-row:3}.action-buttons{grid-row:4}}
