*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{-webkit-font-smoothing:antialiased}:root{--ink:#17253d;--paper:#f3f6fb;--card:#fff;--line:#dfe6ef;--accent:#245bdf;--accent-soft:#edf3ff;--muted:#637189;--success:#167252;--success-soft:#eaf6ef;--danger:#bf3e42;--danger-soft:#fff0f0;--surface-2:#f5f7fb}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}html,body{overscroll-behavior:none;width:100%;height:100%;margin:0;overflow:hidden}body{height:var(--app-height,100%);background:var(--paper);color:var(--ink);touch-action:pinch-zoom;-webkit-font-smoothing:antialiased;font-family:Pretendard,Apple SD Gothic Neo,Noto Sans KR,system-ui,sans-serif;position:fixed;top:0;left:0}#root{top:var(--app-top,0px);width:100%;height:var(--app-height,100dvh);flex-direction:column;display:flex;position:fixed;left:0;overflow:hidden;container:app/size}button,input,select{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;transition:background .15s,border-color .15s,color .15s}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}a{color:var(--accent);text-underline-offset:4px}button:active:not(:disabled){transform:translateY(1px)}.loading{height:100%;color:var(--muted);place-items:center;display:grid}.menu,.study,.gate{background:var(--card);width:100%;max-width:880px;height:100%;min-height:0;padding:max(18px,env(safe-area-inset-top)) 24px max(18px,env(safe-area-inset-bottom));flex:1;margin:0 auto;overflow:hidden}.brand{letter-spacing:-1px;flex-shrink:0;align-items:center;gap:10px;font-size:26px;font-weight:780;line-height:1;display:flex}.brand-mark{background:var(--ink);color:#fff;letter-spacing:0;border-radius:7px;place-items:center;width:34px;height:36px;font-size:23px;font-weight:500;display:grid}.brand-dot{color:var(--accent)}.menu-top{flex-shrink:0;justify-content:space-between;align-items:center;gap:14px;min-height:40px;display:flex}.menu-account{flex-shrink:0;justify-content:space-between;align-items:center;gap:14px;min-width:0;display:flex}.menu-hi{text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:18px;font-weight:650;overflow:hidden}.menu-logout{color:var(--muted);white-space:nowrap;background:0 0;border:0;padding:8px 0;font-size:15px}.screen-tabs{border-bottom:1px solid var(--line);flex-shrink:0;gap:24px;display:flex}.screen-tabs button{min-height:44px;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;flex:1;padding:9px 4px;font-size:14px;font-weight:650}.screen-tabs button[aria-pressed=true]{color:var(--accent);border-bottom-color:var(--accent)}.eyebrow{color:var(--accent);letter-spacing:.08em;margin:0 0 7px;font-size:11px;font-weight:750}.menu-title{letter-spacing:-1px;margin:0;font-size:28px;font-weight:750;line-height:1.25}.prompt,.meaning,.feedback{overflow-wrap:anywhere;text-align:center}.prompt{color:var(--muted);margin:4px 0;font-size:13px;line-height:1.5}.back-btn{border:1px solid var(--line);background:var(--card);border-radius:8px;min-height:36px;padding:8px 12px;font-size:13px}.chip{color:var(--accent);background:var(--accent-soft);border-radius:6px;padding:6px 10px;font-size:12px;font-weight:700}.elo{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;font-size:11px}.study-top{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;display:flex}.study-top .elo{white-space:nowrap}.menu{flex-direction:column;gap:24px;display:flex}.menu-page{flex-direction:column;flex:1;gap:16px;min-height:0;display:flex}.learn-page{gap:20px}.level-shortcut,.menu-home{border:1px solid var(--line);background:var(--card);border-radius:10px;align-items:center;gap:10px;max-width:55%;min-height:48px;padding:10px 14px;font-size:18px;font-weight:650;display:flex}.level-shortcut span{color:var(--accent);font-size:20px}.practice-switch{background:var(--surface-2);border-radius:12px;flex-shrink:0;gap:6px;padding:5px;display:flex}.practice-switch button{min-height:48px;color:var(--muted);background:0 0;border:0;border-radius:8px;flex:1;padding:8px;font-size:18px;font-weight:650}.practice-switch button[aria-pressed=true]{background:var(--card);color:var(--accent);box-shadow:0 1px 4px #17253d12}.menu-cards{flex:1;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-height:0;display:grid}.menu-card{--mode:#245bdf;--mode-bg:#edf3ff;text-align:center;letter-spacing:-1px;border:1px solid var(--line);background:var(--mode-bg);min-width:0;min-height:0;color:var(--mode);border-radius:16px;place-items:center;padding:16px;font-size:clamp(32px,6vw,48px);font-weight:750;line-height:1.2;display:grid}.menu-card.write{--mode:#965a1c;--mode-bg:#fff4e7}.menu-card.huneum{--mode:#7650ad;--mode-bg:#f4effc}.menu-card.word{--mode:#1b776b;--mode-bg:#eaf7f4}.home-links{border-top:1px solid var(--line);flex-shrink:0;gap:8px;padding-top:12px;display:flex}.home-links button{background:0 0;border:0;border-radius:8px;flex:1;min-height:48px;font-size:18px;font-weight:650}.menu-row{flex-shrink:0;align-items:center;gap:8px;display:flex}.menu-row-label{min-width:58px;color:var(--muted);font-size:12px;font-weight:650}.menu-mini{border:1px solid var(--line);background:var(--card);min-height:38px;color:var(--ink);border-radius:7px;padding:9px 12px;font-size:12px}.menu-row .menu-mini{flex:1;min-width:0;padding:8px 4px}.gate{flex-direction:column;justify-content:center;align-items:center;gap:14px;max-width:720px;display:flex}.gate>.brand{margin-bottom:16px}.gate-art{background:var(--accent-soft);width:150px;height:150px;color:var(--ink);background-image:linear-gradient(#0000 49.6%,#d5e1f7 49.6% 50.4%,#0000 50.4%),linear-gradient(90deg,#0000 49.6%,#d5e1f7 49.6% 50.4%,#0000 50.4%);border-radius:18px;place-items:center;margin:0 0 22px;display:grid;position:relative}.gate-art>span:first-child{font-size:88px;line-height:1}.art-caption{background:var(--ink);color:#fff;border-radius:5px;padding:9px 14px;font-size:11px;font-weight:650;position:absolute;bottom:-16px;right:-28px;transform:rotate(-5deg)}.gate-title{letter-spacing:-1.5px;margin:0;font-size:34px;line-height:1.3}.gate-sub{color:var(--muted);text-align:center;margin:0;font-size:14px}.gate-form{gap:8px;width:100%;max-width:380px;display:flex}.gate-input{border:1px solid var(--line);background:var(--card);border-radius:9px;flex:1;min-width:0;padding:14px;font-size:16px}.gate-btn{background:var(--accent);color:#fff;white-space:nowrap;border:0;border-radius:9px;padding:12px 22px;font-size:15px;font-weight:650}.gate-recent{width:100%;max-width:380px;margin:4px 0}.gate-recent-label{color:var(--muted);font-size:12px}.gate-recent-select{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;width:100%;min-height:42px;margin-top:8px;padding:10px 12px;font-size:16px}.storage-note{color:var(--muted);text-align:center;overflow-wrap:anywhere;max-width:480px;margin:8px auto;font-size:13px;line-height:1.65}.gate .storage-note{margin:0;font-size:12px}.site-links{flex-shrink:0;justify-content:center;align-items:center;gap:24px;margin:4px 0;display:flex}.site-link{font-size:12px}.gate .site-links{margin-top:12px}.study{flex-direction:column;max-width:800px;display:flex}.glyph-card{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;min-height:0;margin:16px 0;padding:16px;display:flex;position:relative}.reading .glyph-card{container:question/size}.glyph{font-size:min(160px,32vw,calc(var(--app-height,100dvh) * .24),var(--question-glyph-cap,160px));color:var(--ink);font-weight:450;line-height:1.1}.meaning{color:var(--muted);flex-shrink:0;font-size:15px;line-height:1.5}.meaning.big{color:var(--ink);font-size:28px;font-weight:650}.meaning.muted{font-size:13px}.feedback{color:var(--accent);max-width:100%;font-size:14px;font-weight:650;line-height:1.5}.feedback:empty{display:none}.feedback.ok{color:var(--success);background:var(--success-soft);border-radius:8px;padding:8px 14px}.feedback.no{color:var(--danger);background:var(--danger-soft);border-radius:8px;padding:8px 14px}.next-due{color:var(--muted);text-align:center;font-size:12px}.glyph-card p{margin:0}.reading-progress{color:var(--muted);text-align:center;font-size:12px;line-height:1.5}.chips,.dict-readings{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:8px;display:flex}.chip-got,.chip-empty{border-radius:6px;justify-content:center;align-items:center;min-width:32px;min-height:28px;padding:3px 10px;font-size:14px;font-weight:650;display:inline-flex}.chip-got{color:var(--accent);background:var(--accent-soft);border:1px solid #c8d8fa}.chip-empty{color:var(--muted);background:var(--card);border:1px dashed #b8c6d8}.early-badge{color:#905418;background:#fff0d9;border-radius:4px;margin-left:6px;padding:2px 5px;font-size:10px}.early-badge.lapsed{background:var(--danger-soft);color:var(--danger)}.input-zone{flex-direction:column;flex-shrink:0;align-items:center;width:100%;margin-top:auto;display:flex}.input-zone>*{width:100%;max-width:560px}.pad{width:100%}.keyboard-switch{border:1px solid var(--line);background:var(--surface-2);border-radius:9px;gap:4px;padding:3px;display:flex}.keyboard-switch button{min-height:36px;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:6px;flex:1;font-size:12px;font-weight:650}.keyboard-switch button[aria-pressed=true]{background:var(--card);border-color:var(--line);color:var(--accent);box-shadow:0 1px 2px #17253d08}.pad-display,.pad-native{text-align:center;background:var(--card);letter-spacing:1px;border:1px solid #bac8da;border-radius:9px;justify-content:center;align-items:center;width:100%;height:48px;min-height:48px;margin:10px 0;font-size:24px;line-height:1.2;display:flex}.pad-native{padding:8px 12px}.pad-native::placeholder{letter-spacing:0;color:var(--muted);font-size:14px}.pad-native:focus,.gate-input:focus,.dict-input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.qwerty{flex-direction:column;gap:6px;width:100%;margin-bottom:8px;display:flex}.qwerty-row{justify-content:center;gap:5px;display:flex}.qwerty-row.r1{padding:0 5%}.qkey{border:1px solid var(--line);background:var(--surface-2);border-bottom:2px solid #cbd5e3;border-radius:7px;flex:1;min-width:0;min-height:44px;padding:8px 0;font-size:18px}.qkey:active:not(:disabled){background:var(--accent-soft);color:var(--accent)}.qkey:disabled,.pad-space:disabled{opacity:1}.pad-actions{gap:6px;width:100%;display:flex}.pad-actions button{border-radius:8px;min-height:46px;padding:10px 8px}.pad-back,.pad-space{border:1px solid var(--line);background:var(--surface-2);flex:1;font-size:14px}.qkey-control{background:#e5ebf4;flex:1.4;min-width:32px;font-size:20px}.pad-space{flex:1.3;font-size:12px}.pad-shift[aria-pressed=true]{color:#fff;background:var(--accent)}.pad-submit,.next-btn{background:var(--accent);color:#fff;border:0;border-radius:8px;font-size:15px;font-weight:700}.pad-submit{flex:2}.next-btn{flex:none;width:100%;min-height:46px;padding:12px}.next-btn.ghost{background:var(--card);color:var(--muted);border:1px solid var(--line)}.empty-actions{flex-direction:column;gap:8px;max-width:480px;display:flex}.study-session .storage-note{margin:4px auto;font-size:12px;line-height:1.4}.write-zone{flex-direction:column;align-items:center;gap:10px;width:100%;display:flex}.write-result-actions{gap:8px;width:100%;display:flex}.write-result-actions .next-btn{flex:1;width:auto;min-width:0}.write-result-actions .appeal-btn{font-size:14px}.write-canvas,.stroke-view{aspect-ratio:1;background:var(--card);background-image:linear-gradient(transparent 49.7%,var(--line) 49.7%,var(--line) 50.3%,transparent 50.3%),linear-gradient(90deg,transparent 49.7%,var(--line) 49.7%,var(--line) 50.3%,transparent 50.3%);border:1px solid #bdcadc;border-radius:10px;display:block}.write-canvas{width:min(100%,340px,max(110px,calc(var(--app-height,100dvh) - 290px)));max-width:100%;margin:0 auto}.stroke-view{width:100%}.stroke-view.clickable{cursor:pointer}.write-compare{width:100%;max-width:min(360px,max(160px,calc(var(--app-height,100dvh) - 290px)));gap:12px;display:flex}.compare-col{flex-direction:column;flex:1;align-items:center;gap:8px;min-width:0;display:flex}.compare-label{color:var(--muted);font-size:12px;font-weight:650}.answer-box{aspect-ratio:1;border:1px solid var(--line);background:var(--surface-2);border-radius:10px;place-items:center;width:100%;font-size:clamp(48px,20vw,110px);line-height:1;display:grid}.guide-btn{border:1px solid var(--line);background:var(--card);width:100%;color:var(--accent);border-radius:6px;padding:8px;font-size:12px}.writing .meaning.big{font-size:25px}.writing .prompt{font-size:11px}.writing .glyph-card{gap:5px}@keyframes stroke-draw{to{stroke-dashoffset:0}}@keyframes stroke-num-in{to{opacity:1}}.levels-page,.settings-page{justify-content:center;width:100%;max-width:640px;margin:0 auto}.settings-page{justify-content:flex-start;padding-top:24px}.levels-page .menu-title{text-align:center;font-size:25px}.level-picker-wrap{width:100%;padding:12px 0}.menu-set-btns.levels{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;width:100%;display:grid}.menu-set-btns button{border:1px solid var(--line);background:var(--surface-2);min-height:52px;color:var(--muted);border-radius:8px;padding:8px 4px;font-size:14px}.menu-set-btns button.on{background:var(--accent-soft);color:var(--accent);border-color:#a8c2fa;font-weight:700}.menu-set-btns button.mid{background:var(--accent-soft)}.menu-set-btns button.anchor{outline:2px solid var(--accent);outline-offset:1px}.set-caption{min-height:24px;color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin-top:12px;font-size:12px;display:flex}.set-all{background:var(--card);min-height:34px;color:var(--accent);border:1px solid var(--line);border-radius:6px;padding:6px 12px;font-size:12px}.section-heading{margin-bottom:8px}.settings-page>.storage-note{text-align:left;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;width:100%;max-width:none;margin:0;padding:18px}.settings-page>.menu-row{border-bottom:1px solid var(--line);padding:12px 0}.settings-page .menu-row-label{min-width:84px}.settings-page .site-links{padding:8px 0}.dict,.dict-detail,.stats{gap:14px}.dict>.study-top>.chip,.stats>.study-top>.chip{color:var(--ink);background:0 0;padding:0;font-size:17px}.dict-input{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;flex-shrink:0;width:100%;min-height:48px;padding:12px 14px;font-size:16px}.dict-results{flex-direction:column;flex:1;gap:6px;min-height:0;display:flex;overflow:hidden}.dict-row{border:1px solid var(--line);background:var(--card);text-align:left;border-radius:8px;flex-shrink:0;align-items:center;gap:14px;height:58px;min-height:58px;padding:6px 12px;display:flex}.dict-char{text-align:center;flex-shrink:0;width:42px;font-size:30px;line-height:1}.dict-meaning{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:14px;overflow:hidden}.dict-level{color:var(--muted);background:var(--surface-2);border-radius:4px;flex-shrink:0;padding:5px 8px;font-size:11px}.pager{color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;font-size:12px;display:flex}.pager button{border:1px solid var(--line);background:var(--card);border-radius:7px;min-width:72px;min-height:40px;font-size:13px}.dict-detail .glyph-card{margin:0}.dict-detail .meaning.big{font-size:23px}.dict-stroke-wrap{max-width:280px;width:min(280px,max(95px,calc(var(--app-height,100dvh) - 280px)));margin:0 auto}.dict-card-info{font-size:13px}.dict-card-info.muted{color:var(--muted)}.stats-mode{gap:6px;width:100%;display:flex}.stats-mode button{border:1px solid var(--line);background:var(--card);min-height:38px;color:var(--muted);border-radius:7px;flex:1;font-size:13px}.stats-mode button.on{background:var(--ink);border-color:var(--ink);color:#fff}.stats-card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:20px}.stats-card-title{justify-content:space-between;align-items:center;gap:8px;margin-bottom:16px;font-size:16px;font-weight:700;display:flex}.stats-hint{color:var(--muted);font-size:11px;font-weight:400;line-height:1.5}.stats-overview{border-bottom:1px solid var(--line);flex-shrink:0;gap:32px;padding:4px 0 24px;display:flex}.stats-overview>div{flex-direction:column;flex:1;gap:8px;display:flex}.stats-overview span{color:var(--muted);font-size:12px}.stats-overview strong{color:var(--accent);font-variant-numeric:tabular-nums;font-size:32px;line-height:1}.stats-overview small{color:var(--muted);margin-left:6px;font-size:14px;font-weight:500}.legend-mastered{color:var(--accent)}.legend-started{color:#657fac}.stats-empty{color:var(--muted);text-align:center;padding:16px 0;font-size:13px}.stats-empty.small{padding:6px 0;font-size:11px}.daily-panel,.levels-panel{flex-direction:column;flex:1;min-height:0;display:flex}.daily-chart{flex:1;align-items:flex-end;gap:6px;min-height:60px;max-height:360px;margin-top:auto;padding-top:20px;display:flex}.daily-col{flex-direction:column;flex:1;align-items:center;height:100%;display:flex}.daily-bar-wrap{flex:1;align-items:flex-end;width:100%;display:flex}.daily-bar{background:#e2e9f6;border-radius:4px 4px 0 0;align-items:flex-end;width:100%;min-height:2px;display:flex;overflow:hidden}.daily-bar-ok{background:var(--accent);width:100%}.daily-label{color:var(--muted);white-space:nowrap;margin-top:8px;font-size:9px}.level-pages{flex:1;min-height:0;overflow:hidden}.level-row{align-items:center;gap:10px;margin:10px 0;display:flex}.level-pages .level-row{height:36px;margin:0}.level-name{flex-shrink:0;width:44px;font-size:12px;font-weight:650}.level-bar{background:var(--surface-2);border-radius:3px;flex:1;height:12px;display:flex;overflow:hidden}.level-bar-mastered{background:var(--accent);height:100%}.level-bar-started{background:#aabfea;height:100%}.level-nums{text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0;width:80px;font-size:11px}.level-nums i{color:var(--muted);font-style:normal}@media (hover:hover){.menu-card:hover{border-color:var(--mode);background:var(--mode-bg)}.menu-mini:hover,.dict-row:hover,.pager button:hover:not(:disabled),.back-btn:hover{background:var(--accent-soft);border-color:#a8c2fa}.pad-submit:hover,.next-btn:not(.ghost):hover,.gate-btn:hover{background:#194bc3}.home-links button:hover,.menu-logout:hover{color:var(--accent)}}@media (width>=768px){.menu,.study,.gate{border-left:1px solid var(--line);border-right:1px solid var(--line);padding-left:40px;padding-right:40px}.menu{gap:20px;padding-top:28px;padding-bottom:24px}.menu-page{gap:20px}.menu-title{font-size:32px}}@media (width<=480px){.menu,.study,.gate{padding-left:18px;padding-right:18px}.menu{gap:20px}.menu-page{gap:16px}.menu-title{font-size:28px}.study-top{gap:5px}.study-top .elo{font-size:10px}.chip{padding:6px 8px;font-size:11px}.back-btn{padding:7px 9px;font-size:12px}.glyph-card{gap:8px;margin:12px 0;padding:12px}.feedback{font-size:13px}.pad-actions .pad-submit{white-space:nowrap;font-size:13px}.pad-actions .pad-back{white-space:nowrap;padding-left:6px;padding-right:6px;font-size:13px}.screen-tabs{gap:12px}.screen-tabs button{font-size:13px}.stats-card{padding:14px}.stats-card-title{font-size:14px}}@media (height<=720px){.menu{gap:16px}.menu-page{gap:14px}.gate-art{width:112px;height:112px;margin-bottom:16px}.gate-art>span:first-child{font-size:70px}.gate>.brand{margin-bottom:8px}.gate{gap:10px}}@media (height<=640px){.reading .glyph-card{gap:4px;padding:6px}}:root[data-compact=true] .menu,:root[data-compact=true] .study,:root[data-compact=true] .gate{padding-top:max(8px,env(safe-area-inset-top));padding-bottom:max(8px,env(safe-area-inset-bottom))}:root[data-compact=true] .menu,:root[data-compact=true] .menu-page{gap:6px}:root[data-compact=true] .brand{font-size:22px}.brand-mark{flex-shrink:0}:root[data-compact=true] .brand-mark{width:28px;height:30px;font-size:20px}:root[data-compact=true] .menu-top{min-height:32px}:root[data-compact=true] .screen-tabs button{min-height:34px;padding:6px 3px}:root[data-compact=true] .menu-title{font-size:19px}:root[data-compact=true] .level-shortcut,:root[data-compact=true] .menu-home{min-height:40px;padding:6px 10px;font-size:17px}:root[data-compact=true] .menu-card{padding:8px;font-size:30px}:root[data-compact=true] .practice-switch button{min-height:40px;font-size:17px}:root[data-compact=true] .home-links{padding-top:6px}:root[data-compact=true] .home-links button{min-height:40px;font-size:17px}:root[data-compact=true] .menu-row .menu-mini{min-height:32px;padding:5px 3px}:root[data-compact=true] .gate-art{display:none}:root[data-compact=true] .gate{gap:8px}:root[data-compact=true] .gate-title{font-size:25px}:root[data-compact=true] .gate>.brand{margin:0 0 4px}:root[data-compact=true] .gate-sub{font-size:12px}:root[data-compact=true] .gate-input,:root[data-compact=true] .gate-btn{padding:10px}:root[data-compact=true] .gate-recent-select{min-height:36px;margin-top:3px;padding:6px}:root[data-compact=true] .gate .site-links{margin:0}:root[data-compact=true] .glyph-card{gap:3px;margin:6px 0;padding:6px}:root[data-compact=true] .study-session .glyph{font-size:min(64px,calc(var(--app-height,100dvh) * .16),var(--question-glyph-cap,160px))}:root[data-compact=true] .meaning{font-size:13px}:root[data-compact=true] .meaning.big{font-size:20px}:root[data-compact=true] .feedback{font-size:12px;line-height:1.35}:root[data-compact=true] .feedback.ok,:root[data-compact=true] .feedback.no{padding:3px 8px}:root[data-compact=true] .reading-progress,:root[data-compact=true] .prompt,:root[data-compact=true] .next-due{font-size:10px;line-height:1.4}:root[data-compact=true] .chips{margin-top:3px}:root[data-compact=true] .chip-got,:root[data-compact=true] .chip-empty{min-height:24px;padding:2px 8px;font-size:12px}:root[data-compact=true] .pad-display,:root[data-compact=true] .pad-native{height:38px;min-height:38px;margin:6px 0;font-size:20px}:root[data-compact=true] .pad-native::placeholder{font-size:12px}:root[data-compact=true] .keyboard-switch button{min-height:30px;font-size:11px}:root[data-compact=true] .qkey{min-height:30px;padding:4px 0;font-size:16px}:root[data-compact=true] .qwerty{gap:4px;margin-bottom:5px}:root[data-compact=true] .pad-actions button,:root[data-compact=true] .next-btn,:root[data-compact=true] .menu-set-btns button{min-height:36px;padding:6px}:root[data-compact=true] .levels-page .prompt{margin:0}:root[data-compact=true] .level-picker-wrap{padding:0}:root[data-compact=true] .settings-page>.storage-note{padding:8px;font-size:11px}:root[data-compact=true] .settings-page>.menu-row{padding:4px 0}:root[data-compact=true] .settings-page .section-heading{margin:0}:root[data-compact=true] .settings-page{padding-top:4px}:root[data-compact=true] .stats-card{padding:12px}:root[data-compact=true] .stats-card-title{margin-bottom:8px}:root[data-compact=true] .stats-overview{padding:0 0 8px}:root[data-compact=true] .stats-overview strong{font-size:24px}@media (width>=600px) and (height<=540px){.study-session{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr 1fr;gap:10px 20px;display:grid}.study-session .study-top{grid-column:1/-1}.study-session .glyph-card{height:100%;margin:0}.study-session .input-zone{justify-content:flex-end;height:100%}.study-session .storage-note{grid-column:1/-1}.menu-cards{grid-template-rows:1fr;grid-template-columns:repeat(4,minmax(0,1fr))}.write-canvas{width:min(220px,calc(var(--app-height,100dvh) - 150px))}.write-compare{max-width:230px}}@container question (height<=250px){.glyph{--question-glyph-cap:56px}.meaning{font-size:13px}.feedback{font-size:12px;line-height:1.35}.feedback.ok,.feedback.no{padding:3px 8px}.reading-progress,.next-due{font-size:10px;line-height:1.4}.chips{margin-top:3px}.chip-got,.chip-empty{min-height:22px;padding:1px 6px;font-size:12px}}@media (prefers-reduced-motion:reduce){button{transition:none}button:active:not(:disabled){transform:none}}
