.app-icon[data-v-b9ff8da7]{flex-shrink:0;display:block}.app-logo[data-v-cb402ab7]{width:auto;height:100%;display:block}.logo-glyph[data-v-cb402ab7]{fill:currentColor}.logo-accent[data-v-cb402ab7]{fill:var(--primary)}.lesson-dialog-backdrop[data-v-f5477872]{background:var(--overlay);padding:var(--modal-padding);z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lesson-dialog-card[data-v-f5477872]{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:520px;max-height:calc(100dvh - 32px);box-shadow:var(--shadow-lg);animation:ddit-rise-in .2s var(--ease-out);flex-direction:column;display:flex;overflow:hidden}.lesson-dialog-header[data-v-f5477872]{justify-content:space-between;align-items:center;gap:12px;padding:16px 20px 0;display:flex}.lesson-dialog-title[data-v-f5477872]{letter-spacing:-.01em;color:var(--text);font-size:1.0625rem;font-weight:650}.lesson-dialog-hint[data-v-f5477872]{font-family:var(--font-mono);color:var(--text-muted);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);white-space:nowrap;border-bottom-width:2px;padding:1px 7px;font-size:.75rem;font-weight:600}.lesson-dialog-body[data-v-f5477872]{flex-direction:column;gap:16px;padding:20px 24px;display:flex;overflow-y:auto}.lesson-dialog-footer[data-v-f5477872]{border-top:1px solid var(--border-muted);flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.lesson-dialog-footer[data-v-f5477872]:empty{display:none}@media (prefers-reduced-motion:reduce){.lesson-dialog-card[data-v-f5477872]{animation-name:ddit-fade-in}}.feedback-text[data-v-b15c670b],.feedback-status[data-v-b15c670b],.feedback-note[data-v-b15c670b]{margin:0}.feedback-text[data-v-b15c670b]{color:var(--text-secondary);font-size:.9375rem;line-height:1.55}.feedback-address[data-v-b15c670b]{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-muted);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 14px;display:flex}.feedback-email[data-v-b15c670b]{min-width:0;color:var(--primary);-webkit-user-select:all;user-select:all;flex:0 auto;margin-right:auto;font-size:1rem;font-weight:600}.feedback-copy[data-v-b15c670b]{align-items:center;gap:6px;display:inline-flex}.feedback-status[data-v-b15c670b]{min-height:1.3em;color:var(--text-muted);margin-top:-8px;font-size:.8125rem}.feedback-note[data-v-b15c670b]{color:var(--text-muted);font-size:.8125rem;line-height:1.5}.feedback-note a[data-v-b15c670b]{color:var(--primary)}[data-v-b15c670b] .lesson-dialog-footer button{align-items:center;gap:6px;display:inline-flex}.sidebar[data-v-95dada85]{background:var(--card-bg);border-right:1px solid var(--border);z-index:100;flex-direction:column;flex-shrink:0;width:248px;height:100dvh;display:flex;position:sticky;top:0}.sidebar-header[data-v-95dada85]{justify-content:space-between;align-items:center;height:72px;padding:0 14px 0 20px;display:flex}.sidebar-logo[data-v-95dada85]{color:var(--text);flex-direction:column;align-items:flex-start;gap:5px;text-decoration:none;display:flex}.logo-wordmark[data-v-95dada85]{height:24px}.logo-caption[data-v-95dada85]{color:var(--text-muted);font-size:.75rem;line-height:1}.sidebar-close-btn[data-v-95dada85]{box-shadow:none;background:0 0;border-color:#0000;display:none}.sidebar-nav[data-v-95dada85]{flex-direction:column;flex:1;gap:2px;padding:8px 10px;display:flex;overflow-y:auto}.nav-section-label[data-v-95dada85]{color:var(--text-muted);padding:8px 10px 6px;font-size:.75rem;font-weight:500}.nav-group[data-v-95dada85]{flex-direction:column;gap:2px;display:flex}.nav-group+.nav-section-label[data-v-95dada85]{margin-top:12px}.nav-group+.nav-group[data-v-95dada85]{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.nav-item[data-v-95dada85]{border-radius:var(--radius);color:var(--text-secondary);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;align-items:flex-start;gap:12px;padding:9px 10px;text-decoration:none;transition:background-color .15s,color .15s;display:flex;position:relative}.nav-item[data-v-95dada85]:active{color:var(--text);background:var(--surface-muted)}.nav-item[data-v-95dada85]:visited{color:var(--text-secondary)}@media (hover:hover) and (pointer:fine){.nav-item[data-v-95dada85]:hover{color:var(--text);background:var(--surface-muted)}}.nav-item.active[data-v-95dada85]{color:var(--text);background:var(--primary-soft)}.nav-item.active[data-v-95dada85]:before{content:"";background:var(--primary);border-radius:0 2px 2px 0;width:3px;position:absolute;top:8px;bottom:8px;left:-10px}.nav-icon[data-v-95dada85]{color:var(--text-muted);margin-top:1px}.nav-item.active .nav-icon[data-v-95dada85]{color:var(--primary)}.nav-text[data-v-95dada85]{flex-direction:column;gap:2px;min-width:0;display:flex}.nav-title[data-v-95dada85]{font-size:.875rem;font-weight:600;line-height:1.25}.nav-desc[data-v-95dada85]{color:var(--text-muted);font-size:.75rem;line-height:1.3}.sidebar-footer[data-v-95dada85]{padding:10px 20px calc(16px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);flex-wrap:wrap;gap:4px 16px;display:flex}.sidebar-footer-link[data-v-95dada85]{color:var(--text-muted);box-shadow:none;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:none;min-height:0;padding:0;font-family:inherit;font-size:.75rem;font-weight:400;line-height:1.5;text-decoration:none}.sidebar-footer-link[data-v-95dada85]:active:not(:disabled){color:var(--text);background:0 0;transform:none}.sidebar-footer-link[aria-current=page][data-v-95dada85]{color:var(--text);background:0 0;text-decoration:underline}@media (hover:hover) and (pointer:fine){.sidebar-footer-link[data-v-95dada85]:hover{color:var(--text);background:0 0;text-decoration:underline}}@media (pointer:coarse){.sidebar-footer-link[data-v-95dada85]{align-items:center;min-height:44px;display:inline-flex}}@media (width<=900px){.sidebar[data-v-95dada85]{z-index:1050;width:288px;max-width:85vw;padding-left:env(safe-area-inset-left,0px);transition:transform .25s var(--ease-drawer);box-shadow:var(--shadow-lg);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open[data-v-95dada85]{transform:translate(0)}.sidebar.open.focus-dim[data-v-95dada85]{opacity:1!important}.sidebar-close-btn[data-v-95dada85]{display:inline-flex}}@media (prefers-reduced-motion:reduce){.sidebar[data-v-95dada85]{transition:none}}.sidebar-backdrop[data-v-c36bddcc]{display:none}@media (width<=900px){.sidebar-backdrop[data-v-c36bddcc]{background:var(--overlay);z-index:1040;opacity:0;pointer-events:none;transition:opacity .25s var(--ease-out);display:block;position:fixed;inset:0}.sidebar-backdrop.active[data-v-c36bddcc]{opacity:1;pointer-events:auto}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--modal-padding:max(16px, env(safe-area-inset-top,0px)) max(16px, env(safe-area-inset-right,0px)) max(16px, env(safe-area-inset-bottom,0px)) max(16px, env(safe-area-inset-left,0px));--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", "Apple SD Gothic Neo", "Malgun Gothic", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Mono", "JetBrains Mono", Menlo, Consolas, "Liberation Mono", "Noto Sans Mono CJK JP", "Noto Sans Mono CJK KR", "Noto Sans Mono CJK SC", monospace;--radius-sm:4px;--radius:6px;--radius-lg:10px;--radius-xl:12px;--bg:#f3f4f6;--card-bg:#fbfbfc;--surface-sunken:#eceef1;--surface-raised:#fdfdfd;--surface-muted:#e6e8ec;--border:#d8dbe0;--border-muted:#e2e4e8;--border-strong:#b6bbc4;--text:#1b1f24;--text-secondary:#434952;--text-muted:#5f6670;--text-faint:#a3a8b0;--primary:#2f5bc4;--primary-hover:#244aa6;--primary-soft:#2f5bc41a;--on-primary:#f7f9ff;--success:#1d7443;--success-soft:#1d744317;--danger-text:#b3261e;--danger-soft:#b3261e17;--warning:#8f6200;--warning-soft:#8f62001a;--audio-fill:#d3d7de;--overlay:#181c2373;--shadow-sm:0 1px 2px #181c230f;--shadow-lg:0 2px 6px #181c230f, 0 16px 40px #181c2324;--focus-ring:0 0 0 2px var(--bg), 0 0 0 4px var(--primary)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111317;--card-bg:#171a1f;--surface-sunken:#0e1013;--surface-raised:#1c1f25;--surface-muted:#24282f;--border:#2a2f37;--border-muted:#22262d;--border-strong:#3c424c;--text:#e3e6ea;--text-secondary:#b3b9c2;--text-muted:#8c939d;--text-faint:#555b65;--primary:#7ea4f5;--primary-hover:#9ab8f8;--primary-soft:#7ea4f521;--on-primary:#0d1424;--success:#62b98b;--success-soft:#62b98b1a;--danger-text:#ec7d72;--danger-soft:#ec7d7221;--warning:#d4a64c;--warning-soft:#d4a64c1f;--audio-fill:#363c46;--overlay:#06080bb8;--shadow-sm:0 1px 2px #0000004d;--shadow-lg:0 2px 6px #0000004d, 0 20px 48px #00000080}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html{font-family:var(--font-sans);-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{background:var(--bg);color:var(--text);min-height:100dvh;font-size:.9375rem;line-height:1.45}:root:lang(ko) body{word-break:keep-all;overflow-wrap:break-word}button,input,select,textarea{font:inherit}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.app-layout{width:100%;min-height:100dvh;padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);display:flex}.main-wrapper{min-width:0;padding:20px 32px calc(40px + env(safe-area-inset-bottom,0px));flex:1;justify-content:center;display:flex}.container{flex-direction:column;width:100%;max-width:1040px;margin:0 auto;display:flex}.container>div{flex-direction:column;gap:16px;display:flex}header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:4px 0 16px;display:flex}.header-main{align-items:center;gap:12px;min-width:0;display:flex}.header-actions{align-items:center;gap:8px;display:flex}h1{letter-spacing:-.015em;color:var(--text);font-size:1.375rem;font-weight:650;line-height:1.2}.header-subtitle{color:var(--text-muted);margin-top:2px;font-size:.875rem}.icon-btn,.burger-btn{width:36px;height:36px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}@media (hover:hover) and (pointer:fine){.icon-btn:hover,.burger-btn:hover{color:var(--text)}}.burger-btn{display:none}.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:14px;padding:16px;display:flex}.receiving-area,.input-dock{flex-direction:column;gap:14px;display:flex}.input-dock.docked{z-index:800;padding:8px calc(8px + env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) calc(8px + env(safe-area-inset-left,0px));background:var(--card-bg);border-top:1px solid var(--border);box-shadow:var(--shadow-lg);gap:8px;position:fixed;bottom:0;left:0;right:0}.compact-transport{align-items:center;gap:8px;display:flex}.section-title{color:var(--text-secondary);font-size:.875rem;font-weight:600}.scoreboard{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));padding:12px 4px;display:grid}.scoreboard>.score-item+.score-item{border-left:1px solid var(--border-muted)}.score-item{text-align:center;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:0 8px;display:flex}.score-label{color:var(--text-muted);font-size:.75rem;font-weight:500}.score-value{font-size:1.25rem;font-weight:600;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text);line-height:1.3}.score-value.val-correct{color:var(--success)}.score-value.val-error{color:var(--danger-text)}.score-value.val-warning{color:var(--warning)}.score-value.val-primary{color:var(--primary)}.buttons-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}button{background:var(--surface-raised);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;min-height:36px;box-shadow:var(--shadow-sm);touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;padding:7px 14px;font-size:.875rem;font-weight:500;line-height:1.2;transition:background-color .15s,border-color .15s,color .15s}@media (hover:hover) and (pointer:fine){button:hover{background:var(--surface-muted);border-color:var(--border-strong)}}button:active:not(:disabled){background:var(--surface-muted);transform:translateY(1px)}button.primary:active:not(:disabled){background:var(--primary-hover)}button.warning:active:not(:disabled){background:var(--border)}button.danger:active:not(:disabled){background:var(--danger-soft)}a,label,[role=button]{touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.5}button.primary{background:var(--primary);border-color:var(--primary);color:var(--on-primary);font-weight:600}@media (hover:hover) and (pointer:fine){button.primary:hover{background:var(--primary-hover);border-color:var(--primary-hover)}}button.warning{background:var(--surface-muted);border-color:var(--border-strong);color:var(--text);font-weight:600}@media (hover:hover) and (pointer:fine){button.warning:hover{background:var(--border)}}button.danger{border-color:var(--border);color:var(--danger-text);box-shadow:none;background:0 0}@media (hover:hover) and (pointer:fine){button.danger:hover{background:var(--danger-soft);border-color:var(--danger-text)}}button.active-preset{background:var(--primary-soft);border-color:var(--primary);color:var(--primary);font-weight:600}.buttons-row.segmented{background:var(--surface-sunken);border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);flex-wrap:nowrap;gap:2px;padding:2px;display:inline-flex}.buttons-row.segmented button{box-shadow:none;color:var(--text-muted);background:0 0;border-color:#0000;min-height:30px;padding:5px 12px}@media (hover:hover) and (pointer:fine){.buttons-row.segmented button:hover{color:var(--text);background:var(--surface-muted)}}.buttons-row.segmented button.active-preset{background:var(--surface-raised);border-color:var(--border);color:var(--text);box-shadow:var(--shadow-sm)}.buttons-row.compact{gap:6px}.buttons-row.compact button{min-height:28px;padding:4px 10px;font-size:.8125rem}.board-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;display:flex}.charset-picker{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.input-mode-bar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.input-mode-label{color:var(--text-muted);font-size:.8125rem;font-weight:500}.instruction-hint{color:var(--text-muted);font-size:.8125rem;line-height:1.9}kbd{min-width:1.6em;font-family:var(--font-mono);text-align:center;color:var(--text-secondary);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);border-bottom-width:2px;padding:0 5px;font-size:.75rem;font-weight:600;line-height:1.55;display:inline-block}input[type=range]{width:100%;accent-color:var(--primary);cursor:pointer}input[type=checkbox]{accent-color:var(--primary)}.focus-dim{transition:opacity .2s var(--ease-out)}:root[data-receiving] .focus-dim:not(:hover):not(:focus-within){opacity:.6;transition:opacity .6s .8s}@media (prefers-contrast:more){:root{--border:#7d838c;--border-muted:#7d838c;--border-strong:#5f6670;--text-faint:var(--text-muted);--text-muted:#474d56;--audio-fill:#bfc4cc}:root[data-theme=dark]{--border:#6b727c;--border-muted:#6b727c;--border-strong:#8c939d;--text-faint:var(--text-muted);--text-muted:#a9b0b9;--audio-fill:#444b56}:root[data-receiving] .focus-dim:not(:hover):not(:focus-within){opacity:1}}@keyframes ddit-rise-in{0%{opacity:0;transform:translateY(8px)}}@keyframes ddit-fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media (width<=900px){.burger-btn{display:inline-flex}.main-wrapper{padding:14px 16px calc(32px + env(safe-area-inset-bottom,0px))}h1{font-size:1.2rem}}@media (width<=520px){.scoreboard{grid-template-columns:repeat(2,1fr);row-gap:10px}.scoreboard>.score-item+.score-item{border-left:none}.buttons-row:not(.segmented) button{text-align:center;flex:auto}.buttons-row.segmented{width:100%;display:flex}.buttons-row.segmented button{flex:auto;min-width:0;padding:5px 4px;font-size:.8125rem}}.sound-dropdown[data-v-dac01639]{display:inline-block;position:relative}.sound-menu[data-v-dac01639]{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);width:280px;max-width:calc(100vw - 32px);box-shadow:var(--shadow-lg);z-index:1000;flex-direction:column;gap:14px;padding:14px 16px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.control-group[data-v-dac01639]{flex-direction:column;gap:6px;display:flex}.control-header[data-v-dac01639]{color:var(--text-muted);justify-content:space-between;align-items:baseline;gap:8px;font-size:.8125rem;display:flex}.control-header .val[data-v-dac01639]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap;font-weight:600}input[type=range][data-v-dac01639]{margin:4px 0}.toggle-label[data-v-dac01639]{cursor:pointer;min-height:28px;color:var(--text-secondary);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:.8125rem;display:inline-flex}@media (hover:hover) and (pointer:fine){.toggle-label[data-v-dac01639]:hover{color:var(--text)}}.toggle-label input[type=checkbox][data-v-dac01639]{cursor:pointer;flex-shrink:0;width:16px;height:16px}@media (width<=520px){.sound-menu[data-v-dac01639]{top:var(--menu-top);width:auto;max-width:none;position:fixed;left:16px;right:16px}}.lang-dropdown-container[data-v-bf9abb44]{display:inline-block;position:relative}.lang-dropdown-trigger[data-v-bf9abb44]{height:36px;color:var(--text-secondary);align-items:center;gap:6px;padding:0 10px;display:inline-flex}@media (hover:hover) and (pointer:fine){.lang-dropdown-trigger[data-v-bf9abb44]:hover{color:var(--text)}}.lang-current-code[data-v-bf9abb44]{font-family:var(--font-mono);color:var(--text);font-size:.8125rem;font-weight:600}.chevron-icon[data-v-bf9abb44]{color:var(--text-muted);transition:transform .2s var(--ease-in-out)}.chevron-icon.open[data-v-bf9abb44]{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.chevron-icon[data-v-bf9abb44]{transition:none}}.lang-dropdown-menu[data-v-bf9abb44]{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overscroll-behavior:contain;z-index:1000;min-width:280px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 80px);padding:6px;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto}.dropdown-group[data-v-bf9abb44]{flex-direction:column;gap:1px;display:flex}.dropdown-group-header[data-v-bf9abb44]{color:var(--text-muted);padding:8px 10px 4px;font-size:.75rem;font-weight:500}.dropdown-item[data-v-bf9abb44]{width:100%;min-height:34px;box-shadow:none;border-radius:var(--radius);color:var(--text);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:6px 10px;font-size:.875rem;font-weight:400;display:flex}@media (hover:hover) and (pointer:fine){.dropdown-item[data-v-bf9abb44]:hover{background:var(--surface-muted)}}.dropdown-item[data-v-bf9abb44]:active:not(:disabled){transform:none}.dropdown-item.active[data-v-bf9abb44]{font-weight:600}.dropdown-more[data-v-bf9abb44]{color:var(--text-secondary)}.dropdown-subgroup[data-v-bf9abb44]{border-left:1px solid var(--border-muted);flex-direction:column;gap:1px;margin-left:12px;padding-left:8px;display:flex}.dropdown-note[data-v-bf9abb44]{color:var(--text-secondary);margin:4px 10px 2px;font-size:.75rem;line-height:1.4}.dropdown-check[data-v-bf9abb44]{color:var(--primary);margin-left:8px}.dropdown-divider[data-v-bf9abb44]{background:var(--border-muted);height:1px;margin:6px 4px}@media (width<=520px){.lang-dropdown-menu[data-v-bf9abb44]{top:var(--menu-top);min-width:0;max-width:none;max-height:calc(100dvh - var(--menu-top) - 16px);position:fixed;left:16px;right:16px}}.header-titles[data-v-4605b740]{min-width:0}.page-faq[data-v-404f1320]{margin-top:40px}.page-faq-title[data-v-404f1320]{letter-spacing:-.01em;color:var(--text);font-size:1.5rem;font-weight:650;line-height:1.25}.page-faq-list[data-v-404f1320]{flex-direction:column;max-width:72ch;margin:16px 0 0;display:flex}.page-faq-item[data-v-404f1320]{border-top:1px solid var(--border)}.page-faq-item[data-v-404f1320]:last-child{border-bottom:1px solid var(--border)}.page-faq-question[data-v-404f1320]{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;font-size:1.0625rem;font-weight:600;line-height:1.4;list-style:none;display:flex}.page-faq-question[data-v-404f1320]::-webkit-details-marker{display:none}.page-faq-question[data-v-404f1320]:focus-visible{border-radius:4px}@media (hover:hover) and (pointer:fine){.page-faq-question[data-v-404f1320]:hover,.page-faq-question:hover .page-faq-chevron[data-v-404f1320]{color:var(--primary)}}.page-faq-chevron[data-v-404f1320]{color:var(--text-secondary);flex-shrink:0;transition:transform .2s}.page-faq-item[open] .page-faq-chevron[data-v-404f1320]{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.page-faq-chevron[data-v-404f1320]{transition:none}}.page-faq-answer[data-v-404f1320]{color:var(--text-secondary);margin:0 0 16px;line-height:1.6}.morse-bars[data-v-a91b663a]{--unit:12px;align-items:center;gap:var(--unit);display:inline-flex}.morse-bar[data-v-a91b663a]{height:var(--unit);border-radius:calc(var(--unit) / 2);background:var(--border-strong)}.morse-bar.dit[data-v-a91b663a]{width:var(--unit)}.morse-bar.dah[data-v-a91b663a]{width:calc(var(--unit) * 3)}.morse-bar.active[data-v-a91b663a]{background:var(--primary)}.start-hero[data-v-9ee43497]{grid-template-columns:minmax(0,3fr) minmax(260px,2fr);align-items:center;gap:40px;padding:24px 0 8px;display:grid}.start-hero-title[data-v-9ee43497]{letter-spacing:-.02em;color:var(--text);text-wrap:balance;font-size:clamp(1.75rem,1.15rem + 1.6vw,2.5rem);font-weight:700;line-height:1.1}.start-hero-title[data-v-9ee43497]:lang(ja){word-break:auto-phrase}.start-hero-text[data-v-9ee43497]{max-width:40ch;color:var(--text-secondary);margin-top:16px;font-size:1.125rem;line-height:1.55}.start-hero-actions[data-v-9ee43497]{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.start-cta[data-v-9ee43497],.start-listen[data-v-9ee43497]{white-space:nowrap;align-items:center;gap:8px;min-height:44px;padding:10px 20px;font-size:1rem;font-weight:600;display:inline-flex}.start-cta[data-v-9ee43497]{border-radius:var(--radius);background:var(--primary);color:var(--on-primary);box-shadow:var(--shadow-sm);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;text-decoration:none;transition:background-color .15s}.start-cta[data-v-9ee43497]:active{background:var(--primary-hover)}@media (hover:hover) and (pointer:fine){.start-cta[data-v-9ee43497]:hover{background:var(--primary-hover)}}.start-hero-visual[data-v-9ee43497]{margin:0}.start-code-card[data-v-9ee43497]{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface-raised);box-shadow:var(--shadow-sm);justify-content:space-around;gap:24px;padding:36px 28px 32px;display:flex}.start-code-char[data-v-9ee43497]{flex-direction:column;align-items:center;gap:18px;display:flex}.start-code-glyph[data-v-9ee43497]{font-family:var(--font-mono);color:var(--text);font-size:4.5rem;font-weight:600;line-height:1}.start-hero-caption[data-v-9ee43497]{text-align:center;color:var(--text-muted);margin-top:12px;font-size:.875rem}.start-section[data-v-9ee43497]{margin-top:40px}.start-section-title[data-v-9ee43497]{letter-spacing:-.01em;color:var(--text);font-size:1.5rem;font-weight:650;line-height:1.25}.start-section-intro[data-v-9ee43497]{max-width:65ch;color:var(--text-secondary);margin-top:8px;line-height:1.55}.start-method[data-v-9ee43497]{grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:16px;margin-top:20px;display:grid}.start-tile[data-v-9ee43497]{border-radius:var(--radius-xl);padding:24px;line-height:1.55}.start-tile h3[data-v-9ee43497]{color:var(--text);margin-bottom:8px;font-size:1.0625rem;font-weight:650}.start-tile p[data-v-9ee43497]{color:var(--text-secondary)}.start-tile-sound[data-v-9ee43497]{background:var(--primary-soft);flex-direction:column;display:flex}.start-farnsworth[data-v-9ee43497]{grid-template-columns:max-content minmax(96px,1fr) max-content;align-items:center;gap:10px 0;max-width:420px;margin-top:auto;padding-top:28px;display:grid}.start-farnsworth-gap[data-v-9ee43497]{border-top:2px dotted var(--border-strong);align-self:center;height:0;margin:0 12px}.start-farnsworth-label[data-v-9ee43497]{max-width:14ch;color:var(--text-muted);grid-area:2/1;font-size:.75rem;line-height:1.35}.start-farnsworth-pause[data-v-9ee43497]{text-align:center;grid-column:2;justify-self:center}.start-tile-koch[data-v-9ee43497]{border:1px solid var(--border);background:var(--surface-raised)}.start-koch-row[data-v-9ee43497]{font-family:var(--font-mono);flex-wrap:wrap;gap:6px;margin-top:16px;padding:0;font-weight:600;list-style:none;display:flex}.start-koch-row li[data-v-9ee43497]{border-radius:var(--radius);min-width:30px;height:30px;color:var(--text-muted);justify-content:center;align-items:center;display:inline-flex}.start-koch-row li.learned[data-v-9ee43497]{border:1px solid var(--primary);background:var(--primary-soft);color:var(--primary)}.start-tile-how[data-v-9ee43497]{background:var(--surface-sunken);grid-column:1/-1}.start-tile-how p[data-v-9ee43497]{max-width:75ch}.start-stats[data-v-9ee43497]{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:20px;display:grid}.start-stat[data-v-9ee43497]{flex-direction:column-reverse;justify-content:flex-end;gap:4px;display:flex}.start-stat dd[data-v-9ee43497]{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--primary);margin:0;font-size:2.5rem;font-weight:650;line-height:1.1}.start-stat dt[data-v-9ee43497]{color:var(--text-secondary);font-size:.9375rem}.start-day[data-v-9ee43497]{justify-content:space-between;margin:32px 0 0;padding:0 4%;list-style:none;display:flex;position:relative}.start-day[data-v-9ee43497]:before{content:"";background:var(--border);border-radius:1px;height:2px;position:absolute;top:7px;left:0;right:0}.start-day li[data-v-9ee43497]{color:var(--text-secondary);flex-direction:column;align-items:center;gap:4px;font-size:.9375rem;display:flex;position:relative}.start-day-session[data-v-9ee43497]{margin-bottom:6px}.start-day-length[data-v-9ee43497]{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.8125rem}.start-day-session[data-v-9ee43497]{background:var(--primary);border-radius:8px;width:44px;height:16px}.start-schedule-best[data-v-9ee43497]{color:var(--text);margin-top:24px;font-weight:600}.start-schedule-why[data-v-9ee43497]{max-width:65ch;color:var(--text-secondary);margin-top:8px;line-height:1.6}.start-sections[data-v-9ee43497]{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;margin-top:16px;padding:0;list-style:none;display:grid}.start-next[data-v-9ee43497]{margin-top:24px}.start-sections a[data-v-9ee43497]{border-radius:var(--radius-lg);color:inherit;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;align-items:flex-start;gap:14px;padding:12px;text-decoration:none;transition:background-color .15s;display:flex}.start-sections a[data-v-9ee43497]:active{background:var(--surface-muted)}@media (hover:hover) and (pointer:fine){.start-sections a[data-v-9ee43497]:hover{background:var(--surface-muted)}}.start-section-icon[data-v-9ee43497]{border-radius:var(--radius-lg);background:var(--primary-soft);width:40px;height:40px;color:var(--primary);flex:none;justify-content:center;align-items:center;display:inline-flex}.start-section-text[data-v-9ee43497]{flex-direction:column;gap:2px;display:flex}.start-section-name[data-v-9ee43497]{color:var(--text);font-weight:600}.start-section-desc[data-v-9ee43497]{color:var(--text-secondary);font-size:.875rem}@media (width<=767px){.start-hero[data-v-9ee43497]{grid-template-columns:minmax(0,1fr);gap:28px;padding-top:8px}.start-method[data-v-9ee43497],.start-sections[data-v-9ee43497]{grid-template-columns:minmax(0,1fr)}.start-stats[data-v-9ee43497]{grid-template-columns:minmax(0,1fr);gap:14px}.start-stat dd[data-v-9ee43497]{font-size:2rem}.start-code-glyph[data-v-9ee43497]{font-size:3.5rem}}button[data-v-30c06efc]{justify-content:center;align-items:center;gap:8px;min-width:9.5em;display:inline-flex}.groups-grid[data-v-0e0578be]{background:var(--surface-sunken);border:1px solid var(--border);border-radius:var(--radius-lg);grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:14px 20px;padding:18px;display:grid}.groups-grid.bounded[data-v-0e0578be]{overscroll-behavior:contain;scrollbar-width:thin;align-content:start;overflow-y:auto}.groups-grid.error-flash[data-v-0e0578be]{animation:grid-error-flash-0e0578be .3s var(--ease-out)}@keyframes grid-error-flash-0e0578be{0%{background-color:var(--danger-soft);border-color:var(--danger-text)}}.group-card[data-v-0e0578be]{flex-direction:column;display:flex}.preamble[data-v-0e0578be]{border:1px dashed var(--border);border-radius:var(--radius);height:2.75rem;color:var(--text-muted);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:flex}.preamble-chars[data-v-0e0578be]{font-family:var(--font-mono);white-space:pre;font-size:1.1rem;font-weight:600;display:flex}.preamble-char[data-v-0e0578be]{border-radius:4px;padding:2px 3px}.preamble-char.sounding[data-v-0e0578be]{background:var(--audio-fill);color:var(--text-secondary)}.group-card.placeholder[data-v-0e0578be]{pointer-events:none}.group-card.group-completed[data-v-0e0578be]{opacity:.8}.group-slots[data-v-0e0578be]{gap:4px;display:flex}.slot[data-v-0e0578be]{background:var(--surface-raised);border:1px solid var(--border-muted);border-radius:var(--radius);min-width:0;height:2.75rem;font-family:var(--font-mono);color:var(--text-faint);-webkit-user-select:none;user-select:none;flex:1;justify-content:center;align-items:center;font-size:1.3rem;font-weight:600;line-height:1;display:flex;position:relative}.slot.hidden[data-v-0e0578be]{font-weight:500}.slot.hidden.reveal-target[data-v-0e0578be]{color:var(--text-muted)}.slot.correct[data-v-0e0578be]{background:var(--success-soft);color:var(--success);border-color:#0000}.slot.error[data-v-0e0578be]{background:var(--danger-soft);border-color:var(--danger-text);color:var(--danger-text)}.slot.waiting[data-v-0e0578be]{background:var(--success-soft);border:1px dashed var(--success);color:var(--success)}.waiting-spark[data-v-0e0578be]{animation:2.4s linear infinite spark-turn-0e0578be}.waiting-spark[data-v-0e0578be] path{transform-box:fill-box;transform-origin:50%}.waiting-spark[data-v-0e0578be] path:nth-child(2),.waiting-spark[data-v-0e0578be] path:nth-child(3){animation:1.2s ease-in-out infinite spark-plus-0e0578be}.waiting-spark[data-v-0e0578be] path:nth-child(4),.waiting-spark[data-v-0e0578be] path:nth-child(5){animation:1.2s ease-in-out infinite spark-cross-0e0578be}@keyframes spark-turn-0e0578be{to{transform:rotate(180deg)}}@keyframes spark-plus-0e0578be{0%,to{transform:scale(0)}30%,75%{transform:scale(1)}}@keyframes spark-cross-0e0578be{0%,30%,to{transform:scale(0)}55%,75%{transform:scale(.8)}}@media (prefers-reduced-motion:reduce){.waiting-spark[data-v-0e0578be],.waiting-spark[data-v-0e0578be] path{animation:none}.waiting-spark[data-v-0e0578be] path:nth-child(4),.waiting-spark[data-v-0e0578be] path:nth-child(5){transform:scale(.8)}}.slot.entered[data-v-0e0578be]{border-color:var(--border);color:var(--text)}.slot.skipped[data-v-0e0578be]{background:var(--warning-soft);border:1px dashed var(--warning);color:var(--warning)}.slot.pending-romaji[data-v-0e0578be]{color:var(--primary);font-size:1.05rem}.groups-grid.wide[data-v-0e0578be]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.groups-grid.wide .group-slots[data-v-0e0578be]{gap:8px}.groups-grid.wide .slot[data-v-0e0578be]{font-size:1.125rem}.slot.is-joined[data-v-0e0578be]{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-line:overline;text-decoration-thickness:max(1px,.07em)}.slot.user-target[data-v-0e0578be]{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary);z-index:2}.slot.hidden.user-target[data-v-0e0578be]{background:var(--primary-soft);color:var(--primary)}.slot.hidden.audio-playing[data-v-0e0578be]{background:var(--audio-fill);color:var(--text-secondary)}.slot.hidden.audio-playing.user-target[data-v-0e0578be]{color:var(--primary)}.touch-key-pad[data-v-6b835aa5]{background:var(--surface-sunken);border-radius:var(--radius-lg);-webkit-user-select:none;user-select:none;flex-direction:column;gap:6px;padding:8px 6px;display:flex}.touch-row[data-v-6b835aa5]{justify-content:center;gap:4px;display:flex}.touch-key[data-v-6b835aa5]{background:var(--surface-raised);min-width:0;max-width:48px;height:40px;min-height:0;color:var(--text);border:1px solid var(--border);border-radius:var(--radius);box-shadow:none;cursor:pointer;touch-action:manipulation;flex:1;justify-content:center;align-items:center;padding:0;font-size:1rem;font-weight:600;display:inline-flex}@media (hover:hover) and (pointer:fine){.touch-key[data-v-6b835aa5]:hover:not(:disabled){background:var(--surface-muted);border-color:var(--border-strong)}}.touch-key[data-v-6b835aa5]:active:not(:disabled){background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.touch-key.is-empty[data-v-6b835aa5]{visibility:hidden;pointer-events:none}.touch-key.is-accent[data-v-6b835aa5]{color:var(--primary);font-weight:700}.touch-key.is-locked[data-v-6b835aa5]{border-color:var(--border-muted);color:var(--text-faint);cursor:default;background:0 0;font-weight:500}.action-key[data-v-6b835aa5]{max-width:none;color:var(--text-secondary);flex:0 0 48px}.space-key[data-v-6b835aa5]{color:var(--text);flex:auto;font-size:.875rem}.learned-alphabet[data-v-d88ddd58]{color:var(--text-muted);align-items:center;gap:6px;font-size:.8125rem;display:inline-flex}.learned-alphabet[data-v-d88ddd58] svg{flex-shrink:0}.wabun-input-hint[data-v-111f59fb]{background:var(--surface-sunken);border-radius:var(--radius-lg);align-items:flex-start;gap:12px;padding:10px 10px 10px 14px;display:flex}.hint-content[data-v-111f59fb]{flex:1;min-width:0}.hint-title[data-v-111f59fb]{color:var(--text);margin-bottom:4px;font-size:.875rem;font-weight:600}.hint-text[data-v-111f59fb]{color:var(--text-muted);margin-bottom:8px;font-size:.8125rem;line-height:1.5}.hint-keys[data-v-111f59fb]{color:var(--text);flex-wrap:wrap;gap:6px 18px;font-size:.85rem;list-style:none;display:flex}.hint-keys li[data-v-111f59fb]{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.hint-key-group[data-v-111f59fb]{align-items:center;gap:3px;display:inline-flex}.hint-keys kbd[data-v-111f59fb]{color:var(--text)}.hint-or[data-v-111f59fb],.hint-arrow[data-v-111f59fb]{color:var(--text-muted)}.hint-sign[data-v-111f59fb]{font-size:1rem;font-weight:600}.hint-note[data-v-111f59fb]{color:var(--text-muted);flex-basis:100%;font-size:.78rem}.hint-close[data-v-111f59fb]{width:28px;height:28px;min-height:0;box-shadow:none;color:var(--text-muted);background:0 0;border-color:#0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}@media (hover:hover) and (pointer:fine){.hint-close[data-v-111f59fb]:hover{color:var(--text);background:var(--surface-muted);border-color:#0000}}.key-hints[data-v-5dc7a961]{color:var(--text-muted);flex-wrap:wrap;gap:6px 16px;font-size:.8125rem;list-style:none;display:flex}.key-hints li[data-v-5dc7a961]{align-items:center;gap:6px;display:inline-flex}.key-hint-keys[data-v-5dc7a961]{gap:3px;display:inline-flex}.char-intro-paused[data-v-c064e5e8]{color:var(--text-secondary);text-align:center;margin:0;font-size:.875rem}.char-intro-backdrop[data-v-c064e5e8]{background:var(--overlay);padding:var(--modal-padding);z-index:1000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.char-intro-card[data-v-c064e5e8]{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:420px;box-shadow:var(--shadow-lg);animation:ddit-rise-in .2s var(--ease-out);flex-direction:column;display:flex;overflow:hidden}.char-intro-header[data-v-c064e5e8]{justify-content:space-between;align-items:center;padding:16px 20px 0;display:flex}.char-intro-badge[data-v-c064e5e8]{color:var(--text-secondary);font-size:.9375rem;font-weight:600}.char-intro-action[data-v-c064e5e8]{min-height:44px;padding:0 16px}.char-intro-hint[data-v-c064e5e8]{font-family:var(--font-mono);color:var(--text-muted);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);border-bottom-width:2px;padding:1px 7px;font-size:.75rem;font-weight:600}.char-intro-body[data-v-c064e5e8]{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:24px 24px 32px;display:flex}.char-intro-center[data-v-c064e5e8]{justify-content:center;align-items:center;min-height:140px;display:flex}.char-intro-letter[data-v-c064e5e8]{font-size:7rem;font-weight:600;font-family:var(--font-mono);color:var(--primary);-webkit-user-select:none;user-select:none;line-height:1}.char-intro-letter.is-long[data-v-c064e5e8]{font-size:4.5rem}.char-intro-letter.is-joined[data-v-c064e5e8]{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-line:overline;text-decoration-thickness:.06em}.char-intro-letter.char-bump[data-v-c064e5e8]{animation:char-bump-c064e5e8 .18s var(--ease-out)}@keyframes char-bump-c064e5e8{35%{transform:scale(1.06)}}.char-intro-countdown[data-v-c064e5e8]{font-size:7rem;font-weight:600;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text);-webkit-user-select:none;user-select:none;animation:countdown-in-c064e5e8 .2s var(--ease-out);line-height:1}@keyframes countdown-in-c064e5e8{0%{opacity:0;transform:scale(.95)}}.char-intro-meta[data-v-c064e5e8]{flex-direction:column;align-items:center;gap:12px;margin-top:12px;display:flex}.char-intro-morse[data-v-c064e5e8]{font-size:1.75rem;font-family:var(--font-mono);letter-spacing:6px;color:var(--text);background:var(--surface-sunken);border-radius:var(--radius);padding:4px 18px;font-weight:600}.char-intro-progress[data-v-c064e5e8]{flex-direction:column;align-items:center;gap:8px;display:flex}.char-intro-progress-text[data-v-c064e5e8]{color:var(--text-muted);font-size:.85rem}.char-intro-dots[data-v-c064e5e8]{gap:6px;display:flex}.intro-dot[data-v-c064e5e8]{background:var(--surface-muted);border:1px solid var(--border-strong);border-radius:50%;width:8px;height:8px;transition:background-color .2s,border-color .2s}.intro-dot.active[data-v-c064e5e8]{background:var(--primary);border-color:var(--primary)}@media (prefers-reduced-motion:reduce){.char-intro-card[data-v-c064e5e8]{animation-name:ddit-fade-in}.char-intro-letter.char-bump[data-v-c064e5e8]{animation:none}.char-intro-countdown[data-v-c064e5e8]{animation-name:ddit-fade-in}}.level-text[data-v-f780ea0b]{color:var(--text-secondary);margin:0;font-size:.875rem;line-height:1.55}.level-pills[data-v-f780ea0b]{flex-wrap:wrap;gap:6px;display:flex}.level-pill[data-v-f780ea0b]{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:40px;height:40px;min-height:0;box-shadow:none;font-family:var(--font-mono);color:var(--text);cursor:pointer;justify-content:center;align-items:center;padding:0 8px;font-size:1rem;font-weight:600;line-height:1;display:inline-flex}.level-pill.is-joined[data-v-f780ea0b]{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-line:overline}.level-pill[data-v-f780ea0b]:focus-visible{box-shadow:var(--focus-ring);outline:none}.level-pill.is-locked[data-v-f780ea0b]{border-color:var(--border-muted);color:var(--text-muted);background:0 0;font-weight:500}.level-pill[data-v-f780ea0b]:not(.is-locked){background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}@media (hover:hover) and (pointer:fine){.level-pill.is-locked[data-v-f780ea0b]:hover{border-color:var(--border-strong)}}.level-pill[data-v-f780ea0b]:active{border-color:var(--primary)}.level-summary[data-v-f780ea0b]{color:var(--text);font-variant-numeric:tabular-nums;margin:0;font-size:.875rem;font-weight:600}.touch-typing-banner[data-v-dab5445f]{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);align-items:flex-start;gap:12px;padding:12px 12px 12px 16px;display:flex}.banner-icon[data-v-dab5445f]{color:var(--primary);margin-top:1px}.banner-content[data-v-dab5445f]{flex:1;min-width:0}.banner-title[data-v-dab5445f]{color:var(--text);margin-bottom:4px;font-size:.9375rem;font-weight:600}.banner-text[data-v-dab5445f]{color:var(--text-muted);max-width:75ch;font-size:.875rem;line-height:1.5}.banner-close[data-v-dab5445f]{width:28px;height:28px;min-height:0;box-shadow:none;color:var(--text-muted);background:0 0;border-color:#0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}@media (hover:hover) and (pointer:fine){.banner-close[data-v-dab5445f]:hover{color:var(--text);background:var(--surface-muted);border-color:#0000}}.scoreboard-learning[data-v-05d8f47b]{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-lg);grid-template-columns:150px 1fr 120px;align-items:center;gap:16px;padding:12px 18px;display:grid}.score-value.val-normal[data-v-05d8f47b],.session-timer.is-low[data-v-05d8f47b]{color:var(--warning)}.symbols-item[data-v-05d8f47b]{text-align:left;border-left:1px solid var(--border-muted);border-right:1px solid var(--border-muted);align-items:flex-start;padding:0 16px}.level-row[data-v-05d8f47b]{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:4px;display:flex}.level-alphabet[data-v-05d8f47b]{margin-top:6px}.level-count[data-v-05d8f47b]{color:var(--text);font-variant-numeric:tabular-nums;font-size:1.125rem;font-weight:650}.level-change[data-v-05d8f47b]{align-items:center;gap:6px;min-height:36px;padding:0 12px;font-size:.875rem;display:inline-flex}@media (width<=600px){.scoreboard-learning[data-v-05d8f47b]{grid-template-columns:1fr 1fr}.symbols-item[data-v-05d8f47b]{border:none;border-top:1px solid var(--border-muted);grid-area:2/1/auto/-1;padding:10px 0 0}}.session-rules[data-v-cd5807f1]{color:var(--text);flex-direction:column;gap:12px;font-size:.9375rem;line-height:1.45;list-style:none;display:flex}.session-rules li[data-v-cd5807f1]{align-items:flex-start;gap:10px;display:flex}.session-rules li[data-v-cd5807f1] .app-icon{color:var(--text-muted);margin-top:1px}.saved-progress[data-v-cd5807f1]{background:var(--surface-sunken);border-radius:var(--radius-lg);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.saved-progress-label[data-v-cd5807f1]{color:var(--text);font-size:.9rem;font-weight:600}.saved-progress-pills[data-v-cd5807f1]{flex-wrap:wrap;gap:6px;display:flex}.saved-pill[data-v-cd5807f1]{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:26px;height:26px;font-family:var(--font-mono);color:var(--text);justify-content:center;align-items:center;padding:0 6px;font-weight:600;display:inline-flex}.saved-pill.is-newest[data-v-cd5807f1]{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.restart-note[data-v-cd5807f1]{color:var(--text-muted);font-size:.8rem}.summary-stats[data-v-cd5cc8f7]{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.summary-stat[data-v-cd5cc8f7]{background:var(--surface-sunken);border-radius:var(--radius-lg);text-align:center;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;display:flex}.summary-stat-label[data-v-cd5cc8f7]{color:var(--text-muted);font-size:.75rem}.summary-stat-value[data-v-cd5cc8f7]{font-size:1.375rem;font-weight:600;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text)}.val-correct[data-v-cd5cc8f7]{color:var(--success)}.val-warning[data-v-cd5cc8f7]{color:var(--warning)}.val-error[data-v-cd5cc8f7]{color:var(--danger-text)}.val-primary[data-v-cd5cc8f7]{color:var(--primary)}.summary-section[data-v-cd5cc8f7]{flex-direction:column;gap:8px;display:flex}.summary-section-title[data-v-cd5cc8f7]{color:var(--text);font-size:.875rem;font-weight:600}.summary-section-title small[data-v-cd5cc8f7]{color:var(--text-muted);margin-left:4px;font-weight:400}.summary-chars[data-v-cd5cc8f7]{flex-wrap:wrap;gap:6px;display:flex}.summary-char[data-v-cd5cc8f7]{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-raised);font-family:var(--font-mono);color:var(--text);align-items:baseline;gap:4px;padding:4px 8px;font-size:1rem;font-weight:600;display:inline-flex}.summary-char small[data-v-cd5cc8f7]{font-size:.75rem;font-weight:600}.summary-char.is-problem[data-v-cd5cc8f7]{background:var(--danger-soft);border-color:var(--danger-text);color:var(--danger-text)}.summary-char.is-strong[data-v-cd5cc8f7]{background:var(--success-soft);color:var(--success);border-color:#0000}.summary-char.is-new[data-v-cd5cc8f7]{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.summary-empty[data-v-cd5cc8f7]{color:var(--text-muted);font-size:.85rem}.rest-message[data-v-cd5cc8f7]{color:var(--text);background:var(--surface-sunken);border-left:3px solid var(--warning);border-radius:var(--radius);padding:12px 14px;font-size:.95rem;line-height:1.45}@media (width<=480px){.summary-stats[data-v-cd5cc8f7]{grid-template-columns:1fr}}.rest-text[data-v-be826bde]{color:var(--text-secondary);flex-direction:column;gap:10px;font-size:.875rem;line-height:1.55;display:flex}.rest-text p[data-v-be826bde]{margin:0}.rest-text p[data-v-be826bde]:last-child{color:var(--text);font-weight:500}.deck[data-v-4f272d0f]{grid-template-columns:auto 1fr;align-items:center;gap:16px 32px;display:grid}.lesson-notification[data-v-4f272d0f]{top:calc(16px + env(safe-area-inset-top,0px));z-index:900;border-radius:var(--radius-lg);text-align:center;background:var(--surface-raised);border:1px solid var(--border);max-width:calc(100vw - 32px);box-shadow:var(--shadow-lg);color:var(--text);pointer-events:none;animation:notice-in-4f272d0f .2s var(--ease-out);padding:9px 16px;font-size:.9375rem;font-weight:600;position:fixed;left:50%;transform:translate(-50%)}.lesson-notification.success[data-v-4f272d0f]{border-color:var(--success);color:var(--success)}.lesson-notification.neutral[data-v-4f272d0f]{color:var(--text-secondary)}@keyframes notice-in-4f272d0f{0%{opacity:0;transform:translate(-50%,-4px)}}@media (prefers-reduced-motion:reduce){.lesson-notification[data-v-4f272d0f]{animation-name:ddit-fade-in}}.compact-timer[data-v-4f272d0f]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-secondary);margin-left:auto;font-weight:600}.instruction-hint[data-v-4f272d0f]{flex-wrap:wrap;align-items:center;gap:4px;display:flex}@media (width<=720px){.deck[data-v-4f272d0f]{grid-template-columns:1fr}}.latin-only-notice[data-v-ebc03874]{border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:var(--radius-lg);background:var(--primary-soft);align-items:center;gap:10px;padding:10px 14px;display:flex}.latin-only-icon[data-v-ebc03874]{color:var(--primary);flex:none}.latin-only-text[data-v-ebc03874]{color:var(--text);flex:1;margin:0;font-size:.9375rem;font-weight:500;line-height:1.5}.latin-only-course[data-v-ebc03874]{border:1px solid var(--primary);border-radius:var(--radius);color:var(--primary);white-space:nowrap;flex:none;padding:6px 12px;font-size:.9375rem;font-weight:600;text-decoration:none}.latin-only-course[data-v-ebc03874]:active{background:var(--card-bg)}@media (hover:hover) and (pointer:fine){.latin-only-course[data-v-ebc03874]:hover{background:var(--card-bg)}}@media (width<=600px){.latin-only-notice[data-v-ebc03874]{flex-wrap:wrap}.latin-only-text[data-v-ebc03874]{flex-basis:calc(100% - 30px)}.latin-only-course[data-v-ebc03874]{white-space:normal;margin-left:30px}}.interrupt-notice[data-v-af0f867c]{border:1px solid var(--border);border-left:4px solid var(--warning);border-radius:var(--radius-lg);background:var(--warning-soft);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 14px;display:flex}.interrupt-icon[data-v-af0f867c]{color:var(--warning);flex:none}.interrupt-text[data-v-af0f867c]{color:var(--text);flex:16em;font-size:.9375rem;line-height:1.5}.controls-panel[data-v-4e8c1fc3]{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));align-items:end;gap:12px 24px;display:grid}.control-group[data-v-4e8c1fc3]{flex-direction:column;gap:6px;display:flex}.control-header[data-v-4e8c1fc3]{color:var(--text-muted);justify-content:space-between;align-items:baseline;gap:8px;font-size:.8125rem;display:flex}.control-header span.val[data-v-4e8c1fc3]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap;font-size:.8125rem;font-weight:600}input[type=range][data-v-4e8c1fc3]{margin:4px 0}@media (width<=520px){.controls-panel[data-v-4e8c1fc3]{grid-template-columns:1fr}}.sprint-answer[data-v-05f07fd6]{font-family:var(--font-mono);color:var(--text);white-space:nowrap;font-weight:600}.is-wrong[data-v-05f07fd6],.is-extra[data-v-05f07fd6],.is-missing[data-v-05f07fd6]{color:var(--danger-text);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:2px}.is-missing[data-v-05f07fd6]{text-decoration:none}.answer-empty[data-v-05f07fd6]{font-family:var(--font-sans);color:var(--danger-text);font-style:italic;font-weight:400}rt[data-v-62a7552a]{color:var(--text-muted);font-size:.6em;font-weight:400}.is-joined[data-v-4af9fd43]{-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration-line:overline;text-decoration-thickness:max(1px,.07em)}.start-intro[data-v-c0bc12dc]{color:var(--text-secondary);margin:0;font-size:.9375rem;line-height:1.55}.start-table[data-v-c0bc12dc]{border-collapse:collapse;width:100%;font-size:.9375rem;line-height:1.6}.start-table th[data-v-c0bc12dc],.start-table td[data-v-c0bc12dc]{text-align:start;vertical-align:baseline;border-bottom:1px solid var(--border-muted);padding:6px 8px}.start-table thead th[data-v-c0bc12dc]{color:var(--text-muted);border-bottom-color:var(--border);font-size:.8125rem;font-weight:600}.start-table td[data-v-c0bc12dc]{color:var(--text)}.start-table .start-play-cell[data-v-c0bc12dc]{vertical-align:top;width:1px;padding-block:3px;padding-inline-end:0}.start-play[data-v-c0bc12dc]{width:36px;height:36px;color:var(--primary);border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.start-code[data-v-c0bc12dc]{width:4.5em;font-family:var(--font-mono);color:var(--text);white-space:nowrap;font-weight:600}.learned-text[data-v-2fa6224e]{color:var(--text-secondary);flex-direction:column;gap:10px;font-size:.9375rem;line-height:1.55;display:flex}.learned-text p[data-v-2fa6224e]{margin:0}.learned-text p[data-v-2fa6224e]:last-child{color:var(--text);font-weight:500}.sound-transport[data-v-c0c16686]{flex-flow:wrap;align-items:center;gap:12px}.sound-skip[data-v-c0c16686]{align-items:center;gap:4px;margin-left:auto;display:inline-flex}.sound-score[data-v-c0c16686]{flex-wrap:wrap;align-items:center;gap:8px 24px;margin-bottom:12px;display:flex}.sound-score-item[data-v-c0c16686]{align-items:center;gap:8px;display:flex}.sound-score-value[data-v-c0c16686]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text);font-weight:600}.level-change[data-v-c0c16686]{align-items:center;gap:6px;min-height:36px;padding:0 12px;font-size:.875rem;display:inline-flex}.sound-signs[data-v-c0c16686]{flex-wrap:wrap;gap:4px;display:flex}.sound-rules[data-v-c0c16686]{color:var(--text-secondary);margin:12px 0 0;font-size:.9375rem;line-height:1.55}.sound-done-text[data-v-c0c16686]{color:var(--text-secondary);margin:0;line-height:1.55}.sound-notice[data-v-c0c16686]{top:calc(16px + env(safe-area-inset-top,0px));z-index:900;border-radius:var(--radius-lg);text-align:center;background:var(--surface-raised);border:1px solid var(--border);max-width:calc(100vw - 32px);box-shadow:var(--shadow-lg);color:var(--text-secondary);pointer-events:none;padding:9px 16px;font-size:.9375rem;font-weight:600;position:fixed;left:50%;transform:translate(-50%)}.sound-notice.success[data-v-c0c16686]{border-color:var(--success);color:var(--success)}.deck[data-v-45ccb089]{grid-template-columns:auto 1fr;align-items:center;gap:16px 32px;display:grid}.learn-sounds[data-v-45ccb089]{align-items:center;gap:6px;display:inline-flex}.qcode-toggle[data-v-45ccb089]{justify-content:center;align-items:center;gap:8px;min-width:9.5em;display:inline-flex}.qcode-speed[data-v-45ccb089]{flex-direction:column;gap:6px;display:flex}.qcode-speed-header[data-v-45ccb089]{color:var(--text-muted);justify-content:space-between;align-items:baseline;gap:8px;font-size:.8125rem;display:flex}.qcode-speed-header .val[data-v-45ccb089]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap;font-weight:600}.qcode-speed input[type=range][data-v-45ccb089]{margin:4px 0}.qcode-entry[data-v-45ccb089]{align-items:stretch;gap:8px;display:flex}.qcode-cells[data-v-45ccb089]{flex:1;min-width:0}.qcode-repeat[data-v-45ccb089]{align-items:center;gap:6px;height:auto;display:inline-flex}.qcode-card[data-v-45ccb089]{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-sunken);border-left-width:4px;flex-direction:column;gap:8px;min-height:8.5rem;padding:14px 16px;display:flex}.qcode-card.is-answering[data-v-45ccb089]{min-height:0}.qcode-card.is-correct[data-v-45ccb089]{border-left-color:var(--success)}.qcode-card.is-wrong[data-v-45ccb089]{border-left-color:var(--danger-text)}.qcode-card-line[data-v-45ccb089]{flex-wrap:wrap;align-items:baseline;gap:4px 14px;display:flex}.qcode-card-label[data-v-45ccb089]{color:var(--text-muted);font-size:.8125rem}.qcode-card-line .qcode-card-label[data-v-45ccb089]{min-width:6.5em}.qcode-code[data-v-45ccb089]{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text);font-size:1.75rem;font-weight:700}.qcode-card-line.is-typed .qcode-code[data-v-45ccb089]{font-size:1.375rem}.qcode-card-meaning[data-v-45ccb089]{color:var(--text);font-size:1.0625rem;line-height:1.7}.qcode-card-next[data-v-45ccb089]{margin-top:4px;display:flex}.qcode-card-wait[data-v-45ccb089]{color:var(--text-muted);font-size:.8125rem}.dock-answers[data-v-45ccb089]{flex-direction:column;gap:12px;display:flex}.dock-answers[data-v-45ccb089]:empty{display:none}.dock-answers .qcode-choices[data-v-45ccb089]{grid-template-columns:1fr}.dock-answers .qcode-choice[data-v-45ccb089]{min-height:48px}.dock-answers .qcode-card-next[data-v-45ccb089]{border-top:1px solid var(--border-muted);margin-top:0;padding-top:12px}.dock-answers .qcode-choices+.qcode-card-next[data-v-45ccb089]{margin-top:0}.dock-answers .qcode-card-next button[data-v-45ccb089]{width:100%;min-height:50px;font-size:1rem}.dock-answers .qcode-card-next[data-v-45ccb089]:only-child{border-top:none;padding-top:0}.qcode-choices[data-v-45ccb089]{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.qcode-choice[data-v-45ccb089]{text-align:start;width:100%;height:100%;min-height:56px;color:var(--text);background:var(--surface-raised);border:1px solid var(--border-strong);border-radius:var(--radius);align-items:center;gap:12px;padding:8px 12px;font-size:.9375rem;font-weight:400;line-height:1.5;display:flex}.qcode-choice[aria-disabled=true][data-v-45ccb089]{cursor:default}.qcode-choice-key[data-v-45ccb089]{width:1.75em;height:1.75em;font-family:var(--font-mono);color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);border-bottom-width:2px;flex:none;justify-content:center;align-items:center;font-size:.8125rem;font-weight:600;display:inline-flex}.qcode-choice-text[data-v-45ccb089]{flex:1}.qcode-choice-mark[data-v-45ccb089]{flex:none}.qcode-choice.is-correct[data-v-45ccb089]{border-color:var(--success);background:var(--success-soft)}.qcode-choice.is-correct .qcode-choice-mark[data-v-45ccb089]{color:var(--success)}.qcode-choice.is-wrong[data-v-45ccb089]{border-color:var(--danger-text);background:var(--danger-soft)}.qcode-choice.is-wrong .qcode-choice-mark[data-v-45ccb089]{color:var(--danger-text)}.qcode-streak[data-v-45ccb089]{flex-direction:column;gap:6px;display:flex}.qcode-streak-head[data-v-45ccb089]{justify-content:space-between;align-items:baseline;display:flex}.qcode-streak-count[data-v-45ccb089]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text);font-weight:600}.qcode-streak-cells[data-v-45ccb089]{grid-auto-columns:1fr;grid-auto-flow:column;gap:3px;margin:0;padding:0;list-style:none;display:grid}.qcode-streak-cells li[data-v-45ccb089]{background:var(--surface-sunken);border:1px solid var(--border);border-radius:2px;height:10px}.qcode-streak-cells li.filled[data-v-45ccb089]{background:var(--primary);border-color:var(--primary)}.qcode-rules[data-v-45ccb089]{color:var(--text-secondary);font-size:.875rem;line-height:1.5}.qcode-list[data-v-45ccb089]{color:var(--text-secondary);gap:6px;margin:0;padding:0;font-size:.9375rem;line-height:1.6;list-style:none;display:grid}.qcode-list li[data-v-45ccb089]{grid-template-columns:4.5em 1fr;gap:12px;display:grid}.qcode-code-sm[data-v-45ccb089]{font-family:var(--font-mono);color:var(--text);font-weight:600}.qcode-reference summary[data-v-45ccb089]{cursor:pointer;color:var(--primary);align-items:center;min-height:32px;font-size:.875rem;font-weight:600;display:flex}.qcode-reference .qcode-list[data-v-45ccb089]{margin-top:8px}@media (width<=720px){.deck[data-v-45ccb089]{grid-template-columns:1fr}}@media (width<=520px){.qcode-repeat span[data-v-45ccb089]{display:none}.qcode-code[data-v-45ccb089]{font-size:1.375rem}.qcode-choices[data-v-45ccb089]{grid-template-columns:1fr}.qcode-choice[data-v-45ccb089]{min-height:48px}}@media (pointer:coarse){.qcode-reference summary[data-v-45ccb089]{min-height:44px}}.legend[data-v-84beade6]{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:8px 18px;font-size:.8125rem;display:flex}.legend-item[data-v-84beade6]{align-items:center;gap:7px;display:flex}.legend-box[data-v-84beade6]{border-radius:var(--radius-sm);width:20px;height:20px;font-size:.75rem;font-weight:600;font-family:var(--font-mono);background:var(--surface-raised);border:1px solid var(--border-muted);color:var(--text-faint);justify-content:center;align-items:center;display:inline-flex}.box-cursor[data-v-84beade6]{border-color:var(--primary);box-shadow:0 0 0 1px var(--primary);background:var(--primary-soft);color:var(--primary)}.box-audio[data-v-84beade6]{background:var(--audio-fill);color:var(--text-secondary)}.box-correct[data-v-84beade6]{background:var(--success-soft);color:var(--success);border-color:#0000}.box-error[data-v-84beade6]{background:var(--danger-soft);border-color:var(--danger-text);color:var(--danger-text)}.box-skipped[data-v-84beade6]{background:var(--warning-soft);border:1px dashed var(--warning);color:var(--warning)}.modal-backdrop[data-v-fc31239f]{background:var(--overlay);padding:var(--modal-padding);z-index:1000;animation:ddit-fade-in .2s var(--ease-out);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-card[data-v-fc31239f]{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:560px;max-height:calc(100dvh - 32px);box-shadow:var(--shadow-lg);animation:ddit-rise-in .2s var(--ease-out);flex-direction:column;display:flex;overflow:hidden}@media (prefers-reduced-motion:reduce){.modal-card[data-v-fc31239f]{animation-name:ddit-fade-in}}.modal-header[data-v-fc31239f]{border-bottom:1px solid var(--border-muted);justify-content:space-between;align-items:center;padding:14px 16px 14px 20px;display:flex}.modal-header h2[data-v-fc31239f]{letter-spacing:-.01em;color:var(--text);font-size:1.0625rem;font-weight:650}.modal-close-icon[data-v-fc31239f]{box-shadow:none;color:var(--text-muted);background:0 0;border-color:#0000;width:36px;padding:0;font-size:1.5rem;line-height:1}@media (hover:hover) and (pointer:fine){.modal-close-icon[data-v-fc31239f]:hover{color:var(--text);background:var(--surface-muted)}}.modal-body[data-v-fc31239f]{flex-direction:column;gap:18px;padding:20px;display:flex;overflow-y:auto}.modal-stats-grid[data-v-fc31239f]{background:var(--surface-sunken);border-radius:var(--radius-lg);grid-template-columns:repeat(auto-fit,minmax(95px,1fr));gap:10px;padding:12px 8px;display:grid}.modal-stat-item[data-v-fc31239f]{text-align:center;flex-direction:column;align-items:center;display:flex}.modal-stat-item .m-label[data-v-fc31239f]{color:var(--text-muted);margin-bottom:2px;font-size:.75rem}.modal-stat-item .m-val[data-v-fc31239f]{font-size:1.25rem;font-weight:600;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.m-val.val-success[data-v-fc31239f]{color:var(--success)}.m-val.val-danger[data-v-fc31239f]{color:var(--danger-text)}.m-val.val-warning[data-v-fc31239f]{color:var(--warning)}.m-val.val-primary[data-v-fc31239f]{color:var(--primary)}.problem-correct[data-v-fc31239f]{font-weight:600}.problem-attempts[data-v-fc31239f]{color:var(--text-muted);font-size:.8rem}.problem-section[data-v-fc31239f]{flex-direction:column;gap:10px;display:flex}.problem-title[data-v-fc31239f]{color:var(--text);flex-direction:column;gap:2px;font-size:.95rem;font-weight:600;display:flex}.problem-subtitle[data-v-fc31239f]{color:var(--text-muted);font-size:.78rem;font-weight:400}.problem-list[data-v-fc31239f]{flex-direction:column;gap:8px;display:flex}.problem-item[data-v-fc31239f]{background:var(--surface-raised);border:1px solid var(--border-muted);border-radius:var(--radius-lg);align-items:center;gap:14px;padding:10px 14px;display:flex}.problem-char-badge[data-v-fc31239f]{background:var(--danger-soft);border-radius:var(--radius);flex-direction:column;justify-content:center;align-items:center;min-width:44px;height:44px;display:flex}.problem-char-badge .p-char[data-v-fc31239f]{font-size:1.2rem;font-family:var(--font-mono);color:var(--danger-text);font-weight:600;line-height:1.1}.problem-char-badge .p-morse[data-v-fc31239f]{font-size:.6875rem;font-family:var(--font-mono);letter-spacing:1px;color:var(--text-muted)}.problem-info[data-v-fc31239f]{flex-direction:column;flex:1;gap:5px;display:flex}.problem-info-top[data-v-fc31239f]{justify-content:space-between;align-items:baseline;font-size:.85rem;display:flex}.problem-bar-track[data-v-fc31239f]{background:var(--surface-muted);border-radius:2px;width:100%;height:4px;overflow:hidden}.problem-bar-fill[data-v-fc31239f]{border-radius:2px;height:100%}.problem-empty[data-v-fc31239f]{background:var(--success-soft);border-radius:var(--radius-lg);text-align:center;color:var(--success);padding:16px;font-size:.95rem;font-weight:500}.modal-footer[data-v-fc31239f]{border-top:1px solid var(--border-muted);flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:14px 20px;display:flex}.deck[data-v-dd66b230]{grid-template-columns:auto 1fr;align-items:center;gap:16px 32px;display:grid}@media (width<=720px){.deck[data-v-dd66b230]{grid-template-columns:1fr}}.deck[data-v-a9df1e7b]{grid-template-columns:auto minmax(200px,320px) 1fr;grid-template-areas:"speed meter note""divider divider divider""buttons buttons buttons";align-items:center;gap:14px 32px;display:grid}.speed-display[data-v-a9df1e7b]{grid-area:speed}.speed-meter-container[data-v-a9df1e7b]{grid-area:meter}.speed-notification-slot[data-v-a9df1e7b]{grid-area:note}.deck-divider[data-v-a9df1e7b]{grid-area:divider}.deck .buttons-row[data-v-a9df1e7b]{grid-area:buttons}.deck-divider[data-v-a9df1e7b]{background:var(--border-muted);height:1px}.speed-display[data-v-a9df1e7b]{align-items:baseline;gap:10px;display:flex}.speed-val-big[data-v-a9df1e7b]{font-size:2.5rem;font-weight:600;font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--text);line-height:1}.speed-unit[data-v-a9df1e7b]{color:var(--text-secondary);flex-direction:column;font-size:.875rem;font-weight:600;line-height:1.25;display:flex}.speed-unit-cpm[data-v-a9df1e7b]{color:var(--text-muted);font-size:.75rem;font-weight:500}.speed-meter-container[data-v-a9df1e7b]{flex-direction:column;gap:6px;min-width:0;display:flex}.speed-meter-header[data-v-a9df1e7b]{color:var(--text-muted);justify-content:space-between;font-size:.8125rem;display:flex}.speed-meter-val[data-v-a9df1e7b]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text)}.speed-slider[data-v-a9df1e7b]{appearance:none;background:linear-gradient(to right, var(--primary) 0%, var(--primary) var(--fill-percent,0%), var(--surface-muted) var(--fill-percent,0%), var(--surface-muted) 100%);cursor:pointer;border-radius:3px;outline:none;width:100%;height:6px;margin:6px 0}.speed-slider[data-v-a9df1e7b]:focus-visible{box-shadow:var(--focus-ring)}.speed-bar[data-v-a9df1e7b]{background:linear-gradient(to right, var(--primary) 0%, var(--primary) var(--fill-percent,0%), var(--surface-muted) var(--fill-percent,0%), var(--surface-muted) 100%);border-radius:3px;height:6px;margin:11px 0}.speed-slider[data-v-a9df1e7b]::-webkit-slider-thumb{appearance:none;background:var(--surface-raised);border:2px solid var(--primary);width:16px;height:16px;box-shadow:var(--shadow-sm);cursor:pointer;border-radius:50%}.speed-slider[data-v-a9df1e7b]::-moz-range-thumb{background:var(--surface-raised);border:2px solid var(--primary);width:12px;height:12px;box-shadow:var(--shadow-sm);cursor:pointer;border-radius:50%}.speed-notification-slot[data-v-a9df1e7b]{justify-content:flex-end;align-items:center;min-height:32px;display:flex}.speed-notification[data-v-a9df1e7b]{border-radius:var(--radius);background:var(--surface-muted);color:var(--text-secondary);animation:notice-in-a9df1e7b .2s var(--ease-out);align-items:center;padding:5px 12px;font-size:.875rem;font-weight:500;display:inline-flex}.speed-notification.up[data-v-a9df1e7b],.speed-notification.down[data-v-a9df1e7b]{font-weight:600}.speed-notification.up[data-v-a9df1e7b]{background:var(--success-soft);color:var(--success)}.speed-notification.down[data-v-a9df1e7b]{background:var(--danger-soft);color:var(--danger-text)}@keyframes notice-in-a9df1e7b{0%{opacity:0;transform:translateY(-2px)}}@media (prefers-reduced-motion:reduce){.speed-notification[data-v-a9df1e7b]{animation-name:ddit-fade-in}}.compact-speed[data-v-a9df1e7b]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-secondary);white-space:nowrap;margin-left:auto;font-weight:600}.compact-speed.up[data-v-a9df1e7b]{color:var(--success)}.compact-speed.down[data-v-a9df1e7b]{color:var(--danger-text)}@media (width<=820px){.deck[data-v-a9df1e7b]{grid-template-columns:auto 1fr;grid-template-areas:"speed meter""note note""divider divider""buttons buttons"}.speed-notification-slot[data-v-a9df1e7b]{justify-content:flex-start;min-height:0}}@media (width<=520px){.deck[data-v-a9df1e7b]{grid-template-columns:1fr;grid-template-areas:"speed""meter""note""divider""buttons"}}.sprint-total[data-v-87dd82a3]{flex-direction:column;align-items:center;gap:2px;display:flex}.total-label[data-v-87dd82a3]{color:var(--text-muted);font-size:.8125rem}.total-value[data-v-87dd82a3]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text);font-size:2.25rem;font-weight:650;line-height:1.2}.total-best[data-v-87dd82a3]{color:var(--text-muted);font-size:.8125rem}.total-best.is-new[data-v-87dd82a3]{color:var(--primary);background:var(--primary-soft);border-radius:var(--radius-sm);padding:2px 8px;font-weight:600}.sprint-summary-stats[data-v-87dd82a3]{background:var(--surface-sunken);border-radius:var(--radius-lg);grid-template-columns:1fr 1fr;padding:10px 4px;display:grid}.sprint-summary-stats>.score-item+.score-item[data-v-87dd82a3]{border-left:1px solid var(--border-muted)}.score-value small[data-v-87dd82a3]{color:var(--text-muted);font-size:.75rem;font-weight:500}.sprint-stopped[data-v-87dd82a3]{color:var(--text-muted);text-align:center;font-size:.8125rem}.sprint-table-wrap[data-v-87dd82a3]{overflow-x:auto}.sprint-table[data-v-87dd82a3]{border-collapse:collapse;width:100%;font-size:.875rem}.sprint-table th[data-v-87dd82a3]{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);padding:4px 8px;font-size:.75rem;font-weight:500}.sprint-table td[data-v-87dd82a3]{border-bottom:1px solid var(--border-muted);white-space:nowrap;padding:5px 8px}.sprint-table .num[data-v-87dd82a3]{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.sprint-table .idx[data-v-87dd82a3]{color:var(--text-muted);font-variant-numeric:tabular-nums}.sprint-table .call[data-v-87dd82a3]{font-family:var(--font-mono);font-weight:600}.received-ok[data-v-87dd82a3]{color:var(--success)}.repeated[data-v-87dd82a3]{vertical-align:-2px;color:var(--warning);margin-left:6px;display:inline-flex}tr.is-wrong .num[data-v-87dd82a3]:last-child{color:var(--text-muted)}.deck[data-v-7903b586]{grid-template-columns:auto 1fr;align-items:center;gap:16px 32px;display:grid}.sprint-toggle[data-v-7903b586]{justify-content:center;align-items:center;gap:8px;min-width:9.5em;display:inline-flex}.start-speed[data-v-7903b586]{flex-direction:column;gap:6px;display:flex}.start-speed-header[data-v-7903b586]{color:var(--text-muted);justify-content:space-between;align-items:baseline;gap:8px;font-size:.8125rem;display:flex}.start-speed-header .val[data-v-7903b586]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap;font-weight:600}.start-speed input[type=range][data-v-7903b586]{margin:4px 0}.sprint-status[data-v-7903b586]{background:var(--surface-sunken);border-radius:var(--radius-lg);grid-template-columns:repeat(4,1fr);padding:10px 4px;display:grid}.sprint-status>.score-item+.score-item[data-v-7903b586]{border-left:1px solid var(--border-muted)}.score-value small[data-v-7903b586]{color:var(--text-muted);font-size:.75rem;font-weight:500}.sprint-entry[data-v-7903b586]{border-radius:var(--radius-lg);gap:8px;display:flex}.sprint-input[data-v-7903b586]{min-width:0;height:56px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text);background:var(--surface-raised);border:2px solid var(--border-strong);border-radius:var(--radius-lg);flex:1;padding:0 16px;font-size:1.75rem;font-weight:600}.sprint-input[data-v-7903b586]:focus{border-color:var(--primary);outline:none}.sprint-input[data-v-7903b586]::placeholder{font-family:var(--font-sans);letter-spacing:normal;text-transform:none;color:var(--text-muted);font-size:.9375rem;font-weight:400}.sprint-input[data-v-7903b586]:disabled{background:var(--surface-sunken);border-color:var(--border)}.sprint-repeat[data-v-7903b586]{align-items:center;gap:6px;height:56px;display:inline-flex}.sprint-entry.error-flash .sprint-input[data-v-7903b586]{animation:sprint-error-flash-7903b586 .3s var(--ease-out)}@keyframes sprint-error-flash-7903b586{0%{border-color:var(--danger-text);background:var(--danger-soft)}to{border-color:var(--border-strong)}}@media (prefers-reduced-motion:reduce){.sprint-entry.error-flash .sprint-input[data-v-7903b586]{border-color:var(--danger-text);animation:none}}.sprint-last[data-v-7903b586]{min-height:1.6em;color:var(--text-secondary);flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:.9375rem;display:flex}.sprint-last-label[data-v-7903b586]{color:var(--text-muted);font-size:.8125rem}.sprint-call[data-v-7903b586]{font-family:var(--font-mono);color:var(--text);font-weight:600}.sprint-verdict.is-correct[data-v-7903b586]{color:var(--success);font-weight:600}.sprint-verdict.is-wrong[data-v-7903b586]{color:var(--danger-text);align-items:baseline;gap:6px;display:inline-flex}.sprint-rules[data-v-7903b586],.sprint-original[data-v-7903b586],.sprint-best[data-v-7903b586]{color:var(--text-secondary);font-size:.875rem;line-height:1.5}.sprint-original a[data-v-7903b586]{color:var(--primary);font-weight:600}.sprint-best strong[data-v-7903b586]{font-family:var(--font-mono);color:var(--text)}@media (width<=720px){.deck[data-v-7903b586]{grid-template-columns:1fr}}@media (width<=520px){.sprint-status[data-v-7903b586]{grid-template-columns:repeat(2,1fr);row-gap:10px}.sprint-status>.score-item[data-v-7903b586]:nth-child(3){border-left:none}.sprint-input[data-v-7903b586]{padding:0 12px;font-size:1.375rem}.sprint-repeat span[data-v-7903b586]{display:none}}.hst-diff[data-v-35b4f51f]{flex-wrap:wrap;gap:10px 16px;display:flex}.hst-group[data-v-35b4f51f]{font-family:var(--font-mono);flex-direction:column;align-items:flex-start;gap:2px;display:flex}.hst-received[data-v-35b4f51f]{min-height:1.4em;color:var(--text);white-space:pre;font-size:1.0625rem;font-weight:600}.hst-sent[data-v-35b4f51f]{color:var(--text-muted);font-size:.8125rem}.is-wrong[data-v-35b4f51f],.is-extra[data-v-35b4f51f],.is-swapped[data-v-35b4f51f],.is-missing[data-v-35b4f51f]{color:var(--danger-text);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:2px}.is-missing[data-v-35b4f51f]{text-decoration:none}.has-errors .hst-sent[data-v-35b4f51f]{color:var(--text-secondary)}.deck[data-v-c852e09b]{grid-template-columns:auto 1fr;align-items:center;gap:16px 32px;display:grid}.hst-toggle[data-v-c852e09b]{justify-content:center;align-items:center;gap:8px;min-width:9.5em;display:inline-flex}.hst-speed[data-v-c852e09b]{flex-direction:column;gap:6px;display:flex}.hst-speed-header[data-v-c852e09b]{color:var(--text-muted);justify-content:space-between;align-items:baseline;gap:8px;font-size:.8125rem;display:flex}.hst-speed-header .val[data-v-c852e09b]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap;font-weight:600}.hst-speed input[type=range][data-v-c852e09b]{margin:4px 0}.hst-status[data-v-c852e09b]{background:var(--surface-sunken);border-radius:var(--radius-lg);grid-template-columns:repeat(3,1fr);padding:10px 4px;display:grid}.hst-status>.score-item+.score-item[data-v-c852e09b]{border-left:1px solid var(--border-muted)}.score-value[data-v-c852e09b]{white-space:nowrap}.score-value small[data-v-c852e09b]{color:var(--text-muted);font-size:.75rem;font-weight:500}.hst-copy[data-v-c852e09b]{width:100%;min-height:8.5em;font-family:var(--font-mono);letter-spacing:.08em;word-spacing:.3em;text-transform:uppercase;color:var(--text);background:var(--surface-raised);border:2px solid var(--border-strong);border-radius:var(--radius-lg);resize:vertical;padding:12px 16px;font-size:1.25rem;font-weight:600;line-height:1.6}.hst-copy[data-v-c852e09b]:focus{border-color:var(--primary);outline:none}.hst-copy[data-v-c852e09b]::placeholder{font-family:var(--font-sans);letter-spacing:normal;word-spacing:normal;text-transform:none;color:var(--text-muted);font-size:.9375rem;font-weight:400}.hst-copy[data-v-c852e09b]:disabled{background:var(--surface-sunken);border-color:var(--border)}.hst-state[data-v-c852e09b]{min-height:1.6em;color:var(--text-secondary);font-size:.9375rem}.verdict[data-v-c852e09b]{font-weight:600}.verdict.is-accepted[data-v-c852e09b]{color:var(--success)}.verdict.is-rejected[data-v-c852e09b]{color:var(--danger-text)}.hst-legend[data-v-c852e09b],.hst-rules[data-v-c852e09b],.hst-best[data-v-c852e09b]{color:var(--text-secondary);font-size:.875rem;line-height:1.5}.hst-best strong[data-v-c852e09b]{font-family:var(--font-mono);color:var(--text)}.hst-next[data-v-c852e09b]{flex-wrap:wrap}@media (width<=720px){.deck[data-v-c852e09b]{grid-template-columns:1fr}}@media (width<=520px){.hst-copy[data-v-c852e09b]{padding:10px 12px;font-size:1.0625rem}}.next-hero[data-v-a70192eb]{grid-template-columns:minmax(0,3fr) minmax(260px,2fr);align-items:center;gap:40px;padding:24px 0 8px;display:grid}.next-hero-title[data-v-a70192eb]{letter-spacing:-.02em;color:var(--text);text-wrap:balance;font-size:clamp(1.75rem,1.15rem + 1.6vw,2.5rem);font-weight:700;line-height:1.1}.next-hero-title[data-v-a70192eb]:lang(ja){word-break:auto-phrase}.next-hero-text[data-v-a70192eb]{max-width:48ch;color:var(--text-secondary);margin-top:16px;font-size:1.0625rem;line-height:1.6}.next-qso[data-v-a70192eb]{border-radius:var(--radius-xl);background:var(--primary-soft);flex-direction:column;gap:10px;padding:24px;line-height:1.55;display:flex}.next-qso h3[data-v-a70192eb]{color:var(--text);font-size:1.0625rem;font-weight:650}.next-qso p[data-v-a70192eb]{color:var(--text-secondary)}.next-qso-link[data-v-a70192eb]{border-radius:var(--radius);background:var(--primary);min-height:44px;color:var(--on-primary);box-shadow:var(--shadow-sm);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;align-self:flex-start;align-items:center;gap:8px;margin-top:6px;padding:10px 20px;font-weight:600;text-decoration:none;transition:background-color .15s;display:inline-flex}.next-qso-link[data-v-a70192eb]:active{background:var(--primary-hover)}@media (hover:hover) and (pointer:fine){.next-qso-link[data-v-a70192eb]:hover{background:var(--primary-hover)}}.next-section[data-v-a70192eb]{margin-top:40px}.next-section-title[data-v-a70192eb]{letter-spacing:-.01em;color:var(--text);font-size:1.5rem;font-weight:650;line-height:1.25}.next-section-intro[data-v-a70192eb]{max-width:65ch;color:var(--text-secondary);margin-top:8px;line-height:1.6}.next-cards[data-v-a70192eb]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px;padding:0;list-style:none;display:grid}.next-cards li[data-v-a70192eb]{display:flex}.next-card[data-v-a70192eb]{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-raised);color:inherit;-webkit-touch-callout:none;flex-direction:column;flex:1;gap:4px;padding:16px 18px;text-decoration:none;transition:background-color .15s,border-color .15s;display:flex}.next-card[data-v-a70192eb]:active{background:var(--surface-muted)}@media (hover:hover) and (pointer:fine){.next-card[data-v-a70192eb]:hover{background:var(--surface-muted);border-color:var(--border-strong)}}.next-card-name[data-v-a70192eb]{color:var(--primary);font-weight:600}.next-card-desc[data-v-a70192eb]{color:var(--text-secondary);font-size:.875rem;line-height:1.5}.next-card-name[data-v-a70192eb] .app-icon,.next-link[data-v-a70192eb] .app-icon{vertical-align:-2px;margin-left:4px;display:inline-block}.next-hint[data-v-a70192eb]{border-radius:var(--radius-lg);background:var(--surface-sunken);align-items:flex-start;gap:14px;margin-top:16px;padding:18px 20px;line-height:1.55;display:flex}.next-hint[data-v-a70192eb]>.app-icon{color:var(--primary);margin-top:2px}.next-hint h3[data-v-a70192eb]{color:var(--text);font-size:1rem;font-weight:600}.next-hint p[data-v-a70192eb]{color:var(--text-secondary);margin-top:2px}.next-link[data-v-a70192eb]{color:var(--primary);font-weight:600}.next-disciplines[data-v-a70192eb]{flex-direction:column;gap:10px;margin-top:16px;padding:0;list-style:none;display:flex}.next-disciplines>li[data-v-a70192eb]{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-raised);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:14px 18px;display:flex}.next-discipline[data-v-a70192eb]{flex-direction:column;flex:20em;gap:2px;min-width:0;display:flex}.next-name[data-v-a70192eb]{font-weight:600}.next-desc[data-v-a70192eb]{color:var(--text-secondary);font-size:.875rem;line-height:1.5}.next-actions[data-v-a70192eb]{align-items:center;gap:12px;display:flex}.next-try[data-v-a70192eb]{border-radius:var(--radius);background:var(--primary);min-height:36px;color:var(--on-primary);align-items:center;padding:7px 14px;font-size:.875rem;font-weight:600;text-decoration:none;transition:background-color .15s;display:inline-flex}.next-try[data-v-a70192eb]:active{background:var(--primary-hover)}@media (hover:hover) and (pointer:fine){.next-try[data-v-a70192eb]:hover{background:var(--primary-hover)}}@media (width<=767px){.next-hero[data-v-a70192eb]{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:8px}.next-cards[data-v-a70192eb]{grid-template-columns:minmax(0,1fr)}}.privacy-text[data-v-89868112]{gap:20px;max-width:72ch;line-height:1.6}.privacy-text p[data-v-89868112]{margin:0}.privacy-text p+p[data-v-89868112]{margin-top:8px}.privacy-text h2[data-v-89868112]{margin:0 0 4px;font-size:1rem;font-weight:600}.privacy-text a[data-v-89868112]{color:var(--primary);overflow-wrap:anywhere}
/*$vite$:1*/