.toast-stack{left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:var(--layer-toast);pointer-events:none;gap:8px;width:min(92vw,420px);display:grid;position:fixed;transform:translate(-50%)}.toast{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);padding:12px 16px;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{background:var(--surface-0);border-bottom:1px solid var(--surface-1);justify-content:space-between;align-items:center;padding:6px 24px;font-size:.85rem;display:flex}.acc-left,.acc-right{align-items:center;gap:12px;display:flex}.acc-btn{border:1px solid var(--border-strong);color:var(--text-muted);border-radius:var(--radius-lg);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:4px 10px;font-size:.8rem;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{background:var(--accent-green-strong);color:var(--text-main);border-radius:var(--radius-lg);cursor:pointer;border:none;align-items:center;gap:6px;min-height:44px;padding:4px 12px;font-size:.8rem;font-weight:600;display:flex}.header-inner{justify-content:space-between;align-items:center;gap:16px;width:100%;max-width:1200px;margin:0 auto;padding:10px 20px;display:flex}.header-right-actions{align-items:center;gap:8px;display:flex}.brand-logo{align-items:center;gap:10px;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{color:var(--text-main);letter-spacing:-.02em;font-size:1.3rem;font-weight:800;line-height:1}.custom-lang-selector-relative{position:relative}.custom-lang-pill-btn{border-radius:var(--radius-md);background:var(--surface-1);border:1px solid var(--surface-3);height:38px;color:var(--text-main);cursor:pointer;align-items:center;gap:6px;padding:0 12px;font-size:.84rem;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{color:var(--accent-cyan-on-dark);letter-spacing:.04em;font-size:.8rem;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;box-shadow:0 16px 40px var(--scrim);z-index:var(--layer-dropdown);animation:dropdownEnter .3s var(--ease-out);flex-direction:column;gap:3px;padding:8px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.dropdown-kicker{color:var(--accent-cyan-on-dark);letter-spacing:.08em;border-bottom:1px solid var(--surface-2);margin-bottom:4px;padding:4px 10px 6px;font-size:.62rem;font-weight:800}.option-flag{font-size:1.25rem}.option-text-group{flex-direction:column;gap:1px;display:flex}.option-native{color:var(--text-main);font-size:.88rem;font-weight:700}.option-sub{color:var(--text-muted);font-size:.72rem}.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-dark-60);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--surface-3);border-radius:var(--radius-lg);gap:3px;padding:3px;display:flex}@media (width<=768px){.accessibility-top-bar{flex-direction:column;align-items:stretch;gap:8px;padding:6px 12px}.acc-left,.acc-right{justify-content:space-between;width:100%}.header-inner{flex-direction:row;justify-content:space-between;align-items:center;min-height:52px;padding:10px 14px}.brand-logo{justify-content:flex-start;gap:8px}.desktop-only-track{display:none!important}}@media (width<=380px){.app-title{font-size:1.1rem}}.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:1.1rem}}.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);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--surface-3);border-radius:var(--radius-lg);gap:3px;margin-bottom:16px;padding:3px;display:none}.mobile-track-switcher-segment .segment-btn{border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:all .25s var(--ease-out);background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:.8rem;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,var(--primary));color:var(--text-main);box-shadow:0 2px 8px var(--primary-glow)}.mobile-track-switcher-segment .segment-btn.active:hover{background:var(--primary,var(--primary));color:var(--text-main)}.tab-navigation{border-bottom:1px solid var(--surface-2);gap:8px;margin-bottom:24px;padding-bottom:12px;display:flex;overflow-x:auto}@media (width<=768px){.desktop-only-tabs{display:none!important}}.mobile-bottom-nav{background:var(--bg-dark-96);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--bg-card-border);padding-bottom:max(8px, env(safe-area-inset-bottom));z-index:var(--layer-bottom-nav);justify-content:space-around;align-items:center;padding-top:6px;display:none;position:fixed;bottom:0;left:0;right:0}.mobile-nav-icon{width:20px;height:20px}@media (width<=768px){.mobile-bottom-nav{display:flex}.companion-guided-banner{flex-direction:row;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;padding:10px 14px}.banner-left{align-items:center;gap:10px;display:flex}.handshake-emoji{font-size:1.4rem}.banner-kicker{color:var(--accent-cyan-on-dark);letter-spacing:.05em;font-size:.65rem;font-weight:800;display:block}.banner-guide-desc{color:var(--text-main);font-size:.78rem;line-height:1.3}.banner-right-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.banner-compact-btn{border-radius:var(--radius-lg);cursor:pointer;align-items:center;gap:4px;padding:6px 12px;font-size:.75rem;font-weight:700;display:inline-flex}.banner-compact-btn.bot-btn{background:var(--accent-green);color:var(--text-main);border:none}.banner-compact-btn.dismiss-btn{background:var(--surface-2);border:1px solid var(--border-strong);color:var(--text-muted);padding:6px}.companion-banner-minimized{background:var(--bg-sunken);border:1px solid var(--tint-cyan);border-radius:var(--radius-lg);color:var(--text-muted);cursor:pointer;justify-content:space-between;align-items:center;margin-bottom:12px;padding:6px 14px;font-size:.78rem;font-weight:700;display:flex}}.companion-guided-banner{background:var(--bg-sunken);border:1px solid var(--tint-cyan);border-radius:var(--radius-lg);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:16px 20px;display:flex}.banner-left{align-items:center;gap:14px;display:flex}.banner-right-actions{align-items:center;gap:10px;display:flex}.banner-text-block{overflow-wrap:break-word;word-break:break-word;min-width:0}.companion-banner-minimized{border:none;font-family:inherit}.dismiss-btn{min-width:44px;min-height:44px}.banner-compact-btn{justify-content:center;align-items:center;min-height:44px;display:inline-flex}.bot-btn,.banner-compact-btn.bot-btn{background:var(--accent-green-strong);color:var(--text-main)}.dev-notice{background:var(--tint-amber);border-bottom:1px solid var(--accent-amber);color:var(--accent-amber-on-dark);align-items:flex-start;gap:10px;padding:10px 14px;font-size:.82rem;line-height:1.45;display:flex}.dev-notice-icon{flex-shrink:0;margin-top:2px}.dev-notice-text{flex:1;min-width:0}.dev-notice-text strong{color:var(--text-main);font-weight:700}.dev-notice-close{border-radius:var(--radius-sm);width:32px;height:32px;color:inherit;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.dev-notice-close:hover{background:var(--surface-2)}.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);background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-pill);min-height:44px;color:var(--text-muted);cursor:pointer;box-shadow:var(--shadow-soft);padding:10px 16px;font-family:inherit;font-size:.85rem;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:16px;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{text-align:center;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);flex-direction:column;align-items:center;gap:12px;padding:32px 20px;display:flex}.state-error .state-icon{color:var(--accent-red)}.state-empty .state-icon{color:var(--text-muted)}.state-title{color:var(--text-main);margin:0;font-size:1.05rem;font-weight:700}.state-message{color:var(--text-muted);max-width:42ch;margin:0;line-height:1.6}.state-action{border-radius:var(--radius-pill);background:var(--primary);min-height:44px;color:var(--text-main);cursor:pointer;border:0;align-items:center;gap:8px;padding:10px 20px;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{max-width:100vw;font-size:16px;transition:font-size .2s;overflow-x:hidden}body{background-color:var(--bg-dark);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}.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{background:var(--surface-0);border-radius:var(--radius-lg);align-items:center;gap:4px;padding:2px 6px;display:flex}.size-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:2px 6px;font-size:.75rem;font-weight:700}.size-btn.active{color:var(--text-main);background:var(--primary)}@keyframes dropdownEnter{0%{opacity:0;transform:translateY(-8px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.lang-option-btn{border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;padding:10px 12px;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{border-radius:var(--radius-md);background:var(--surface-0);border:1px solid var(--surface-2);color:var(--text-muted);white-space:nowrap;cursor:pointer;align-items:center;gap:8px;padding:10px 18px;font-size:.9rem;font-weight:600;transition:opacity .2s;display:flex}.tab-item:hover{background:var(--surface-1);color:var(--text-main)}.tab-item.active{background:var(--primary-glow);border-color:var(--primary);color:var(--primary-on-dark)}.section-card{background:var(--bg-sunken);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:0 16px 36px var(--shadow-deep);margin-bottom:30px;padding:28px;transition:border-color .2s,box-shadow .2s}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.section-title{color:var(--text-main);letter-spacing:-.02em;align-items:center;gap:10px;font-size:1.4rem;font-weight:800;display:flex}.section-icon{color:var(--accent-cyan-on-dark)}.filter-tab{border-radius:var(--radius-lg);background:var(--surface-1);border:1px solid var(--surface-3);height:32px;color:var(--text-muted);cursor:pointer;transition:all .2s var(--ease-out);justify-content:center;align-items:center;padding:0 14px;font-size:.78rem;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-main);border-color:var(--surface-4);box-shadow:0 4px 12px var(--primary-glow)}.doc-card{background:var(--bg-sunken);border:1px solid var(--surface-2);border-radius:var(--radius-md);cursor:pointer;flex-direction:column;justify-content:space-between;padding:20px;transition:border-color .2s,background .2s;display:flex}.doc-card:hover{background:var(--bg-card-hover);border-color:var(--surface-4)}.check-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0}.check-btn.checked{color:var(--accent-green)}.status-badge{border-radius:var(--radius-lg);white-space:nowrap;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex}.status-completed{background:var(--tint-green);color:var(--accent-green-on-dark);border:1px solid var(--tint-green)}.status-progress{background:var(--primary-glow);color:var(--primary-on-dark);border:1px solid var(--primary-glow)}.status-pending{background:var(--tint-amber);color:var(--accent-amber-on-dark);border:1px solid var(--tint-amber)}.status-required{background:var(--tint-red);color:var(--accent-red-on-dark);border:1px solid var(--tint-red)}.speak-inline-btn{background:var(--surface-1);border:1px solid var(--border-subtle);color:var(--text-main);border-radius:var(--radius-md);cursor:pointer;padding:6px 12px;font-size:.8rem;font-weight:600}.speak-inline-btn:hover{background:var(--surface-3)}.modal-top-bar{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.modal-doc-title{color:var(--text-main);font-size:1.25rem;font-weight:700}.modal-footer-actions{border-top:1px solid var(--surface-2);justify-content:space-between;align-items:center;margin-top:20px;padding-top:16px;display:flex}.q-pill{border-radius:var(--radius-lg);background:var(--surface-1);border:1px solid var(--surface-3);height:32px;color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:all .2s var(--ease-out);flex-shrink:0;align-items:center;padding:0 14px;font-size:.78rem;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-main);border-color:var(--surface-4);box-shadow:0 4px 12px var(--primary-glow)}.score-btn{border-radius:var(--radius-md);cursor:pointer;background:var(--surface-1);border:1px solid var(--border-subtle);color:var(--text-muted);align-items:center;gap:4px;padding:6px 14px;font-size:.8rem;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);border-radius:var(--radius-lg);cursor:pointer;padding:6px 12px;font-size:.78rem;font-weight:700}.cat-btn.active{background:var(--accent-cyan);color:var(--text-main);border-color:var(--accent-cyan)}.audio-play-btn{background:var(--primary);color:var(--text-main);border-radius:var(--radius-lg);cursor:pointer;border:none;align-items:center;gap:6px;padding:6px 12px;font-size:.78rem;font-weight:600;display:flex}.input-group{margin-bottom:16px}.input-group label{color:var(--text-muted);margin-bottom:6px;font-size:.85rem;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{background:var(--surface-1);color:var(--text-muted);padding:10px 14px;font-size:.9rem;font-weight:700}.num-input{color:var(--text-main);background:0 0;border:none;outline:none;flex:1;padding:10px 12px;font-size:1rem;font-weight:700}.table-row{background:var(--shadow-weak);border-radius:var(--radius-md);grid-template-columns:2fr 1.5fr 1fr 2.5fr;align-items:center;gap:12px;padding:14px 12px;font-size:.85rem;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);border-radius:var(--radius-lg);cursor:pointer;padding:6px 14px;font-size:.85rem;font-weight:600}.comm-tab.active{background:var(--primary-glow);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);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-sunken-solid);border:1px solid var(--border-strong);border-radius:var(--radius-lg);width:100%;max-width:520px;max-height:min(85dvh,780px);box-shadow:var(--shadow-soft);flex-direction:column;padding:28px;display:flex}.modal-body-content{overscroll-behavior:contain;overflow-y:auto}.plat-btn{border-radius:var(--radius-lg);border:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;background:0 0;padding:6px 14px;font-size:.85rem;font-weight:600}.plat-btn.wa.active{background:var(--accent-green);color:var(--text-main);border-color:var(--accent-green)}.plat-btn.tg.active{background:var(--accent-cyan);color:var(--text-main);border-color:var(--accent-cyan)}.close-modal-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none}.chat-window{background:var(--bg-dark);flex-direction:column;height:480px;display:flex}.chat-bubble-wrapper{display:flex}.chat-bubble-wrapper.user{justify-content:flex-end}.chat-bubble-wrapper.bot{justify-content:flex-start}.chat-bubble{border-radius:var(--radius-lg);white-space:pre-wrap;max-width:80%;padding:12px 16px;font-size:.88rem;line-height:1.4}.chat-bubble.bot{background:var(--bg-elevated);color:var(--text-main);border-bottom-left-radius:var(--radius-sm)}.chat-bubble.user{background:var(--accent-green);color:var(--text-main);border-bottom-right-radius:var(--radius-sm)}.voice-bubble{border:1px dashed var(--surface-4)}.floating-bot-fab{bottom:calc(76px + env(safe-area-inset-bottom,0px));min-width:56px;min-height:56px;z-index:var(--layer-fab);background:var(--accent-green);color:var(--text-main);border-radius:var(--radius-pill);box-shadow:0 8px 25px var(--tint-green);cursor:pointer;border:none;align-items:center;gap:10px;padding:12px 20px;font-size:.9rem;font-weight:700;transition:transform .2s,opacity .2s;display:flex;position:fixed;right:24px}.floating-bot-fab:hover{transform:scale(1.04)}.mobile-nav-item{color:var(--text-muted);cursor:pointer;touch-action:manipulation;background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;min-width:48px;min-height:48px;padding:4px 8px;font-size:.72rem;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{border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;white-space:nowrap;transition:all .25s var(--ease-out);background:0 0;border:none;align-items:center;gap:6px;padding:6px 16px;font-size:.84rem;font-weight:700;display:flex}.segmented-track-btn:hover{color:var(--text-main);background:var(--surface-1)}.segmented-track-btn.active{background:linear-gradient(135deg, var(--primary), var(--primary-hover));color:var(--text-main);box-shadow:0 4px 14px var(--primary-glow), inset 0 1px 0 var(--surface-4)}@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:0 4px 14px var(--tint-green);border-radius:50%;justify-content:center;padding:0;right:14px}.section-card{border-radius:var(--radius-md);margin-bottom:20px;padding:16px 12px}.section-title{font-size:1.15rem}.section-header{gap:12px;margin-bottom:16px}.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:20px 16px calc(20px + env(safe-area-inset-bottom,0px));width:100%;max-width:none;margin:0}.modal-footer-actions{flex-direction:column;align-items:stretch;gap:10px}.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:.95rem}.table-row{flex-direction:column;align-items:flex-start;gap:8px;padding:14px;display:flex}.comm-tab{white-space:nowrap;min-height:40px}.lang-card{gap:8px;padding:10px}.lang-flag{font-size:1.3rem}.chat-window{height:calc(100vh - 120px)}}.step-dot{background:var(--surface-2);border:1px solid var(--border-strong);width:32px;height:32px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.step-dot.active{background:var(--accent-cyan);color:var(--text-main);border-color:var(--accent-cyan)}.lang-card{background:var(--surface-0);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);text-align:left;cursor:pointer;color:var(--text-main);align-items:center;gap:12px;padding:12px 14px;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{background:var(--surface-0);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);text-align:left;cursor:pointer;color:var(--text-main);align-items:flex-start;gap:16px;padding:16px;display:flex}.track-choice-card:hover,.track-choice-card.selected{background:var(--tint-primary);border-color:var(--primary)}.track-choice-card h4{color:var(--text-main);margin-bottom:4px;font-size:1.05rem;font-weight:700}.track-choice-card p{color:var(--text-muted);font-size:.85rem;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-main)}.cat-btn.active,.q-pill.active,.plat-btn.tg.active{background:var(--accent-cyan-strong);color:var(--text-main)}.tab-item,.mobile-nav-item{text-decoration:none}.tab-item:visited,.mobile-nav-item:visited{color:inherit}.app-shell{flex-direction:column;max-width:100vw;min-height:100vh;font-size:1rem;display:flex;overflow-x:hidden}.main-content{flex:1;width:100%;max-width:1300px;margin:0 auto;padding:24px 16px}.app-footer{border-top:1px solid var(--surface-2);text-align:center;color:var(--text-muted);background:var(--shadow-deep);margin-top:40px;padding:24px;font-size:.85rem}@media (width<=768px){.floating-bot-fab .fab-label{display:none}.main-content{padding:10px 10px calc(76px + env(safe-area-inset-bottom)) 10px}}.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);background:var(--primary);color:var(--text-main);border-radius:0 0 var(--radius-md) 10px;padding:12px 20px;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{background:var(--accent-amber);color:var(--bg-dark);z-index:var(--layer-offline);justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:700;display:flex;position:sticky;top:0}.install-prompt-btn{border-radius:var(--radius-pill);background:var(--accent-green);width:100%;min-height:44px;color:var(--text-main);cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;margin-top:16px;padding:12px 20px;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;--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-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;--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);--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;--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{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}
