.toast-stack{left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));gap:var(--space-sm);z-index:var(--layer-toast);pointer-events:none;width:min(92vw,420px);display:grid;position:fixed;transform:translate(-50%)}.toast{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);background:var(--bg-card);border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:var(--text-main);box-shadow:0 10px 30px -5px var(--shadow-strong);font-weight:500;animation:.18s ease-out toast-in}.toast-success{border-color:var(--tint-green)}.toast-error{border-color:var(--tint-red)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width>=768px){.toast-stack{bottom:24px}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.accessibility-top-bar{padding:var(--space-sm) var(--space-2xl);background:var(--surface-0);font-size:var(--text-sm);border-bottom:1px solid var(--surface-1);justify-content:space-between;align-items:center;display:flex}.acc-left,.acc-right{align-items:center;gap:var(--space-md);display:flex}.acc-btn{align-items:center;gap:var(--space-sm);border:1px solid var(--border-strong);color:var(--text-muted);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-lg);cursor:pointer;font-size:var(--text-sm);background:0 0;transition:opacity .2s,border-color .2s;display:flex}.acc-btn:hover,.acc-btn.active{color:var(--text-main);border-color:var(--primary);background:var(--primary-glow)}.bot-cta-top{align-items:center;gap:var(--space-sm);background:var(--accent-green-strong);color:var(--text-on-accent);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-lg);font-weight:600;font-size:var(--text-sm);cursor:pointer;border:none;min-height:44px;display:flex}.header-inner{padding:var(--space-md) var(--space-xl);justify-content:space-between;align-items:center;gap:var(--space-lg);width:100%;max-width:1200px;margin:0 auto;display:flex}.header-right-actions{align-items:center;gap:var(--space-sm);display:flex}.brand-logo{align-items:center;gap:var(--space-md);display:flex}.logo-badge-icon{border-radius:var(--radius-md);background:var(--surface-1);border:1px solid var(--border-strong);justify-content:center;align-items:center;width:38px;height:38px;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.logo-badge-icon .logo-img{object-fit:cover;border-radius:var(--radius-md);width:100%;height:100%}.logo-badge-icon:hover{box-shadow:0 0 16px var(--tint-cyan);transform:scale(1.06)}.brand-title-wrap{flex-direction:column;display:flex}.app-title{font-size:var(--text-xl);color:var(--text-main);letter-spacing:-.02em;font-weight:800;line-height:1}.custom-lang-selector-relative{position:relative}.custom-lang-pill-btn{align-items:center;gap:var(--space-sm);min-height:44px;padding:0 var(--space-md);border-radius:var(--radius-md);background:var(--surface-1);border:1px solid var(--surface-3);color:var(--text-main);font-size:var(--text-sm);cursor:pointer;font-weight:700;transition:background .2s,border-color .2s;display:flex}.custom-lang-pill-btn:hover{background:var(--border-subtle);border-color:var(--surface-4)}.mobile-settings-trigger-btn:hover{background:var(--border-subtle);border-color:var(--surface-4);transform:rotate(30deg)}.custom-lang-pill-btn .arrow-icon{color:var(--text-muted);transition:transform .3s var(--ease-out)}.custom-lang-pill-btn .arrow-icon.open{transform:rotate(180deg)}.lang-code-text{font-size:var(--text-sm);color:var(--accent-cyan-on-dark);letter-spacing:.04em;font-weight:800}.custom-lang-dropdown-menu{background:var(--bg-dark-96);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:210px;padding:var(--space-sm);box-shadow:0 16px 40px var(--scrim);z-index:var(--layer-dropdown);gap:var(--space-xs);animation:dropdownEnter .3s var(--ease-out);flex-direction:column;display:flex;position:absolute;top:calc(100% + 8px);right:0}.dropdown-kicker{font-size:var(--text-xs);color:var(--accent-cyan-on-dark);letter-spacing:.08em;padding:var(--space-xs) var(--space-md) var(--space-sm) var(--space-md);border-bottom:1px solid var(--surface-2);margin-bottom:var(--space-xs);font-weight:800}.option-flag{font-size:1.25rem}.option-text-group{flex-direction:column;gap:1px;display:flex}.option-native{font-size:var(--text-sm);color:var(--text-main);font-weight:700}.option-sub{font-size:var(--text-xs);color:var(--text-muted)}.lang-option-btn .selected-dot{color:var(--accent-cyan-on-dark);margin-left:auto;font-weight:800}.header-center-track{justify-content:center;align-items:center;display:flex}.segmented-track-pill{background:var(--bg-sunken);border:1px solid var(--border-strong);border-radius:var(--radius-pill);padding:var(--space-xs);gap:var(--space-xs);box-shadow:0 4px 20px var(--shadow-weak);display:flex}.segmented-track-btn{align-items:center;gap:var(--space-sm);height:38px;padding:0 var(--space-xl);border-radius:var(--radius-pill);color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;transition:all .25s var(--ease-out);background:0 0;border:none;font-weight:600;display:inline-flex}.segmented-track-btn.active{background:var(--primary);color:var(--text-pure-white);font-weight:700}@media (width<=768px){.accessibility-top-bar{padding:var(--space-sm) var(--space-md);gap:var(--space-sm);flex-direction:column;align-items:stretch}.acc-left,.acc-right{justify-content:space-between;width:100%}.header-inner{padding:var(--space-md) var(--space-lg);flex-direction:row;justify-content:space-between;align-items:center;min-height:52px}.brand-logo{justify-content:flex-start;gap:var(--space-sm)}.desktop-only-track{display:none!important}}@media (width<=380px){.app-title{font-size:var(--text-lg)}}.mobile-settings-trigger-btn{background:var(--surface-1);border:1px solid var(--surface-3);border-radius:var(--radius-md);width:42px;height:42px;color:var(--text-main);cursor:pointer;justify-content:center;align-items:center;display:flex}@media (width<=768px){.desktop-only-acc{display:none!important}.app-title{font-size:var(--text-lg)}}.option-text-group{overflow-wrap:break-word;word-break:break-word;min-width:0}.mobile-settings-trigger-btn{min-width:44px;min-height:44px}.custom-lang-pill-btn,.acc-btn{min-height:44px}.mobile-track-switcher-segment{background:var(--bg-dark-70);border:1px solid var(--surface-3);border-radius:var(--radius-lg);padding:var(--space-xs);margin-bottom:var(--space-lg);gap:var(--space-xs);display:none}.mobile-track-switcher-segment .segment-btn{justify-content:center;align-items:center;gap:var(--space-sm);min-width:0;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;transition:all .25s var(--ease-out);background:0 0;border:none;flex:1;font-weight:700;display:flex}.mobile-track-switcher-segment .segment-btn:hover{color:var(--text-main);background:var(--surface-1)}.mobile-track-switcher-segment .segment-btn span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (width<=768px){.mobile-track-switcher-segment{display:flex}}.mobile-track-switcher-segment .segment-btn.active{background:var(--primary);color:var(--text-on-accent)}.mobile-track-switcher-segment .segment-btn.active:hover{background:var(--primary,var(--primary));color:var(--text-on-accent)}.tab-navigation{gap:var(--space-sm);padding:var(--space-sm);margin-bottom:var(--space-2xl);background:var(--bg-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);scrollbar-width:none;-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.tab-navigation::-webkit-scrollbar{display:none}.tab-item{align-items:center;gap:var(--space-sm);min-height:42px;padding:var(--space-sm) var(--space-xl);border-radius:var(--radius-pill);color:var(--text-muted);font-size:var(--text-sm);white-space:nowrap;transition:all .25s var(--ease-out);font-weight:600;text-decoration:none;display:inline-flex}.tab-item.active{background:var(--primary);color:var(--text-pure-white);font-weight:700}@media (width<=768px){.desktop-only-tabs{display:none!important}}.mobile-bottom-nav{background:var(--bg-dark-88);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);padding:var(--space-sm) var(--space-sm);box-shadow:0 12px 36px -4px var(--shadow-strong);z-index:var(--layer-bottom-nav);justify-content:space-around;align-items:center;display:none;position:fixed;bottom:12px;left:12px;right:12px}.mobile-nav-icon{width:20px;height:20px;transition:transform .2s,color .2s}.mobile-nav-item:active .mobile-nav-icon{transform:scale(.88)}@media (width<=768px){.mobile-bottom-nav{display:flex}}.companion-guided-banner{justify-content:space-between;align-items:center;gap:var(--space-lg);background:var(--tint-primary);border:1px solid var(--accent-cyan);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-xl);margin-bottom:var(--space-2xl);flex-wrap:wrap;display:flex}.banner-left{align-items:center;gap:var(--space-lg);display:flex}.handshake-emoji{font-size:1.6rem}.banner-text-block{overflow-wrap:break-word;word-break:break-word;min-width:0}.banner-kicker{font-size:var(--text-xs);color:var(--accent-cyan-on-dark);letter-spacing:.06em;text-transform:uppercase;font-weight:800;display:block}.banner-guide-desc{font-size:var(--text-sm);color:var(--text-main);font-weight:500;line-height:1.35}.banner-right-actions{align-items:center;gap:var(--space-md);display:flex}.banner-compact-btn{justify-content:center;align-items:center;gap:var(--space-sm);min-height:44px;padding:var(--space-sm) var(--space-xl);border-radius:var(--radius-pill);font-size:var(--text-sm);cursor:pointer;font-weight:700;transition:all .2s;display:inline-flex}.banner-compact-btn.bot-btn{background:var(--accent-green-strong);color:var(--text-pure-white);border:none}.banner-compact-btn.bot-btn:hover{background:var(--accent-green-strong);transform:translateY(-1px)}.banner-compact-btn.dismiss-btn{background:var(--surface-1);border:1px solid var(--border-subtle);color:var(--text-muted);min-width:44px;padding:var(--space-sm)}.banner-compact-btn.dismiss-btn:hover{background:var(--surface-3);color:var(--text-main)}.companion-banner-minimized{padding:var(--space-sm) var(--space-lg);background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);margin-bottom:var(--space-lg);font-size:var(--text-sm);color:var(--text-muted);cursor:pointer;justify-content:space-between;align-items:center;font-weight:700;transition:all .2s;display:flex}.companion-banner-minimized:hover{background:var(--surface-2);color:var(--text-main);border-color:var(--primary-on-dark)}@media (width<=768px){.companion-guided-banner{padding:var(--space-md) var(--space-lg);gap:var(--space-md)}}.dev-notice{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-xl);background:var(--tint-amber);border-bottom:1px solid var(--accent-amber);color:var(--accent-amber-on-dark);font-size:var(--text-sm);box-shadow:0 4px 20px var(--shadow-weak);line-height:1.45;display:flex}.dev-notice-icon{color:var(--accent-amber-on-dark);flex-shrink:0;margin-top:1px}.dev-notice-text{flex:1;min-width:0}.dev-notice-text strong{color:var(--text-main);font-weight:700}.dev-notice-close{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);min-width:44px;min-height:44px;color:var(--text-muted);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.dev-notice-close:hover{background:var(--surface-3);color:var(--text-main)}.dev-notice-close:focus-visible{outline:2px solid var(--accent-amber-on-dark);outline-offset:2px}.quick-exit{left:12px;bottom:calc(72px + env(safe-area-inset-bottom,0px));z-index:var(--layer-fab);min-height:44px;padding:var(--space-md) var(--space-lg);background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-pill);color:var(--text-muted);font-family:inherit;font-size:var(--text-sm);cursor:pointer;box-shadow:var(--shadow-soft);font-weight:600;position:fixed}.quick-exit:hover{background:var(--bg-card-hover);color:var(--text-main)}.quick-exit:focus-visible{outline:2px solid var(--primary-on-dark);outline-offset:2px}@media (width>=768px){.quick-exit{bottom:20px}}.skeleton-group{gap:var(--space-lg);display:grid}.skeleton{background:linear-gradient(90deg, var(--surface-0) 25%, var(--surface-2) 37%, var(--surface-0) 63%);border-radius:var(--radius-md);background-size:400% 100%;animation:1.4s infinite skeleton-sheen}.skeleton-card{border-radius:var(--radius-lg);height:168px}.skeleton-row{height:56px}.skeleton-text{width:70%;height:14px}@keyframes skeleton-sheen{0%{background-position:100%}to{background-position:0}}.state-box{align-items:center;gap:var(--space-md);padding:var(--space-3xl) var(--space-xl);text-align:center;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);flex-direction:column;display:flex}.state-error .state-icon{color:var(--accent-red)}.state-empty .state-icon{color:var(--text-muted)}.state-title{font-size:var(--text-base);color:var(--text-main);margin:0;font-weight:700}.state-message{color:var(--text-muted);max-width:42ch;margin:0;line-height:1.6}.state-action{align-items:center;gap:var(--space-sm);min-height:44px;padding:var(--space-md) var(--space-xl);border-radius:var(--radius-pill);background:var(--primary);color:var(--text-on-accent);cursor:pointer;border:0;font-weight:700;display:inline-flex}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}*{box-sizing:border-box;margin:0;padding:0}.icon-xs{flex-shrink:0;width:14px;height:14px}.icon-sm{flex-shrink:0;width:18px;height:18px}.icon-md{flex-shrink:0;width:22px;height:22px}html{font-size:var(--text-base);background-color:var(--bg-dark);max-width:100vw;transition:font-size .2s;overflow-x:hidden}body{background-color:var(--bg-dark);background-image:var(--ambient-mesh);color:var(--text-main);font-family:var(--font-family);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;max-width:100vw;min-height:100vh;line-height:1.6;overflow-x:hidden}button:disabled,button[aria-disabled=true],input:disabled,select:disabled,textarea:disabled{opacity:.5;cursor:not-allowed}.navbar-container{z-index:var(--layer-header);background:var(--bg-dark-85);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--bg-card-border);transition:transform .35s var(--ease-out);position:sticky;top:0}.navbar-container.hide-header{transform:translateY(-100%)}.font-size-controls{align-items:center;gap:var(--space-xs);background:var(--surface-0);padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-lg);display:flex}.size-btn{color:var(--text-muted);font-size:var(--text-xs);padding:var(--space-2xs) var(--space-sm);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;font-weight:700}.size-btn.active{color:var(--text-on-accent);background:var(--primary)}@keyframes dropdownEnter{0%{opacity:0;transform:translateY(-8px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.lang-option-btn{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-md);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;transition:background .2s,color .2s,transform .15s;display:flex}.lang-option-btn:hover{background:var(--surface-2);transform:translate(2px)}.lang-option-btn.selected{background:var(--tint-primary);border:1px solid var(--tint-cyan)}.tab-item{align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-md);background:var(--surface-0);border:1px solid var(--surface-2);color:var(--text-muted);font-weight:600;font-size:var(--text-sm);white-space:nowrap;cursor:pointer;transition:opacity .2s;display:flex}.tab-item:hover{background:var(--surface-1);color:var(--text-main)}.tab-item.active{background:var(--tint-primary);border-color:var(--primary);color:var(--primary-on-dark)}.section-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-3xl);margin-bottom:30px;transition:border-color .3s}.section-header{justify-content:space-between;align-items:flex-start;gap:var(--space-xl);margin-bottom:var(--space-2xl);flex-wrap:wrap;display:flex}.section-title{font-size:var(--text-xl);align-items:center;gap:var(--space-md);color:var(--text-main);letter-spacing:-.02em;font-weight:800;display:flex}.section-icon{color:var(--accent-cyan-on-dark)}.filter-tab{height:32px;padding:0 var(--space-lg);border-radius:var(--radius-lg);background:var(--surface-1);border:1px solid var(--surface-3);color:var(--text-muted);font-size:var(--text-xs);cursor:pointer;transition:all .2s var(--ease-out);justify-content:center;align-items:center;font-weight:700;display:inline-flex}.filter-tab:hover{background:var(--border-subtle);color:var(--text-main)}.filter-tab.active{background:var(--primary);color:var(--text-on-accent);border-color:var(--surface-4)}.doc-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-xl);cursor:pointer;transition:transform .25s var(--ease-out), border-color .25s ease, background .25s ease;flex-direction:column;justify-content:space-between;display:flex}.doc-card:hover{background:var(--bg-card-hover);border-color:var(--border-strong);transform:translateY(-2px)}.check-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0}.check-btn.checked{color:var(--accent-green)}.status-badge{align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-pill);font-size:var(--text-xs);letter-spacing:.03em;white-space:nowrap;font-weight:800;display:inline-flex}.status-completed{background:var(--tint-green);color:var(--accent-green-on-dark);border:1px solid var(--accent-green)}.status-progress{background:var(--tint-cyan);color:var(--accent-cyan-on-dark);border:1px solid var(--accent-cyan)}.status-pending{background:var(--tint-amber);color:var(--accent-amber-on-dark);border:1px solid var(--accent-amber)}.status-required{background:var(--tint-red);color:var(--accent-red-on-dark);border:1px solid var(--accent-red)}.speak-inline-btn{background:var(--surface-1);border:1px solid var(--border-subtle);color:var(--text-main);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;font-weight:600}.speak-inline-btn:hover{background:var(--surface-3)}.modal-top-bar{margin-bottom:var(--space-lg);justify-content:space-between;align-items:flex-start;display:flex}.modal-doc-title{font-size:var(--text-xl);color:var(--text-main);font-weight:700}.modal-footer-actions{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--surface-2);justify-content:space-between;align-items:center;display:flex}.q-pill{height:32px;padding:0 var(--space-lg);border-radius:var(--radius-lg);background:var(--surface-1);border:1px solid var(--surface-3);color:var(--text-muted);font-size:var(--text-xs);cursor:pointer;white-space:nowrap;transition:all .2s var(--ease-out);flex-shrink:0;align-items:center;font-weight:700;display:inline-flex}.q-pill:hover{background:var(--border-subtle);color:var(--text-main)}.q-pill.active{background:var(--primary);color:var(--text-on-accent);border-color:var(--surface-4)}.score-btn{align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;background:var(--surface-1);border:1px solid var(--border-subtle);color:var(--text-muted);font-weight:600;display:inline-flex}.score-btn.easy.selected{background:var(--tint-green);border-color:var(--accent-green);color:var(--accent-green-on-dark)}.score-btn.practice.selected{background:var(--tint-amber);border-color:var(--accent-amber);color:var(--accent-amber-on-dark)}.cat-btn{background:var(--surface-0);border:1px solid var(--surface-2);color:var(--text-muted);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);font-size:var(--text-xs);cursor:pointer;font-weight:700}.cat-btn.active{background:var(--accent-cyan-strong);color:var(--text-on-accent);border-color:var(--accent-cyan)}.audio-play-btn{align-items:center;gap:var(--space-sm);background:var(--primary);color:var(--text-on-accent);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);font-size:var(--text-xs);cursor:pointer;border:none;font-weight:600;display:flex}.input-group{margin-bottom:var(--space-lg)}.input-group label{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-sm);font-weight:600;display:block}.input-with-symbol{background:var(--bg-input);border:1px solid var(--border-strong);border-radius:var(--radius-md);align-items:center;display:flex;overflow:hidden}.currency-prefix{padding:var(--space-md) var(--space-lg);background:var(--surface-1);color:var(--text-muted);font-weight:700;font-size:var(--text-sm)}.num-input{box-sizing:border-box;width:100%;min-width:0;color:var(--text-main);padding:var(--space-md) var(--space-md);font-size:var(--text-base);background:0 0;border:none;outline:none;flex:1;font-weight:700}.table-row{gap:var(--space-md);padding:var(--space-lg) var(--space-md);background:var(--shadow-weak);border-radius:var(--radius-md);font-size:var(--text-sm);grid-template-columns:2fr 1.5fr 1fr 2.5fr;align-items:center;display:grid}.illegal-row{background:var(--tint-red);border:1px solid var(--tint-red)}.comm-tab{background:var(--surface-1);border:1px solid var(--border-subtle);color:var(--text-muted);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-lg);font-size:var(--text-sm);cursor:pointer;font-weight:600}.comm-tab.active{background:var(--tint-primary);border-color:var(--primary);color:var(--primary-on-dark)}.modal-overlay{background:var(--scrim-heavy);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);height:100dvh;z-index:var(--layer-modal);padding:var(--space-xl);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-sunken-solid);border:1px solid var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-3xl);width:100%;max-width:520px;max-height:min(85dvh,780px);box-shadow:var(--shadow-soft);flex-direction:column;display:flex}.modal-body-content{overscroll-behavior:contain;overflow-y:auto}.plat-btn{padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-lg);border:1px solid var(--border-subtle);color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;background:0 0;font-weight:600}.plat-btn.wa.active{background:var(--accent-green-strong);color:var(--text-on-accent);border-color:var(--accent-green)}.plat-btn.tg.active{background:var(--accent-cyan-strong);color:var(--text-on-accent);border-color:var(--accent-cyan)}.close-modal-btn{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);color:var(--text-muted);cursor:pointer;justify-content:center;align-items:center;min-width:44px;min-height:44px;transition:all .2s;display:inline-flex}.close-modal-btn:hover{background:var(--surface-3);color:var(--text-main)}.floating-bot-fab{bottom:calc(76px + env(safe-area-inset-bottom,0px));min-width:56px;min-height:56px;z-index:var(--layer-fab);align-items:center;gap:var(--space-md);background:var(--accent-green-strong);color:var(--text-on-accent);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-pill);font-weight:700;font-size:var(--text-sm);box-shadow:var(--shadow-soft);cursor:pointer;border:none;transition:transform .2s,opacity .2s;display:flex;position:fixed;right:24px}.floating-bot-fab:hover{transform:scale(1.04)}.mobile-nav-item{align-items:center;gap:var(--space-2xs);color:var(--text-muted);font-size:var(--text-xs);min-width:48px;min-height:48px;padding:var(--space-xs) var(--space-sm);cursor:pointer;touch-action:manipulation;background:0 0;border:none;flex-direction:column;font-weight:600;display:flex}.mobile-nav-item.active{color:var(--accent-cyan-on-dark)}.segmented-track-btn span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.segmented-track-btn{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);color:var(--text-muted);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;transition:all .25s var(--ease-out);background:0 0;border:none;font-weight:700;display:flex}.segmented-track-btn:hover{color:var(--text-main);background:var(--surface-1)}.segmented-track-btn.active{background:var(--primary);color:var(--text-on-accent)}@media (hover:none){button:active,.lang-card:active,.track-choice-card:active{opacity:.9;transform:scale(.97)}}@media (width<=768px){.filter-tab{flex-shrink:0}.floating-bot-fab{bottom:calc(72px + env(safe-area-inset-bottom));width:44px;height:44px;box-shadow:var(--shadow-soft);border-radius:50%;justify-content:center;padding:0;right:14px}.section-card{padding:var(--space-lg) var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-xl)}.section-title{font-size:var(--text-lg)}.section-header{margin-bottom:var(--space-lg);gap:var(--space-md)}.speak-inline-btn{text-align:center;justify-content:center;align-items:center;width:100%;min-height:44px;display:inline-flex}.modal-overlay{align-items:flex-end;padding:0}.modal-content{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:88dvh;padding:var(--space-xl) var(--space-lg) calc(var(--space-xl) + env(safe-area-inset-bottom,0px));width:100%;max-width:none;margin:0}.modal-footer-actions{gap:var(--space-md);flex-direction:column;align-items:stretch}.score-btn{justify-content:center;width:100%;min-height:44px}.cat-btn{white-space:nowrap;min-height:40px}.input-with-symbol{min-height:48px}.num-input{font-size:var(--text-base)}.table-row{gap:var(--space-sm);padding:var(--space-lg);flex-direction:column;align-items:flex-start;display:flex}.comm-tab{white-space:nowrap;min-height:40px}.lang-card{padding:var(--space-md);gap:var(--space-sm)}.lang-flag{font-size:1.3rem}}.step-dot{background:var(--surface-2);border:1px solid var(--border-strong);width:32px;height:32px;color:var(--text-muted);font-weight:700;font-size:var(--text-sm);border-radius:50%;justify-content:center;align-items:center;display:flex}.step-dot.active{background:var(--accent-cyan-strong);color:var(--text-on-accent);border-color:var(--accent-cyan)}.lang-card{align-items:center;gap:var(--space-md);background:var(--surface-0);border:1px solid var(--border-subtle);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);text-align:left;cursor:pointer;color:var(--text-main);transition:border-color .2s,background .2s;display:flex}.lang-card:hover,.lang-card.selected{background:var(--tint-cyan);border-color:var(--accent-cyan)}.lang-flag{font-size:1.6rem}.track-choice-card{align-items:flex-start;gap:var(--space-lg);background:var(--surface-0);border:1px solid var(--border-subtle);padding:var(--space-lg);border-radius:var(--radius-lg);text-align:left;cursor:pointer;color:var(--text-main);display:flex}.track-choice-card:hover,.track-choice-card.selected{background:var(--tint-primary);border-color:var(--primary)}.track-choice-card h4{font-size:var(--text-base);margin-bottom:var(--space-xs);color:var(--text-main);font-weight:700}.track-choice-card p{font-size:var(--text-sm);color:var(--text-muted);line-height:1.4}@keyframes fadeInToast{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}:focus-visible{outline:2px solid var(--accent-cyan-on-dark);outline-offset:2px}button:focus-visible,a:focus-visible,input,select,textarea,button{font-family:inherit;font-size:inherit}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent-cyan-on-dark);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.filter-tab,.cat-btn,.comm-tab,.q-pill{flex:none;min-height:44px}.floating-bot-fab.is-hidden{opacity:0;pointer-events:none;transform:translateY(150%)}@media (width>=769px){.floating-bot-fab{bottom:24px}}.check-btn,.close-modal-btn,.size-btn{min-width:44px;min-height:44px}.speak-inline-btn,.audio-play-btn,.segment-btn,.segmented-track-btn,.state-action,.score-btn,.comm-tab,.cat-btn,.filter-tab,.q-pill,.plat-btn,.lang-option-btn,.lang-card,.track-choice-card,.mobile-nav-item,.tab-item{min-height:44px}.check-btn{flex:none;justify-content:center;align-items:center;display:inline-flex}.speak-inline-btn,.size-btn,.state-action{justify-content:center;align-items:center;display:inline-flex}.size-btn{min-width:44px}.plat-btn.wa,.plat-btn.wa.active,.floating-bot-fab{background:var(--accent-green-strong);color:var(--text-on-accent)}.cat-btn.active,.q-pill.active,.plat-btn.tg.active{background:var(--accent-cyan-strong);color:var(--text-on-accent)}.tab-item,.mobile-nav-item{text-decoration:none}.tab-item:visited,.mobile-nav-item:visited{color:inherit}.app-shell{min-height:100vh;font-size:var(--text-base);flex-direction:column;max-width:100vw;display:flex;overflow-x:hidden}.main-content{width:100%;max-width:1300px;padding:var(--space-2xl) var(--space-lg);flex:1;margin:0 auto}.app-footer{border-top:1px solid var(--surface-2);padding:var(--space-2xl);text-align:center;font-size:var(--text-sm);color:var(--text-muted);background:var(--shadow-deep);margin-top:var(--space-4xl)}@media (width<=768px){.floating-bot-fab .fab-label{display:none}.main-content{padding:var(--space-md) var(--space-md) calc(76px + env(safe-area-inset-bottom)) var(--space-md)}}.main-content{padding-bottom:96px}@media (width>=769px){.main-content{padding-bottom:104px}}.tab-view-container{animation:.18s ease-out view-enter}@keyframes view-enter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.skip-link{z-index:var(--layer-dropdown);padding:var(--space-md) var(--space-xl);background:var(--primary);color:var(--text-on-accent);border-radius:0 0 var(--radius-md) 10px;font-weight:700;text-decoration:none;transition:top .15s;position:absolute;top:-60px;left:8px}.skip-link:focus{top:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--accent-cyan);outline-offset:2px;border-radius:var(--radius-sm)}.offline-banner{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:var(--accent-amber);color:var(--bg-dark);z-index:var(--layer-offline);font-weight:700;display:flex;position:sticky;top:0}.install-prompt-btn{justify-content:center;align-items:center;gap:var(--space-sm);width:100%;min-height:44px;margin-top:var(--space-lg);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-pill);background:var(--accent-green-strong);color:var(--text-on-accent);cursor:pointer;border:0;font-weight:700;display:inline-flex}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--bg-dark:#0a0e17;--ambient-mesh:radial-gradient(circle at 50% 0%, #2563eb38 0%, #0284c714 35%, #0a0e17 75%);--bg-card:#121928e6;--bg-card-hover:#1a2438f2;--bg-elevated:#1e293b;--bg-input:#111827;--bg-sunken:#0f172a99;--bg-dark-60:#0a0e1799;--bg-dark-70:#0a0e17b3;--bg-dark-85:#0a0e17d9;--bg-dark-88:#0a0e17e0;--bg-dark-96:#0a0e17f5;--bg-sunken-solid:#0f172a;--bg-black:#000;--primary:#2563eb;--primary-hover:#1d4ed8;--accent-cyan:#0284c7;--accent-cyan-strong:#0369a1;--accent-green:#059669;--accent-green-strong:#047857;--accent-amber:#d97706;--accent-red:#dc2626;--accent-red-strong:#b91c1c;--primary-on-dark:#60a5fa;--accent-cyan-on-dark:#38bdf8;--accent-green-on-dark:#34d399;--accent-amber-on-dark:#fbbf24;--accent-red-on-dark:#f87171;--text-main:#f8fafc;--text-muted:#94a3b8;--text-inverse:#020617;--text-on-accent:#f8fafc;--surface-0:#ffffff0a;--surface-1:#ffffff0f;--surface-2:#ffffff14;--surface-3:#ffffff1f;--surface-4:#fff3;--border-subtle:#ffffff1a;--border-strong:#ffffff26;--bg-card-border:var(--border-subtle);--text-pure-white:#fff;--text-pure-black:#000;--shadow-weak:#0003;--shadow-mid:#0000004d;--shadow-deep:#0006;--shadow-strong:#00000080;--scrim:#000000b3;--scrim-heavy:#000000d9;--shadow-soft:0 10px 30px -5px var(--shadow-strong);--primary-glow:#2563eb4d;--tint-primary:#2563eb33;--tint-cyan:#0284c733;--tint-green:#05966933;--tint-amber:#d9770633;--tint-red:#dc262633;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-pill:30px;--space-2xs:2px;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:20px;--space-2xl:24px;--space-3xl:32px;--space-4xl:40px;--space-5xl:48px;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--leading-tight:1.2;--leading-normal:1.5;--focus-ring-color:var(--accent-cyan-on-dark);--focus-ring:0 0 0 2px var(--focus-ring-color);--layer-fab:60;--layer-offline:90;--layer-bottom-nav:95;--layer-header:100;--layer-dropdown:200;--layer-modal:1000;--layer-toast:1100;--ease-out:cubic-bezier(.16, 1, .3, 1);--duration-fast:.2s;--duration-base:.3s;--font-family:"Outfit", "Lexend", "Noto Sans Devanagari", "Noto Sans Sinhala", "Noto Sans Tamil", "Noto Sans Bengali", "Noto Sans Arabic", system-ui, -apple-system, sans-serif}.high-contrast{--bg-dark:#000;--bg-card:#121212;--bg-elevated:#1a1a1a;--border-subtle:#ffffff59;--border-strong:#ffffff8c;--bg-card-border:var(--border-subtle);--text-main:#f8fafc;--text-muted:#cbd5e1;--primary:#2563eb;--accent-green:var(--accent-green-strong);--accent-cyan:var(--accent-cyan-strong)}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-dark:#eef1f6;--ambient-mesh:radial-gradient(circle at 50% 0%, #2563eb0f 0%, #0284c708 35%, #eef1f6 75%);--bg-card:#fff;--bg-card-hover:#f4f7fc;--bg-elevated:#fff;--bg-input:#fff;--bg-sunken:#e6eaf1;--bg-sunken-solid:#e6eaf1;--bg-dark-60:#fff9;--bg-dark-70:#ffffffb3;--bg-dark-85:#ffffffd9;--bg-dark-88:#ffffffe0;--bg-dark-96:#fffffff5;--text-main:#0f172a;--text-muted:#475569;--text-inverse:#f8fafc;--primary-on-dark:#1e40af;--accent-cyan-on-dark:#075985;--accent-green-on-dark:#065f46;--accent-amber-on-dark:#92400e;--accent-red-on-dark:#991b1b;--surface-0:#0f172a08;--surface-1:#0f172a0d;--surface-2:#0f172a12;--surface-3:#0f172a1c;--surface-4:#0f172a2e;--border-subtle:#0f172a1f;--border-strong:#0f172a33;--bg-card-border:var(--border-subtle);--shadow-soft:0 10px 30px -8px #0f172a2e;--tint-primary:#2563eb1a;--tint-cyan:#0284c71a;--tint-green:#0596691a;--tint-amber:#d9770621;--tint-red:#dc26261a;--shadow-weak:#0f172a0a;--shadow-mid:#0f172a0f;--shadow-deep:#0f172a14}:root{letter-spacing:-.01em;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:Lexend,Noto Sans Devanagari,Noto Sans Sinhala,Noto Sans Tamil,Noto Sans Bengali,Noto Sans Arabic,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.6}body{background-color:var(--bg-dark);color:var(--text-main);min-width:320px;min-height:100vh;margin:0;padding:0}#root{min-height:100vh}
