@font-face{font-family:Manrope;src:url(/fonts/manrope.ttf) format("truetype");font-weight:200 800;font-style:normal;font-display:swap}:root{font-family:Manrope,Arial,sans-serif;color:#25271e;background:#f8f7f2;font-synthesis:none;font-weight:500;font-size:15px;line-height:1.6;--paper: #f8f7f2;--ink: #25271e;--yellow: #f9d94c;--sage: #e7ecdf;--muted: #686b5d;--line: #dcded2;--peach: #efcfbf;--green: #3e6545;accent-color:var(--ink);scrollbar-color:#989c87 var(--paper)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button{border:0}a{color:inherit;text-underline-offset:4px}button,input,select{touch-action:manipulation}button:disabled{opacity:.42;cursor:not-allowed}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,dialog:focus-visible{outline:3px solid #476447;outline-offset:5px}main:focus{outline:none}::selection{background:var(--yellow);color:var(--ink)}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.15;font-weight:800;letter-spacing:-.035em}h1{text-wrap:balance}h2{font-size:30px}h3{font-size:19px}p{color:var(--muted)}svg{flex-shrink:0;vertical-align:middle}button svg{pointer-events:none}.hand{display:block;overflow:visible;color:var(--ink);width:100%;height:100%}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:13px 22px;border-radius:8px;font-size:13px;font-weight:800;line-height:1.4;text-decoration:none;transition:background .18s,transform .18s}.button.dark{background:var(--ink);color:var(--paper)}.button.dark:hover:not(:disabled){background:#424834;transform:translateY(-2px)}.button.light{background:transparent;border:1.5px solid var(--ink)}.button.light:hover:not(:disabled){background:var(--sage)}.button:active:not(:disabled){transform:translateY(1px)}.icon-button{min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border-radius:50%}.icon-button:hover{background:#e8e9df}.text-button{display:inline-flex;gap:8px;align-items:center;justify-content:center;background:transparent;padding:10px 0;min-height:44px;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:4px}.text-button:hover{color:var(--green)}.reverse{transform:rotate(180deg)}.small{font-size:12px;line-height:1.7}.muted{color:var(--muted)}.period{color:#6d784b}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:8px;left:10px;transform:translateY(-150%);z-index:100;background:var(--ink);color:var(--paper);padding:12px 20px;border-radius:8px}.skip-link:focus{transform:translateY(0)}.site-header{border-bottom:1px solid var(--line);background:var(--paper)}.header-inner{height:94px;max-width:1360px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 48px}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;font-weight:800;font-size:26px;line-height:1;letter-spacing:-1px;white-space:nowrap}.brand>span:last-child{display:flex;align-items:center;gap:7px}.brand-abc{font-size:10px;letter-spacing:.06em;background:var(--yellow);padding:6px 5px;border-radius:4px;align-self:center;transform:rotate(-6deg)}.brand-symbol{width:40px;height:49px;transform:rotate(-13deg)}.brand-symbol .hand{stroke-width:6}.site-header nav{display:flex;align-items:center;gap:6px}.site-header nav button{background:transparent;min-height:44px;padding:10px 14px;display:flex;align-items:center;gap:8px;border-radius:7px;white-space:nowrap;font-size:12px;font-weight:700;transition:background .15s}.site-header nav button:hover{background:#eeeee5}.site-header nav button.active{background:var(--yellow)}.header-right{display:flex;gap:11px;align-items:center}.streak-chip{display:flex;align-items:center;gap:7px;min-height:44px;background:transparent;white-space:nowrap;font-size:11px}.streak-chip>svg{color:#6b6037}.streak-chip strong{font-size:16px}.streak-chip span{color:var(--muted)}main{max-width:1360px;margin:auto;padding:0 48px}.hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;min-height:447px;gap:30px;padding:37px 0 35px}.hero-copy h1{font-size:clamp(40px,4.4vw,61px);line-height:1.09;letter-spacing:-.04em;font-weight:800}.hero-copy p{margin-top:23px;font-size:14px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:18px;margin-top:26px}.hero-note{font-family:Georgia,serif;font-style:italic;font-size:13px;color:#626753;max-width:105px;line-height:1.5}.beginner-note{font-size:10px;display:flex;align-items:center;gap:7px;margin-top:16px;color:var(--muted)}.tiny-check{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--sage);color:var(--green)}.hero-visual{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center;flex-direction:column;padding-top:25px;isolation:isolate}.hero-visual:before{content:"";position:absolute;width:84%;height:80%;background:var(--yellow);border-radius:47% 47% 39%;z-index:-1;top:24px;left:9%;transform:rotate(-6deg)}.handwritten{position:absolute;top:0;right:19px;font-family:Georgia,serif;font-style:italic;font-size:16px;transform:rotate(6deg)}.hero-spark{position:absolute;right:3%;top:88px;transform:rotate(12deg)}.card-stack{position:relative;width:350px;height:281px;margin-top:8px}.display-card{position:absolute;border:1.7px solid var(--ink);background:var(--paper);border-radius:12px;width:174px;height:242px;display:flex;flex-direction:column;align-items:center;box-shadow:0 7px 16px #44462d0e}.display-card.front{left:91px;top:4px;width:181px;height:258px;transform:rotate(-3deg);z-index:2;padding:15px 16px 12px}.display-card-top{display:flex;justify-content:space-between;align-items:flex-start;width:100%}.display-card-top>span:first-child{font-size:31px;font-weight:800;line-height:1}.display-card-top>span:last-child{text-align:right;font-size:7px;letter-spacing:.09em;line-height:1.4;font-weight:700}.display-card.front .hand{width:141px;height:160px;margin-top:6px}.card-caption{font-size:9px;font-weight:700;margin-top:10px}.display-card.behind{top:23px;padding:15px}.display-card.behind>span{font-size:31px;font-weight:800;align-self:flex-start;line-height:1}.display-card.behind .hand{height:160px;width:138px;margin-top:12px}.display-card.left{background:var(--sage);left:6px;transform:rotate(-17deg)}.display-card.right{background:var(--peach);right:0;transform:rotate(16deg)}.preview-selector{display:flex;gap:5px;align-items:center;margin-top:6px}.preview-selector button{font-size:10px;font-weight:800;background:transparent;min-width:44px;min-height:44px;border-radius:50%}.preview-selector button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.preview-selector span{font-size:9px;margin-left:6px;color:#555a46}.alphabet-section{border-top:1px solid var(--line);padding-top:30px}.section-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.section-header h2{font-size:29px}.section-header p{font-size:12px;margin-top:8px}.alphabet-filter select{background:var(--paper);font-size:11px;font-weight:700;padding:11px 35px 11px 14px;border:1px solid #aeb2a0;border-radius:6px;min-height:44px;cursor:pointer;color:var(--ink)}.alphabet-grid{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:12px}.alphabet-card{min-width:0;position:relative;text-align:left;background:transparent;border:1px solid #cdd0c2;border-radius:11px;height:177px;padding:12px;transition:background .18s,border-color .18s,transform .18s}.alphabet-card:hover{background:var(--yellow);border-color:var(--ink);transform:translateY(-4px)}.alphabet-letter{font-weight:800;font-size:23px;line-height:1;display:block;position:relative;z-index:1}.alphabet-card>.hand{width:100%;height:112px;margin-top:-7px;pointer-events:none}.card-status{position:absolute;bottom:11px;left:11px;font-size:8px;display:flex;align-items:center;gap:4px;color:#636b56;white-space:nowrap}.card-status>span,.legend-dot{width:5px;height:5px;border-radius:50%;display:inline-block;background:#c0c4b5}.card-arrow{display:none;position:absolute;bottom:10px;right:9px}.alphabet-card:hover .card-arrow{display:block}.alphabet-card:hover .card-status{color:var(--ink)}.alphabet-card.learning .card-status>span,.legend-dot.learned{background:#a07a18}.alphabet-card.mastered .card-status>span,.legend-dot.mastered{background:var(--green)}.alphabet-card.mastered{background:#edf1e5}.moving-icon{position:absolute;right:10px;top:14px;color:#626a54}.alphabet-footnote{display:flex;gap:9px;align-items:flex-start;padding-top:17px}.alphabet-footnote>svg{margin-top:2px;color:var(--muted)}.alphabet-footnote p{font-size:10px;max-width:640px;line-height:1.7}.alphabet-footnote>span{margin-left:auto;white-space:nowrap;font-size:8px;color:var(--muted);padding-top:3px}.legend-dot{margin:0 4px 0 9px}.practice-banner{display:flex;gap:21px;align-items:center;background:var(--sage);padding:28px 30px;margin:36px 0 52px;border-radius:12px}.banner-mark{width:59px;height:59px;background:var(--paper);display:flex;align-items:center;justify-content:center;border-radius:50%;transform:rotate(-9deg)}.practice-banner h2{font-size:22px}.practice-banner p{font-size:12px;margin-top:7px}.practice-banner .button{margin-left:auto;font-size:11px}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1264px;margin:auto;border-top:1px solid var(--line);padding:19px 0 27px;font-size:10px;color:var(--muted)}.footer-brand{font-weight:800;text-decoration:none;color:var(--ink);font-size:11px}.site-footer>span{font-family:Georgia,serif;font-style:italic}.site-footer .text-button{font-size:10px}.empty-state{text-align:center;padding:46px 20px;background:var(--sage);border-radius:12px}.empty-state h3{margin:14px 0 12px}.empty-state p{font-size:13px;max-width:440px;margin:auto}.empty-state .button{margin-top:20px}.storage-notice{background:var(--yellow);padding:12px 18px;font-size:12px;border-radius:8px;margin-top:15px}.practice-page{padding:48px 0 60px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:35px;gap:22px}.page-heading h1{font-size:43px;line-height:1.15}.page-heading p{font-size:13px;margin-top:15px}.page-tag{display:flex;align-items:center;gap:8px;font-size:9px;letter-spacing:.08em;font-weight:800;background:var(--yellow);padding:11px 16px;border-radius:5px}.review-layout{display:grid;grid-template-columns:1.4fr .8fr;gap:50px;max-width:1010px;margin:0 auto}.session-topline{display:flex;justify-content:space-between;font-size:10px;font-weight:800;letter-spacing:.04em;align-items:center}.session-topline>span:last-child{font-size:13px;letter-spacing:0}.progress-track{height:5px;border-radius:4px;background:#e1e4d7;overflow:hidden}.progress-track>span{height:100%;display:block;background:var(--green);transition:width .25s}.review-main>.progress-track{margin:12px 0 18px}.flashcard{min-height:397px;border:1.5px solid var(--ink);border-radius:14px;text-align:center;padding:22px 20px 28px;touch-action:pan-y;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.flashcard-prompt{font-size:9px;letter-spacing:.12em;font-weight:700;color:var(--muted)}.flashcard-art{position:relative;height:235px;width:260px;margin:13px auto 0}.flashcard-art>div{height:100%}.flashcard-art .hand{width:225px;height:235px;margin:auto}.answer-letter{position:absolute;left:-35px;top:10px;font-size:65px;font-weight:800;line-height:1.1}.flashcard-answer h2{font-size:23px;margin-top:6px}.flashcard-answer p{font-size:12px;margin-top:9px}.reveal-button{width:100%;margin-top:16px}.shortcut{font-size:9px;border:1px solid #9b9d88;border-radius:4px;padding:2px 7px;margin-left:auto;color:#dfdfd2;font-weight:500}.rating-buttons{display:flex;gap:12px;margin-top:16px}.rating-buttons>.button{flex:1}.rating-buttons kbd{margin-left:auto}.swipe-hint{font-size:10px;text-align:center;margin-top:13px}.practice-aside{background:var(--sage);align-self:start;margin-top:39px;padding:30px;border-radius:13px}.aside-heading{display:flex;align-items:flex-start;gap:16px}.aside-heading h2{font-size:24px}.aside-heading>svg{margin-top:3px}.practice-aside>p{font-size:12px;margin-top:20px;line-height:1.8}.coach-steps{list-style:none;padding:0;margin:27px 0 0}.coach-steps li{display:flex;gap:13px;margin-top:22px}.coach-steps li>span{width:25px;height:25px;background:var(--paper);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;border-radius:50%;flex-shrink:0}.coach-steps strong{font-size:11px}.coach-steps p{font-size:10px;margin-top:3px}.aside-bottom{display:flex;gap:15px;align-items:center;border-top:1px solid #cbd2bf;margin-top:28px;padding-top:20px}.aside-bottom>span{font-size:38px;font-weight:800;line-height:1}.aside-bottom p{font-size:11px;line-height:1.5}.session-complete{text-align:center;border:1px solid var(--line);border-radius:14px;min-height:440px;padding:50px 30px;background:var(--sage)}.sun-badge{width:86px;height:86px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--yellow);margin:0 auto 24px}.session-complete h2{font-size:32px}.session-complete p{font-size:13px;max-width:350px;margin:17px auto 25px}.session-complete>.small{display:block;margin-top:15px;color:var(--muted)}kbd{font-family:inherit;font-size:9px;border:1px solid #9b9f8c;border-radius:4px;padding:1px 6px;color:inherit;background:transparent}.drill-layout{display:grid;grid-template-columns:1.5fr .8fr;gap:38px;max-width:1050px;margin:0 auto}.drill-toolbar{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.04em;font-weight:700;margin-bottom:13px}.drill-toolbar>span:last-child{letter-spacing:0;color:var(--muted)}.drill-stage{background:var(--sage);border-radius:13px;height:320px;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;overflow:hidden}.drill-placeholder{text-align:center;padding:20px}.play-disc{width:70px;height:70px;background:var(--yellow);display:flex;align-items:center;justify-content:center;border-radius:50%;margin:0 auto 20px}.drill-placeholder h2{font-size:25px}.drill-placeholder p{font-size:12px;margin-top:12px}.drill-hand{height:258px;width:246px;animation:letter-appear .18s ease-out}.drill-hand>div{height:100%}@keyframes letter-appear{0%{opacity:.6;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.letter-dots{display:flex;gap:8px;position:absolute;bottom:20px}.letter-dots>span{width:7px;height:7px;border:1px solid #818970;border-radius:50%}.letter-dots>span.active{background:var(--ink);border-color:var(--ink);transform:scale(1.3)}.letter-dots>span.passed{background:#818970}.playback-controls{display:flex;gap:12px;margin-top:15px}.playback-controls>.button:first-child{flex:1}.playback-controls>.button:last-child{font-size:12px}.answer-form{margin-top:27px}.answer-form label{display:block;font-size:12px;font-weight:800;margin-bottom:9px}.answer-input-row{display:flex;gap:9px}.answer-input-row input{min-width:0;flex:1;min-height:51px;padding:11px 16px;border:1.5px solid #aeb4a0;background:var(--paper);border-radius:7px;font-size:14px;color:var(--ink);caret-color:var(--green)}.answer-input-row input::placeholder{color:#6f7463;font-size:12px}.answer-input-row input:disabled{background:var(--sage)}.drill-settings{border-left:1px solid var(--line);padding-left:32px;padding-top:17px}.drill-settings h2{font-size:29px;line-height:1.2;margin-bottom:27px}.setting-group{margin:0 0 24px}.setting-group label{display:block;font-size:11px;font-weight:800;margin-bottom:10px}.setting-group select{border:1px solid #b8beac;background:var(--paper);border-radius:6px;width:100%;padding:12px 9px;color:var(--ink);font-size:11px;min-height:46px;cursor:pointer}.speed-label{display:flex;justify-content:space-between;align-items:center}.speed-label label{margin:0}.speed-label output{font-size:11px;font-weight:800;background:var(--yellow);padding:2px 7px;border-radius:3px;font-variant-numeric:tabular-nums}.setting-group input[type=range]{width:100%;min-height:36px;cursor:pointer;accent-color:var(--ink);margin:8px 0 0}.range-labels{display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}.drill-tip{background:var(--yellow);padding:22px 20px;border-radius:10px;margin:29px 0 20px}.drill-tip h3{font-size:18px;margin-top:14px}.drill-tip p{font-size:11px;margin-top:12px;color:#535037;line-height:1.8}.drill-settings .small{font-size:10px}.drill-settings .text-button{margin-top:10px;font-size:10px}.drill-result{display:flex;align-items:center;gap:13px;margin-top:20px;padding:17px;border-radius:8px;background:var(--sage)}.drill-result.try-again{background:#f4e5cd}.drill-result strong{font-size:12px}.drill-result p{font-size:10px;margin-top:3px}.drill-result .button{padding:8px 11px;min-height:44px;margin-left:auto;white-space:nowrap;font-size:10px}.progress-overview{display:grid;grid-template-columns:1.4fr 1fr;gap:25px}.streak-panel{background:var(--yellow);border-radius:13px;padding:29px 32px;display:flex;justify-content:space-between;align-items:flex-end;gap:25px}.streak-panel>div:first-child{position:relative}.streak-panel>div:first-child>svg{position:absolute;left:65px;top:21px;transform:rotate(8deg)}.streak-panel strong{font-size:68px;line-height:1.1;font-weight:800}.streak-panel h2{font-size:21px;margin-top:5px}.streak-panel p{font-size:11px;color:#5c593c;margin-top:12px}.week-days{display:flex;gap:9px;align-self:flex-end}.week-days>div{display:flex;align-items:center;flex-direction:column;gap:10px}.week-days>div>span:first-child{font-size:9px}.day-circle{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid #bca238;border-radius:50%}.day-circle>span{width:3px;height:3px;background:#a48b24;border-radius:50%}.day-circle.today{border:2px solid var(--ink)}.day-circle.complete{background:var(--ink);color:var(--yellow);border-color:var(--ink)}.daily-goal{background:var(--sage);border-radius:13px;padding:27px 28px;position:relative}.daily-goal>svg{position:absolute;top:24px;right:25px}.daily-goal h2{font-size:21px;padding-right:24px}.daily-goal p{font-size:11px;margin:10px 0 17px;max-width:270px}.goal-count{display:flex;align-items:center;justify-content:space-between}.goal-count>strong{font-size:28px;line-height:1.2}.goal-count>strong span{font-size:17px;color:var(--muted)}.goal-count>span{font-size:10px;color:var(--muted)}.daily-goal .progress-track{margin:12px 0 16px}.daily-goal .button{width:100%;min-height:44px;padding:10px 15px;font-size:11px}.stats-strip{display:grid;grid-template-columns:repeat(4,1fr);padding:28px 0;margin:18px 0 33px;border-bottom:1px solid var(--line);gap:20px}.stats-strip>div{display:flex;flex-direction:column;border-right:1px solid var(--line);padding-left:20px}.stats-strip>div:first-child{padding-left:0}.stats-strip>div:last-child{border:0}.stats-strip strong{font-size:32px;line-height:1.4;font-weight:800}.stats-strip strong span{font-size:18px;color:var(--muted)}.stats-strip>div>span{font-size:11px;color:var(--muted)}.mastery-summary{font-size:11px;color:var(--muted);white-space:nowrap}.mastery-grid{display:grid;grid-template-columns:repeat(13,1fr);gap:10px}.mastery-cell{border:1px solid var(--line);border-radius:8px;padding:15px 7px 12px;text-align:center}.mastery-cell strong{font-size:25px;line-height:1.1}.mastery-ticks{display:flex;gap:3px;justify-content:center;margin:11px 0 7px}.mastery-ticks span{height:4px;width:15px;background:#dde1d3;border-radius:3px}.mastery-ticks span.filled{background:var(--green)}.mastery-cell>span{font-size:8px;color:var(--muted);text-transform:capitalize}.mastery-cell.learning{background:#f8efd3}.mastery-cell.mastered{background:var(--sage);border-color:#b6c5a7}.local-note{display:flex;align-items:center;gap:8px;font-size:10px;margin-top:22px}.modal{border:1px solid var(--ink);padding:0;width:min(490px,calc(100% - 32px));max-height:calc(100dvh - 40px);border-radius:16px;background:var(--paper);color:var(--ink);overflow-y:auto;box-shadow:0 20px 60px #1e241e25}.modal::backdrop{background:#25271e85}.modal-inner{position:relative}.modal-close{position:absolute;top:12px;right:12px;z-index:2;background:var(--paper)}.detail-art{position:relative;background:var(--sage);height:272px;padding:24px}.detail-art .hand{height:100%;max-width:225px;margin:auto}.detail-letter{font-size:64px;font-weight:800;position:absolute;top:24px;left:29px;line-height:1}.motion-label{font-size:10px;display:flex;align-items:center;gap:6px;position:absolute;bottom:13px;right:18px}.detail-copy{padding:27px}.detail-title{display:flex;gap:10px;align-items:center;justify-content:space-between}.detail-title h2{font-size:30px}.status{font-size:9px;border-radius:4px;padding:4px 8px;background:var(--sage);text-transform:capitalize}.status.learning{background:#f8efd3}.detail-copy>p{font-size:12px;margin-top:15px;line-height:1.8}.detail-copy>.orientation{font-size:11px;font-weight:700;color:#4d5941;margin-top:10px}.memory-tip{display:flex;align-items:center;gap:10px;background:#f6eabb;border-radius:7px;margin-top:20px;padding:12px;font-size:11px;font-weight:700}.detail-actions{display:flex;justify-content:space-between;gap:12px;margin-top:23px}.detail-actions .button{font-size:11px;padding:11px 17px;flex:1}.about-content{padding:35px 30px 25px}.about-sun{color:#6b6a36;margin-bottom:15px}.about-content h2{font-size:30px;margin-bottom:20px}.about-three-lines p{font-size:12px;margin-top:12px}.about-content hr{border:0;border-top:1px solid var(--line);margin:25px 0}.about-content h3{font-size:20px;margin-bottom:13px}.about-content>p{font-size:11px;margin-top:13px;line-height:1.8}.about-content>.small{font-size:10px;margin-top:19px}.about-content .reset-trigger{font-size:10px;color:#6b604e;margin-top:15px}.reset-content{padding:45px 28px 28px}.reset-content h2{font-size:28px}.reset-content p{font-size:13px;margin-top:16px}.reset-actions{display:flex;gap:12px;margin-top:25px}.reset-actions .button{font-size:11px;flex:1}@media(min-width:1440px){.hero{min-height:470px}.hero-copy h1{font-size:65px}.alphabet-card{height:186px}.alphabet-card>.hand{height:121px}}@media(max-width:1150px){.header-inner{padding:0 30px;gap:14px}.site-header nav button{padding:10px;font-size:11px;gap:5px}.brand{font-size:23px}.header-right{gap:5px}.streak-chip span{display:none}main{padding:0 30px}.hero{gap:12px;min-height:430px}.hero-copy h1{font-size:49px}.hero-note{display:none}.card-stack{transform:scale(.93);width:350px}.hero-visual:before{width:91%;left:5%;height:73%;top:40px}.hero-spark{right:0;top:78px}.handwritten{font-size:14px;top:12px}.alphabet-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.alphabet-card>.hand{height:118px}.alphabet-card{height:185px}.alphabet-footnote>span{display:none}.site-footer{margin:0 30px}.practice-banner h2{font-size:20px}.practice-banner{gap:15px;padding:25px}.practice-banner .button{padding:12px 15px}.review-layout{gap:30px}.drill-layout{gap:25px}.drill-settings{padding-left:23px}.streak-panel{padding:25px;flex-direction:column;align-items:flex-start;gap:20px}.week-days{align-self:flex-start}.mastery-grid{grid-template-columns:repeat(9,1fr)}}@media(max-width:850px){.header-inner{flex-wrap:wrap;height:auto;padding:16px 24px 11px;gap:12px}.brand{font-size:25px}.brand-symbol{height:41px;width:34px}.header-right{margin-left:auto;gap:12px}.streak-chip span{display:inline}.site-header nav{order:3;width:100%;justify-content:space-between;gap:5px}.site-header nav button{flex:1;justify-content:center;padding:10px 9px;font-size:11px}.hero-copy h1{font-size:40px}.hero-copy p{font-size:12px}.hero{min-height:390px;grid-template-columns:1fr 1fr}.hero-visual{overflow:visible}.card-stack{transform:scale(.78);margin:0 -42px;height:264px}.hero-visual:before{top:42px;height:70%;width:100%;left:0}.handwritten{font-size:12px;top:19px;right:0}.hero-spark{width:25px;top:81px}.preview-selector{margin-top:-13px}.preview-selector span{font-size:8px}.hero-actions .button{font-size:11px;padding:12px 16px}.beginner-note{font-size:9px}.alphabet-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}.alphabet-card{height:180px}.alphabet-card>.hand{height:114px}.section-header h2{font-size:26px}.section-header p{font-size:11px}.section-header{gap:16px}.practice-banner .banner-mark{display:none}.practice-banner h2{font-size:18px}.practice-banner p{font-size:10px}.practice-banner .button{font-size:10px;white-space:nowrap}.site-footer{flex-wrap:wrap;gap:8px}.site-footer>span{display:none}.page-heading h1{font-size:35px}.page-tag{font-size:8px;padding:9px 10px;gap:5px}.review-layout{grid-template-columns:1.2fr .8fr;gap:23px}.practice-aside{padding:23px}.aside-heading{gap:10px}.aside-heading h2{font-size:20px}.practice-aside>p{font-size:11px}.rating-buttons{gap:8px}.rating-buttons .button{font-size:10px;padding:12px;gap:6px}.rating-buttons kbd{display:none}.flashcard-answer h2{font-size:20px}.drill-layout{grid-template-columns:1.3fr .8fr;gap:21px}.drill-settings{padding-left:20px}.drill-settings h2{font-size:25px}.drill-placeholder h2{font-size:21px}.drill-placeholder p{font-size:11px}.answer-input-row .button{padding:12px 15px;font-size:11px}.drill-result{flex-wrap:wrap}.drill-result .button{margin-left:39px}.drill-tip{padding:18px 15px}.drill-tip h3{font-size:16px}.playback-controls>.button{font-size:11px;padding:12px 14px}.playback-controls>.button:last-child{font-size:10px}.progress-overview{grid-template-columns:1fr 1fr;gap:20px}.mastery-grid{grid-template-columns:repeat(7,1fr)}.daily-goal{padding:25px 22px}.daily-goal h2{font-size:19px}.daily-goal>svg{width:23px;right:20px}}@media(max-width:600px){:root{font-size:14px}.header-inner{padding:14px 19px 10px;gap:11px}.brand{font-size:24px}.brand-abc{font-size:8px;padding:5px 4px}.brand-symbol{width:32px;height:39px}.brand>span:last-child{gap:6px}.header-right{gap:5px}.about-trigger{min-width:44px}.streak-chip{font-size:9px;gap:4px}.streak-chip span{display:none}.streak-chip strong{font-size:14px}.site-header nav{gap:3px}.site-header nav button{flex-direction:column;gap:4px;padding:9px 5px 8px;font-size:9px;min-height:57px;border-radius:7px;line-height:1.4}.site-header nav button svg{width:18px;height:18px}main{padding:0 20px}.hero{display:flex;flex-direction:column;gap:0;padding:34px 0 27px;min-height:0;align-items:stretch}.hero-copy h1{font-size:clamp(33px,9vw,43px);line-height:1.12;max-width:400px;letter-spacing:-.04em}.hero-copy p{font-size:12px;line-height:1.9;margin-top:18px;max-width:310px}.hero-actions{margin-top:22px;gap:14px}.hero-actions .button{font-size:12px;min-height:49px;padding:13px 18px}.hero-note{display:block;max-width:88px;font-size:11px}.beginner-note{margin-top:13px;font-size:9px}.hero-visual{margin-top:23px;min-height:305px;padding-top:15px}.hero-visual:before{width:84%;max-width:320px;height:83%;left:50%;transform:translate(-50%) rotate(-6deg);top:15px}.card-stack{transform:scale(.88);margin:5px 0 -15px;height:281px}.handwritten{font-size:13px;top:1px;right:5px}.hero-spark{top:72px;right:5px;width:30px}.preview-selector{margin-top:0}.preview-selector button{min-width:44px;min-height:44px}.preview-selector span{font-size:9px}.section-header{align-items:flex-start;gap:12px;margin-bottom:20px}.alphabet-section{padding-top:25px}.section-header h2{font-size:26px}.section-header p{font-size:11px;max-width:250px;line-height:1.7;margin-top:8px}.alphabet-filter select{max-width:120px;font-size:9px;padding:10px 21px 10px 9px;min-height:44px}.alphabet-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.alphabet-card{height:166px;padding:11px 10px}.alphabet-letter{font-size:22px}.alphabet-card>.hand{height:104px;margin-top:-6px}.card-status{font-size:8px;left:9px;bottom:10px;gap:4px}.card-arrow{display:none!important}.moving-icon{width:13px;right:9px}.alphabet-card:hover{transform:none}.alphabet-footnote{padding-top:17px;gap:7px}.alphabet-footnote p{font-size:9px}.alphabet-footnote svg{width:15px}.practice-banner{flex-wrap:wrap;gap:17px;margin:25px 0 32px;padding:25px 22px}.practice-banner h2{font-size:23px;max-width:230px;line-height:1.25}.practice-banner p{font-size:11px;margin-top:11px}.practice-banner .button{margin:0;font-size:11px;min-height:45px;padding:12px 17px}.site-footer{margin:0 20px;padding:15px 0 21px;gap:0}.footer-brand{font-size:9px}.site-footer .text-button{font-size:9px;gap:4px}.site-footer .text-button svg{width:14px}.practice-page{padding:30px 0 38px}.page-heading{display:block;margin-bottom:25px}.page-heading h1{font-size:35px;line-height:1.16}.page-heading p{font-size:12px;line-height:1.8;margin-top:15px}.page-tag{display:none}.review-layout{display:flex;flex-direction:column;gap:25px}.review-main{width:100%}.session-topline{font-size:9px}.session-topline>span:last-child{font-size:12px}.flashcard{min-height:375px;padding:20px 15px 25px}.flashcard-art{height:230px;margin-top:14px;width:230px}.flashcard-art .hand{height:230px;width:215px}.answer-letter{font-size:55px;left:-15px;top:12px}.flashcard-answer h2{font-size:21px}.flashcard-answer p{font-size:11px}.flashcard-prompt{font-size:9px}.rating-buttons{gap:10px}.rating-buttons .button{font-size:11px;min-height:50px;gap:8px}.reveal-button{font-size:12px}.swipe-hint{font-size:9px}.practice-aside{margin-top:0;padding:25px}.aside-heading h2{font-size:25px}.aside-heading h2 br{display:none}.aside-heading{gap:12px;align-items:center}.practice-aside>p{font-size:12px;margin-top:16px}.coach-steps{margin-top:20px}.coach-steps li{margin-top:18px}.coach-steps strong{font-size:12px}.coach-steps p{font-size:11px}.aside-bottom{margin-top:23px;padding-top:19px}.aside-bottom>span{font-size:34px}.session-complete{min-height:400px;padding:38px 22px}.session-complete h2{font-size:29px}.session-complete p{font-size:12px}.drill-layout{display:flex;flex-direction:column;gap:30px}.drill-stage{height:305px}.drill-placeholder h2{font-size:23px}.drill-placeholder p{font-size:11px;max-width:240px;margin:12px auto 0}.drill-toolbar{font-size:9px}.drill-hand{height:245px;width:235px}.playback-controls .button:first-child{font-size:12px}.playback-controls .button:last-child{font-size:11px;padding:12px}.answer-form{margin-top:23px}.answer-input-row{gap:8px}.answer-input-row input{padding:11px 13px;font-size:13px}.answer-input-row .button{padding:10px 14px;font-size:11px}.answer-input-row input::placeholder{font-size:11px}.drill-result{gap:10px;padding:15px}.drill-result>div{flex:1}.drill-result .button{margin-left:36px}.drill-settings{border-left:0;border-top:1px solid var(--line);padding:26px 0 0}.drill-settings h2{font-size:27px;margin-bottom:23px}.drill-settings h2 br{display:none}.setting-group label{font-size:12px}.setting-group select{font-size:12px;padding:12px}.speed-label output{font-size:12px}.range-labels{font-size:10px}.drill-tip{padding:22px;margin-top:26px}.drill-tip h3{font-size:21px}.drill-tip p{font-size:12px}.drill-settings .small,.drill-settings .text-button{font-size:11px}.progress-overview{display:flex;flex-direction:column;gap:17px}.streak-panel{padding:24px;gap:22px;flex-direction:row;align-items:flex-end;flex-wrap:wrap}.streak-panel strong{font-size:63px}.streak-panel h2{font-size:20px}.streak-panel p{font-size:11px}.week-days{gap:9px;margin-left:auto}.day-circle{width:29px;height:29px}.daily-goal{padding:25px}.daily-goal h2{font-size:23px}.daily-goal p{font-size:12px;margin-top:12px}.daily-goal>.button{font-size:12px}.daily-goal>svg{top:26px;right:25px}.goal-count>strong{font-size:31px}.stats-strip{grid-template-columns:repeat(2,1fr);gap:23px;margin:6px 0 29px;padding:23px 0}.stats-strip>div{padding-left:0}.stats-strip>div:nth-child(2n){border:0;padding-left:12px}.stats-strip strong{font-size:31px}.stats-strip>div>span{font-size:11px}.mastery-summary{display:none}.mastery-grid{grid-template-columns:repeat(5,1fr);gap:8px}.mastery-cell{padding:13px 5px 11px}.mastery-cell strong{font-size:25px}.mastery-ticks{gap:2px}.mastery-ticks span{width:12px}.mastery-cell>span{font-size:7px}.local-note{font-size:9px;align-items:flex-start;margin-top:20px}.local-note svg{width:16px}.modal{max-height:calc(100dvh - 32px);width:calc(100% - 28px);border-radius:14px}.detail-art{height:255px}.detail-copy{padding:23px}.detail-title h2{font-size:29px}.detail-copy>p{font-size:12px}.detail-copy .orientation{font-size:11px}.detail-actions{gap:7px;margin-top:21px}.detail-actions .button{font-size:10px;padding:11px;gap:6px}.detail-actions>.icon-button{min-width:44px}.about-content{padding:30px 24px 22px}.about-content h2{font-size:29px}.about-three-lines p{font-size:12px}.about-content>p{font-size:11px}.about-content>.small{font-size:10px}.reset-content{padding:42px 23px 25px}.reset-actions{flex-direction:column}.empty-state{padding:36px 22px}.empty-state h3{font-size:22px}.empty-state p{font-size:12px}}@media(max-width:380px){.hero-copy h1{font-size:33px}.hero-note{font-size:10px;max-width:77px}.card-stack{transform:scale(.82);margin:-2px 0 -20px}.hero-visual{min-height:287px}.handwritten{font-size:12px}.section-header h2{font-size:24px}.alphabet-filter select{max-width:109px;font-size:9px}.alphabet-card{height:158px}.alphabet-card>.hand{height:98px}.card-status{font-size:7px}.streak-panel{padding:22px}.week-days{gap:8px}.day-circle{width:28px;height:28px}.site-footer .text-button,.footer-brand{font-size:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.button:hover:not(:disabled),.alphabet-card:hover{transform:none}}
