.app-shell{flex-direction:column;min-width:0;min-height:100dvh;display:flex;overflow-x:clip}.skip-link{z-index:100;background:var(--brand);color:var(--on-brand);border-radius:10px;padding:.55rem .95rem;font-weight:600;text-decoration:none;position:absolute;top:.6rem;left:.75rem;transform:translateY(-250%)}.skip-link:focus{transform:none}.app-header{padding:.7rem 1rem;padding-top:max(.7rem, env(safe-area-inset-top));padding-left:max(1rem, env(safe-area-inset-left));padding-right:max(1rem, env(safe-area-inset-right));border-bottom:1px solid var(--border);background:var(--surface);z-index:10;justify-content:space-between;align-items:center;gap:.75rem;display:flex;position:sticky;top:0}.app-brand{letter-spacing:-.02em;color:var(--brand-fg);min-width:0;font-size:1.05rem;font-weight:700;text-decoration:none}.app-brand.active{color:var(--brand-fg)}.sign-out{background:var(--surface);border:1px solid var(--border);min-height:2.5rem;color:var(--text-muted);cursor:pointer;border-radius:999px;padding:.4rem .95rem;font-size:.88rem;font-weight:600}.sign-out:hover{border-color:var(--brand-fg);color:var(--brand-fg)}.app-main{flex:1;width:100%;min-width:0;max-width:720px;margin:0 auto;padding:1rem 1rem 1.35rem}.app-main:has(.auth-page){max-width:none;padding:0}.app-nav{border-top:1px solid var(--border);background:var(--surface);padding:.4rem .45rem;padding-bottom:max(.4rem, env(safe-area-inset-bottom));z-index:10;gap:.35rem;display:flex;position:sticky;bottom:0}.app-nav a{text-align:center;min-height:2.75rem;color:var(--text-muted);border-radius:12px;flex:1;justify-content:center;align-items:center;padding:.45rem .5rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.app-nav a.active{color:var(--brand-fg);background:var(--brand-soft)}.page-loading,.page-error,.page-empty{text-align:center;color:var(--text-muted);flex-direction:column;align-items:center;gap:.6rem;padding:2rem 1rem;display:flex}.page-error-detail,.page-empty-detail{margin:0;font-size:.9rem}.status-spinner,.audio-spinner{border:2px solid var(--brand-soft);border-top-color:var(--brand-fg);border-radius:999px;flex-shrink:0;width:1.1rem;height:1.1rem;animation:.7s linear infinite audio-spin;display:inline-block}.auth-page{justify-content:center;align-items:center;min-height:calc(100dvh - 4rem);padding:1.25rem 1rem 2rem;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);width:100%;max-width:400px;box-shadow:var(--shadow), inset 0 1px 0 #ffffff0a;border-radius:20px;padding:1.75rem 1.5rem}.auth-card h1{letter-spacing:-.03em;margin:0 0 .3rem;font-size:1.5rem}.auth-subtitle{color:var(--text-muted);margin:0 0 1.35rem}.auth-warning{background:var(--warning-soft);border:1px solid var(--warning-border);color:var(--warning);border-radius:12px;margin-bottom:1rem;padding:.7rem .8rem;font-size:.88rem}.auth-form{flex-direction:column;gap:.9rem;display:flex}.auth-form label{color:var(--text-muted);flex-direction:column;gap:.4rem;font-size:.88rem;font-weight:600;display:flex}.auth-form input{border:1px solid var(--border);background:var(--input-bg);width:100%;min-height:2.75rem;color:var(--text);border-radius:12px;padding:.7rem .8rem;font-size:1rem}.auth-form button{background:var(--brand);min-height:2.85rem;color:var(--on-brand);cursor:pointer;border:none;border-radius:12px;margin-top:.25rem;padding:.75rem 1rem;font-weight:700}.auth-form button:hover:not(:disabled){background:var(--brand-strong)}.auth-form button:disabled{opacity:.6;cursor:not-allowed}.auth-error{color:var(--danger);margin:0;font-size:.88rem}.auth-info{color:var(--success);margin:0;font-size:.88rem}.auth-switch{color:var(--brand-fg);cursor:pointer;text-align:center;background:0 0;border:none;width:100%;min-height:2.5rem;margin-top:1rem;font-size:.9rem;font-weight:600}.course-page{flex-direction:column;gap:1rem;display:flex}.course-intro{flex-direction:column;gap:.2rem;padding:.15rem .15rem .35rem;display:flex}.course-page-title{letter-spacing:-.03em;margin:0;font-size:1.45rem;line-height:1.25}.course-page-subtitle{color:var(--text-muted);margin:0;font-size:.95rem}.level-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow), inset 0 1px 0 #ffffff0a;border-radius:18px;min-width:0;padding:1.15rem 1.15rem 1rem}.level-card h2{letter-spacing:-.02em;margin:0 0 .3rem;font-size:1.12rem}.level-description{color:var(--text-muted);margin:0 0 .75rem;font-size:.85rem}.lesson-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.lesson-row{min-height:2.75rem;color:inherit;border-radius:12px;align-items:flex-start;gap:.75rem;padding:.7rem .65rem;text-decoration:none;transition:background-color .15s;display:flex}.lesson-row:hover,.lesson-row:focus-visible{background:var(--surface-hover)}.lesson-row-complete:hover,.lesson-row-complete:focus-visible{background:color-mix(in srgb, var(--success-soft) 70%, var(--surface-hover))}.lesson-row:focus-visible{outline:2px solid var(--brand-fg);outline-offset:1px}.lesson-row-main{flex-direction:column;flex:1;gap:.28rem;min-width:0;display:flex}.lesson-row-complete{background:var(--success-soft)}.lesson-progress{flex-direction:column;gap:.22rem;min-width:0;display:flex}.lesson-progress-meta{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.3rem .55rem;font-size:.75rem;line-height:1.2;display:flex}.lesson-progress-fraction,.lesson-progress-percent{white-space:nowrap}.lesson-progress-status{color:var(--success);font-weight:700}.lesson-progress-status-in-progress{color:var(--warning)}.lesson-progress-bar{height:4px}.lesson-row-complete .progress-bar-fill{background:var(--success)}.progress-unavailable{color:var(--text-muted);margin:0 0 .75rem;font-size:.85rem}.lesson-row-chevron{color:var(--text-muted);flex-shrink:0;margin-top:.15rem;margin-left:auto;font-size:1.1rem}.lesson-number{background:var(--brand-soft);width:1.6rem;height:1.6rem;color:var(--brand-fg);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;margin-top:.12rem;font-size:.8rem;font-weight:600;display:inline-flex}.lesson-title{overflow-wrap:anywhere;min-width:0;font-size:.97rem}.glass-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow), inset 0 1px 0 #ffffff0a;border-radius:16px;min-width:0}.back-link{color:var(--text-muted);align-items:center;gap:.3rem;min-height:2.5rem;padding:.35rem 0;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.back-link:hover,.back-link:focus-visible{color:var(--brand-fg)}.breadcrumb-nav{flex-wrap:wrap;gap:.25rem 1rem;margin-bottom:.5rem;display:flex}.level-pill,.part-type-pill,.source-section-type-pill{background:var(--brand-soft);color:var(--brand-fg);letter-spacing:.02em;text-transform:uppercase;overflow-wrap:anywhere;border-radius:999px;align-items:center;width:fit-content;max-width:100%;padding:.22rem .7rem;font-size:.75rem;font-weight:700;display:inline-flex}.lesson-number-badge{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;vertical-align:middle;margin-right:.6rem;font-size:.78rem;font-weight:600;display:inline-block}.section-heading{color:var(--text);margin:1.4rem 0 .6rem;font-size:.95rem;font-weight:700}.lesson-page{flex-direction:column;gap:.5rem;display:flex}.lesson-header{flex-direction:column;gap:.5rem;margin-top:.25rem;padding:1.25rem;display:flex}.lesson-header .lesson-title{letter-spacing:-.03em;margin:0;font-size:1.4rem;line-height:1.3;display:block}.lesson-description{color:var(--text-muted);margin:0;font-size:.92rem;line-height:1.5}.part-card-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.part-card{color:inherit;align-items:flex-start;gap:.85rem;padding:1rem 1.1rem;text-decoration:none;transition:transform .12s,box-shadow .12s;display:flex}.part-card:hover,.part-card:focus-visible{box-shadow:var(--shadow-hover);border-color:color-mix(in srgb, var(--brand) 35%, var(--border))}.part-card:focus-visible{outline:2px solid var(--brand-fg);outline-offset:2px}.part-card-number{background:var(--brand-soft);width:2rem;height:2rem;color:var(--brand-fg);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:inline-flex}.part-card-body{flex-direction:column;flex:1;gap:.35rem;min-width:0;display:flex}.part-card-title-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.part-card-title{overflow-wrap:anywhere;font-size:.95rem;font-weight:600}.part-card-description{color:var(--text-muted);font-size:.82rem;line-height:1.4}.part-card-complete{border-color:color-mix(in srgb, var(--success) 40%, var(--border))}.part-progress-status{letter-spacing:.01em;border-radius:999px;align-items:center;width:fit-content;max-width:100%;padding:.18rem .6rem;font-size:.72rem;font-weight:700;display:inline-flex}.part-progress-status-completed{background:var(--success-soft);color:var(--success);border:1px solid var(--success-border)}.part-progress-status-in_progress{background:var(--warning-soft);color:var(--warning);border:1px solid var(--warning-border)}.part-progress-status-not_started{background:var(--surface-muted);color:var(--text-muted);border:1px solid var(--border)}.part-card-chevron{color:var(--text-muted);flex-shrink:0;align-self:center;font-size:1.2rem}.part-page{flex-direction:column;gap:.5rem;display:flex}.part-header{flex-direction:column;gap:.6rem;padding:1.25rem;display:flex}.part-header-context{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.lesson-context-label{color:var(--text-muted);font-size:.85rem}.part-title{letter-spacing:-.03em;overflow-wrap:anywhere;margin:0;font-size:1.32rem;line-height:1.3;display:block}.part-meta-row{flex-wrap:wrap;gap:.5rem;display:flex}.knowledge-section{flex-direction:column;display:flex}.knowledge-empty{color:var(--text-muted);text-align:center;padding:1.1rem;font-size:.88rem}.vocabulary-list,.expression-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.vocabulary-item{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem .75rem;padding:.7rem .95rem;display:flex}.vocabulary-term{color:var(--text);overflow-wrap:anywhere;font-size:.92rem;font-weight:600}.vocabulary-translation{color:var(--text-muted);overflow-wrap:anywhere;text-align:right;font-size:.92rem}.expression-item{padding:0;overflow:hidden}.more-to-learn-lede{color:var(--text-muted);margin:0 0 .65rem;font-size:.88rem;line-height:1.45}.more-to-learn-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.more-to-learn-card{flex-direction:column;gap:.4rem;padding:.75rem .95rem;display:flex}.more-to-learn-card-header{flex-direction:column;align-items:flex-start;gap:.3rem;display:flex}.more-to-learn-type{background:var(--brand-soft);color:var(--brand-fg);letter-spacing:.02em;border-radius:999px;align-items:center;padding:.15rem .55rem;font-size:.72rem;font-weight:700;display:inline-flex}.more-to-learn-title{overflow-wrap:anywhere;margin:0;font-size:1rem;font-weight:600;line-height:1.35}.more-to-learn-meaning,.more-to-learn-note,.more-to-learn-example{overflow-wrap:anywhere;margin:0;font-size:.9rem;line-height:1.45}.more-to-learn-note,.more-to-learn-example{color:var(--text-muted)}.more-to-learn-structure{overflow-wrap:anywhere;background:var(--surface-hover);border-radius:.4rem;padding:.35rem .5rem;font-size:.85rem;display:block}.more-to-learn-forms,.more-to-learn-examples{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.more-to-learn-form{overflow-wrap:anywhere;flex-wrap:wrap;gap:.35rem .55rem;font-size:.88rem;display:flex}.more-to-learn-form-label{color:var(--text-muted);font-size:.75rem;font-weight:600}.more-to-learn-extra{color:var(--text-muted);margin-left:.4rem;font-size:.75rem;font-weight:600;display:inline-block}.more-to-learn-more-examples{font-size:.88rem}.expression-row{flex-wrap:wrap;align-items:center;gap:.4rem .6rem;padding:.7rem .95rem;display:flex}.expression-summary{cursor:pointer;list-style:none}.expression-summary::-webkit-details-marker{display:none}.expression-text{color:var(--text);overflow-wrap:anywhere;font-size:.92rem}.expression-tag{background:var(--surface-hover);color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;padding:.15rem .55rem;font-size:.7rem;font-weight:600;display:inline-flex}.expression-occurrence-badge{color:var(--brand-fg);margin-left:auto;font-size:.78rem;font-weight:700}.expression-occurrence-note{color:var(--text-muted);margin:0;padding:0 .95rem .75rem;font-size:.82rem}.grammar-list,.pattern-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.grammar-item,.pattern-item{flex-direction:column;gap:.35rem;padding:.7rem .95rem;display:flex}.grammar-name,.pattern-name{color:var(--text);overflow-wrap:anywhere;font-size:.92rem;font-weight:600}.grammar-description,.pattern-description{color:var(--text-muted);overflow-wrap:anywhere;margin:0;font-size:.85rem;line-height:1.5}.pattern-template{overflow-wrap:anywhere;background:var(--surface-hover);max-width:100%;color:var(--brand-fg);border-radius:8px;align-self:flex-start;padding:.2rem .55rem;font-size:.82rem}.source-content-section{flex-direction:column;display:flex}.source-unavailable{color:var(--text-muted);text-align:center;padding:1.1rem;font-size:.88rem}.source-section-list{flex-direction:column;gap:.75rem;display:flex}.source-section-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow), inset 0 1px 0 #ffffff0a;border-radius:14px;padding:1rem 1.1rem}.source-section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.source-section-pages{color:var(--text-muted);font-size:.78rem}.source-section-title{margin:0 0 .4rem;font-size:.95rem}.source-section-content{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text);margin:0;font-size:.9rem;line-height:1.7}.part-pager{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.75rem;display:grid}.pager-link{color:inherit;flex-direction:column;gap:.2rem;min-width:0;padding:.85rem 1rem;text-decoration:none;display:flex}.pager-next{text-align:right}.pager-link:not(.pager-disabled):hover,.pager-link:not(.pager-disabled):focus-visible{border-color:color-mix(in srgb, var(--brand) 35%, var(--border))}.pager-link:focus-visible{outline:2px solid var(--brand-fg);outline-offset:2px}.pager-disabled{opacity:.5}.pager-label{text-transform:uppercase;letter-spacing:.03em;color:var(--brand-fg);font-size:.72rem;font-weight:700}.pager-disabled .pager-label{color:var(--text-muted)}.pager-title{text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.85rem;display:-webkit-box;overflow:hidden}@media (width<=480px){.part-pager{grid-template-columns:1fr}.pager-next{text-align:left}}.practice-cta-button{background:var(--brand);min-height:2.75rem;color:var(--on-brand);border-radius:999px;justify-content:center;align-self:flex-start;align-items:center;max-width:100%;padding:.6rem 1.15rem;font-size:.9rem;font-weight:700;text-decoration:none;display:inline-flex}.practice-cta-button:hover,.practice-cta-button:focus-visible{opacity:.92}.practice-empty{color:var(--text-muted);text-align:center;flex-direction:column;align-items:center;gap:.75rem;padding:1.4rem 1.1rem;font-size:.9rem;display:flex}.today-queue-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.today-queue-item{flex-direction:column;gap:.25rem;min-width:0;padding:.9rem 1rem;display:flex}.today-queue-item-title{overflow-wrap:anywhere;font-weight:700}.today-queue-item-meta{color:var(--text-muted);overflow-wrap:anywhere;font-size:.85rem}.today-actions{flex-wrap:wrap;gap:.6rem;display:flex}.today-hydration-warning{background:var(--brand-soft);color:var(--text);overflow-wrap:anywhere;border-radius:12px;margin:0;padding:.75rem .9rem;font-size:.88rem}.today-progress-link{color:var(--brand-fg);font-weight:600}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button.back-link{cursor:pointer;font:inherit;background:0 0;border:0}.today-empty-hint,.today-resume-hint,.today-resume-progress{color:var(--text-muted);overflow-wrap:anywhere;margin:0;font-size:.9rem}.today-lane-counts{flex-wrap:wrap;gap:.45rem;margin:.35rem 0 0;padding:0;list-style:none;display:flex}.today-lane-count{border:1px solid var(--border);background:var(--surface-muted);border-radius:999px;align-items:baseline;gap:.35rem;min-height:2.5rem;padding:.35rem .65rem;font-size:.82rem;display:inline-flex}.today-lane-count-label,.today-lane-tag{letter-spacing:.02em;text-transform:uppercase;font-size:.72rem;font-weight:700}.today-lane-count-value{font-weight:700}.today-lane-tag{border:1px solid var(--border);background:var(--surface-muted);color:var(--text);border-radius:999px;align-items:center;padding:.22rem .55rem;display:inline-flex}.today-lane-tag-new,.today-lane-count-new{border-style:dashed}.today-lane-tag-weak,.today-lane-count-weak{border-width:2px}.practice-secondary-button{border:1px solid var(--border);min-height:2.75rem;color:var(--text);cursor:pointer;background:0 0;border-radius:999px;padding:.65rem 1.2rem;font-size:.9rem;font-weight:600}.practice-secondary-button:hover,.practice-secondary-button:focus-visible{border-color:color-mix(in srgb, var(--brand) 40%, var(--border));color:var(--brand-fg)}.today-session-summary{flex-direction:column;gap:.85rem;display:flex}.today-summary-total{margin:0;font-size:1rem}.today-summary-block h3{margin:0 0 .35rem;font-size:.92rem}.today-summary-block p{color:var(--text-muted);overflow-wrap:anywhere;margin:0;font-size:.9rem}a.practice-primary-button{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.practice-deck{flex-direction:column;gap:.85rem;margin-top:.5rem;padding-bottom:5.5rem;display:flex}.practice-progress{align-items:center;gap:.75rem;display:flex}.practice-progress-text{color:var(--text-muted);white-space:nowrap;font-size:.78rem;font-weight:600}.practice-progress-bar{background:var(--surface-hover);border-radius:999px;flex:1;min-width:0;height:6px;overflow:hidden}.practice-progress-fill{background:var(--brand);border-radius:999px;height:100%;transition:width .2s}.practice-card{flex-direction:column;gap:.85rem;min-width:0;padding:1.25rem;display:flex}.practice-card-tags{flex-wrap:wrap;gap:.4rem;display:flex}.practice-kind-tag,.practice-part-tag,.practice-origin-tag{background:var(--brand-soft);color:var(--brand-fg);text-transform:uppercase;letter-spacing:.02em;overflow-wrap:anywhere;border-radius:999px;align-items:center;max-width:100%;padding:.22rem .65rem;font-size:.75rem;font-weight:700;display:inline-flex}.practice-part-tag,.practice-origin-tag{background:var(--surface-hover);color:var(--text-muted);text-transform:none;letter-spacing:normal}.practice-card-productive,.practice-card-contrast,.practice-card-self-check{border-color:color-mix(in srgb, var(--brand) 35%, var(--border))}.practice-prompt{letter-spacing:-.02em;color:var(--text);overflow-wrap:anywhere;margin:0;font-size:1.2rem;font-weight:700;line-height:1.4}.practice-instruction{color:var(--text-muted);margin:-.5rem 0 0;font-size:.82rem}.practice-options{flex-direction:column;gap:.5rem;display:flex}.practice-option{border:1px solid var(--border);background:var(--surface-muted);min-height:2.75rem;color:var(--text);text-align:left;cursor:pointer;overflow-wrap:anywhere;border-radius:12px;width:100%;min-width:0;padding:.75rem .95rem;font-size:.97rem}.practice-option:not(:disabled):hover,.practice-option:not(:disabled):focus-visible{border-color:color-mix(in srgb, var(--brand) 45%, var(--border));background:var(--surface-hover)}.practice-option:disabled{cursor:default}.practice-option-correct{border-color:var(--success-border);background:var(--success-soft);color:var(--success)}.practice-option-incorrect{border-color:var(--danger-border);background:var(--danger-soft);color:var(--danger)}.practice-reveal-button{border:1px solid var(--border);background:var(--surface-hover);min-height:2.75rem;color:var(--text);cursor:pointer;border-radius:999px;align-self:flex-start;max-width:100%;padding:.65rem 1.15rem;font-size:.92rem;font-weight:600}.practice-reveal-button:hover,.practice-reveal-button:focus-visible{border-color:color-mix(in srgb, var(--brand) 40%, var(--border))}.practice-answer{color:var(--text);overflow-wrap:anywhere;margin:0;font-size:1rem;line-height:1.5}.practice-secondary{overflow-wrap:anywhere;background:var(--surface-hover);max-width:100%;color:var(--brand-fg);border-radius:8px;align-self:flex-start;padding:.2rem .55rem;font-size:.82rem}.practice-secondary-tag{background:var(--surface-hover);color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;border-radius:999px;align-items:center;width:fit-content;padding:.15rem .55rem;font-size:.7rem;font-weight:600;display:inline-flex}.practice-self-assess{flex-wrap:wrap;gap:.6rem;display:flex}.practice-self-check-models{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.practice-self-check-model{border:1px dashed var(--border);background:var(--surface-muted);border-radius:12px;flex-direction:column;gap:.2rem;min-width:0;padding:.65rem .8rem;display:flex}.practice-self-check-model-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);font-size:.7rem;font-weight:700}.practice-self-check-model-text{overflow-wrap:anywhere;color:var(--text);font-size:.97rem;line-height:1.4}.practice-self-check-teaching{color:var(--text-muted);overflow-wrap:anywhere;margin:0;font-size:.82rem}.practice-feedback-self-check{color:var(--text-muted)}.practice-assess-button{border:1px solid var(--border);background:var(--surface-muted);cursor:pointer;border-radius:12px;flex:140px;min-width:0;min-height:2.75rem;padding:.7rem .9rem;font-size:.92rem;font-weight:600}.practice-assess-positive{color:var(--success)}.practice-assess-positive:hover,.practice-assess-positive:focus-visible{border-color:var(--success-border);background:var(--success-soft)}.practice-assess-negative{color:var(--danger)}.practice-assess-negative:hover,.practice-assess-negative:focus-visible{border-color:var(--danger-border);background:var(--danger-soft)}.practice-feedback{overflow-wrap:anywhere;margin:0;font-size:.9rem;font-weight:600}.practice-feedback-correct{color:var(--success)}.practice-feedback-incorrect{color:var(--danger)}.practice-advance-row{flex-wrap:wrap;gap:.6rem;display:flex}.practice-retry-button,.practice-skip-button,.practice-submit-button{min-height:var(--touch);cursor:pointer;border-radius:12px;flex:140px;max-width:100%;padding:.8rem 1rem;font-size:.98rem;font-weight:700}.practice-retry-button{border:1px solid var(--border);background:var(--surface-hover);color:var(--text)}.practice-skip-button{border:1px solid var(--border);background:var(--surface-muted);color:var(--text)}.practice-submit-button{background:var(--brand);color:var(--on-brand);border:none}.practice-submit-button:disabled{opacity:.6;cursor:not-allowed}.practice-productive-form{flex-direction:column;gap:.55rem;min-width:0;display:flex}.practice-productive-label{color:var(--text-muted);font-size:.78rem;font-weight:700}.practice-productive-input{border:1px solid var(--border);background:var(--input-bg);width:100%;min-width:0;min-height:4.5rem;color:var(--text);resize:vertical;overflow-wrap:anywhere;border-radius:12px;padding:.75rem .85rem;font-size:1rem;line-height:1.45}.practice-productive-input:disabled{opacity:.85}.practice-productive-cue{font-family:var(--font-fa)}.practice-productive-feedback-slot{min-height:.5rem}.practice-productive-feedback{flex-direction:column;gap:.45rem;display:flex}.practice-outcome-chip{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;align-self:flex-start;padding:.22rem .65rem;font-size:.75rem;font-weight:700;display:inline-flex}.practice-outcome-correct{background:var(--success-soft);color:var(--success)}.practice-outcome-almost{background:var(--warning-soft);color:var(--warning)}.practice-outcome-incorrect{background:var(--danger-soft);color:var(--danger)}.practice-feedback-line,.practice-previous-attempt{flex-direction:column;gap:.15rem;min-width:0;margin:0;display:flex}.practice-feedback-label{letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);font-size:.72rem;font-weight:700}.practice-feedback-value{overflow-wrap:anywhere;white-space:pre-wrap;font-size:.92rem}.practice-feedback-hint{color:var(--text-muted);overflow-wrap:anywhere;margin:0;font-size:.82rem}.practice-next-button{background:var(--brand);min-height:2.85rem;color:var(--on-brand);cursor:pointer;border:none;border-radius:12px;align-self:stretch;padding:.8rem 1rem;font-size:.98rem;font-weight:700}.practice-next-button:hover,.practice-next-button:focus-visible{opacity:.92}.practice-summary{text-align:center;flex-direction:column;align-items:center;gap:.6rem;margin-top:.5rem;margin-bottom:5.5rem;padding:1.5rem 1.25rem;display:flex}.practice-summary-kicker{letter-spacing:.04em;text-transform:uppercase;color:var(--brand-fg);margin:0;font-size:.78rem;font-weight:700}.practice-summary-title{letter-spacing:-.02em;margin:0;font-size:1.25rem}.practice-summary-score{color:var(--text-muted);margin:0;font-size:1rem}.practice-summary-actions{flex-wrap:wrap;justify-content:center;gap:.6rem;width:100%;margin-top:.5rem;display:flex}.practice-primary-button{background:var(--brand);min-height:2.75rem;color:var(--on-brand);cursor:pointer;border:none;border-radius:999px;padding:.65rem 1.2rem;font-size:.9rem;font-weight:700}.practice-primary-button:hover,.practice-primary-button:focus-visible{opacity:.92}.practice-secondary-link{border:1px solid var(--border);min-height:2.75rem;color:var(--text);border-radius:999px;align-items:center;padding:.65rem 1.2rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.practice-secondary-link:hover,.practice-secondary-link:focus-visible{border-color:color-mix(in srgb, var(--brand) 40%, var(--border));color:var(--brand-fg)}.pronunciation-section{flex-direction:column;gap:.65rem;min-width:0;margin-top:.35rem;display:flex}.pronunciation-intro,.pronunciation-progress-text{color:var(--text-muted);overflow-wrap:anywhere;margin:0;font-size:.88rem}.pronunciation-progress-text{font-weight:600}.pronunciation-card{flex-direction:column;gap:.85rem;min-width:0;padding:1.05rem 1.05rem 1.15rem;display:flex}.pronunciation-card-tags{flex-wrap:wrap;gap:.4rem;display:flex}.pronunciation-kind-tag,.pronunciation-origin-tag,.pronunciation-part-tag{letter-spacing:.03em;text-transform:uppercase;overflow-wrap:anywhere;border-radius:999px;padding:.2rem .5rem;font-size:.72rem;font-weight:700}.pronunciation-kind-tag{background:var(--brand-soft);color:var(--brand-fg)}.pronunciation-origin-tag,.pronunciation-part-tag{background:var(--surface-hover);color:var(--text-muted)}.pronunciation-target-text{letter-spacing:-.02em;overflow-wrap:anywhere;margin:0;font-size:1.22rem;font-weight:700;line-height:1.35}.pronunciation-stage{flex-direction:column;gap:.45rem;min-width:0;display:flex}.pronunciation-stage-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.78rem;font-weight:700}.pronunciation-audio-unavailable,.pronunciation-notice-empty,.pronunciation-notice-model,.pronunciation-produce-note,.pronunciation-repeat-count,.pronunciation-produce-count,.pronunciation-log-error{overflow-wrap:anywhere;margin:0;font-size:.88rem}.pronunciation-audio-unavailable,.pronunciation-notice-empty,.pronunciation-produce-note{color:var(--text-muted)}.pronunciation-notice-model{color:var(--text)}.pronunciation-notice-list,.pronunciation-feedback-list{overflow-wrap:anywhere;margin:0;padding-left:1.1rem;font-size:.88rem}.pronunciation-repeat-row,.pronunciation-advance-row{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.pronunciation-repeat-button,.pronunciation-produce-button,.pronunciation-retry-button,.pronunciation-next-button{min-height:var(--touch);min-width:var(--touch);cursor:pointer;border-radius:12px;padding:.65rem 1rem;font-size:.95rem;font-weight:700}.pronunciation-repeat-button,.pronunciation-retry-button{border:1px solid var(--border);background:var(--surface-hover);color:var(--text)}.pronunciation-repeat-button:hover,.pronunciation-repeat-button:focus-visible,.pronunciation-retry-button:hover,.pronunciation-retry-button:focus-visible{border-color:color-mix(in srgb, var(--brand) 40%, var(--border));color:var(--brand-fg)}.pronunciation-produce-button,.pronunciation-next-button{background:var(--brand);color:var(--on-brand);border:none}.pronunciation-produce-button:hover,.pronunciation-produce-button:focus-visible,.pronunciation-next-button:hover,.pronunciation-next-button:focus-visible{opacity:.92}.pronunciation-produce-button:disabled{opacity:.55;cursor:not-allowed}.pronunciation-log-error{color:var(--danger)}.pronunciation-feedback-slot{min-height:0}.pronunciation-feedback{background:var(--surface-muted);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.4rem;padding:.75rem .85rem;display:flex}.pronunciation-feedback-kicker{letter-spacing:.04em;text-transform:uppercase;color:var(--brand-fg);margin:0;font-size:.75rem;font-weight:700}.pronunciation-feedback p{overflow-wrap:anywhere;margin:0;font-size:.88rem}.pronunciation-section .audio-player{margin:0}@media (width>=768px){.pronunciation-repeat-button,.pronunciation-produce-button,.pronunciation-retry-button,.pronunciation-next-button{align-self:flex-start}}.progress-page{flex-direction:column;gap:.5rem;display:flex}.progress-summary-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;display:grid}.progress-stat-card{flex-direction:column;gap:.4rem;min-width:0;padding:1rem;display:flex}.progress-stat-label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-size:.8rem;font-weight:700}.progress-stat-value{letter-spacing:-.02em;color:var(--text);overflow-wrap:anywhere;font-size:1.22rem;font-weight:700}.progress-stat-detail{color:var(--text-muted);font-size:.8rem}.progress-bar{background:var(--surface-hover);border-radius:999px;width:100%;height:6px;overflow:hidden}.progress-bar-fill{background:var(--brand);border-radius:999px;height:100%}.progress-level-list{flex-direction:column;gap:.65rem;display:flex}.progress-level-card{flex-direction:column;gap:.6rem;padding:1rem 1.1rem;display:flex}.progress-level-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;min-height:2.5rem;font-weight:600;list-style:none;display:flex}.progress-level-summary::-webkit-details-marker{display:none}.progress-level-name{overflow-wrap:anywhere;flex:1;min-width:0;font-size:.98rem}.progress-level-fraction{color:var(--text-muted);white-space:nowrap;font-size:.8rem}.progress-lesson-list{flex-direction:column;gap:.3rem;margin:.25rem 0 0;padding:0;list-style:none;display:flex}.progress-lesson-row{color:inherit;border-radius:8px;justify-content:space-between;align-items:center;gap:.6rem;padding:.45rem .5rem;font-size:.85rem;text-decoration:none;display:flex}.progress-lesson-row:hover,.progress-lesson-row:focus-visible{background:var(--surface-hover)}.progress-lesson-title{overflow-wrap:anywhere;min-width:0}.progress-lesson-fraction{color:var(--text-muted);white-space:nowrap;flex-shrink:0}.progress-srs{flex-direction:column;gap:.75rem;min-width:0;display:flex}.progress-srs-intro,.progress-srs-kicker,.progress-srs-empty,.progress-srs-empty-detail,.progress-srs-live-hint{color:var(--text-muted);overflow-wrap:anywhere;margin:0;font-size:.88rem}.progress-srs-empty{color:var(--text)}.progress-srs-block{flex-direction:column;gap:.7rem;min-width:0;padding:1rem 1.1rem;display:flex}.progress-srs-figures{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem 1rem;display:grid}.progress-srs-figure{flex-direction:column;gap:.2rem;min-width:0;display:flex}.progress-srs-figure-label{text-transform:uppercase;letter-spacing:.03em;color:var(--text-muted);font-size:.75rem;font-weight:700}.progress-srs-figure-value{color:var(--text);overflow-wrap:anywhere;font-size:1.05rem;font-weight:700}.progress-srs-figure-detail{color:var(--text-muted);overflow-wrap:anywhere;font-size:.78rem}.progress-srs-subheading{margin:.25rem 0 0;font-size:.86rem;font-weight:700}.progress-srs-count-list{flex-direction:column;gap:.28rem;margin:0;padding:0;list-style:none;display:flex}.progress-srs-count-list li{justify-content:space-between;gap:.75rem;font-size:.88rem;display:flex}.progress-srs-count-list li span:last-child{color:var(--text-muted);flex-shrink:0}.progress-srs-preview-summary,.progress-srs-terms-summary,.progress-srs-visibility-summary{cursor:pointer;align-items:center;gap:.55rem;min-height:2.5rem;font-weight:600;list-style:none;display:flex}.progress-srs-preview-summary::-webkit-details-marker{display:none}.progress-srs-terms-summary::-webkit-details-marker{display:none}.progress-srs-visibility-summary::-webkit-details-marker{display:none}.progress-srs-preview-list{flex-direction:column;gap:.45rem;margin:.35rem 0 0;padding:0 0 0 1.15rem;display:flex}.progress-srs-preview-list li{overflow-wrap:anywhere}.progress-srs-preview-title{font-size:.9rem;font-weight:600;display:block}.progress-srs-preview-meta{color:var(--text-muted);font-size:.78rem;display:block}.progress-srs-terms-list{flex-direction:column;gap:.55rem;margin:.35rem 0 0;display:flex}.progress-srs-term dt{text-transform:capitalize;font-weight:700}.progress-srs-term dd{color:var(--text-muted);margin:.15rem 0 0;font-size:.82rem}.progress-srs-visibility{min-width:0}.progress-srs-visibility-summary{cursor:pointer;overflow-wrap:anywhere;align-items:center;gap:.55rem;min-height:2.5rem;font-weight:600;list-style:none;display:flex}.progress-srs-visibility-summary::-webkit-details-marker{display:none}.progress-srs-visibility-list{flex-direction:column;gap:.65rem;margin:.35rem 0 0;padding:0;list-style:none;display:flex}.progress-srs-visibility-item{overflow-wrap:anywhere;min-width:0}.progress-srs-visibility-title{font-size:.9rem;font-weight:600;display:block}.progress-srs-visibility-meta,.progress-srs-visibility-note{color:var(--text-muted);font-size:.78rem;display:block}.progress-srs-visibility-note{margin-top:.15rem}.audio-section,.ai-section{flex-direction:column;min-width:0;display:flex}.audio-section-heading-row,.ai-section-heading-row{justify-content:space-between;align-items:center;gap:.5rem;margin:1.4rem 0 .6rem;display:flex}.audio-section-heading-row .section-heading,.ai-section-heading-row .section-heading{margin:0}.audio-manage-toggle,.ai-toggle-button{background:var(--surface);border:1px solid var(--border);min-height:2.5rem;color:var(--brand-fg);cursor:pointer;border-radius:999px;flex-shrink:0;padding:.35rem .9rem;font-size:.84rem;font-weight:700}.audio-manage-toggle:hover,.ai-toggle-button:hover{border-color:var(--brand)}.audio-loading,.audio-error,.audio-empty,.ai-panel-scope-note{color:var(--text-muted);text-align:center;padding:1.1rem;font-size:.88rem}.audio-loading{justify-content:center;align-items:center;gap:.5rem;display:flex}.audio-player-list{flex-direction:column;gap:.65rem;display:flex}.audio-player{flex-direction:column;gap:.7rem;min-width:0;padding:.95rem 1.05rem;display:flex}.audio-player-header{align-items:center;gap:.5rem;min-width:0;display:flex}.audio-color-dot{border-radius:999px;flex-shrink:0;width:.6rem;height:.6rem}.audio-player-title{overflow-wrap:anywhere;min-width:0;font-size:.95rem;font-weight:700}.audio-controls-row{justify-content:center;align-items:center;gap:1rem;display:flex}.audio-skip-button{background:var(--surface-hover);border:1px solid var(--border);min-width:2.75rem;min-height:2.75rem;color:var(--text-muted);cursor:pointer;border-radius:999px;font-size:.75rem;font-weight:600}.audio-skip-button:disabled{opacity:.5;cursor:not-allowed}.audio-play-button{background:var(--brand);color:var(--on-brand);cursor:pointer;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:3.25rem;height:3.25rem;font-size:1.1rem;display:flex}.audio-progress-row{align-items:center;gap:.6rem;min-width:0;display:flex}.audio-time{color:var(--text-muted);font-variant-numeric:tabular-nums;flex-shrink:0;width:2.75rem;font-size:.8rem}.audio-time:last-child{text-align:right}.audio-seek{min-width:0;accent-color:var(--brand);touch-action:manipulation;flex:1;height:1.75rem}.audio-speed-row{flex-wrap:wrap;justify-content:center;gap:.4rem;display:flex}.audio-speed-button{background:var(--surface-hover);border:1px solid var(--border);min-width:2.75rem;min-height:2.25rem;color:var(--text-muted);cursor:pointer;border-radius:999px;padding:.3rem .7rem;font-size:.8rem;font-weight:700}.audio-speed-button.active{background:var(--brand-soft);color:var(--brand-fg);border-color:#0000}@keyframes audio-spin{to{transform:rotate(360deg)}}.audio-error-state,.audio-player-unavailable{text-align:center;color:var(--text-muted);padding:.4rem 0;font-size:.85rem}.audio-unavailable-text{margin:.3rem 0 0}.audio-retry-button{background:var(--brand-soft);color:var(--brand-fg);cursor:pointer;border:none;border-radius:999px;margin-top:.5rem;padding:.4rem .9rem;font-size:.8rem;font-weight:600}.audio-manager{flex-direction:column;gap:.85rem;margin-top:.65rem;padding:1rem 1.05rem;display:flex}.audio-manager-heading{margin:0;font-size:.9rem}.audio-manager-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.audio-manager-item{border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.5rem;min-width:0;padding:.5rem .6rem;display:flex}.audio-manager-item-title{overflow-wrap:anywhere;flex:1;min-width:0;font-size:.85rem;font-weight:600}.audio-status-pill{text-transform:uppercase;background:var(--surface-hover);color:var(--text-muted);border-radius:999px;flex-shrink:0;padding:.1rem .5rem;font-size:.68rem;font-weight:700}.audio-status-active{background:var(--success-soft);color:var(--success)}.audio-manager-item-actions{flex-wrap:wrap;gap:.35rem;width:100%;display:flex}.audio-manager-item-actions button{background:var(--surface-hover);border:1px solid var(--border);cursor:pointer;color:var(--text);border-radius:8px;min-height:2.5rem;padding:.4rem .7rem;font-size:.8rem;font-weight:600}.audio-manager-item-actions button:disabled{opacity:.5;cursor:not-allowed}.audio-manager-delete{color:var(--danger)!important}.audio-manager-form{border-top:1px solid var(--border);flex-direction:column;gap:.65rem;padding-top:.5rem;display:flex}.audio-manager-form label{color:var(--text-muted);flex-direction:column;gap:.3rem;font-size:.8rem;display:flex}.audio-manager-form input{border:1px solid var(--border);background:var(--input-bg);width:100%;min-width:0;color:var(--text);border-radius:8px;padding:.5rem .65rem;font-size:.9rem}.audio-color-picker{gap:.5rem;display:flex}.audio-color-swatch{cursor:pointer;border:2px solid #0000;border-radius:999px;width:2rem;height:2rem}.audio-color-swatch.selected{border-color:var(--text)}.audio-manager-error{color:var(--danger);margin:0;font-size:.82rem}.audio-manager-form-actions{flex-wrap:wrap;gap:.5rem;display:flex}.audio-manager-form-actions button{background:var(--brand);min-height:2.75rem;color:var(--on-brand);cursor:pointer;border:none;border-radius:10px;padding:.65rem 1rem;font-size:.88rem;font-weight:700}.audio-manager-form-actions button:disabled{opacity:.6;cursor:not-allowed}.audio-manager-form-actions button:last-child:not(:only-child){background:var(--surface-hover);color:var(--text-muted)}.ai-panel{flex-direction:column;gap:.85rem;min-width:0;margin-top:.4rem;padding:1rem 1.05rem;display:flex}.ai-panel-scope-note{text-align:left;overflow-wrap:anywhere;padding:0;font-style:italic}.ai-provider-row{flex-wrap:wrap;align-items:center;gap:.55rem;min-width:0;display:flex}.ai-provider-label{color:var(--text-muted);flex-shrink:0;font-size:.84rem;font-weight:600}.ai-provider-select{border:1px solid var(--border);background:var(--input-bg);min-width:0;max-width:16rem;min-height:2.5rem;color:var(--text);border-radius:10px;flex:10rem;padding:.35rem .65rem;font-family:inherit;font-size:.88rem}.ai-provider-select:focus-visible{outline:2px solid var(--brand-fg);outline-offset:1px}.ai-provider-select:disabled{opacity:.6}.ai-question-form{flex-direction:column;gap:.6rem;display:flex}.ai-question-label{color:var(--text-muted);font-size:.88rem;font-weight:600}.ai-question-input{border:1px solid var(--border);resize:vertical;background:var(--input-bg);width:100%;min-height:4rem;color:var(--text);border-radius:12px;padding:.7rem .8rem;font-family:inherit;font-size:1rem}.ai-question-input:focus-visible{outline:2px solid var(--brand-fg);outline-offset:1px}.ai-question-actions{flex-wrap:wrap;gap:.5rem;display:flex}.ai-question-actions button{border:1px solid var(--border);background:var(--brand);min-height:2.75rem;color:var(--on-brand);cursor:pointer;border-color:#0000;border-radius:10px;padding:.65rem .95rem;font-size:.88rem;font-weight:700}.ai-question-actions button[type=button]{background:var(--surface-hover);color:var(--text)}.ai-question-actions button:disabled{opacity:.6;cursor:not-allowed}.ai-clear-button{margin-left:auto}.ai-response-area{border-top:1px solid var(--border);min-width:0;padding-top:.75rem}.ai-empty-state{color:var(--text-muted);margin:0;font-size:.92rem;line-height:1.5}.ai-loading-state{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.92rem;display:flex}.ai-answer-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 .6rem;font-size:.97rem;line-height:1.65}.ai-answer-meta{flex-wrap:wrap;gap:.4rem;display:flex}.ai-trust-pill,.ai-cached-pill,.ai-provider-pill{background:var(--brand-soft);color:var(--brand-fg);border-radius:999px;align-items:center;padding:.2rem .65rem;font-size:.75rem;font-weight:700;display:inline-flex}.ai-cached-pill,.ai-provider-pill{background:var(--surface-hover);color:var(--text-muted)}.ai-fallback-state{color:var(--warning);font-size:.88rem}.ai-fallback-state p{margin:0 0 .3rem}.ai-fallback-note{color:var(--text-muted)!important;font-size:.85rem!important}.disclosure-chevron{width:1.1rem;color:var(--text-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.disclosure-chevron:before{content:"▸";font-size:.85rem}details[open]>.disclosure-chevron:before,details[open]>.progress-level-summary>.disclosure-chevron:before,details[open]>summary>.disclosure-chevron:before{content:"▾"}.expression-tag{font-size:.75rem}.pager-link{min-height:4.25rem}.section-heading{font-size:1rem}@media (width<=480px){.app-main{padding:.85rem .85rem 1.15rem}.course-page-title,.lesson-header .lesson-title,.part-title{font-size:1.22rem}.practice-self-assess{flex-direction:column}.practice-retry-button,.practice-skip-button,.practice-submit-button,.practice-next-button{flex:100%}.practice-assess-button{flex:auto}.practice-summary-actions,.today-actions{flex-direction:column;align-items:stretch}.today-actions .practice-cta-button,.today-actions .practice-secondary-button,.practice-primary-button,.practice-secondary-link{justify-content:center;width:100%}.audio-controls-row{gap:.75rem}.ai-provider-select{flex:100%;max-width:none}.ai-question-actions button{flex:auto}.ai-clear-button{margin-left:0}.progress-summary-grid{grid-template-columns:1fr}.progress-srs-figures{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=768px){.app-main{padding:1.35rem 1.25rem 1.75rem}.progress-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.progress-srs-figures{grid-template-columns:repeat(4,minmax(0,1fr))}.part-pager{grid-template-columns:1fr 1fr}}@media (width>=960px){.app-main{max-width:760px}}:root{--canvas:#0f1623;--surface:#1a2333;--surface-hover:#243044;--surface-muted:#151d2b;--input-bg:#121a28;--border:#2f3d54;--border-strong:#3d4f6a;--text:#e8eef8;--text-muted:#a9b6c9;--brand:#4f46e5;--brand-strong:#6366f1;--brand-soft:#262e4d;--brand-fg:#c7d2fe;--on-brand:#f8fafc;--success:#4ade80;--success-soft:#163226;--success-border:#22c55e;--danger:#f87171;--danger-soft:#3a1c22;--danger-border:#ef4444;--warning:#fbbf24;--warning-soft:#3a2c14;--warning-border:#d97706;--radius:16px;--radius-sm:12px;--shadow:0 10px 28px #02060e73;--shadow-hover:0 14px 32px #02060e8c;--touch:2.75rem;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-fa:"Segoe UI", Tahoma, "Noto Naskh Arabic", "Noto Sans Arabic", "Geeza Pro", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}html,body{background:var(--canvas);color:var(--text);font-family:var(--font);-webkit-tap-highlight-color:transparent;margin:0;font-size:16px;line-height:1.5}body{min-height:100dvh}#root{min-width:0;min-height:100dvh;overflow-x:clip}[lang=fa],[dir=rtl]{font-family:var(--font-fa)}:focus-visible{outline:2px solid var(--brand-fg);outline-offset:2px}button:focus:not(:focus-visible),a:focus:not(:focus-visible),input:focus:not(:focus-visible),textarea:focus:not(:focus-visible),summary:focus:not(:focus-visible){outline:none}button,a,input,textarea,select,summary{touch-action:manipulation}input,textarea,select{background-color:var(--input-bg);color:var(--text);caret-color:var(--brand-fg)}::placeholder{color:var(--text-muted);opacity:.85}::selection{background:color-mix(in srgb, var(--brand) 38%, transparent);color:var(--text)}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
