@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";@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.hidden{display:none}.table{display:table}.grow{flex-grow:1}}:root{color:#403e36;font-synthesis:none;background:#faf9f5;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button{color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:4px;outline:3px solid #c48d62}h1,h2,h3,p{margin:0}h1,h2,h3,.brand{font-family:Nunito,sans-serif}button{background:0 0;border:0}svg{flex-shrink:0}h1{letter-spacing:-1.8px;font-size:46px;font-weight:900;line-height:1.12}h2{letter-spacing:-.6px;font-size:25px;font-weight:800}h3{font-weight:800}.app-shell{min-height:100vh;display:flex}.sidebar{z-index:20;background:#f3f1e9;border-right:1px solid #e7e4d9;flex-direction:column;flex-shrink:0;width:232px;height:100vh;padding:36px 24px;display:flex;position:fixed}.brand{letter-spacing:-1px;align-items:center;gap:9px;font-size:27px;font-weight:900;display:flex}.brand-icon{background:#c7d5b6;border:1.5px solid #536045;border-radius:10px;padding:8px;display:flex;transform:rotate(-7deg)}.brand-dot{color:#b69a64;margin-left:-3px;font-size:15px}.side-caption{letter-spacing:1.4px;color:#929187;margin:39px 0 18px;font-size:8px;font-weight:700}.sidebar nav{flex-direction:column;gap:9px;display:flex}.sidebar nav button{text-align:left;color:#76766b;border-radius:10px;align-items:center;gap:12px;padding:13px 14px;font-size:13px;font-weight:500;display:flex}.sidebar nav button.active{color:#42533b;background:#e3e9d7;border:1px solid #d4ddc5;font-weight:700}.sidebar nav button span{margin-left:auto}.side-note{background:#f9f7ef;border:1px dashed #cfcbb8;border-radius:13px;margin-top:51px;padding:21px 18px 10px;position:relative}.side-note>span{letter-spacing:1.4px;color:#8c9774;font-size:8px}.side-note p{margin-top:12px;font-family:Nunito;font-size:18px;font-weight:700;line-height:1.6}.tiny-plant{color:#8c9b76;text-align:right;font-size:64px;line-height:1;transform:rotate(-10deg)}.sidebar-bottom{margin-top:auto;padding-top:30px}.sidebar-bottom a{color:#77786d;gap:9px;font-size:12px;display:flex}.sidebar-bottom small{color:#99998d;margin-top:17px;font-size:9px;line-height:1.8;display:block}main{width:calc(100% - 232px);margin-left:232px}.topbar{background:#fdfcf9;border-bottom:1px solid #eae8df;justify-content:space-between;align-items:center;height:86px;padding:0 43px;font-size:12px;display:flex}.breadcrumb{color:#a09e94}.slash{color:#c9c7bf;margin:0 15px}.top-actions{align-items:center;gap:21px;display:flex}.cozy{color:#87887c;align-items:center;gap:7px;font-size:11px;display:flex}.cozy>span{background:#9faf86;border-radius:100%;width:6px;height:6px}.avatar{background:#f0e2cb;border:1px solid #d6c2a4;border-radius:50%;place-items:center;width:31px;height:31px;font-size:12px;display:grid}.page{max-width:1500px;margin:auto;padding:36px 43px 40px}.hero{background:#f5efdf;border:1px solid #e2dbc8;border-radius:21px;min-height:335px;padding:37px 39px;display:flex;position:relative;overflow:hidden}.hero-copy{z-index:2;width:60%}.eyebrow{letter-spacing:1.5px;color:#827e65;align-items:center;gap:7px;font-size:9px;font-weight:700;display:flex}.hero h1{letter-spacing:-1.9px;margin:20px 0 17px;font-size:51px;line-height:1.06;position:relative}.hero h1 span{color:#788c5f}.hero h1>svg{width:177px;position:absolute;bottom:-7px;left:75px}.hero p{color:#8a8476;font-size:13px;line-height:1.8}.primary{color:#fffdf5;background:#6f835b;border:1px solid #5e704b;border-radius:9px;justify-content:center;align-items:center;gap:14px;padding:12px 18px;font-size:12px;font-weight:600;transition:transform .15s;display:inline-flex;box-shadow:0 3px #536441}.primary:hover{background:#657b51;transform:translateY(-2px)}.hero .primary{margin-top:21px}.hero-foot{color:#9b9483;align-items:center;gap:7px;margin-top:18px;font-size:9px;display:flex}.keycap{color:#817b6b;background:#fffcf5;border:1px solid #dcd4c1;border-bottom-width:3px;border-radius:4px;padding:3px 5px}.hero-illustration{width:39%;height:calc(100% - 40px);position:absolute;top:20px;right:23px}.hero-orbit{background:#e9e5cd;border-radius:50%;width:240px;height:240px;position:absolute;top:46px;left:5%}.hero-cat{z-index:2;width:240px;position:absolute;bottom:30px;left:4%;transform:rotate(-5deg)}.bubble{z-index:3;color:#8d856e;background:#fff9e9;border:1px solid #c9be9e;border-radius:14px 14px 14px 1px;padding:13px 18px;font-family:Nunito;font-size:12px;font-weight:600;line-height:1.4;position:absolute;top:8px;right:0;transform:rotate(7deg)}.floating-star{color:#b39b66;position:absolute}.star-a{font-size:30px;top:33px;left:0}.star-b{font-size:42px;bottom:84px;right:17px}.illustration-caption{letter-spacing:1.5px;color:#9c927a;font-size:7px;position:absolute;bottom:6px;left:18px}.book-stack{z-index:1;position:absolute;bottom:45px;right:13px;transform:rotate(7deg)}.book-stack i{background:#ccac82;border:2px solid #81755e;border-radius:4px;width:86px;height:21px;display:block}.book-stack i:nth-child(2){background:#c0ccb1;width:95px;margin-left:7px}.book-stack i:nth-child(3){background:#e8cb96;margin-left:-6px}.library-section{margin-top:36px}.section-title{justify-content:space-between;align-items:center;display:flex}.section-title h2{font-size:25px}.section-title h2 span{color:#b9aa85;margin-left:8px}.section-title p{color:#929084;margin-top:7px;font-size:11px}.count{color:#8b8b7c;background:#eeeee4;border:1px solid #e4e4d8;border-radius:20px;padding:6px 11px;font-size:10px}.library-tools{justify-content:space-between;align-items:center;gap:15px;margin:26px 0 22px;display:flex}.filters{flex-wrap:wrap;gap:7px;display:flex}.filters button{color:#8b897f;border:1px solid #0000;border-radius:20px;align-items:center;gap:4px;padding:8px 13px;font-size:10px;display:flex}.filters button.selected{color:#657752;background:#e7ecde;border-color:#d5dec7}.search{color:#a19e90;background:#fffefa;border:1px solid #e1dfd4;border-radius:8px;align-items:center;gap:7px;max-width:230px;padding:9px 11px;display:flex}.search input{width:100%;min-width:0;color:inherit;background:0 0;border:0;outline:none;font-size:10px}.book-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;display:grid}.book-card{text-align:left;background:#fffefa;border:1px solid #e3e0d5;border-radius:13px;padding:0;transition:all .2s;overflow:hidden;box-shadow:0 3px #eae7dc}.book-card:hover{transform:translateY(-6px);box-shadow:0 9px 25px #4d493b10}.cover{text-align:center;color:#594c46;background:#e8d9cd;border-radius:6px;height:239px;margin:10px 10px 0;padding:23px 14px 17px;position:relative;overflow:hidden;box-shadow:inset 5px 0 #00000009}.cover:after{content:"";pointer-events:none;border:1px solid #ffffff60;position:absolute;inset:7px}.cover-label{letter-spacing:1.4px;opacity:.7;font-size:5px}.cover h3{white-space:pre-line;z-index:2;margin:15px 0 0;font-size:23px;font-weight:800;line-height:1.12;position:relative}.cover-author{letter-spacing:1px;z-index:2;font-size:6px;position:absolute;bottom:15px;left:0;right:0}.cover-1{color:#425e68;background:#cbdde2}.cover-2{color:#71623c;background:#e5dab0}.cover-3{color:#4c644a;background:#c6d1b7}.cover-art{position:absolute;inset:99px 10px 30px;overflow:hidden}.moon-shape{background:#fff0d3;border-radius:50%;width:45px;height:45px;position:absolute;top:5px;left:calc(50% - 23px)}.flower{color:#8e7991;z-index:2;font-size:45px;position:absolute;bottom:5px}.f1{left:12px;transform:rotate(-10deg)}.f2{color:#b08565;font-size:53px;right:6px}.f3{color:#ede8cb;font-size:32px;bottom:-2px;left:63px}.hills{background:#929d7b;border-radius:50%;width:200px;height:85px;position:absolute;bottom:-45px;left:-17px;transform:rotate(12deg)}.cloud{background:#f6f5ea;border-radius:50px;width:70px;height:24px;position:absolute}.cloud:before{content:"";background:inherit;border-radius:50%;width:35px;height:35px;position:absolute;top:-15px;left:20px}.c1{top:25px;left:3px}.c2{top:70px;right:-12px;transform:scale(.8)}.envelope{color:#ae7a5d;font-size:76px;position:absolute;top:9px;left:35px;transform:rotate(-15deg)}.star{color:#8ea6aa;font-size:21px;position:absolute;top:5px;right:18px}.sunshape{background:#f9efcc;border:1px solid #bdac75;border-radius:50%;width:42px;height:42px;position:absolute;top:0;right:12px}.step{background:#b4b78d;border:1px solid #8a936b;width:45px;position:absolute;bottom:0}.s1{height:25px;left:9px}.s2{height:45px;left:53px}.s3{height:65px;left:97px}.cover-art>svg{color:#6f8056;position:absolute;top:8px;left:47px;transform:rotate(-25deg)}.tree{color:#75886b;font-size:100px;position:absolute;bottom:-20px}.t1{left:-2px}.t2{color:#536e50;font-size:126px;left:47px}.t3{font-size:91px;right:-14px}.path{background:#dfcf9d;border-radius:80% 0 0;width:28px;height:70px;position:absolute;bottom:-15px;left:70px;transform:rotate(30deg)}.book-details{padding:15px 14px 12px}.book-meta{color:#9b998c;justify-content:space-between;gap:3px;font-size:8px;display:flex}.book-meta>span:first-child{color:#7f8d6b}.book-details h3{margin:8px 0 4px;font-size:13px;line-height:1.4}.book-details p{color:#9a978c;font-size:9px}.book-bottom{color:#8a8979;border-top:1px solid #efede5;justify-content:space-between;align-items:center;margin-top:15px;padding-top:11px;font-size:8px;display:flex}.round-arrow{background:#f6f7ef;border:1px solid #dedfd1;border-radius:50%;padding:5px;display:flex}.library-footer{color:#999989;align-items:center;gap:7px;margin-top:30px;font-size:10px;display:flex}.library-footer>span:last-child{margin-left:auto;font-size:8px}.bottom-footer{color:#a29f93;border-top:1px solid #e7e5db;justify-content:space-between;margin:0 43px;padding:23px 0 30px;font-size:9px;display:flex}.bottom-footer>span:first-child{color:#888b78}.bottom-footer>span:first-child span{color:#a3ae8b;padding:0 6px}.icon-button{border-radius:8px;justify-content:center;align-items:center;padding:7px;display:inline-flex}.icon-button:hover{background:#eaeade}.text-button{align-items:center;gap:7px;padding:9px 10px;font-size:12px;display:inline-flex}.secondary{background:#f9f8f1;border:1px solid #d9d8cb;border-radius:8px;align-items:center;gap:7px;padding:9px 13px;font-size:12px;display:inline-flex}.muted{color:#929083;margin:14px 0;font-size:13px;line-height:1.8}.notice{background:#ffeddb;border:1px solid #e5c7a4;border-radius:10px;justify-content:space-between;align-items:center;margin:18px 43px 0;padding:14px 25px;font-size:12px;display:flex}.busy{background:#e9eddf;border-color:#d8ddc9}.empty{text-align:center;color:#8b897c;background:#f4f2e8;border:1px dashed #d7d6c8;border-radius:15px;margin:25px 0;padding:55px 20px}.empty p{margin:13px 0 24px;font-size:13px}.empty svg{margin:auto}.cat{width:95px;height:95px}.mascot{pointer-events:none;z-index:40;animation:42s ease-in-out infinite wander;position:fixed;bottom:5px;right:16px}.mascot.quiet{animation:none}.mascot.celebrate{animation:.65s 4 hop}.eyes{transform-origin:110px 88px;animation:6s infinite blink}.reduce-motion *{scroll-behavior:auto!important;animation:none!important}.focused .sidebar,.focused .topbar,.focused .bottom-footer{display:none}.focused main{width:100%;margin-left:0}.practice{max-width:1150px;padding-bottom:100px}.practice-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.practice-heading>div{text-align:center}.practice-heading .eyebrow{justify-content:center;font-size:8px}.practice-heading h2{white-space:pre-line;margin-top:10px;font-size:25px}.practice-controls{border-bottom:1px solid #e4e2d7;align-items:center;gap:15px;margin-top:30px;padding-bottom:18px;font-size:11px;display:flex}.practice-controls label{color:#96917f}.practice-controls select{color:#676656;background:#fdfcf6;border:1px solid #dfddcf;border-radius:7px;margin-left:7px;padding:7px}.spacer{flex:1}.stats{justify-content:center;gap:65px;margin:35px 0;display:flex}.stats>div{text-align:center;flex-direction:column;gap:5px;display:flex}.stats strong{color:#6f815c;font-family:Nunito;font-size:31px}.stats small{font-size:17px}.stats span{letter-spacing:1px;color:#a19d90;font-size:9px}.typing-card{cursor:text;background:#fffef9;border:1px solid #e3dfd0;border-radius:17px;padding:25px 35px;position:relative}.typing-status{color:#a29d8d;justify-content:space-between;margin-bottom:17px;font-size:10px;display:flex}.status-dot{background:#8ca676;border-radius:50%;width:6px;height:6px;margin-right:7px;display:inline-block}.status-dot.paused{background:#c7b78e}.progress-track{background:#edeee4;border-radius:5px;height:3px}.progress-track i{background:#a0b68a;height:100%;transition:width .2s;display:block}.typing-text{color:#a2a297;letter-spacing:.2px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:380px;padding:28px 0;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.9;overflow:auto}.typing-text .right{color:#252820}.typing-text .wrong{color:#ce554b;background:#fbe3de;-webkit-text-decoration:underline #dd9085;text-decoration:underline #dd9085}.caret{border-left:2px solid #8a9e6c;margin-left:-2px;animation:1.2s infinite caret}.typing-input{opacity:.01;border:0;width:1px;height:1px;padding:0;position:absolute;bottom:0;left:0;overflow:hidden}.typing-legend{color:#aaa597;border-top:1px solid #efede3;align-items:center;gap:20px;padding-top:19px;font-size:9px;display:flex}.typing-legend span{align-items:center;gap:6px;display:flex}.typing-legend i{background:#b7b7aa;border-radius:50%;width:7px;height:7px;display:inline-block}.typing-legend span:nth-child(2) i{background:#434838}.typing-legend span:nth-child(3) i{background:#d98278}.typing-legend small{margin-left:auto;font-size:8px}.practice-note{text-align:center;color:#a3a08f;margin-top:23px;font-size:11px}.result-card{text-align:center;background:#eef2e5;border:1px solid #c8d4b7;border-radius:15px;margin-top:25px;padding:28px}.result-card>span{color:#99a77f;font-size:30px}.result-card p{margin:10px 0 20px;font-size:13px}.progress-summary{gap:20px;margin:30px 0;display:flex}.progress-summary>div{background:#efefdf;border:1px solid #dcdfcc;border-radius:13px;flex-direction:column;flex:1;gap:9px;padding:25px;display:flex}.progress-summary strong{color:#71825c;font-family:Nunito;font-size:36px}.progress-summary span{color:#8c8d7b;font-size:12px}.history-list>div,.admin-book{border-bottom:1px solid #e3e1d5;align-items:center;gap:20px;padding:20px;font-size:13px;display:flex}.history-list>div>span:nth-child(2),.admin-book>div{flex:1}.history-list small,.admin-book small{color:#999484;margin-top:5px;font-size:10px;display:block}.upload-zone{text-align:center;cursor:pointer;background:#f1f3e8;border:2px dashed #cdd6bd;border-radius:17px;flex-direction:column;align-items:center;gap:11px;margin:30px 0;padding:37px;display:flex}.upload-zone svg{color:#8b9f70}.upload-zone p{color:#90947f;font-size:13px}.upload-zone small{color:#a2a38e;font-size:10px}.upload-zone input{width:100%;max-width:220px;margin-top:10px;font-size:11px}.upload-form{background:#fffdf5;border:1px solid #dfdbc9;border-radius:13px;margin:25px 0;padding:25px}.form-row{gap:15px;display:flex}.upload-form label{flex-direction:column;flex:1;gap:8px;margin-top:15px;font-size:11px;display:flex}.upload-form input,.upload-form textarea{background:#f9f8ef;border:1px solid #d9d8c8;border-radius:7px;width:100%;padding:11px;font-size:13px}.admin-books-title{margin-top:35px}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#262b2460;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.settings-modal{background:#fcfaf1;border:1px solid #d7d1bd;border-radius:20px;width:420px;max-width:100%;padding:35px;position:relative;box-shadow:0 25px 80px #0002}.settings-modal h2{margin:12px 0 25px}.settings-modal .close{position:absolute;top:13px;right:13px}.settings-modal label{font-size:13px}.settings-modal label>span{float:right}.settings-modal input[type=range]{accent-color:#7b8d62;width:100%;margin:16px 0}.toggle-row{border-bottom:1px solid #e7e3d7;justify-content:space-between;align-items:center;padding:13px 0;display:flex}.toggle-row input{accent-color:#7b8d62;width:17px;height:17px}.danger{color:#b96b58;padding-left:0}.dark{filter:none;color:#e5e6d9;background:#252a24}.dark .sidebar,.dark .topbar,.dark .typing-card,.dark .book-card,.dark .settings-modal{background:#30362d;border-color:#424b3a}.dark .hero,.dark .side-note,.dark .empty,.dark .upload-zone,.dark .progress-summary>div,.dark .result-card,.dark .upload-form{background:#39412f;border-color:#596046}.dark .hero h1,.dark .typing-text .right{color:#e8ebdf}.dark .typing-text{color:#9caa91}.dark .secondary,.dark .search,.dark select,.dark .count{color:#c9d3be;background:#39412f;border-color:#596046}.dark input,.dark textarea{color:inherit}.dark .typing-text .wrong{color:#ffada3;background:#6d3c35}.dark .cover{color:#4c493e}.dark .side-note p{color:#d6dccb}@keyframes wander{0%,35%,to{right:16px;transform:translateY(0)}45%,80%{right:calc(100% - 110px);transform:translateY(-3px)}}@keyframes blink{0%,44%,48%,to{transform:scaleY(1)}46%{transform:scaleY(.1)}}@keyframes hop{50%{transform:translateY(-18px)rotate(6deg)}}@keyframes caret{50%{border-color:#0000}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (width>=1500px){.hero{min-height:370px}.cover{height:290px}.cover-art{top:115px;bottom:40px}.cover h3{font-size:29px}.hero-cat{width:270px}}@media (width<=1150px){.sidebar{width:205px;padding:30px 17px}main{width:calc(100% - 205px);margin-left:205px}.page{padding:28px}.topbar{padding:0 28px}.hero{padding:29px}.hero h1{font-size:44px}.hero-illustration{right:10px}.hero-cat{width:195px}.hero-orbit{width:195px;height:195px;top:70px}.bubble{padding:10px;font-size:10px}.cover{height:210px;padding:20px 8px}.cover h3{font-size:19px}.book-grid{gap:13px}.cover-art{top:90px}.book-meta{font-size:7px}.book-details{padding:13px 10px}.book-details h3{font-size:12px}.book-bottom>span:first-child{font-size:7px}.library-tools{flex-wrap:wrap}.library-footer>span:last-child{display:none}}@media (width<=850px){.sidebar{width:185px}.brand{font-size:23px}.side-caption{font-size:7px}.sidebar nav button{padding:11px 8px;font-size:11px}main{width:calc(100% - 185px);margin-left:185px}.hero{min-height:330px;padding:25px}.hero-copy{width:68%}.hero h1{font-size:40px}.hero .eyebrow{letter-spacing:1px;font-size:7px}.hero p{font-size:11px}.hero-cat{width:150px;bottom:25px;left:-5px}.hero-orbit{width:150px;height:150px;top:130px}.bubble,.illustration-caption{display:none}.book-stack{right:-5px}.hero-foot{font-size:7px}.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cover{height:240px}.cover h3{font-size:25px}.cover-art{top:105px}.cozy{display:none}.topbar{height:70px}.stats{gap:35px}.practice-controls{flex-wrap:wrap}.typing-card{padding:20px}.practice-heading h2{font-size:19px}.practice-heading .eyebrow{display:none}.form-row{flex-direction:column}.bottom-footer>span:last-child{display:none}}@media (width<=600px){.sidebar{border-bottom:1px solid #deded0;border-right:0;flex-direction:row;justify-content:space-between;align-items:center;width:100%;height:auto;padding:17px 20px;position:relative}.brand{font-size:22px}.brand-icon{padding:6px}.side-caption,.side-note,.sidebar-bottom,.sidebar nav button span{display:none}.sidebar nav{flex-direction:row;gap:3px}.sidebar nav button{gap:0;padding:10px;font-size:0}.sidebar nav button svg{width:18px}.app-shell{display:block}main{width:100%;margin:0}.topbar{height:56px;padding:0 20px;font-size:10px}.top-actions{gap:10px}.page{padding:20px 17px}.hero{border-radius:15px;min-height:323px;padding:25px 20px}.hero h1{font-size:40px}.hero-copy{width:80%}.hero-illustration{width:33%;height:260px;top:50px;right:3px}.hero-cat{width:127px;bottom:18px;left:-20px}.hero-orbit{width:118px;height:118px;top:125px;left:-10px}.book-stack{bottom:25px;right:0;transform:scale(.65)rotate(7deg)}.star-a{font-size:25px;top:30px}.star-b{display:none}.hero-foot{font-size:7px}.hero h1>svg{width:135px;left:64px}.hero .eyebrow{letter-spacing:1px;font-size:6px}.hero .primary{padding:11px 13px;font-size:11px}.section-title h2{font-size:22px}.section-title p{max-width:250px;font-size:10px;line-height:1.6}.section-title .count{display:none}.library-section{margin-top:28px}.library-tools{gap:13px;margin:18px 0}.filters{gap:3px}.filters button{padding:7px 10px;font-size:9px}.search{width:100%;max-width:none}.book-grid{gap:12px}.cover{height:210px;margin:7px 7px 0}.cover h3{font-size:20px}.cover-label{font-size:4px}.cover-art{top:90px;bottom:27px}.cover-author{font-size:5px}.book-details h3{font-size:11px}.book-meta{font-size:7px}.book-bottom{margin-top:12px}.book-bottom>span:first-child{font-size:7px}.book-details p{font-size:8px}.mascot .cat{width:70px;height:70px}.mascot{bottom:0;right:3px}.bottom-footer{margin:0 17px;padding-bottom:40px}.notice{margin:12px 17px}.practice-heading{gap:8px}.practice-heading .text-button{font-size:0}.practice-heading .text-button svg{width:20px}.practice-heading h2{margin:0;font-size:19px}.practice-controls{gap:8px;margin-top:23px}.practice-controls label{font-size:10px}.practice-controls select{margin-left:3px;font-size:10px}.stats{gap:29px;margin:25px 0}.stats strong{font-size:25px}.stats span{font-size:7px}.typing-card{padding:17px}.typing-status{font-size:8px}.typing-legend{gap:12px;font-size:8px}.typing-legend small{display:none}.typing-text{max-height:370px}.practice-note{font-size:9px;line-height:1.8}.result-card .primary{margin-top:12px}.progress-summary{gap:8px}.progress-summary>div{padding:15px 10px}.progress-summary strong{font-size:28px}.progress-summary span{font-size:9px}.history-list>div{gap:10px;padding:15px 4px;font-size:10px}.admin-book{flex-wrap:wrap;gap:8px;padding:15px 0}.admin-book .text-button,.admin-book .secondary{font-size:10px}.upload-zone{padding:25px 15px}.page>h1{margin-top:12px;font-size:37px}.upload-form{padding:18px}.settings-modal{padding:28px}}.practice-dock{z-index:15;background:#faf9f5;border-bottom:1px solid #e6e2d5;margin-bottom:18px;padding:14px 0 12px;position:sticky;top:0;box-shadow:0 7px 14px #faf9f5}.practice-heading h2{white-space:normal;max-width:600px;margin-top:5px;font-size:23px}.practice-controls{margin-top:14px;padding-bottom:10px}.stats{gap:65px;margin:14px 0 0}.stats strong{font-size:28px}.typing-text{overscroll-behavior:contain;scroll-behavior:auto;scrollbar-gutter:stable;cursor:text;max-height:min(48vh,420px);padding:22px 5px;line-height:2}.typing-word{white-space:pre;border-radius:4px;display:inline-block;position:relative}.active-word{background:#edf0e2;box-shadow:0 2px #d5ddc0}.typing-text span.caret{border:0;margin:0;animation:none;position:relative}.typing-text span.caret:before{content:"";z-index:2;background:#4f6e32;border-radius:2px;width:3px;height:1.22em;animation:1s step-end infinite visible-caret;position:absolute;top:-.08em;left:-1px;box-shadow:0 0 0 1px #fff8}.typing-input{opacity:0;pointer-events:none;caret-color:#0000;width:1px;height:1px;font-size:16px;position:fixed;top:0;bottom:auto;left:0}.typing-input:focus{outline:none}.typing-card{cursor:text}.dark .practice-dock{background:#252a24;border-color:#46513c;box-shadow:0 7px 14px #252a24}.dark .active-word{background:#404e33;box-shadow:0 2px #63794c}.dark .typing-text span.caret:before{background:#c2e59c}.account-link{color:#647c4d;font-size:12px;font-weight:700}.signout{padding:5px;font-size:10px}.upload-instructions{background:#edf1e4;border:1px solid #d3ddc4;border-radius:12px;margin:22px 0;padding:20px;font-size:12px;line-height:1.9}.upload-instructions ol{margin:10px 0;padding-left:20px;list-style:decimal}.upload-instructions p{color:#798369;font-size:11px}.book-editor{background:#fcfaf1;border:1px solid #d7d1bd;border-radius:17px;width:900px;max-width:100%;max-height:90vh;padding:30px;position:relative;overflow:auto}.book-editor .close{position:absolute;top:15px;right:15px}.book-editor h2{margin:14px 0}.book-editor label{text-transform:capitalize;flex-direction:column;flex:1;gap:7px;margin-top:15px;font-size:12px;display:flex}.book-editor input,.book-editor textarea{color:#403e36;background:#fffdf7;border:1px solid #d5d3c3;border-radius:8px;width:100%;padding:11px;font-size:13px}.editor-error{color:#a63434;background:#fce2d8;border-radius:8px;padding:12px}.login-page{max-width:1000px;margin:auto;padding:45px 25px}.login-page>.brand{margin-bottom:65px}.login-page>h1{margin:18px 0}.login-page>p{color:#878675;line-height:1.8}.login-options{grid-template-columns:1fr 1fr;gap:25px;margin:35px 0;display:grid}.login-options section{background:#f1f1e4;border:1px solid #d8ddc8;border-radius:20px;padding:30px}.login-options section>svg{color:#839a65;margin-bottom:20px}.login-options p{color:#858774;margin:15px 0 25px;font-size:14px;line-height:1.8}.login-options small{color:#969480;margin-top:18px;font-size:11px;line-height:1.7;display:block}.login-status{background:#eff4e6;border:1px solid #dce2ce;border-radius:10px;margin:25px 0;padding:17px;font-size:13px}.login-status a{margin-top:10px;text-decoration:underline;display:block}.dark .upload-instructions{background:#39412f}.dark .book-editor{background:#30362d}@keyframes visible-caret{0%,55%,to{opacity:1}65%,90%{opacity:.15}}@media (width<=600px){.practice-dock{padding-top:10px}.practice-heading h2{max-width:230px;font-size:17px}.practice .stats{gap:27px;margin-top:12px}.practice .stats strong{font-size:23px}.practice .typing-text{max-height:43vh}.practice-controls{margin-top:12px}.login-options{grid-template-columns:1fr}.login-page>h1{font-size:33px}.login-page>.brand{margin-bottom:40px}.book-editor{padding:24px 18px}.top-actions{gap:5px}.account-link{text-overflow:ellipsis;white-space:nowrap;max-width:85px;overflow:hidden}.typing-word{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}}.site-editor{background:#f3f2e7;border:1px solid #dedcca;border-radius:12px;margin-top:25px;padding:18px}.site-editor summary{cursor:pointer;font-size:13px;font-weight:700}.site-editor form{margin-top:15px}.site-editor label:not(.toggle-row){flex-direction:column;gap:7px;margin:13px 0;font-size:12px;display:flex}.site-editor input:not([type=checkbox]){color:#403e36;background:#fffdf7;border:1px solid #d6d6c5;border-radius:7px;padding:10px}.site-editor .primary{margin-top:18px}.dark .site-editor{background:#39412f}.hero-copy>p{max-width:370px}.practice .typing-text{overscroll-behavior:auto;scrollbar-gutter:auto;touch-action:pan-y;height:auto;max-height:none;overflow:visible}.auth-card{background:#f4f2e7;border:1px solid #d9ddc9;border-radius:17px;max-width:550px;margin:30px 0;padding:28px}.auth-tabs{border-bottom:1px solid #dcdccd;flex-wrap:wrap;gap:8px;padding-bottom:17px;display:flex}.auth-tabs button{border-radius:9px;align-items:center;gap:5px;padding:8px 12px;font-size:12px;display:flex}.auth-tabs .selected{color:#58713f;background:#dde7ce;font-weight:700}.auth-card label{flex-direction:column;gap:8px;margin:20px 0;font-size:13px;display:flex}.auth-card input{color:#403e36;background:#fffdf6;border:1px solid #d4d4c4;border-radius:9px;padding:13px}.auth-card .primary{margin:22px 0 12px}.auth-card small{color:#80836e;font-size:11px}.auth-message{background:#e6efda;border-radius:10px;margin-top:15px;padding:15px;font-size:13px;line-height:1.7}.setup-list{margin:25px 0;padding-left:25px;line-height:2;list-style:decimal}
