:root,[data-theme=dark]{--app-bg:#020d1a;--panel-bg:#122031;--panel-muted:#1f2a37;--panel-border:#27303e;--table-border:#374151;--table-header:#1f2a37;--text-main:#fff;--text-secondary:#9ca3af;--accent-text:#fff;--accent-soft:#ffffff1a;--primary:#5750f1;--line:var(--panel-border);--ink:var(--text-main);--blue:var(--primary);--note-bg:#1f2a37;--note-text:#fff;color-scheme:dark}[data-theme=light]{--app-bg:#f3f4f6;--panel-bg:#fff;--panel-muted:#f3f4f6;--panel-border:#e6ebf1;--table-border:#eee;--table-header:#f7f9fc;--text-main:#111111;--text-secondary:#374151;--accent-text:#5750f1;--accent-soft:rgba(87,80,241,.07);--primary:#5750f1;--line:var(--panel-border);--ink:var(--text-main);--blue:var(--primary);--note-bg:#fffbeb;--note-text:#111928;color-scheme:light}.app-shell,body,html{background:var(--app-bg);color:var(--text-main)}.sidebar,.topbar{background:var(--panel-bg);box-shadow:none}.sidebar,.sidebar-bottom,.topbar{border-color:var(--panel-border)}.brand,.breadcrumbs strong,.detail-header h1,.study-top h2{color:var(--text-main)}.sidebar-mobile-toggle{background:var(--panel-muted);color:var(--text-main);border-color:var(--panel-border)}.card-icon,.empty-icon,.folder-card .folder-icon,.quiz-illustration{background:var(--panel-muted);color:var(--text-secondary)}.home-page h1 span{color:var(--text-main)}.brand-mark{background:var(--primary);color:#fff}.back-link,.brand small,.breadcrumbs,.breadcrumbs button,.category-link,.category-link em,.detail-header p,.folder-actions button,.folder-toggle,.hero-copy,.lesson-grid-heading p,.muted,.section-head p,.section-head>span,.sidebar-bottom,.sidebar-heading,.workspace-data-link{color:var(--text-secondary)}.category-link.active,.category-link:hover,.folder-row:hover{background:var(--accent-soft);color:var(--accent-text)}.folder-actions button:hover,.folder-toggle:hover,.workspace-data-link:hover{color:var(--accent-text)}.workspace-selector{color:var(--text-secondary)}.modal select,.workspace-selector select{background:var(--panel-muted);color:var(--text-main);border-color:var(--panel-border)}.archive-preview,.category-card,.data-panel,.empty-state,.modal,.question-editor,.question-panel,.quiz-intro,.reading-panel,.reading-recordings,.results,.stats-row>div,.topik-group,.topik-intro,.writing-panel{background:var(--panel-bg);color:var(--text-main);border-color:var(--panel-border);box-shadow:0 1px 2px #0000000d}.category-card:hover{border-color:var(--table-border);box-shadow:0 2px 6px #0000000f;transform:translateY(-2px)}.category-card p,.category-meta,.data-panel p,.empty-state p,.quiz-intro p,.reading-panel p,.results>p,.template-note,.writing-intro p,.writing-results p{color:var(--text-secondary)}.answer-review,.category-meta,.review-row,.tabs{border-color:var(--panel-border)}.category-meta span:last-child,.eyebrow{color:var(--accent-text)}.progress-metric-head small,.stats-row .progress-metric-head span,.stats-row span{color:var(--text-secondary)}.stats-row strong{color:var(--text-main)}.tabs button{color:var(--text-secondary)}.tabs button.selected{color:var(--accent-text)}.choice-group button,.outline-button,.round-button,.status-controls button{background:var(--panel-muted);color:var(--text-main);border-color:var(--panel-border)}.outline-button:hover,.round-button:hover{background:var(--accent-soft);color:var(--accent-text);border-color:var(--table-border)}.primary-button{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:none}.primary-button:hover{background:#4942de}.practice-switch{background:var(--panel-bg);border-color:var(--panel-border)}.practice-switch button{color:var(--text-secondary)}.practice-switch button:hover{background:var(--panel-muted);color:var(--text-main)}.practice-switch button.selected{background:var(--accent-soft);color:var(--accent-text);border-color:var(--panel-border);box-shadow:none}.modal label,.reading-editor label,.topik-editor label,.topik-import label,.writing-question form label{color:var(--text-main)}.custom-count input,.modal input,.modal textarea,.reading-editor input,.reading-editor textarea,.topik-editor input,.topik-editor select,.topik-editor textarea,.topik-import textarea,.writing-question input{background:var(--panel-muted);color:var(--text-main);border-color:var(--panel-border)}.modal input::placeholder,.modal textarea::placeholder,.reading-editor input::placeholder,.reading-editor textarea::placeholder{color:var(--text-secondary)}.options button{background:var(--panel-muted);color:var(--text-main);border-color:var(--panel-border)}.options button.chosen,.options button:hover{background:var(--accent-soft);border-color:var(--table-border)}.format-example,.options button span,.quiz-info span,.quiz-settings{background:var(--panel-muted);color:var(--text-secondary);border-color:var(--panel-border)}.reading-mode-card,.reading-preview,.recording-row,.speech-settings,.topik-group-editor,.topik-import{background:var(--panel-muted);color:var(--text-main);border-color:var(--panel-border);box-shadow:none}.reading-empty,.reading-mode-card span,.recording-row details,.recording-row-head small,.speech-message,.speech-settings label{color:var(--text-secondary)}.speech-settings select{background:var(--panel-bg);border-color:var(--panel-border);color:var(--text-main)}.reading-preview p,.recording-row details p,.recording-row-head strong,.topik-passage{color:var(--text-main)}.progress-track,.question-progress{background:var(--panel-border)}.question-head,.recent-score,.review-row small,.writing-prompt-label{color:var(--text-secondary)}.app-preference-button[aria-pressed=true]{color:var(--accent-text);background:var(--accent-soft);border-color:var(--table-border)}.sticky-note{background:var(--note-bg);color:var(--note-text);border:1px solid var(--panel-border)}.sticky-note-bar{background:#fcd34d;color:#111928}.sticky-note textarea{color:var(--note-text);font-family:inherit}.sticky-note textarea::placeholder{color:var(--note-text);opacity:.55}.sticky-note button{border:0;background:transparent;color:inherit;font:inherit}.note-tool{display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:6px;background:transparent;color:inherit}.note-tool:hover{background:#68510d1a}.sticky-note button:focus-visible{outline:2px solid #826309;outline-offset:-2px}.lesson-grid-loading{min-height:500px;border:1px solid var(--panel-border);background:var(--panel-bg);border-radius:16px;padding:24px;color:var(--text-secondary)}.lesson-grid .dx-widget{font-family:DM Sans,Arial,sans-serif;font-size:13px}.lesson-grid .dx-datagrid{background:transparent;color:var(--text-main)}.lesson-grid .dx-datagrid-headers{background:var(--table-header);color:var(--text-main);border-color:var(--table-border);font-size:12px;font-weight:600;letter-spacing:0}.lesson-grid .dx-datagrid-headers .dx-row>td{padding:14px 12px}.lesson-grid .dx-datagrid-rowsview{background:var(--panel-bg);border-color:var(--table-border)}.lesson-grid .dx-datagrid-rowsview .dx-row-lines>td{border-color:var(--table-border);padding:16px 12px;vertical-align:middle}.lesson-grid .dx-datagrid-rowsview .dx-state-hover>td{background:var(--panel-muted)}.lesson-grid .dx-datagrid-header-panel,.lesson-grid .dx-toolbar{background:transparent}.lesson-grid .dx-datagrid-header-panel{padding-bottom:16px}.lesson-grid .dx-datagrid-search-panel{margin:0;max-width:100%}.lesson-grid .dx-texteditor{border:1px solid var(--panel-border);border-radius:9px;background:var(--panel-muted);color:var(--text-main);min-height:36px}.lesson-grid .dx-texteditor-input{background:transparent;color:var(--text-main);font-size:12px;padding-top:9px;padding-bottom:9px}.lesson-grid .dx-placeholder{color:var(--text-secondary);font-size:12px}.lesson-grid .dx-datagrid-filter-row .dx-editor-cell{background:var(--panel-bg)}.lesson-grid .dx-datagrid-search-text{background:var(--accent-soft);color:var(--accent-text)}.lesson-grid .dx-pager{border-color:var(--panel-border);color:var(--text-secondary);padding-top:16px;font-size:12px}.lesson-grid .dx-pager .dx-page-sizes .dx-selection,.lesson-grid .dx-pager .dx-pages .dx-selection{background:var(--primary);color:#fff;border-radius:7px}.lesson-grid .dx-datagrid-nodata{color:var(--text-secondary)}.lesson-title-link{color:var(--text-main);text-decoration:none;overflow-wrap:anywhere}.lesson-title-link:hover{color:var(--accent-text)}.lesson-type-icon{background:var(--panel-muted);color:var(--text-secondary)}.lesson-description{max-width:220px;color:var(--text-secondary)}.lesson-type-badge{display:inline-block;padding:5px 9px;background:#21965314;color:#219653;border-radius:7px;font-size:10px;font-weight:700;text-transform:uppercase}.lesson-type-badge.is-exam{background:#ffa70b14;color:#d97706}.lesson-count{font-weight:700;font-variant-numeric:tabular-nums}.lesson-count small{font-weight:400}.lesson-count small,.lesson-progress{font-size:11px;color:var(--text-secondary)}.lesson-progress{display:grid;gap:7px;min-width:65px;font-variant-numeric:tabular-nums}.lesson-progress>div{height:4px;border-radius:8px;background:var(--panel-border);overflow:hidden}.lesson-progress i{display:block;height:100%;border-radius:8px;background:#22ad5c}.lesson-open-button{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--panel-border);border-radius:9px;background:var(--panel-muted);color:var(--text-secondary)}.grid-filter-button[aria-pressed=true],.lesson-open-button:hover{color:var(--accent-text);border-color:var(--table-border)}.back-link,.brand small,.breadcrumbs,.breadcrumbs button,.category-card p,.category-meta,.detail-header p,.hero-copy,.lesson-grid-heading p,.muted,.section-head p,.section-head>span,.sidebar-heading{color:var(--text-secondary)}.modal select,.speech-settings select,.workspace-selector select{border-color:var(--table-border)}.tabs button.selected:after{background:var(--primary)}.custom-count,.custom-count small,.setting-label,.setting-note{color:var(--text-secondary)}.choice-group button.selected{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:none}.lesson-grid .dx-datagrid-headers .dx-header-row>td{background:var(--table-header);color:var(--text-main);border-color:var(--table-border)}.lesson-grid .dx-datagrid .dx-header-filter,.lesson-grid .dx-datagrid .dx-sort{color:var(--text-secondary)}.lesson-grid .dx-datagrid>.dx-datagrid-rowsview{background:var(--panel-bg);border-color:var(--table-border)}.lesson-grid .dx-texteditor.dx-editor-outlined{background:var(--panel-muted);border-color:var(--table-border)}.lesson-grid .dx-datagrid-rowsview .dx-data-row.dx-state-hover>td{background:var(--panel-muted)}.lesson-grid .dx-pager{border-color:var(--table-border)}.lesson-grid .dx-texteditor.dx-state-focused{border-color:var(--primary)}.progress-metric .progress-track i{background:var(--primary)}.known-progress .progress-track i{background:#22ad5c}.flashcard-face{border-color:var(--table-border);background:linear-gradient(145deg,var(--panel-muted),var(--panel-bg));box-shadow:0 8px 24px #0000000d,inset 0 1px 0 #ffffff08}.flashcard-back{background:linear-gradient(145deg,var(--panel-bg),var(--panel-muted))}.flashcard-face:before{background:#ffffff08;filter:blur(40px)}.flashcard-face:after{border-color:var(--panel-border);box-shadow:none}.flashcard-flip-target{color:var(--text-main)}.flashcard-bottom,.flashcard-content small,.flashcard-top{color:var(--text-secondary)}.flashcard-face .speech-button,.flashcard-face .star-button{background:var(--panel-muted);border-color:var(--table-border);color:var(--text-secondary);box-shadow:none;backdrop-filter:none}.flashcard-face .speech-button:hover:not(:disabled),.flashcard-face .star-button:hover{background:var(--accent-soft);color:var(--text-main)}.flashcard-face .star-button.is-starred{background:#ffa70b14;border-color:#ffa70b66;color:#d97706}.header-preferences{gap:12px}.header-preferences,.theme-toggle{display:flex;align-items:center;flex-shrink:0}.theme-toggle{position:relative;width:82px;height:42px;padding:4px;border:0;border-radius:999px;background:#e5e7eb;color:#6b7280;cursor:pointer}[data-theme=dark] .theme-toggle{background:#020d1a;color:#9ca3af}.theme-toggle-thumb{position:absolute;inset:4px auto 4px 4px;width:calc(50% - 4px);border:1px solid #e5e7eb;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000008;transition:transform .2s ease,background-color .2s ease}.theme-toggle[aria-pressed=true] .theme-toggle-thumb{transform:translateX(100%);border-color:transparent;background:#1f2a37;box-shadow:none}.theme-toggle-option{position:relative;z-index:1;display:grid;place-items:center;width:50%;height:100%}.theme-toggle-option.is-active{color:#111928}[data-theme=dark] .theme-toggle-option.is-active{color:#fff}.note-toggle{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;padding:0;border:1px solid var(--table-border);border-radius:50%;background:var(--panel-muted);color:var(--text-secondary);cursor:pointer;transition:background-color .18s ease,color .18s ease}.note-toggle:hover{color:var(--text-main);background:var(--accent-soft)}.note-toggle:focus-visible,.theme-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.sticky-note{position:fixed;z-index:60;display:flex;flex-direction:column;overflow:hidden;min-width:200px;border-radius:12px;box-shadow:0 12px 32px #00000026}.sticky-note-bar{display:flex;align-items:center;gap:4px;height:44px;padding:0 8px;flex-shrink:0}.sticky-note-bar>button:first-child{display:flex;align-items:center;gap:8px;flex:1;min-width:0;height:100%;padding:0 4px;font-size:12px;font-weight:700;text-align:left;touch-action:none}.sticky-note textarea{display:block;flex:1;min-height:0;width:100%;resize:none;border:0;background:transparent;padding:16px;outline:none;font-size:14px;line-height:24px}.sticky-note>div:last-child:not(.sticky-note-bar){display:flex;align-items:center;justify-content:space-between;height:32px;flex-shrink:0;padding:0 12px;font-size:10px;opacity:.7}.sticky-note [aria-label="Đổi kích thước ghi chú"]{display:grid;place-items:center;width:28px;height:28px;touch-action:none}.study-menu-label{margin:30px 10px 12px;color:var(--text-secondary);font-size:9px;font-weight:700;letter-spacing:1.3px}.study-navigation{display:grid;gap:5px;margin-bottom:24px}.study-nav-group-toggle,.study-nav-link{display:flex;align-items:center;gap:11px;min-height:40px;width:100%;padding:10px 12px;border:0;border-radius:8px;background:transparent;color:var(--text-secondary);font-size:12px;font-weight:600;text-align:left;text-decoration:none;transition:background-color .16s ease,color .16s ease}.study-nav-group-toggle>svg,.study-nav-link>svg{flex-shrink:0}.study-nav-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.study-nav-group-toggle:hover,.study-nav-link:hover{background:var(--panel-muted);color:var(--text-main)}.study-nav-link.is-active{background:var(--accent-soft);color:var(--accent-text)}.study-nav-group-toggle.has-active-page{color:var(--text-main)}.study-nav-chevron{margin-left:auto;transform:rotate(-90deg);transition:transform .18s ease}.study-nav-chevron.is-open{transform:rotate(0)}.study-nav-children{display:grid;gap:3px;margin:4px 0 8px;padding-left:10px}.study-nav-link.is-nested{font-size:11px;min-height:36px}.study-nav-link.is-nested>svg{width:15px;height:15px}.study-nav-subgroup>.study-nav-group>.study-nav-group-toggle{font-size:11px;min-height:36px}.toeic-menu-item{position:relative;min-width:0}.toeic-skill-choices{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.toeic-menu-item:has(.toeic-coming-soon) .study-nav-link{padding-right:68px}.toeic-coming-soon{position:absolute;right:3px;top:50%;transform:translateY(-50%);font-size:8px;line-height:1.4;color:var(--text-secondary);background:var(--panel-muted);padding:3px 5px;border-radius:4px;pointer-events:none}.study-nav-children .sidebar-heading{margin:14px 9px 10px;font-size:8px;letter-spacing:.7px}.study-nav-children .category-link,.study-nav-children .folder-toggle{font-size:11px}.study-nav-group-toggle:focus-visible,.study-nav-link:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.study-section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.study-section-heading h1{font-family:Manrope,sans-serif;color:var(--text-main);font-size:30px;letter-spacing:-.8px;line-height:1.3;margin:12px 0 10px}.study-section-heading p{color:var(--text-secondary);font-size:13px;line-height:1.8;margin:0;max-width:560px}.study-section-empty{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:320px;padding:36px 24px;text-align:center;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:14px}.study-section-empty-icon{display:grid;place-items:center;width:64px;height:64px;margin-bottom:18px;border-radius:16px;background:var(--panel-muted);color:var(--text-secondary)}.study-coming-soon{font-size:10px;font-weight:700;border-radius:20px;padding:5px 10px;color:var(--accent-text);background:var(--accent-soft)}.study-section-empty h2{color:var(--text-main);font-size:18px;margin:16px 0 8px}.study-section-empty p{color:var(--text-secondary);font-size:12px;line-height:1.8;max-width:400px;margin:0}@media(max-width:850px){.sidebar:not(.sidebar-expanded) .study-menu-label,.sidebar:not(.sidebar-expanded) .study-nav-chevron,.sidebar:not(.sidebar-expanded) .study-nav-children,.sidebar:not(.sidebar-expanded) .study-nav-label{display:none}.sidebar:not(.sidebar-expanded) .study-nav-group-toggle,.sidebar:not(.sidebar-expanded) .study-nav-link{justify-content:center;padding:10px 0}.sidebar:not(.sidebar-expanded) .study-navigation{margin-top:24px}}@media(max-width:600px){.study-section-heading{align-items:flex-start;flex-direction:column;gap:16px}.study-section-heading h1{font-size:25px}.study-section-empty{padding:28px 18px}}@media(prefers-reduced-motion:reduce){.study-nav-chevron,.study-nav-group-toggle,.study-nav-link{transition:none}}@media(max-width:600px){.topbar{padding-left:12px;padding-right:12px}.topbar-controls{gap:6px}.header-preferences{gap:4px}.app-preference-button{width:32px;height:32px}.lesson-grid .dx-datagrid-search-panel{width:190px!important}.grid-filter-button{padding-left:9px;padding-right:9px}.grid-filter-button span{display:none}.lesson-grid .dx-datagrid-headers .dx-row>td,.lesson-grid .dx-datagrid-rowsview .dx-row-lines>td{padding-left:8px;padding-right:8px}.lesson-title-link{gap:8px}.lesson-type-icon{width:28px;height:28px}.theme-toggle{width:64px;height:34px}.note-toggle svg,.theme-toggle svg{width:16px;height:16px}.header-preferences{gap:5px}.note-toggle{width:34px;height:34px}}@media(prefers-reduced-motion:reduce){.app-preference-button,.grid-filter-button,.note-toggle,.theme-toggle-thumb{transition:none}}.embedded-library .section-head{margin-top:24px}.reading-lesson{margin-top:22px;min-width:0}.reading-overview,.reading-overview-actions,.reading-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.reading-kind{display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.13em;font-weight:700;color:var(--text-secondary)}.reading-overview p{margin:10px 0 0;font-size:13px;color:var(--text-secondary)}.reading-overview p span{margin:0 8px}.reading-completion{height:4px;background:var(--panel-border);border-radius:99px;overflow:hidden;margin:18px 0 24px}.reading-completion span{display:block;height:100%;background:var(--primary);transition:width .25s ease}.reading-question-map{display:flex;gap:8px;flex-wrap:wrap}.reading-question-map button{position:relative;display:grid;place-items:center;min-width:40px;height:40px;padding:0 10px;border:1px solid var(--table-border);border-radius:10px;background:var(--panel-bg);color:var(--text-secondary);font:inherit;font-size:13px;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}.reading-question-map button.active{background:var(--primary);border-color:var(--primary);color:white}.reading-question-map button.is-correct:not(.active){background:#10b98116;border-color:#10b98170;color:#10b981}.reading-question-map button.is-wrong:not(.active){background:#ef444416;border-color:#ef444470;color:#ef4444}.reading-question-map button i{position:absolute;right:3px;top:3px;width:5px;height:5px;border-radius:50%;background:#f59e0b}.reading-workspace{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(310px,1fr);gap:24px;align-items:start;animation:reading-appear .2s ease}.reading-answer-card,.reading-editor,.reading-passage-card{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:18px;box-shadow:0 4px 22px #00000008;min-width:0}.reading-passage-card{padding:28px 30px}.reading-passage-card header{display:flex;align-items:flex-start;gap:14px;padding-bottom:22px;border-bottom:1px solid var(--panel-border)}.reading-question-number{display:grid;place-items:center;min-width:43px;height:43px;border-radius:12px;background:var(--accent-soft);color:var(--primary);font-size:20px;font-weight:800}[data-theme=dark] .reading-question-number{color:#b8b4ff}.reading-card-caption{display:block;color:var(--text-secondary);font-size:10px;font-weight:700;letter-spacing:.12em}.reading-passage-card h2{margin:8px 0 0;font-size:14px;line-height:1.8;font-weight:500;word-break:keep-all}.reading-passage{margin:24px 0;font-size:19px;line-height:2.2;word-break:keep-all;overflow-wrap:anywhere;white-space:pre-wrap}.reading-word{display:inline;padding:0;border:0;border-radius:2px;background:transparent;color:inherit;font:inherit;text-decoration:underline;text-decoration-color:#8781f5;text-underline-offset:5px;text-decoration-style:dotted;cursor:pointer;transition:background .2s}.reading-word:focus-visible,.reading-word:hover{background:var(--accent-soft)}.reading-passage-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:18px;border-top:1px solid var(--panel-border)}.reading-passage-footer>span{font-size:11px;color:var(--text-secondary)}.reading-text-button{display:inline-flex;align-items:center;gap:7px;padding:0;border:0;background:none;color:var(--text-secondary);font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:color .2s}.reading-text-button.active,.reading-text-button:hover{color:var(--primary)}[data-theme=dark] .reading-text-button.active,[data-theme=dark] .reading-text-button:hover{color:#b8b4ff}.reading-translation,.reading-word-meaning{margin-top:20px;padding:18px 20px;border:1px solid var(--panel-border);border-radius:12px;background:var(--app-bg);animation:reading-appear .18s ease}.reading-answer-result h3,.reading-translation h3{font-size:12px;margin:0 0 10px;font-weight:700}.reading-answer-result p,.reading-translation p{font-size:13px;line-height:1.95;margin:0;color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:anywhere}.reading-word-meaning{display:flex;gap:12px;align-items:baseline;font-size:13px}.reading-word-meaning span{color:var(--text-secondary)}.reading-answer-card{padding:26px 24px}.reading-answer-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.reading-answer-heading h2{margin:7px 0 0;font-size:20px}.reading-bookmark{display:grid;place-items:center;flex-shrink:0;width:38px;height:38px;border:1px solid var(--table-border);border-radius:10px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:color .2s,background .2s}.reading-bookmark.is-saved{color:#d97706;background:#f59e0b16;border-color:#f59e0b66}.reading-bookmark.is-saved svg{fill:#f59e0b30}.reading-answer-hint{font-size:12px;line-height:1.8;color:var(--text-secondary);margin:14px 0 20px}.reading-options{display:flex;flex-direction:column;gap:10px}.reading-option{display:flex;gap:12px;align-items:flex-start;text-align:left;width:100%;padding:15px 16px;border:1px solid var(--table-border);border-radius:12px;background:transparent;color:var(--text-main);font:inherit;cursor:pointer;transition:border-color .2s,background .2s,transform .2s}.reading-option:hover:not(:disabled){background:var(--accent-soft);border-color:var(--primary);transform:translateY(-1px)}.reading-option>span:nth-child(2){flex:1;min-width:0}.reading-option-number{color:var(--text-secondary);font-size:20px;line-height:1.4}.reading-option strong{display:block;font-size:16px;line-height:1.8;font-weight:500;word-break:keep-all;overflow-wrap:anywhere}.reading-option small{display:block;margin-top:8px;color:var(--text-secondary);font-size:12px;line-height:1.7}.reading-option>svg{flex-shrink:0;margin-top:5px}.reading-option:disabled{cursor:default;opacity:1}.reading-option.is-correct{border-color:#10b98188;background:#10b9810d}.reading-option.is-correct>.reading-option-number,.reading-option.is-correct>svg{color:#10b981}.reading-option.is-wrong{border-color:#ef444488;background:#ef44440d}.reading-option.is-wrong>.reading-option-number{color:#ef4444}.reading-answer-result{margin-top:24px;padding-top:20px;border-top:1px solid var(--panel-border)}.reading-result-title{display:flex;align-items:center;gap:8px;margin-bottom:18px;font-size:14px}.reading-result-title.is-correct{color:#10b981}.reading-result-title.is-wrong{color:#ef4444}.reading-answer-result .reading-text-button{margin-top:18px}.reading-navigation{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px}.reading-navigation>span{text-align:center;font-size:14px;font-weight:700}.reading-navigation small{display:block;margin-top:6px;font-size:10px;font-weight:400;color:var(--text-secondary)}.reading-lesson button:disabled{cursor:default}.reading-navigation button:disabled{opacity:.4}.reading-editor{padding:26px;margin-top:24px}.reading-editor fieldset{margin:0;padding:0;border:0;min-width:0}.reading-editor label{display:flex;flex-direction:column;gap:8px;margin:18px 0;font-size:12px;color:var(--text-secondary)}.reading-editor input:not([type=radio]),.reading-editor select,.reading-editor textarea{width:100%;min-width:0;padding:11px 13px;border:1px solid var(--table-border);border-radius:9px;background:var(--app-bg);color:var(--text-main);font:inherit;font-size:13px;line-height:1.7}.reading-editor textarea{resize:vertical}.reading-editor input[type=radio]{width:auto}.reading-form-grid{display:grid;grid-template-columns:1fr 2fr;gap:18px}.reading-note-fields{display:flex;gap:10px;margin:12px 0}.reading-answer-fields{display:grid;grid-template-columns:auto 1fr 1fr;align-items:center;gap:14px}.reading-editor .reading-correct-radio{display:flex;flex-direction:row;align-items:center;gap:7px;color:var(--text-main);font-size:18px}.reading-editor small{color:var(--text-secondary);font-size:12px}.reading-editor .reading-toolbar h2{margin:0;font-size:18px}.reading-import{border:1px solid var(--panel-border);border-radius:12px;padding:15px;margin:22px 0}.reading-import summary{cursor:pointer;font-size:13px}.reading-import-body{padding-top:18px}.reading-error{padding:12px 16px;background:#ef444410;border:1px solid #ef444466;border-radius:10px;color:#ef4444;font-size:13px}@keyframes reading-appear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1350px){.detail-page.topik-detail:has(.reading-lesson){max-width:1240px}}@media(max-width:1080px){.reading-workspace{grid-template-columns:minmax(0,1fr)}.reading-passage{font-size:18px}.reading-answer-card,.reading-passage-card{padding:24px}}@media(max-width:550px){.reading-overview-actions{width:100%;justify-content:space-between}.reading-answer-card,.reading-editor,.reading-passage-card{padding:19px 16px;border-radius:14px}.reading-passage{font-size:17px}.reading-navigation{gap:8px}.reading-navigation button{padding:10px;font-size:11px}.reading-answer-fields,.reading-form-grid{grid-template-columns:1fr}.reading-answer-fields{gap:0}.reading-note-fields{flex-wrap:wrap}.reading-passage-card header{gap:10px}.reading-overview-title{width:100%}}@media(prefers-reduced-motion:reduce){.reading-translation,.reading-word-meaning,.reading-workspace{animation:none}.reading-lesson *{transition:none!important}}.reading-detail.page-content{max-width:1360px;padding-top:22px}.reading-detail .back-link{margin-bottom:10px}.reading-detail .detail-header{margin-bottom:14px;align-items:center}.reading-detail .detail-header h1{font-size:27px;margin:0}.reading-layout{display:grid;grid-template-columns:minmax(0,1fr) 208px;gap:22px;align-items:start;margin-top:0}.reading-main{min-width:0}.reading-layout .reading-overview{min-height:28px;gap:10px}.reading-layout .reading-overview p{margin:0;font-size:12px}.reading-layout .reading-completion{height:3px;margin:10px 0 16px}.reading-layout .reading-workspace{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}.reading-layout .reading-answer-card,.reading-layout .reading-passage-card{border-radius:13px;padding:18px 20px}.reading-layout .reading-passage-card header{gap:10px;padding-bottom:12px;align-items:center}.reading-layout .reading-question-number{min-width:33px;height:33px;border-radius:8px;font-size:16px}.reading-layout .reading-passage-card h2{font-size:12px;margin:0;line-height:1.65}.reading-layout .reading-passage{font-size:17px;line-height:1.9;margin:15px 0 0;font-weight:400}.reading-layout .reading-answer-heading{margin-bottom:12px}.reading-layout .reading-answer-heading h2{font-size:14px;margin:0}.reading-layout .reading-bookmark{width:30px;height:30px;border-radius:7px}.reading-layout .reading-options{gap:8px}.reading-layout .reading-option{padding:10px 11px;gap:9px;border-radius:9px}.reading-layout .reading-option strong{font-size:14px;line-height:1.65}.reading-layout .reading-option-number{font-size:18px}.reading-layout .reading-answer-result{margin-top:13px;padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.reading-layout .reading-result-title{font-size:12px;margin:0}.reading-layout .reading-answer-result .reading-text-button{margin:0;font-size:11px}.reading-word-meaning{position:relative;padding:10px 12px;margin-top:12px;border-radius:8px;font-size:12px;gap:9px;align-items:center}.reading-word-meaning>button{margin-left:auto;background:none;border:0;color:var(--text-secondary);cursor:pointer;font-size:19px}.reading-source-underline{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}.reading-passage-image{display:block;width:100%;max-width:100%;height:auto;margin:16px 0;background:#fff;border-radius:4px}.reading-question-sidebar{position:sticky;top:96px;padding:16px;border:1px solid var(--panel-border);border-radius:13px;background:var(--panel-bg);max-height:calc(100dvh - 120px);overflow-y:auto}.reading-question-sidebar header{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.reading-question-sidebar header strong{font-size:12px}.reading-question-sidebar header small{font-size:10px;color:var(--text-secondary)}.reading-question-sidebar .reading-question-map{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.reading-question-sidebar .reading-question-map button{min-width:0;width:100%;height:34px;font-size:12px;padding:0 0 2px;border-radius:7px}.reading-question-map button.is-done.is-correct:not(.active){background:#10b98112;border-color:#10b98166;color:#10b981}.reading-question-map button.is-wrong.active{border-color:#ef4444}.reading-answer-marker{position:absolute;right:1px;bottom:1px;padding:1px;color:white;border-radius:50%;box-sizing:content-box}.reading-done-tick{background:#059669}.reading-wrong-cross{background:#dc2626}.reading-question-sidebar .reading-tags{margin-top:15px}.reading-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.reading-tags>span{display:inline-block;padding:3px 7px;background:var(--accent-soft);border:1px solid var(--panel-border);color:var(--text-secondary);border-radius:6px;font-size:10px;line-height:1.5;overflow-wrap:anywhere}.reading-details{margin-top:14px;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:11px;overflow:hidden}.reading-details-tabs{display:flex;gap:6px;padding:5px 10px;min-height:37px}.reading-details-tabs>button{display:flex;align-items:center;gap:7px;border:0;border-bottom:2px solid transparent;border-radius:5px 5px 0 0;background:none;padding:8px 10px;color:var(--text-secondary);font:inherit;font-size:12px;cursor:pointer;transition:color .18s,background .18s}.reading-details-tabs>button:disabled{opacity:.35}.reading-details-tabs>button.active{color:var(--text-main);border-bottom-color:var(--primary);background:var(--accent-soft)}.reading-details-tabs small{font-size:10px;opacity:.75}.reading-details-body{padding:14px 20px;border-top:1px solid var(--panel-border);animation:reading-appear .15s ease}.reading-details-body p{margin:0;font-size:13px;line-height:1.8;color:var(--text-secondary);white-space:pre-wrap}.reading-details .reading-translation{margin:0;border-radius:0;background:transparent;border-width:1px 0 0}.reading-option-translations{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;border-top:1px solid var(--panel-border);padding-top:12px;margin-top:12px}.reading-option-translations p{display:flex;align-items:baseline;gap:8px;font-size:12px}.reading-option-translations p>span{color:var(--text-main);flex-shrink:0;font-size:15px}.reading-vocabulary-list{display:grid;grid-template-columns:1fr 1fr;gap:9px 24px}.reading-vocabulary-list>div{display:flex;align-items:baseline;gap:10px;font-size:12px}.reading-vocabulary-list strong{font-size:14px;font-weight:500;min-width:65px}.reading-vocabulary-list span{color:var(--text-secondary)}.reading-layout .reading-navigation{margin:0 0 16px}.reading-layout .reading-navigation button{padding:9px 13px;font-size:12px;min-height:35px}.reading-list-page .study-section-heading{margin-bottom:22px}.reading-list-page .lesson-grid{min-height:500px}@media(min-width:1350px){.detail-page.reading-detail:has(.reading-lesson){max-width:1360px}}@media(max-width:1220px){.reading-layout{grid-template-columns:minmax(0,1fr) 184px;gap:14px}.reading-question-sidebar{padding:13px 12px}.reading-layout .reading-workspace{grid-template-columns:minmax(0,1fr)}.reading-layout .reading-options{display:grid;grid-template-columns:1fr 1fr}}@media(max-width:650px){.reading-detail.page-content{padding-top:18px}.reading-detail .detail-header h1{font-size:23px}.reading-layout{grid-template-columns:minmax(0,1fr)}.reading-question-sidebar{position:static;grid-row:1;padding:10px 12px}.reading-question-sidebar header{flex-direction:row;justify-content:space-between;margin-bottom:10px}.reading-question-sidebar .reading-question-map{display:flex;gap:7px;flex-wrap:wrap}.reading-question-sidebar .reading-question-map button{width:35px}.reading-question-sidebar .reading-tags{margin-top:10px}.reading-layout .reading-answer-card,.reading-layout .reading-passage-card{padding:15px}.reading-layout .reading-passage{font-size:16px;line-height:1.85}.reading-layout .reading-options,.reading-option-translations,.reading-vocabulary-list{grid-template-columns:1fr}.reading-details-body{padding:12px 14px}.reading-details-tabs{padding:4px}.reading-details-tabs>button{font-size:11px;padding:8px}.reading-detail .header-actions .outline-button{padding:9px}.reading-detail .detail-header{gap:12px}.reading-layout .reading-answer-result{gap:8px}.reading-question-sidebar{max-height:230px;overscroll-behavior:contain;scrollbar-width:thin}.reading-question-sidebar .reading-question-map{display:grid;grid-template-columns:repeat(auto-fit,minmax(28px,1fr));gap:5px}.reading-question-sidebar .reading-question-map button{width:100%}}:root{--app-font:"Manrope",Arial,sans-serif}body,body .dx-widget,body .dx-widget button,body .dx-widget input,body .dx-widget select,body .dx-widget textarea,button,input,select,textarea{font-family:var(--app-font)}.page-content:has(.lesson-grid){max-width:none;width:100%;padding-bottom:24px}.reading-list-page.page-content{padding:28px 32px 24px}.reading-overview-tools{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.reading-overview-tools button:disabled{opacity:.4}.reading-editor.reading-editor-layout{padding:0;border:0;box-shadow:none;background:none;margin-top:18px}.reading-editor-layout .reading-editor-columns{display:grid;grid-template-columns:280px minmax(0,1fr);gap:22px;align-items:start}.reading-editor-sidebar{position:sticky;top:24px;max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:14px;padding:20px;scrollbar-width:thin;scrollbar-color:var(--table-border) transparent}.reading-editor-sidebar header h2{font-size:17px;margin:7px 0 20px;letter-spacing:-.3px}.reading-editor-layout label{margin:15px 0;font-weight:500}.reading-editor-layout label>small{font-size:10px;line-height:1.6;font-weight:400}.reading-editor-layout input:not([type=radio]),.reading-editor-layout select,.reading-editor-layout textarea{padding:9px 11px;border-radius:8px;font-size:12px}.reading-editor-layout input:focus,.reading-editor-layout select:focus,.reading-editor-layout textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--primary)}.reading-editor-meta-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.reading-editor-sidebar .reading-editor-meta-row label{margin:0}.reading-editor-extra{border-top:1px solid var(--panel-border);padding-top:12px;margin:16px 0}.reading-editor-extra summary{font-size:12px;color:var(--text-secondary);cursor:pointer}.reading-editor-question-picker{margin:18px 0;padding-top:15px;border-top:1px solid var(--panel-border)}.reading-editor-question-picker h3{font-size:12px;margin:0;font-weight:700}.reading-editor-question-picker h3 small{font-size:10px;margin-left:4px}.reading-editor-question-picker .reading-question-map{margin-top:13px;max-height:260px;overflow:auto;scrollbar-width:thin;gap:7px}.reading-editor-question-picker .reading-question-map button{min-width:35px;height:35px;font-size:12px;border-radius:8px}.reading-editor-layout .reading-toolbar{gap:8px}.reading-editor-sidebar .reading-text-button{font-size:11px}.reading-editor-sidebar .reading-import{margin:16px 0;padding:0;border:0;border-top:1px solid var(--panel-border);border-radius:0}.reading-editor-sidebar .reading-import>summary{display:flex;gap:7px;align-items:center;padding:14px 0 0;font-size:12px;font-weight:600}.reading-editor-sidebar .reading-import-body{padding-top:14px}.reading-editor-layout .reading-sample-download{width:100%;text-decoration:none;padding:9px 10px;font-size:11px;min-height:35px}.reading-field-guide{display:inline-block;color:var(--text-secondary);font-size:11px;text-underline-offset:3px;margin-top:10px}.reading-import-help{font-size:10px;line-height:1.8;color:var(--text-secondary);margin:12px 0}.reading-import-help code{font:inherit;font-weight:600;color:var(--text-main)}.reading-editor .reading-import-file{position:relative;display:flex;flex-direction:row;align-items:center;justify-content:center;padding:10px;border:1px dashed var(--table-border);border-radius:8px;font-size:11px;cursor:pointer;color:var(--text-main);gap:8px}.reading-import-file input[type=file]{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.reading-import-notice{font-size:11px;line-height:1.7;color:#059669;padding:10px 12px;border:1px solid #10b98155;background:#10b9810d;border-radius:8px}.reading-editor-actions{display:grid;gap:8px;margin-top:20px;border-top:1px solid var(--panel-border);padding-top:16px}.reading-editor-actions button{width:100%;font-size:12px;min-height:38px;padding:10px 12px}.reading-editor-content{min-width:0;display:grid;gap:18px;scroll-margin-top:24px}.reading-edit-card{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:14px;padding:22px 24px;min-width:0}.reading-edit-card-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.reading-edit-card h2{font-size:21px;margin:7px 0 0;letter-spacing:-.5px}.reading-edit-card h3{font-size:15px;margin:0 0 15px;font-weight:700}.reading-editor-step{display:flex;gap:8px}.reading-editor-step button{min-height:32px;padding:7px;border-radius:7px}.reading-editor-step button:disabled{opacity:.3}.reading-editor-passage-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:0}.reading-edit-hint{font-size:11px;color:var(--text-secondary);margin:-5px 0 18px}.reading-editor-layout .reading-answer-fields{padding:10px 12px;border:1px solid var(--panel-border);border-radius:10px;margin:10px 0;gap:12px}.reading-editor-layout .reading-answer-fields.is-selected{border-color:#10b98166;background:#10b98108}.reading-editor-layout .reading-answer-fields label{margin:0;font-size:10px;gap:6px}.reading-editor-layout .reading-correct-radio{font-size:18px;gap:7px}.reading-correct-radio input{accent-color:var(--primary)}.reading-editor-vocabulary>summary{cursor:pointer;font-size:14px;font-weight:600}.reading-editor-vocabulary>summary span{color:var(--text-secondary);font-size:11px;margin-left:6px}.reading-editor-vocabulary .reading-toolbar{margin:18px 0}.reading-editor-layout .reading-note-fields{display:grid;grid-template-columns:1fr 2fr auto;gap:10px}.reading-editor-footer{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:0 2px}.reading-editor-footer small{font-size:10px;line-height:1.7}.reading-delete-question{display:flex;align-items:center;gap:7px;flex-shrink:0;border:1px solid #ef444444;border-radius:8px;background:#ef444408;color:#ef4444;padding:8px 11px;font:inherit;font-size:11px}.reading-editor-empty{text-align:center;padding:50px 20px;color:var(--text-secondary)}.reading-editor-empty h2{font-size:19px;color:var(--text-main);margin:15px 0 8px}.reading-editor-empty p{font-size:12px;margin:0 0 20px}@media(min-width:1500px){.reading-editor-passage-fields{grid-template-columns:1fr 1fr;gap:18px}}@media(max-width:1050px){.reading-editor-layout .reading-editor-columns{grid-template-columns:240px minmax(0,1fr);gap:16px}.reading-editor-sidebar{padding:16px}.reading-edit-card{padding:18px}.reading-editor-layout .reading-answer-fields{grid-template-columns:auto minmax(0,1fr)}.reading-answer-fields>label:last-child{grid-column:2}}@media(max-width:700px){.reading-editor-layout .reading-editor-columns{grid-template-columns:minmax(0,1fr)}.reading-editor-sidebar{position:static;max-height:none;overflow:visible}.reading-editor-sidebar .reading-editor-actions{grid-template-columns:1fr 1fr}.reading-editor-layout .reading-note-fields{grid-template-columns:1fr auto}.reading-note-fields input:nth-child(2){grid-row:2}.reading-note-fields>button{grid-column:2;grid-row:1/3}.reading-editor-footer{flex-wrap:wrap}.reading-overview-tools{gap:12px}.reading-list-page.page-content{padding:24px 18px}}:root{--radius-box:12px;--radius-button:4px}.topbar-title{min-width:0;flex:1}.topbar-title h1{font-family:var(--app-font);font-size:17px;line-height:1.5;letter-spacing:0;font-weight:700;margin:0}.topbar-title h1,.topbar-title p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-title p{font-size:10px;line-height:1.6;color:var(--text-secondary);margin:3px 0 0}.topbar-controls{flex-shrink:0}.embedded-library .section-head,.home-page .section-head{margin:0 0 18px;align-items:center}.study-section-page .study-section-heading{justify-content:flex-start;margin:0 0 16px;min-height:44px}.detail-page .detail-header{align-items:center;margin:0 0 18px}.detail-page .detail-header .back-link{margin:0}.detail-page:has(.reading-editor-layout) .detail-header{display:none}.reading-editor-sidebar{top:96px;max-height:calc(100dvh - 120px)}.reading-editor-content{scroll-margin-top:96px}body :is(.category-card,.stats-row>div,.empty-state,.quiz-intro,.results,.question-panel,.modal,.writing-panel,.reading-panel,.reading-recordings,.data-panel,.archive-preview,.topik-intro,.topik-group,.question-editor,.lesson-grid,.reading-passage-card,.reading-answer-card,.reading-editor-sidebar,.reading-edit-card,.reading-question-sidebar,.reading-details,.reading-translation,.reading-word-meaning,.sticky-note){border-radius:var(--radius-box)}body :is(.primary-button,.outline-button,.grid-filter-button,.lesson-open-button,.round-button,.status-controls button,.practice-switch button,.reading-question-map button,.reading-bookmark,.reading-option,.category-link,.workspace-data-link,.app-preference-button,.note-toggle,.star-button,.speech-button,.reading-delete-question,.dx-button,.dx-page){border-radius:var(--radius-button)}body :is(input,select,textarea,.dx-texteditor){border-radius:var(--radius-button)}body :is(.primary-button,.outline-button){height:44px;min-height:44px;padding:0 16px;font-size:12px;gap:8px;box-shadow:none}.flashcard-face,.flashcard-scene,.flashcard-shell{border-radius:var(--radius-box)}@media(max-width:700px){.topbar{height:102px;min-height:102px;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;padding:8px 14px}.topbar-title{flex:none}.topbar-title h1{font-size:14px}.topbar-title p{font-size:10px;margin-top:0}.topbar-controls{justify-content:flex-end}.main{padding-top:102px}.reading-editor-sidebar{position:static;max-height:none}.reading-editor-content{scroll-margin-top:115px}.home-page .section-head{align-items:flex-start;gap:12px;flex-wrap:wrap}}html:not([data-admin=true]) [data-admin-only]{display:none!important}.main .detail-page.reading-detail:has(.reading-lesson),.main .page-content,.main .page-content:has(.lesson-grid){box-sizing:border-box;width:100%;max-width:1200px;margin-inline:auto;padding:24px}.reading-inline-translation{font-size:12px;line-height:1.7;color:var(--text-secondary);white-space:pre-wrap;margin:16px 0 0;padding-top:14px;border-top:1px solid var(--panel-border);overflow-wrap:anywhere}.reading-layout .reading-option .reading-inline-option{font-size:11px;line-height:1.55;margin-top:4px;font-weight:400;color:var(--text-secondary)}.lesson-done{display:inline-flex;color:#10b981;vertical-align:middle}.lesson-in-progress{display:inline-flex;align-items:center;justify-content:center;gap:5px;color:#a16207;font-size:11px;white-space:nowrap}[data-theme=dark] .lesson-in-progress{color:#fbbf24}.lesson-title-link>span:last-child{overflow:hidden}.lesson-description{max-width:360px}.admin-access{min-height:36px;white-space:nowrap;font-size:11px;padding:7px 10px}.modal-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:20px;background:#0008;backdrop-filter:blur(4px)}.admin-login{width:min(420px,100%)}.admin-login label{display:grid;gap:8px;margin:18px 0;font-size:13px}.admin-login input{min-width:0;width:100%;padding:12px;background:var(--app-bg);color:var(--text-main);border:1px solid var(--panel-border);border-radius:4px;font:inherit}.admin-login .library-actions{justify-content:flex-end}.admin-login [role=alert]{color:#ef4444;font-size:12px}.study-again{margin-left:auto;display:block}@media(max-width:1000px){.topbar{flex-wrap:wrap;height:auto;min-height:80px;padding-block:12px}.topbar-title{flex:1 1 180px}.topbar-controls{flex-wrap:wrap;gap:8px}.topbar-controls .workspace-selector select{max-width:160px}.lesson-description{max-width:230px}}@media(max-width:650px){.main .detail-page.reading-detail:has(.reading-lesson),.main .page-content,.main .page-content:has(.lesson-grid){padding:16px 12px}.topbar-title{flex-basis:100%}.topbar-controls{justify-content:flex-start}.topbar-controls .workspace-selector{flex:1 1 100px}.admin-access{margin-left:auto}.topbar-title h1{font-size:16px}.reading-question-sidebar .reading-question-map{max-height:95px;overflow:auto}.reading-layout .reading-options{grid-template-columns:1fr}.reading-navigation{gap:8px}.reading-navigation button{min-height:40px}.lesson-grid{padding:10px!important}.lesson-grid .dx-toolbar-before{width:100%}.lesson-grid .dx-datagrid-search-panel{width:100%!important;min-width:0;margin-left:0}.lesson-grid .dx-toolbar .dx-toolbar-item{max-width:100%}.grid-filter-button{padding:6px!important}.grid-filter-button span{display:none}.lesson-description{max-width:180px}.lesson-grid .dx-datagrid-rowsview .dx-row>td{padding:12px 8px}.lesson-grid .dx-datagrid-pager{font-size:11px}.reading-inline-translation{font-size:12px}.reading-overview-tools{gap:8px}}.master-publish>label,.master-updates>label{display:grid;gap:8px;margin:16px 0;font-size:12px;color:var(--text-secondary)}.master-updates input,.master-updates select{width:100%;min-width:0;min-height:40px;border:1px solid var(--panel-border);background:var(--app-bg);color:var(--text-main);border-radius:4px;padding:8px 10px;font:inherit}.master-publish{border-top:1px solid var(--panel-border);margin-top:24px;padding-top:16px}.master-publish h3{font-size:14px}.admin-archive-tools{padding:20px;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:12px;grid-column:1/-1}.admin-archive-tools summary{cursor:pointer;font-size:13px}.workspace-data .workspace-data{padding:20px 0;max-width:none}.workspace-data .data-panel>button{margin:4px 8px 10px 0}.data-panel .file-field{display:grid;margin-top:20px;gap:10px}.lesson-source-url{overflow-wrap:anywhere}.workspace-sidebar-bottom{padding:10px 0 0;gap:8px}.workspace-sidebar-bottom .workspace-data-link{padding:4px 0}.workspace-sidebar-bottom .sidebar-copyright{display:block;width:100%;margin:0;padding:8px 0 0;border:0;border-top:1px solid var(--panel-border);text-align:left;font-size:11px;line-height:1.6;color:var(--text-secondary)}@media(max-width:650px){.reading-question-sidebar .reading-question-map button{flex:0 0 35px;width:35px;min-width:35px;max-width:35px}.lesson-grid .dx-datagrid .dx-toolbar{min-height:44px}.lesson-title-link{gap:8px!important}.lesson-type-icon{width:28px!important;height:28px!important}.lesson-title-link .font-semibold{font-size:12px}}.main{padding-top:0}.topbar{position:sticky;top:0;left:auto;right:auto}@media(max-width:650px){.reading-question-sidebar .reading-question-map{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:6px}}.lesson-done-inline{display:none;color:#10b981}@media(max-width:650px){.lesson-done-inline{display:inline-block;vertical-align:middle;margin-left:6px;flex-shrink:0}}.topbar-controls .admin-access{padding:5px 8px;font-size:11px;white-space:nowrap;color:var(--text-secondary)}.topik-bank-lesson{min-width:0}@media(max-width:650px){.topbar-title{width:100%;max-width:100%;flex:0 0 auto}}.bank-exam-toolbar,.bank-heading,.bank-heading-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.bank-heading{margin-bottom:14px}.bank-heading p{margin:0;color:var(--text-secondary);font-size:12px}.bank-mode-switch,.bank-skill-tabs{display:flex;gap:4px;padding:4px;border:1px solid var(--panel-border);background:var(--panel-bg);border-radius:9px}.bank-audio-tracks button,.bank-mode-switch button,.bank-skill-tabs button{display:flex;align-items:center;gap:6px;background:transparent;border:0;padding:7px 11px;color:var(--text-secondary);border-radius:6px;font:inherit;font-size:12px}.bank-audio-tracks .active,.bank-mode-switch .active,.bank-skill-tabs .active{background:var(--primary);color:#fff}.bank-source-panel:empty{display:none}.bank-source-panel{margin-bottom:18px}.bank-source-panel>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 16px;border:1px solid var(--panel-border);border-radius:10px;background:var(--panel-bg);margin-bottom:8px}.bank-source-panel>div>span{display:flex;align-items:center;gap:8px;font-size:12px;flex-wrap:wrap}.bank-source-panel small{display:block;flex-basis:100%;font-size:10px;color:var(--text-secondary);margin-left:23px}.bank-source-panel button{font-size:11px;padding:8px 12px;flex-shrink:0}.bank-audio{margin:18px 0}.bank-audio>span{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);margin-bottom:10px}.bank-audio audio{display:block;width:100%;height:40px}.bank-audio-tracks{display:flex;gap:4px;margin-top:8px;flex-wrap:wrap}.bank-audio-tracks button{border:1px solid var(--panel-border);font-size:10px;padding:5px 9px}.bank-audio-placeholder,.bank-context-note{font-size:12px;line-height:1.8;color:var(--text-secondary);margin:20px 0}.bank-passage{white-space:pre-wrap;font-size:16px;line-height:2;overflow-wrap:anywhere;margin-top:18px}.bank-supplement{margin-top:18px;padding:14px;border:1px solid var(--panel-border);border-radius:8px;font-size:15px;line-height:1.9}.bank-supplement>strong{font-size:11px;color:var(--text-secondary)}.bank-supplement>p{margin:5px 0 0}.bank-original{margin-top:20px;color:var(--text-secondary);font-size:11px}.bank-original summary{cursor:pointer}.bank-original img{margin:12px 0 0}.bank-image-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bank-option{min-width:0;border:1px solid var(--panel-border);border-radius:9px;overflow:hidden}.bank-option .reading-option{border:0!important;background:transparent!important;width:100%;text-align:left;margin:0;border-radius:0;min-height:45px;display:flex;align-items:center;gap:10px}.bank-option .reading-option strong{font-size:14px;font-weight:500;line-height:1.7}.bank-option .reading-option svg{margin-left:auto;flex-shrink:0}.bank-option img{display:block;width:100%;height:auto;max-height:210px;object-fit:contain}.bank-option.is-selected{border-color:var(--primary);background:var(--accent-soft)}.bank-option.is-correct{border-color:#10b981;background:#10b98114}.bank-option.is-wrong{border-color:#ef4444;background:#ef444414}.bank-answer-note{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:16px 0 0;padding-top:14px;border-top:1px solid var(--panel-border);font-size:12px}.bank-writing-response{display:grid;gap:14px}.bank-writing-response h3{display:flex;align-items:center;gap:8px;font-size:13px;margin:0 0 4px}.bank-writing-response label{display:grid;gap:8px;font-size:12px;color:var(--text-secondary)}.bank-writing-response textarea{width:100%;min-width:0;resize:vertical;border:1px solid var(--panel-border);border-radius:8px;background:var(--app-bg);color:var(--text-main);padding:12px;font:inherit;font-size:15px;line-height:1.9}.bank-writing-response textarea:focus{outline:2px solid var(--accent-soft);border-color:var(--primary)}.bank-writing-count{font-size:11px;color:var(--text-secondary);margin:0}.bank-writing-count.is-over{color:#ef4444}.bank-writing-response>.primary-button{justify-self:start;font-size:12px}.bank-sample{padding:16px;border:1px solid var(--panel-border);border-radius:10px;background:var(--app-bg)}.bank-sample h4{font-size:12px;margin:0 0 12px}.bank-sample p{white-space:pre-wrap;line-height:2;font-size:15px}.bank-sample small{font-size:11px;color:var(--text-secondary);line-height:1.8}.bank-source-notice{padding:12px 14px;border:1px solid var(--panel-border);border-radius:8px;background:var(--panel-bg);font-size:13px;line-height:1.6;color:var(--text-muted)}.bank-map-mark{position:absolute;bottom:0;right:2px;line-height:1;font-size:12px}.bank-practice-layout .reading-navigation>span{font-size:12px}.bank-full-audio{position:sticky;top:80px;z-index:10;border:1px solid var(--panel-border);border-radius:12px;background:var(--panel-bg);padding:0 18px;margin:0 0 18px;box-shadow:0 5px 20px #0002}.bank-all-questions{display:grid;grid-template-columns:minmax(0,1fr);gap:18px}.bank-question-sheet{border:1px solid var(--panel-border);border-radius:12px;background:var(--panel-bg);padding:22px;scroll-margin-top:190px}.bank-question-sheet>header{display:flex;justify-content:space-between;gap:12px}.bank-question-sheet>header>span{font-size:14px;font-weight:700}.bank-question-sheet>header>small{font-size:11px;color:var(--text-secondary)}.bank-question-sheet>h3{font-size:15px;line-height:1.8;margin:16px 0}.bank-question-sheet .bank-image-options{max-width:760px}.bank-question-sheet .reading-options:not(.bank-image-options){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bank-question-sheet .bank-original{margin:12px 0}.bank-question-sheet .bank-writing-response{margin-top:20px}.bank-question-sheet>.bank-passage{max-width:900px}.bank-exam-toolbar{margin:18px 0}.bank-skill-tabs small{opacity:.7}.bank-timer{display:flex;align-items:center;gap:7px;font-size:14px;font-variant-numeric:tabular-nums}.bank-exam-result{padding:15px;border:1px solid #10b98166;border-radius:10px;background:#10b98114;font-size:13px}.bank-composer{border:1px solid var(--panel-border);border-radius:12px;padding:18px;background:var(--panel-bg);margin:0 0 20px;font-size:12px}.bank-composer summary{cursor:pointer;font-weight:700}.bank-composer>label{display:grid;gap:8px;margin:18px 0}.bank-composer input:not([type=checkbox]){padding:9px 12px;background:var(--app-bg);color:var(--text-main);border:1px solid var(--panel-border);border-radius:8px}.bank-composer-lessons{display:grid;gap:10px;max-height:260px;overflow:auto}.bank-composer-lessons label{display:flex;align-items:center;gap:10px;padding:9px;background:var(--app-bg);border-radius:7px}.bank-composer-lessons small{display:block;color:var(--text-secondary);font-size:10px;margin-top:4px}.bank-composer>p{font-size:11px;color:var(--text-secondary)}@media(max-width:650px){.bank-source-panel>div{align-items:flex-start;flex-direction:column;padding:12px}.bank-source-panel small{margin-left:0;line-height:1.7}.bank-heading-actions{width:100%}.bank-practice-layout .reading-navigation{flex-wrap:nowrap;gap:6px}.bank-practice-layout .reading-navigation>span{font-size:10px}.bank-practice-layout .reading-navigation button{padding:8px;font-size:10px}.bank-passage{font-size:15px}.bank-question-sheet{padding:15px}.bank-question-sheet .reading-options:not(.bank-image-options){grid-template-columns:minmax(0,1fr)}.bank-image-options{gap:7px}.bank-option .reading-option strong{font-size:12px}.bank-full-audio{top:0;padding:0 12px}.bank-writing-response textarea{font-size:14px}.bank-exam-toolbar>.primary-button{font-size:11px}}.page-skeleton{width:100%;padding:8px 0 24px;min-height:500px}.skeleton-card,.skeleton-line{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:8px}.skeleton-line{height:15px;margin-bottom:17px;position:relative;overflow:hidden;background:var(--accent-soft)}.skeleton-line:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,#94a3b81c,transparent);animation:skeleton-sweep 1.5s infinite}.skeleton-title{width:32%;height:27px}.skeleton-description{width:55%;margin-bottom:26px}.skeleton-layout{display:grid;grid-template-columns:minmax(0,1fr) 208px;gap:22px}.skeleton-card{padding:24px;min-height:350px;border-radius:12px}.skeleton-card .skeleton-line:nth-child(3n){width:75%}.skeleton-side{min-height:260px}.skeleton-side .skeleton-line{height:30px}@keyframes skeleton-sweep{to{transform:translateX(100%)}}.bank-exam-layout .reading-main{min-width:0}@media(min-width:651px){.reading-layout:has(>.bank-question-sidebar){grid-template-columns:minmax(0,1fr) 262px;gap:18px}}.bank-question-sheet{scroll-margin-top:calc(var(--app-header-height,78px) + 20px)}.bank-question-sidebar h4{font-size:12px;margin:16px 0 10px;color:var(--text-secondary)}.bank-question-sidebar .reading-question-map{max-height:none;overflow:visible}.bank-question-sidebar .is-answered{background:var(--accent-soft);border-color:var(--primary)}.bank-question-sidebar .is-unavailable{opacity:.5}.bank-image-options .reading-option{flex-wrap:wrap}.bank-image-options .reading-option img{flex:0 0 100%;width:100%;background:white;padding:6px;border-radius:4px}.bank-option:focus-within{outline:2px solid var(--primary);outline-offset:2px}.question-image-frame{position:relative;min-width:0}.question-image-expand{position:absolute;top:6px;right:6px;z-index:1;display:grid;place-items:center;width:26px;height:26px;padding:0;border:1px solid #ffffff80;border-radius:6px;background:#07121ee6;color:#fff;cursor:zoom-in;box-shadow:0 1px 4px #0003}.question-image-expand:hover{background:#263650}.question-image-expand:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.bank-image-options .question-image-frame{margin:10px 10px 0;cursor:pointer}.bank-image-options .question-image-frame img{width:100%;background:white;padding:6px;border-radius:4px}.bank-question-sidebar{position:sticky;top:calc(var(--app-header-height,78px) + 16px);max-height:calc(100dvh - var(--app-header-height,78px) - 34px);overflow:auto;overscroll-behavior:contain}@media(max-width:650px){.skeleton-layout{grid-template-columns:1fr}.skeleton-side{display:none}.skeleton-title{width:55%}.skeleton-description{width:85%}.bank-question-sidebar{z-index:5;max-height:190px;grid-row:1;background:var(--panel-bg)}.bank-question-sidebar>div{display:inline-block;vertical-align:top;margin-right:10px}.bank-question-sidebar .reading-question-map{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px}.bank-question-sidebar .reading-question-map button{min-width:30px;max-width:30px;width:30px}.bank-question-sheet{scroll-margin-top:calc(var(--app-header-height,150px) + 222px)}}@media(prefers-reduced-motion:reduce){.skeleton-line:after{animation:none}}.bank-exam .bank-exam-toolbar{margin:0 0 14px;gap:10px}.bank-exam-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.bank-exam-actions>.primary-button{min-height:38px;padding:8px 12px}.bank-exam-source{position:relative;font-size:12px}.bank-exam-source>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:7px;padding:9px 11px;border:1px solid var(--panel-border);border-radius:4px;color:var(--text-secondary)}.bank-exam-source>summary::-webkit-details-marker{display:none}.bank-exam-source[open]>summary{color:var(--text-main);background:var(--panel-bg)}.bank-exam-source>.bank-source-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:20;width:min(440px,calc(100vw - 100px));padding:12px;background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:12px;box-shadow:0 12px 32px #0003}.bank-exam-source .bank-source-panel>div{border:0;padding:0;margin:0;align-items:center}.bank-exam-source .bank-source-panel small{margin-left:0}.bank-question-sidebar .reading-question-map{display:grid;grid-template-columns:repeat(8,minmax(0,25px));gap:4px}.bank-question-sidebar .reading-question-map button{height:25px;width:100%;min-width:0;max-width:none;padding:0;font-size:10px;border-radius:4px}.bank-question-sidebar h4{margin:12px 0 8px;font-size:11px}.bank-question-sidebar header{margin-bottom:10px}.bank-exam .bank-full-audio{top:calc(var(--app-header-height,78px) + 8px);margin-bottom:12px}@media(max-width:650px){.bank-exam .bank-exam-toolbar{align-items:center}.bank-exam-actions{gap:6px;justify-content:flex-start}.bank-exam .bank-skill-tabs button{padding:6px 9px}.bank-exam-source>.bank-source-panel{left:0;right:auto}.bank-question-sidebar>div{display:block;margin-right:0}.bank-question-sidebar .reading-question-map{grid-template-columns:repeat(8,minmax(0,25px))}.bank-exam .bank-full-audio{position:static}}.bank-audio-required{padding:10px 12px;background:var(--accent-soft);border:1px solid var(--panel-border);border-radius:8px;color:var(--text-secondary);font-size:12px;margin:0 0 14px}.exam-history-panel h3{display:flex;align-items:center;gap:8px;font-size:15px}.exam-attempt-list{display:grid;gap:12px}.exam-attempt{display:flex;align-items:center;flex-wrap:wrap;gap:12px;border:1px solid var(--panel-border);background:var(--panel-bg);border-radius:12px;padding:16px}.exam-attempt>div:first-child{flex:1;min-width:180px}.exam-attempt strong{font-size:13px}.exam-attempt small{color:var(--text-secondary);font-size:11px}.exam-attempt>div:first-child small{display:flex;align-items:center;gap:6px;margin-top:8px}.exam-attempt-score{font-size:19px;font-weight:700}.exam-attempt-score small{display:block;font-weight:400}.exam-attempt-review{flex-basis:100%;display:grid;gap:10px;max-height:65dvh;overflow:auto;overscroll-behavior:contain;border-top:1px solid var(--panel-border);padding-top:12px}.exam-attempt-question{border-bottom:1px solid var(--panel-border);padding:10px 0;font-size:12px;line-height:1.7}.exam-attempt-question p{margin:6px 0}.exam-history-draft{white-space:pre-wrap}.in-progress-lessons{margin:0 0 26px}.in-progress-lessons h2{font-size:18px;margin:0 0 14px}.in-progress-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:14px}.continue-categories{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.continue-categories button{padding:8px 12px;min-height:38px;border:1px solid var(--border);border-radius:18px;background:var(--surface);color:inherit;font:inherit;cursor:pointer}.continue-categories button[aria-pressed=true]{background:#5145ed;color:white;border-color:#5145ed}.continue-categories span{margin-left:5px;opacity:.7}.continue-category{margin-bottom:22px}.continue-category h3{font-size:14px;margin:0 0 10px}.continue-category h3 small{font-weight:400;opacity:.65;margin-left:8px}.in-progress-card{display:flex;flex-direction:column;align-items:stretch;gap:10px;text-align:left;min-width:0;border:1px solid var(--panel-border);border-radius:12px;background:var(--panel-bg);color:var(--text-main);padding:18px;transition:border-color .2s,transform .2s,box-shadow .2s}.in-progress-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 8px 20px #0001}.in-progress-card>svg{color:var(--primary)}.in-progress-card strong{font-size:14px}.in-progress-card>span{font-size:12px;color:var(--text-secondary)}.in-progress-card small{display:flex;align-items:center;justify-content:space-between;color:var(--primary)}.in-progress-card .progress-track{margin-top:0}@media(max-width:650px){.exam-attempt{padding:12px;gap:10px}.exam-attempt-score{font-size:17px}.in-progress-card{padding:15px}}.master-update-offer{display:grid;gap:10px;padding:16px;border:1px solid var(--panel-border);border-radius:12px;background:var(--accent-soft);margin-top:16px}.master-update-offer>small{color:var(--text-secondary)}.master-update-offer>p{white-space:pre-wrap;margin:0;font-size:12px}.master-update-offer>.primary-button{justify-self:start}.master-publish-actions{display:flex;flex-wrap:wrap;gap:10px}.master-publish textarea{width:100%;padding:10px;border:1px solid var(--panel-border);border-radius:4px;background:var(--app-bg);color:var(--text-main);resize:vertical}.lesson-type-icon.is-completed{background:#16a34a18;color:#15803d}.in-progress-card.is-in-progress{border-color:#d977064d}.in-progress-card.is-in-progress small,.in-progress-card.is-in-progress>span,.in-progress-card.is-in-progress>svg{color:#a16207}.in-progress-card.is-in-progress .progress-track i{background:#eab308}[data-theme=dark] .in-progress-card.is-in-progress small,[data-theme=dark] .in-progress-card.is-in-progress>span,[data-theme=dark] .in-progress-card.is-in-progress>svg{color:#fbbf24}[data-theme=dark] .lesson-type-icon.is-completed{color:#4ade80;background:#22c55e1a}[data-theme=light]{--text-muted:#374151}[data-theme=light] .breadcrumbs,[data-theme=light] .lesson-description,[data-theme=light] .setting-note,[data-theme=light] .workspace-selector{opacity:1}[data-theme=light]{--panel-border:#d6dde6;--table-border:#cbd5e1;--surface-shadow:0 2px 4px rgb(15 23 42/4%),0 6px 18px rgb(15 23 42/7%)}[data-theme=light] .sidebar{box-shadow:4px 0 18px rgb(15 23 42/9%)}[data-theme=light] .topbar{box-shadow:0 2px 8px rgb(15 23 42/6%)}[data-theme=light] :is(.in-progress-card,.category-card,.stats-row>div,.empty-state,.quiz-intro,.results,.question-panel,.writing-panel,.reading-panel,.reading-recordings,.data-panel,.archive-preview,.topik-intro,.topik-group,.question-editor,.lesson-grid,.reading-passage-card,.reading-answer-card,.reading-editor-sidebar,.reading-edit-card,.reading-question-sidebar,.bank-question-sidebar,.bank-question-sheet,.exam-attempt,.admin-archive-tools){box-shadow:var(--surface-shadow)}[data-theme=light] :is(.in-progress-card,.category-card):hover{box-shadow:0 4px 8px rgb(15 23 42/6%),0 12px 26px rgb(15 23 42/11%)}.master-update-progress{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:16px;color:var(--text-main);font-size:13px}.master-update-progress progress{width:min(100%,280px);height:8px;accent-color:var(--primary)}.busy-spinner{animation:busy-spin 1s linear infinite}.busy-dots{display:inline-flex;width:20px;gap:2px;margin-left:3px}.busy-dots i{animation:busy-dot 1.2s infinite;font-style:normal}.busy-dots i:nth-child(2){animation-delay:.2s}.busy-dots i:nth-child(3){animation-delay:.4s}@keyframes busy-spin{to{transform:rotate(1turn)}}@keyframes busy-dot{0%,80%,to{opacity:.2}40%{opacity:1}}@media(prefers-reduced-motion:reduce){.busy-dots i,.busy-spinner{animation:none}}[data-theme=dark]{--surface-shadow:0 2px 5px rgb(0 0 0/18%),0 8px 24px rgb(0 0 0/26%)}[data-theme=dark] .sidebar{box-shadow:4px 0 20px rgb(0 0 0/32%)}[data-theme=dark] :is(.in-progress-card,.category-card,.stats-row>div,.empty-state,.quiz-intro,.results,.question-panel,.writing-panel,.reading-panel,.reading-recordings,.data-panel,.archive-preview,.topik-intro,.topik-group,.question-editor,.lesson-grid,.reading-passage-card,.reading-answer-card,.reading-editor-sidebar,.reading-edit-card,.reading-question-sidebar,.bank-question-sidebar,.bank-question-sheet,.exam-attempt,.admin-archive-tools,.bank-composer){box-shadow:var(--surface-shadow)}[data-theme=light] .bank-composer{box-shadow:var(--surface-shadow)}[data-theme=dark] :is(.in-progress-card,.category-card):hover{box-shadow:0 4px 10px rgb(0 0 0/22%),0 14px 30px rgb(0 0 0/36%)}.topbar{border:0}[data-theme=dark] .topbar{box-shadow:0 3px 14px rgb(0 0 0/28%)}[data-theme=light] .topbar{box-shadow:0 3px 12px rgb(15 23 42/9%)}.device-exam-actions{display:none!important}.topbar{height:auto;min-height:64px;padding:8px 32px;gap:16px}.topbar-title h1{font-size:16px;line-height:1.4}.topbar-title p{margin-top:2px;line-height:1.4}.topbar-controls{gap:12px}.topbar .header-preferences{gap:8px}.topbar .theme-toggle{width:68px;height:34px;padding:3px}.topbar .theme-toggle-thumb{inset:3px auto 3px 3px;width:calc(50% - 3px)}.topbar .note-toggle{width:34px;height:34px}.topbar .header-preferences svg{width:16px;height:16px}.topbar .workspace-selector{gap:8px}.topbar .workspace-selector select{height:34px;padding:5px 9px}@media(max-width:1000px){.topbar{height:auto;padding:8px 20px}.topbar-controls{gap:8px}}@media(max-width:700px){.topbar{height:auto;min-height:88px;padding:8px 12px;gap:6px}.topbar-title h1{font-size:14px}.topbar-title p{margin-top:0}.topbar-controls{gap:6px}.topbar .header-preferences{gap:5px}}.main{--page-body-min-height:max(480px,calc(100svh - var(--app-header-height,64px) - 96px));--lesson-body-min-height:max(480px,calc(100svh - var(--app-header-height,64px) - 160px))}.main>.page-content{min-height:calc(100svh - var(--app-header-height,64px))}.page-content>.page-skeleton{min-height:var(--page-body-min-height)}.detail-page>.page-skeleton,.detail-page>.reading-lesson,.detail-page>.topik-bank-lesson,.reading-lesson>.reading-main,.topik-bank-lesson .reading-main{min-height:var(--lesson-body-min-height)}.detail-page .lesson-panel,.reading-layout .reading-workspace{animation:none}@media(max-width:650px){.main{--page-body-min-height:max(360px,calc(100svh - var(--app-header-height,88px) - 32px));--lesson-body-min-height:max(360px,calc(100svh - var(--app-header-height,88px) - 112px))}}.lesson-grid.lesson-grid-frame{box-sizing:border-box;width:100%;min-width:0;min-height:500px;height:max(500px,calc(100dvh - var(--lesson-grid-offset,calc(var(--app-header-height,64px) + 24px)) - 24px));padding:20px;overflow:hidden;border:1px solid var(--panel-border);border-radius:var(--radius-box,12px);background:var(--panel-bg)}.lesson-grid-placeholder{height:100%;display:flex;flex-direction:column;overflow:hidden}.grid-placeholder-toolbar{height:52px;flex-shrink:0}.grid-placeholder-toolbar .skeleton-line{width:min(320px,60%);height:36px;margin:0}.grid-placeholder-header.skeleton-line{height:46px;width:100%;margin:0;border-radius:0;flex-shrink:0}.grid-placeholder-rows{flex:1;min-height:0;overflow:hidden}.grid-placeholder-row{height:69px;display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--table-border)}.grid-placeholder-icon{width:36px;height:36px;border-radius:8px;flex-shrink:0;background:var(--accent-soft)}.grid-placeholder-row .skeleton-line{height:13px;width:38%;margin:0}.grid-placeholder-row .skeleton-line:last-child{width:18%;margin-left:auto;margin-right:12%}@media(max-width:650px){.lesson-grid.lesson-grid-frame{padding:10px}}.lesson-grid-frame[aria-busy=false]>.dx-datagrid{animation:lesson-content-enter .24s ease-out backwards}.lesson-card-enter,.lesson-grid .lesson-row-enter{animation:lesson-item-enter .28s cubic-bezier(.22,1,.36,1) var(--item-reveal-delay,0s) backwards}@keyframes lesson-content-enter{0%{opacity:0}to{opacity:1}}@keyframes lesson-item-enter{0%{opacity:0;transform:translate3d(0,6px,0)}to{opacity:1;transform:translateZ(0)}}@media(prefers-reduced-motion:reduce){.lesson-card-enter,.lesson-grid .lesson-row-enter,.lesson-grid-frame[aria-busy=false]>.dx-datagrid{animation:none}}.detail-page:has(.study-area) .lesson-panel{min-height:0}.detail-page .speech-settings{margin-top:14px;padding:8px 12px;gap:8px 12px}.speech-settings select{height:30px;min-height:30px;padding:4px 8px}.speech-settings>strong svg{width:16px;height:16px}@media(max-width:600px){.detail-page .speech-settings{padding:8px 10px;gap:8px 10px}}.flashcard-content:has(.flashcard-example){gap:8px}.flashcard-content:has(.flashcard-example)>strong{font-size:clamp(20px,3vw,30px)}.flashcard-example{display:grid;gap:4px;margin:4px auto 0;max-width:90%;font-size:14px;line-height:1.6;font-weight:400;letter-spacing:0}.flashcard-example>span:first-child{color:var(--text-main);font-weight:600}.flashcard-example>span:last-child{font-size:12px;color:var(--text-secondary)}@media(max-width:600px){.flashcard-example{font-size:13px}.flashcard-example>span:last-child{font-size:11px}}.question-lightbox{position:fixed;inset:0;max-width:min(900px,96vw);max-height:85dvh;margin:auto;padding:0;border:1px solid var(--panel-border);border-radius:14px;background:var(--panel-bg);color:var(--text-main);overflow:hidden}.question-lightbox[open]{display:flex;flex-direction:column}.question-lightbox::backdrop{background:#000c}.question-lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 12px;border-bottom:1px solid var(--panel-border);font-size:11px;flex-shrink:0}.question-lightbox-controls{display:flex;align-items:center;gap:4px}.question-lightbox-controls button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid var(--panel-border);border-radius:6px;background:var(--app-bg);color:var(--text-main)}.question-lightbox-controls output{min-width:36px;text-align:center;font-size:11px;font-variant-numeric:tabular-nums}.question-lightbox-viewport{position:relative;flex:1;min-height:0;overflow:hidden;overscroll-behavior:contain;touch-action:none;user-select:none;background:#0003}.question-lightbox-viewport.is-zoomed{cursor:grab;touch-action:none}.question-lightbox-viewport.is-dragging{cursor:grabbing}.question-lightbox-canvas{position:absolute;inset:0;overflow:hidden}.question-lightbox-canvas img{position:absolute;left:50%;top:50%;display:block;max-width:none;max-height:none;user-select:none;pointer-events:none;will-change:transform;transition:none}.question-lightbox-hint{margin:0;padding:6px 10px;text-align:center;font-size:10px;color:var(--text-secondary);flex-shrink:0}.topik-bank-lesson{--bank-sticky-gap:0px;--bank-content-top:calc(var(--app-header-height,78px) + var(--bank-sticky-gap) + var(--bank-controls-height,0px))}.bank-sticky-controls{position:sticky;top:calc(var(--app-header-height,78px) + var(--bank-sticky-gap));z-index:20;background:var(--app-bg);padding:5px 0;margin-bottom:5px}.bank-start-notice{position:fixed;top:calc(var(--app-header-height,78px) + 30px);right:30px;z-index:100;display:flex;align-items:center;gap:12px;width:min(380px,calc(100vw - 60px));padding:14px 16px;border:1px solid #fca5a5;border-radius:10px;background:#fff1f2;color:#7f1d1d;box-shadow:0 6px 24px #ef444426;font-size:13px;line-height:1.6}.bank-start-notice>svg{flex-shrink:0;color:#d97706}.bank-start-notice p{margin:0}.bank-start-notice>button{flex-shrink:0;border:0;background:transparent;color:inherit;padding:0 3px;font-size:20px;cursor:pointer}.bank-option .reading-option[aria-disabled=true]:not(:disabled){opacity:.65;cursor:not-allowed}.bank-exam .bank-sticky-controls .bank-exam-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 262px;margin:0;gap:18px}.bank-exam-primary{display:flex;align-items:center;gap:10px;min-width:0}.bank-exam-primary>.bank-skill-tabs{flex-shrink:0;height:40px}.bank-exam-primary>.bank-full-audio{flex:1;min-width:0}.bank-exam-primary .bank-audio audio{height:40px;min-width:0}.bank-exam-primary .bank-audio+.bank-audio{margin-top:5px}.bank-exam .bank-exam-actions{gap:8px;flex-wrap:nowrap}.bank-exam .bank-exam-actions>.outline-button,.bank-exam .bank-exam-actions>.primary-button,.bank-exam .bank-exam-source>summary,.bank-exam .bank-timer{height:40px;min-height:40px;font-size:11px;line-height:1.4;white-space:nowrap}.bank-exam .bank-exam-actions>.outline-button,.bank-exam .bank-exam-actions>.primary-button,.bank-exam .bank-exam-source>summary{padding:8px 10px}@media(max-width:1100px){.bank-exam .bank-sticky-controls .bank-exam-toolbar{grid-template-columns:minmax(0,1fr);gap:8px}}@media(max-width:650px){.bank-exam-primary{flex-wrap:wrap}.bank-exam-primary>.bank-full-audio{flex-basis:100%}.bank-exam .bank-exam-actions{justify-content:flex-end}}.bank-sticky-controls .bank-full-audio{position:static;top:auto;padding:0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none}.bank-sticky-controls .bank-audio{margin:0}.bank-sticky-controls>.bank-audio{margin:0 0 5px}.topik-bank-lesson:has(.bank-sticky-controls) .bank-question-sidebar{top:var(--bank-content-top);max-height:calc(100dvh - var(--bank-content-top) - 16px)}.topik-bank-lesson:has(.bank-sticky-controls) .bank-question-sheet{scroll-margin-top:calc(var(--app-header-height,78px) + var(--bank-sticky-gap) + var(--bank-controls-height,0px) + 10px)}@media(min-width:651px){.bank-sticky-controls>.bank-audio,.bank-sticky-controls>.bank-full-audio{width:calc(100% - 310px)}}@media(max-width:650px){.topik-bank-lesson:has(.bank-sticky-controls) .bank-question-sidebar{max-height:150px}.topik-bank-lesson:has(.bank-sticky-controls) .bank-question-sheet{scroll-margin-top:calc(var(--app-header-height,150px) + var(--bank-sticky-gap) + var(--bank-controls-height,0px) + 170px)}}@media(max-width:550px){.question-lightbox-toolbar{padding:8px;gap:4px}.question-lightbox-toolbar>span{font-size:11px}.question-lightbox-controls{gap:3px}.question-lightbox-controls button{width:28px;height:28px}.question-lightbox-controls output{min-width:34px}.question-lightbox-hint{font-size:10px}}.bank-exam{padding-left:0}.bank-exam .bank-sticky-controls .bank-exam-toolbar{display:flex;justify-content:space-between;gap:10px}.bank-exam-primary{flex:0 0 auto}.bank-exam .bank-exam-primary>.bank-skill-rail{position:static;width:auto;height:40px;display:flex;flex-direction:row;gap:4px;padding:4px}.bank-skill-rail button{height:auto;justify-content:center;padding:6px 8px}.bank-bottom-audio{position:fixed;left:var(--bank-audio-left);bottom:0;z-index:22;width:var(--bank-audio-width);padding:8px 0 calc(8px + env(safe-area-inset-bottom,0px));background:var(--app-bg)}.bank-bottom-audio .bank-full-audio{position:static;width:100%;padding:0;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none}.bank-bottom-audio .bank-audio{margin:0}.bank-bottom-audio .bank-audio+.bank-audio{margin-top:5px}.bank-bottom-audio audio{height:40px}.has-bottom-audio{padding-bottom:calc(var(--bank-audio-height,56px) + 16px)}.has-bottom-audio .bank-question-sheet{scroll-margin-bottom:calc(var(--bank-audio-height,56px) + 16px)}@media(max-width:650px){.bank-exam .bank-exam-primary>.bank-skill-rail{padding:3px}.bank-skill-rail button{padding:6px;font-size:11px}.bank-exam .bank-exam-actions{flex-wrap:wrap;gap:5px}.bank-exam .bank-exam-actions>.primary-button,.bank-exam .bank-exam-source>summary{font-size:10px;padding:6px}.bank-exam .bank-exam-source>.bank-source-panel{left:auto;right:0;width:min(320px,calc(100vw - 90px))}}.lesson-grid .dx-datagrid .dx-datagrid-headers .dx-header-row>td,.lesson-grid .dx-datagrid .dx-datagrid-rowsview .dx-data-row>td{vertical-align:middle!important}.toeic-listening-review{margin-top:16px;padding:16px;border:1px solid var(--panel-border);border-radius:12px;font-size:13px;line-height:1.7}.toeic-listening-review h3,.toeic-listening-review h4{margin:0 0 8px;font-size:13px;line-height:1.65}.toeic-listening-review h4{margin-top:20px}.toeic-listening-review p{margin:0;white-space:pre-line}.toeic-listening-review li{margin:6px 0}.bank-answer-explanation,.toeic-transcript{font-size:13px;line-height:1.7}.reading-passage-image{max-height:300px;object-fit:contain;object-position:center}.bank-option-content{flex:1;min-width:0}.brand .brand-mark{background:transparent;color:inherit;flex-shrink:0}.brand-mark img,.welcome-brand img{display:block;object-fit:contain;flex-shrink:0}.continue-card-heading{display:flex;align-items:center;gap:8px;color:var(--primary)}.continue-card-type{font-size:10px;text-transform:uppercase;letter-spacing:.35px}.continue-card-path{font-size:11px;line-height:1.6;color:var(--text-secondary);overflow-wrap:anywhere}.in-progress-card>strong{margin-top:auto}.in-progress-card.is-in-progress .continue-card-heading{color:#a16207}[data-theme=dark] .in-progress-card.is-in-progress .continue-card-heading{color:#fbbf24}.brand-logo{display:block;width:68px;max-width:100%;flex-shrink:0}.brand-logo img{display:block;width:100%;height:auto;object-fit:contain}.brand-logo .brand-logo-dark,.brand-logo-on-dark .brand-logo-light,[data-theme=dark] .brand-logo .brand-logo-light{display:none}.brand-logo-on-dark .brand-logo-dark,[data-theme=dark] .brand-logo .brand-logo-dark{display:block}.sidebar .brand{justify-content:flex-start;gap:10px;width:100%;padding:0}@media(min-width:851px){.sidebar{padding-top:9px}}.welcome-brand .brand-logo{width:48px}@media(max-width:850px){.sidebar:not(.sidebar-expanded) .brand-logo{display:block;width:40px}.sidebar.sidebar-expanded .brand-logo{width:44px}.sidebar.sidebar-expanded .brand{padding:0}}@media(max-width:800px){.welcome-brand .brand-logo{width:44px}}.topik-exam-levels{display:flex;gap:10px;margin-bottom:16px}.topik-exam-levels button{display:flex;align-items:center;gap:9px;padding:8px 12px;min-height:34px;border:1px solid var(--panel-border);border-radius:7px;background:var(--panel-bg);color:var(--text-main);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.topik-exam-levels button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--primary);color:var(--accent-text)}.topik-exam-levels span{font-size:11px;font-weight:400;color:var(--text-secondary)}