@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--bg:#f7f7f2;--paper:#fffefa;--ink:#28372f;--muted:#7e857b;--line:#e3e5db;--green:#3c5845;--lime:#dae6af;--soft:#eef1e6;--mono:'SFMono-Regular',Consolas,monospace;--radius:16px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px 'DM Sans',sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}button{border:0;background:none}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}button:focus-visible,a:focus-visible{outline:3px solid #8da96b;outline-offset:4px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #799b65;outline-offset:3px}.sidebar{position:fixed;inset:0 auto 0 0;width:234px;border-right:1px solid var(--line);padding:37px 23px;background:#f0f1e9;display:flex;flex-direction:column;z-index:10}.brand{display:flex;gap:12px;align-items:center;width:fit-content;font:800 45px/1 'Manrope',sans-serif;letter-spacing:-3px}.brand-mark{display:flex;align-items:center;justify-content:center;border:1.5px solid #52654a;width:40px;height:40px;border-radius:12px;font:700 22px var(--mono);letter-spacing:-4px;padding-right:4px}.brand-dot,.mobile-brand span{color:#91a279}.brand-caption{font-size:7px;letter-spacing:1.1px;margin-top:16px;font-weight:650;color:#737e6b}.nav-label{font-size:9px;font-weight:650;letter-spacing:1.7px;color:#969b90;margin:60px 12px 16px}.nav-item{width:100%;display:flex;gap:12px;align-items:center;text-align:left;padding:13px 12px;margin-bottom:6px;border-radius:8px;font-size:12px;color:#757f70;transition:background .2s,color .2s}.nav-item:hover{background:#e5e9dc;color:var(--green)}.nav-item.active{color:#354d3c;background:#e0e6d5;font-weight:650}.nav-item svg{width:17px;height:17px}.nav-dot{width:5px;height:5px;border-radius:50%;background:#5d7650;margin-left:auto}.small-arrow{margin-left:auto;width:14px!important}.sidebar-rule{height:1px;background:var(--line);margin:21px 12px 16px}.sidebar-bottom{margin-top:auto;padding:20px 13px 0}.sidebar-bottom p{font-size:12px;line-height:1.8;color:#7b8473}.sidebar-bottom>span{font-size:8px;letter-spacing:1.25px;color:#9b9f93}.mini-signal{height:26px;display:flex;gap:4px;align-items:center;color:#9fab8f}.mini-signal i{width:3px;height:9px;background:currentColor;border-radius:3px}.mini-signal i:nth-child(2n){height:19px}.mini-signal i:nth-child(3n){height:26px}.app-shell{margin-left:234px}.topbar{height:80px;margin:0 44px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.breadcrumb{font-size:11px;color:#979b91}.breadcrumb span{padding:0 14px;color:#b6b9ae}.breadcrumb strong{font-weight:500;color:#525f50}.topbar-right{display:flex;align-items:center;gap:23px}.local-indicator{font-size:10px;color:#8b9183;display:flex;align-items:center;gap:7px}.local-indicator i{height:5px;width:5px;border-radius:50%;background:#8ea076}.icon-button{width:34px;height:34px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:#66745e}.icon-button:hover{background:#e8ecdf}.mobile-brand,.mobile-nav{display:none}main{max-width:1420px;margin:auto;padding:40px 44px 20px;outline:none}.eyebrow{font-size:9px;font-weight:650;letter-spacing:1.8px;color:#849276;display:flex;align-items:center;gap:8px}.eyebrow i{width:6px;height:6px;background:#8b9d70;border-radius:50%}.intro{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:31px}.intro h1{font:500 clamp(30px,3vw,43px)/1.23 'Manrope',sans-serif;letter-spacing:-1.7px;margin:13px 0 12px}.intro h1 em{font-style:normal;color:#829175}.intro p{font-size:12px;color:#899080;line-height:1.8;margin:0}.method-pill{display:flex;gap:8px;align-items:center;border:1px solid #dce2ce;border-radius:30px;padding:9px 13px;font-size:10px;white-space:nowrap;margin-bottom:5px;color:#6f7c63}.method-pill svg{width:14px;height:14px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 278px;gap:20px}.trainer{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 3px 5px #354d3c02}.trainer-top{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 23px;height:61px}.tabs{display:flex;align-self:stretch;gap:25px}.tab{font-size:11px;position:relative;color:#969b8c;padding:0 1px;display:flex;align-items:center;gap:7px}.tab svg{width:15px;height:15px}.tab.active{color:var(--green);font-weight:650}.tab.active:after{content:'';height:2px;position:absolute;bottom:-1px;left:0;right:0;background:#526a43}.focus-btn{font-size:9px;color:#8c9483;display:flex;align-items:center;gap:7px}.focus-btn svg{width:13px;height:13px}.trainer-body{padding:26px 27px 24px}.session-heading{display:flex;justify-content:space-between;align-items:center}.session-heading h2{font:650 17px 'Manrope',sans-serif;letter-spacing:-.45px;margin:0 0 7px}.session-heading p{font-size:10px;color:#929887;margin:0}.badge{border-radius:5px;background:#edf1e2;color:#7b8a65;padding:5px 8px;font:10px var(--mono)}.signal-stage{position:relative;height:175px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:22px 0 19px;overflow:hidden;border:1px solid #e7ebdf;border-radius:10px;background:radial-gradient(ellipse at center,#f5f7eb 0,#f8f9f2 70%)}.stage-grid{position:absolute;inset:0;background-image:linear-gradient(#d6ddc320 1px,transparent 1px),linear-gradient(90deg,#d6ddc320 1px,transparent 1px);background-size:22px 22px;mask-image:linear-gradient(90deg,transparent,#000,transparent)}.waveform{height:66px;display:flex;align-items:center;justify-content:center;gap:4px;position:relative}.waveform i{width:3px;min-height:4px;border-radius:3px;background:#a8b78c;transition:height .15s}.waveform i:nth-child(3n){background:#748d57}.waveform.playing i{animation:oscillate .7s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-.071s)}@keyframes oscillate{to{transform:scaleY(.25);opacity:.5}}.stage-label{font:9px var(--mono);color:#8e9d78;letter-spacing:2px;margin-top:16px;position:relative}.signal-lamp{position:absolute;top:13px;left:14px;font:8px var(--mono);letter-spacing:1px;color:#a8af98;display:flex;align-items:center;gap:5px}.signal-lamp i{width:4px;height:4px;border-radius:50%;background:#a4b28f}.stage-meta{position:absolute;bottom:12px;right:14px;font:8px var(--mono);color:#a6ad98}.transcription-label{display:flex;align-items:center;justify-content:space-between;font-size:10px;font-weight:550;margin-bottom:10px}.transcription-label span{font-weight:400;color:#9b9f91;font-size:9px}.transcription{resize:vertical;display:block;border:1px solid #e1e5d8;border-radius:8px;width:100%;height:78px;min-height:66px;max-height:200px;background:#fffefa;padding:13px 14px;font:14px/1.5 var(--mono);letter-spacing:3px;color:#3e583e}.transcription::placeholder{font:10px 'DM Sans',sans-serif;letter-spacing:0;color:#a0a593}.transcription:disabled{opacity:.7}.session-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:17px;gap:12px}.button-primary{display:inline-flex;gap:9px;justify-content:center;align-items:center;color:#fbfcf4;background:#3e5743;min-height:42px;padding:0 22px;border-radius:7px;font-size:11px;font-weight:550;box-shadow:0 2px 2px #283c2910;transition:background .2s,transform .2s}.button-primary:hover{background:#2d4532;transform:translateY(-1px)}.button-primary svg{height:14px;width:14px}.keyboard-hint{font-size:9px;color:#9b9f90}kbd{border:1px solid #dfe3d5;background:#f9faf3;border-radius:4px;font:8px var(--mono);padding:3px 6px;color:#8e9880;margin-right:4px}.session-actions{display:flex;gap:9px}.button-secondary{border:1px solid #dce1d2;border-radius:7px;padding:9px 12px;font-size:10px;color:#6d7d5c;display:inline-flex;align-items:center;gap:7px;min-height:36px}.button-secondary:hover{background:#edf1e5}.button-secondary svg{height:14px;width:14px}.settings{border:1px solid var(--line);background:#f2f3eb;border-radius:var(--radius);padding:22px 21px;align-self:start}.settings-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.settings h3{font:650 13px 'Manrope',sans-serif;margin:0;letter-spacing:-.2px}.settings-title svg{height:15px;color:#89957a}.setting{margin-bottom:23px}.setting-label{display:flex;align-items:center;justify-content:space-between;font-size:10px;margin-bottom:11px;color:#69785f}.setting-label output{font:11px var(--mono);color:#3f5639}.setting-label output small{font:8px 'DM Sans',sans-serif;color:#909982;margin-left:4px}.setting p{font-size:9px;color:#959b89;line-height:1.5;margin:6px 0 0}input[type=range]{width:100%;accent-color:#6c8256;height:3px;display:block;margin:15px 0 12px;cursor:pointer}.range-ends{font:8px var(--mono);color:#a1a793;display:flex;justify-content:space-between}.settings-rule{height:1px;background:#dfe4d3;margin:4px 0 20px}.duration-options{display:flex;border:1px solid #dce2cf;border-radius:6px;padding:3px;gap:3px}.duration-options button{flex:1;padding:7px 0;font:9px var(--mono);border-radius:4px;color:#98a084}.duration-options button.active{background:#fffef8;box-shadow:0 1px 3px #40513013;color:#4d6540}.audio-settings{display:flex;justify-content:space-between;gap:17px}.audio-settings .setting{width:50%;margin-bottom:11px}.audio-settings .setting-label{font-size:9px}.test-sound{width:100%;font-size:9px;color:#7a886a;display:flex;gap:6px;justify-content:center;align-items:center;margin-top:10px;padding:7px}.test-sound svg{height:13px;width:13px}.practice-tip{display:flex;align-items:flex-start;gap:12px;border-top:1px solid var(--line);padding:14px 24px;background:#fafbf5;font-size:10px;line-height:1.7;color:#8c9580}.practice-tip svg{height:15px;width:15px;margin-top:2px;color:#92a17c}.practice-tip b{font-weight:550;color:#697a59}.journey{margin-top:30px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h2{font:650 15px 'Manrope',sans-serif;letter-spacing:-.3px;margin:0}.section-header h2 span{color:#9ba38e;font:9px 'DM Sans',sans-serif;margin-left:10px}.text-button{font-size:9px;color:#7d8c6a;display:flex;align-items:center;gap:8px;padding:4px 0}.text-button svg{height:13px;width:13px}.journey-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.lesson-card{border:1px solid var(--line);border-radius:10px;padding:16px 15px;text-align:left;background:#f5f6ee;min-height:125px;position:relative}.lesson-card.current{border-color:#afbd95;background:#edf1e1}.lesson-card.passed{background:#e9eee1}.lesson-card:disabled{opacity:.72}.lesson-card .lesson-number{font:8px var(--mono);color:#a2a891;display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.lesson-number svg{width:11px;height:11px}.lesson-characters{font:550 25px 'Manrope',sans-serif;letter-spacing:4px;color:#5a704c}.lesson-card:disabled .lesson-characters{color:#a3aa96}.lesson-card .lesson-caption{font-size:8px;color:#8c9879;margin-top:8px;display:block}.lesson-card.current:after{content:'';position:absolute;width:5px;height:5px;right:16px;bottom:17px;background:#718956;border-radius:50%}.method-note{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#edeFE4;border:1px solid #e2e6d6;border-radius:10px;margin-top:25px;padding:17px 20px}.method-note-left{display:flex;gap:13px;align-items:center}.method-note-left>svg{width:27px;height:27px;stroke-width:1.2;color:#8e9b75}.method-note h3{font-size:11px;font-weight:550;margin:0 0 5px}.method-note p{font-size:9px;line-height:1.6;color:#919a81;margin:0}.method-note .text-button{white-space:nowrap}footer{max-width:1420px;margin:0 auto;padding:23px 44px 27px;display:flex;justify-content:space-between;color:#a7ac9b;font-size:8px}.footer-morse{color:#8d9b79;font:11px var(--mono)}.footer-morse span{font:7px 'DM Sans',sans-serif;letter-spacing:1px;margin-left:10px}.timer-track{height:3px;background:#e9edde;position:absolute;bottom:0;left:0;right:0}.timer-track div{height:100%;background:#8caa64;width:0}.result-panel{margin:20px 0;background:#f1f5e8;border:1px solid #dce6cd;border-radius:10px;padding:20px}.result-heading{display:flex;justify-content:space-between;gap:15px;align-items:center}.result-panel h3{font:650 17px 'Manrope',sans-serif;margin:0 0 7px}.result-panel p{font-size:11px;color:#7d896e;line-height:1.7;margin:0}.result-score{font:500 34px 'Manrope',sans-serif;color:#536e3f;white-space:nowrap}.answer-diff{font:12px/2 var(--mono);letter-spacing:3px;overflow-wrap:anywhere;max-height:160px;overflow:auto;margin-top:16px;border-top:1px solid #dfe7d2;padding-top:10px}.answer-diff .wrong{background:#f0dcd0;color:#a05c3a;border-radius:3px}.answer-diff .extra{color:#ac745c;text-decoration:line-through}.result-legend{font-size:9px;margin-top:10px;color:#89977a}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:30px 0}.stat-card{border:1px solid var(--line);background:var(--paper);padding:25px;border-radius:12px}.stat-card p{font-size:11px;color:var(--muted);margin:0 0 14px}.stat-card strong{font:500 34px 'Manrope',sans-serif;letter-spacing:-1px}.stat-card small{font-size:11px;color:#8d9b78;margin-left:5px}.panel{border:1px solid var(--line);background:var(--paper);padding:27px;border-radius:14px;margin-top:22px}.panel h2{font:600 19px 'Manrope',sans-serif;margin:0 0 15px;letter-spacing:-.5px}.empty-state{padding:40px 20px;text-align:center}.empty-state svg{width:38px;height:38px;color:#98aa7f}.empty-state h3{font-weight:500}.empty-state p{font-size:12px;color:#929b85;line-height:1.8}.empty-state button{margin-top:12px}.history-row{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:15px;padding:16px 0;border-bottom:1px solid var(--line);font-size:11px}.history-row:last-child{border:0}.history-row strong{font-weight:550}.history-row span{color:#8b957e}.library-toolbar{display:flex;gap:14px;align-items:center;justify-content:space-between;margin:24px 0}.library-toolbar input{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:12px 15px;width:220px;color:var(--ink);font-size:11px}.library-toolbar span{font-size:10px;color:#8c977f}.character-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:13px}.character-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px 10px;background:var(--paper);border:1px solid var(--line);border-radius:10px;position:relative}.character-tile:hover,.character-tile.sounding{border-color:#9bb07c;background:#edf2df}.character-tile strong{font:500 28px 'Manrope',sans-serif}.character-tile .morse{font:15px var(--mono);color:#7c9365;margin:9px 0;letter-spacing:3px}.character-tile small{font-size:8px;color:#9ca58e}.character-tile svg{position:absolute;right:9px;top:9px;width:11px;height:11px;color:#a3ae93}.guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:30px 0}.guide-card{padding:25px;background:var(--paper);border:1px solid var(--line);border-radius:14px}.guide-card .step{font:10px var(--mono);color:#8d9f74}.guide-card h2{font:600 19px/1.5 'Manrope',sans-serif;letter-spacing:-.5px}.guide-card p,.prose p{font-size:12px;color:#839075;line-height:1.9}.guide-card .big-morse{font:27px var(--mono);color:#8da46e;margin-top:20px}.prose{max-width:760px}.prose h3{font-weight:550;font-size:14px;margin-top:25px}.study-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(95px,1fr));gap:14px;margin:26px 0}.study-cards button{border:1px solid #dae3c9;border-radius:10px;background:#f2f5e8;min-height:135px}.study-cards strong{font:500 36px 'Manrope',sans-serif;display:block}.study-cards .morse{font:18px var(--mono);color:#91a275;letter-spacing:4px;display:block;margin:12px 0}.study-cards small{font-size:9px;color:#879875}.study-copy{font-size:11px;line-height:1.8;color:#89967a}.focus-mode .sidebar,.focus-mode .settings,.focus-mode .journey,.focus-mode .method-note, .focus-mode footer{display:none}.focus-mode .app-shell{margin-left:0}.focus-mode .workspace{grid-template-columns:minmax(0,740px);justify-content:center}.focus-mode main{max-width:1000px}dialog{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:20px;width:min(700px,calc(100% - 30px));max-height:85dvh;padding:30px;box-shadow:0 20px 100px #1f332030}dialog::backdrop{background:#29362655;backdrop-filter:blur(4px)}.dialog-header{display:flex;justify-content:space-between;gap:15px;align-items:center}.dialog-header h2{font:550 26px 'Manrope',sans-serif;margin:12px 0}.dialog-header+p{font-size:12px;color:#849274;line-height:1.8}.all-lessons{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:20px}.all-lessons .lesson-card{min-height:100px;padding:12px}.all-lessons .lesson-characters{font-size:20px}.all-lessons .lesson-number{margin-bottom:9px}.all-lessons .lesson-caption{font-size:7px}#toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,20px);opacity:0;background:#354c3b;color:#f3f7e9;font-size:11px;padding:13px 20px;border-radius:9px;z-index:100;transition:.2s;pointer-events:none;max-width:90vw;text-align:center}#toast.visible{opacity:1;transform:translate(-50%,0)}
@media(min-width:1500px){main{padding-top:55px}.intro{margin-bottom:40px}.signal-stage{height:210px}.trainer-body{padding:30px}.journey{margin-top:36px}.lesson-card{min-height:145px}.settings{padding:27px}.setting{margin-bottom:29px}.workspace{grid-template-columns:minmax(0,1fr) 310px}}
@media(max-width:1150px){.sidebar{width:190px;padding:32px 16px}.brand-caption{font-size:6px;letter-spacing:.7px}.app-shell{margin-left:190px}.topbar{margin:0 28px}main{padding:30px 28px 20px}.workspace{grid-template-columns:minmax(0,1fr) 235px;gap:15px}.settings{padding:20px 17px}.trainer-body{padding:23px 20px}.method-pill{display:none}.intro h1{font-size:34px}.lesson-card{padding:14px 12px}.journey-cards{gap:9px}.keyboard-hint{display:none}footer{padding-left:28px;padding-right:28px}.method-note p{max-width:430px}.character-grid{grid-template-columns:repeat(5,1fr)}}
@media(max-width:950px) and (min-width:761px){.sidebar{width:170px;padding:30px 12px}.app-shell{margin-left:170px}.nav-item{font-size:11px;gap:8px}.brand-caption{font-size:5px}.workspace{grid-template-columns:1fr}.settings{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.settings-title{grid-column:1/-1;margin:0}.settings .setting{margin:0}.settings-rule{display:none}.settings .audio-settings{grid-column:2/4}.test-sound{grid-column:1/-1;margin:0}.intro h1{font-size:32px}.lesson-card .lesson-caption{font-size:7px}.guide-grid{grid-template-columns:1fr}.character-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:760px){.sidebar{display:none}.app-shell{margin-left:0}.topbar{height:65px;margin:0 22px}.mobile-brand{display:block;font:800 31px 'Manrope',sans-serif;letter-spacing:-2px}.breadcrumb{display:none}.topbar-right{gap:10px}.local-indicator{font-size:8px}.icon-button{width:31px;height:31px}.topbar-right svg{width:17px;height:17px}main{padding:27px 20px 15px}.intro{margin-bottom:25px}.intro h1{font-size:33px;letter-spacing:-1.5px;margin:12px 0}.intro p{font-size:11px;max-width:290px}.eyebrow{font-size:8px;letter-spacing:1.6px}.workspace{grid-template-columns:1fr;gap:18px}.trainer-top{height:54px;padding:0 19px}.tab{font-size:10px}.tabs{gap:21px}.focus-btn{font-size:0;gap:0}.focus-btn svg{width:15px;height:15px}.trainer-body{padding:22px 19px 20px}.session-heading h2{font-size:16px}.session-heading p{font-size:9px}.badge{font-size:9px}.signal-stage{height:165px;margin:22px 0}.waveform{gap:3px}.waveform i{width:3px}.stage-label{font-size:8px}.transcription-label{font-size:10px}.transcription-label span{font-size:8px}.transcription{height:80px;font-size:16px}.session-bottom{margin-top:16px}.session-bottom .button-primary{min-height:43px;padding:0 19px;font-size:11px}.session-actions{gap:7px}.session-actions .button-secondary{padding:8px;font-size:9px}.practice-tip{font-size:9px;padding:14px 18px;gap:10px}.settings{padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.settings-title{grid-column:1/-1;margin-bottom:20px}.setting{margin-bottom:20px}.settings-rule{grid-column:1/-1;margin:0 0 19px}.settings .duration-setting{grid-column:1/-1;margin-bottom:20px}.audio-settings{grid-column:1/-1;gap:22px}.audio-settings .setting{margin-bottom:4px}.test-sound{grid-column:1/-1;margin-top:7px;padding:8px}.setting-label{font-size:10px}.journey{margin-top:28px}.section-header h2{font-size:14px}.section-header h2 span{display:none}.journey-cards{display:flex;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory;margin-right:-20px;padding-right:20px;gap:10px}.lesson-card{min-width:119px;min-height:126px;scroll-snap-align:start;padding:15px}.lesson-characters{font-size:25px}.lesson-card .lesson-caption{font-size:8px}.method-note{margin-top:19px;align-items:flex-start;padding:17px 15px;display:block}.method-note h3{font-size:11px}.method-note p{font-size:9px}.method-note .text-button{margin:12px 0 0 40px}.method-note-left>svg{width:26px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;height:calc(64px + env(safe-area-inset-bottom));padding:7px 12px calc(7px + env(safe-area-inset-bottom));display:flex;justify-content:space-around;border-top:1px solid #dce2d0;background:#f7f8f0f5;backdrop-filter:blur(15px);z-index:20}.mobile-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#97a086;font-size:8px;width:64px;border-radius:8px}.mobile-nav button.active{color:#3f583a;background:#e7edda}.mobile-nav svg{width:19px;height:19px}footer{padding:20px 22px 90px;font-size:7px;gap:15px}.footer-morse{font-size:9px}.footer-morse span{display:none}#toast{bottom:80px;white-space:normal;width:max-content;max-width:90vw;line-height:1.5}.stats-grid{gap:9px;margin:24px 0}.stat-card{padding:18px 12px}.stat-card p{font-size:9px;line-height:1.5;height:23px}.stat-card strong{font-size:27px}.stat-card small{font-size:9px}.panel{padding:20px}.panel h2{font-size:17px}.history-row{grid-template-columns:1.2fr .8fr .7fr;font-size:10px;gap:8px}.history-row .history-speed{display:none}.character-grid{grid-template-columns:repeat(3,1fr);gap:10px}.character-tile{padding:18px 8px}.character-tile strong{font-size:27px}.character-tile .morse{font-size:14px;letter-spacing:2px}.library-toolbar{gap:10px}.library-toolbar input{width:160px}.library-toolbar span{font-size:8px;line-height:1.7}.guide-grid{grid-template-columns:1fr;gap:13px;margin-top:23px}.guide-card{padding:23px}.guide-card h2{font-size:20px;margin:13px 0}.guide-card p{font-size:12px}.guide-card .big-morse{margin-top:15px}.focus-mode main{padding-top:25px}.focus-mode .mobile-nav{display:none}.focus-mode .trainer{margin-bottom:25px}.all-lessons{grid-template-columns:repeat(3,1fr);gap:8px}dialog{padding:22px}.dialog-header h2{font-size:23px}.all-lessons .lesson-card{min-width:0}.result-score{font-size:29px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
[hidden]{display:none!important}

/* Domain wordmark */
.brand{font-size:18px;letter-spacing:-.8px;gap:9px}
.brand-mark{width:31px;height:31px;border-radius:9px;font-size:18px;flex-shrink:0}
@media(max-width:1150px){.brand{font-size:15px;gap:7px}.brand-mark{width:26px;height:26px;font-size:16px}}
@media(max-width:760px){.mobile-brand{font-size:20px;letter-spacing:-.9px}}
@media(max-width:440px){.local-indicator{font-size:0;gap:0}.topbar-right{gap:13px}}

/* Refined, readable wordmark */
.brand{gap:10px;letter-spacing:normal}
.wordmark{display:inline-flex;align-items:baseline;white-space:nowrap;font-family:'Manrope',sans-serif;font-size:23px;line-height:1.15;letter-spacing:-.9px;color:#2e4235}
.wordmark-learn{font-weight:450}
.wordmark-morse{font-weight:750}
.wordmark .brand-dot{font-size:12px;font-weight:550;letter-spacing:-.25px;color:#819373;margin-left:2px}
@media(max-width:1150px){.brand{gap:8px}.brand .wordmark{font-size:20px}.brand .wordmark .brand-dot{font-size:10px}}
@media(max-width:760px){.mobile-brand .wordmark{font-size:25px}.mobile-brand .wordmark .brand-dot{font-size:13px}.mobile-brand .wordmark-learn,.mobile-brand .wordmark-morse{color:#2e4235}}
