:root{color-scheme:light;font-family:SF Pro Text,SF Pro Display,Helvetica Neue,PingFang SC,Noto Sans SC,sans-serif;--bg-page: linear-gradient(180deg, #f7f8fa 0%, #f2f4f7 100%);--bg-shell: transparent;--text-primary: #1f2933;--text-secondary: #46515f;--text-muted: #6c7886;--text-soft: #97a0aa;--text-on-accent: #ffffff;--accent-text: #286d78;--accent-strong: #2f6f78;--accent-gradient: linear-gradient(135deg, #2f6f78 0%, #315f86 100%);--border-soft: rgba(61, 72, 86, .13);--border-faint: rgba(61, 72, 86, .09);--border-accent: rgba(47, 111, 120, .18);--panel-bg: #ffffff;--panel-bg-strong: #ffffff;--panel-bg-soft: #fbfcfd;--panel-bg-solid: #ffffff;--panel-bg-subtle: #fbfcfd;--surface-subtle: rgba(47, 111, 120, .075);--surface-input: #ffffff;--surface-floating: #ffffff;--surface-card: #ffffff;--surface-note: #fbfcfd;--surface-empty: #fbfcfd;--shadow-panel: 0 10px 28px rgba(31, 41, 51, .055);--shadow-soft: 0 6px 18px rgba(31, 41, 51, .045);--shadow-card: 0 10px 26px rgba(31, 41, 51, .06);--shadow-lift: 0 12px 26px rgba(31, 41, 51, .075);--overlay-backdrop: rgba(20, 27, 34, .32);--modal-bg: #ffffff;--selection-bg: rgba(47, 111, 120, .18);--status-known-bg: rgba(52, 137, 94, .1);--status-known-text: #23734d;--status-known-border: rgba(52, 137, 94, .2);--status-warn-bg: rgba(177, 125, 48, .11);--status-warn-text: #8f6426;--status-warn-border: rgba(177, 125, 48, .22);--status-review-bg: rgba(76, 91, 155, .11);--status-review-text: #4a5794;--status-review-border: rgba(76, 91, 155, .2);--status-danger-bg: rgba(174, 82, 63, .1);--status-danger-text: #9b4938;--status-danger-border: rgba(174, 82, 63, .2);--status-info-bg: rgba(47, 111, 120, .1);--status-info-text: #2f6f78;--status-info-border: rgba(47, 111, 120, .2);--status-neutral-bg: #f2f4f6;--status-neutral-text: #798390;--status-neutral-border: rgba(61, 72, 86, .1);--level-bg: rgba(49, 95, 134, .1);--level-text: #315f86;--level-border: rgba(49, 95, 134, .18);--definition-bg: #f4f8f8;--definition-border: rgba(47, 111, 120, .16);--definition-text: #2f6f78;--intro-bg: #fbf8f1;--intro-border: rgba(143, 109, 56, .14);--callout-bg: #fff7f4;--callout-border: rgba(174, 82, 63, .16);--prompt-bg: #f4fbf8;--prompt-border: rgba(52, 137, 94, .16);--toast-saving-bg: rgba(235, 245, 255, .96);--toast-saving-text: #2559ad;--toast-saving-border: rgba(72, 142, 255, .18);--toast-success-bg: rgba(237, 253, 245, .96);--toast-success-text: #177d54;--toast-success-border: rgba(45, 196, 120, .18);--toast-error-bg: rgba(255, 243, 241, .97);--toast-error-text: #b44f3d;--toast-error-border: rgba(255, 114, 94, .2);--focus-ring: 0 0 0 3px rgba(47, 111, 120, .2)}:root[data-theme=dark]{color-scheme:dark;--bg-page: linear-gradient(180deg, #101722 0%, #0d141e 100%);--bg-shell: transparent;--text-primary: #ecf3ff;--text-secondary: #bfd0e5;--text-muted: #97abc6;--text-soft: #768ca9;--accent-text: #75cbff;--border-soft: rgba(119, 164, 255, .22);--border-faint: rgba(119, 164, 255, .18);--border-accent: rgba(106, 177, 255, .22);--panel-bg: linear-gradient(180deg, rgba(12, 24, 40, .84) 0%, rgba(14, 28, 47, .92) 100%);--panel-bg-strong: linear-gradient(180deg, rgba(14, 28, 47, .95) 0%, rgba(18, 33, 54, .95) 100%);--panel-bg-soft: linear-gradient(180deg, rgba(15, 28, 46, .84) 0%, rgba(17, 31, 51, .92) 100%);--panel-bg-solid: rgba(15, 28, 46, .92);--panel-bg-subtle: rgba(17, 31, 50, .72);--surface-subtle: rgba(87, 151, 255, .14);--surface-input: rgba(10, 24, 40, .92);--surface-floating: linear-gradient(180deg, rgba(14, 28, 47, .98) 0%, rgba(17, 33, 54, .98) 100%);--surface-card: linear-gradient(180deg, rgba(13, 30, 48, .98) 0%, rgba(18, 38, 60, .98) 100%);--surface-note: linear-gradient(180deg, rgba(14, 31, 49, .98) 0%, rgba(17, 36, 57, .98) 100%);--surface-empty: linear-gradient(180deg, rgba(14, 31, 49, .98) 0%, rgba(18, 35, 56, .98) 100%);--shadow-panel: 0 24px 60px rgba(0, 0, 0, .28), inset 0 1px 0 rgba(255, 255, 255, .04);--shadow-soft: 0 16px 34px rgba(0, 0, 0, .2);--shadow-card: inset 0 1px 0 rgba(255, 255, 255, .04), 0 20px 40px rgba(0, 0, 0, .28);--shadow-lift: 0 18px 40px rgba(0, 0, 0, .3), 0 0 0 1px rgba(66, 163, 255, .18);--overlay-backdrop: rgba(2, 8, 18, .6);--modal-bg: linear-gradient(180deg, rgba(10, 24, 40, .98) 0%, rgba(14, 29, 48, .99) 100%);--selection-bg: rgba(86, 162, 255, .5);--status-neutral-bg: rgba(39, 57, 79, .96);--status-neutral-text: #a0b5cf;--status-neutral-border: rgba(111, 150, 210, .18);--status-review-bg: rgba(72, 132, 255, .22);--status-review-text: #9bc4ff;--status-review-border: rgba(95, 151, 255, .28);--level-bg: rgba(77, 132, 255, .18);--level-text: #8ec3ff;--level-border: rgba(77, 132, 255, .24);--definition-bg: linear-gradient(180deg, rgba(16, 40, 68, .98) 0%, rgba(18, 45, 75, .98) 100%);--definition-border: rgba(82, 154, 255, .2);--definition-text: #94c4ff;--intro-bg: linear-gradient(180deg, rgba(14, 31, 51, .98) 0%, rgba(18, 36, 58, .98) 100%);--intro-border: rgba(110, 155, 219, .16);--callout-bg: linear-gradient(180deg, rgba(66, 28, 29, .9) 0%, rgba(74, 31, 35, .92) 100%);--callout-border: rgba(255, 126, 116, .2);--prompt-bg: linear-gradient(180deg, rgba(14, 53, 54, .9) 0%, rgba(18, 59, 62, .92) 100%);--prompt-border: rgba(83, 217, 213, .2);--toast-saving-bg: rgba(20, 50, 88, .96);--toast-saving-text: #abd4ff;--toast-saving-border: rgba(86, 162, 255, .22);--toast-success-bg: rgba(16, 73, 53, .96);--toast-success-text: #aef2cd;--toast-success-border: rgba(74, 210, 137, .22);--toast-error-bg: rgba(90, 36, 33, .96);--toast-error-text: #ffc1b8;--toast-error-border: rgba(255, 128, 111, .22)}:root[data-theme=paper]{color-scheme:light;--bg-page: linear-gradient(180deg, #f4f1ea 0%, #eeebe3 100%);--bg-shell: transparent;--text-primary: #25231f;--text-secondary: #4f4a42;--text-muted: #777064;--text-soft: #a29a8c;--accent-text: #4f766c;--accent-strong: #3f7168;--accent-gradient: linear-gradient(135deg, #3f7168 0%, #516f8f 100%);--border-soft: rgba(72, 62, 45, .14);--border-faint: rgba(72, 62, 45, .09);--border-accent: rgba(63, 113, 104, .2);--panel-bg: #fffdf7;--panel-bg-strong: #fffdf8;--panel-bg-soft: #fbf8f1;--panel-bg-solid: #fffdf8;--panel-bg-subtle: #faf6ed;--surface-subtle: rgba(63, 113, 104, .08);--surface-input: #fffefa;--surface-floating: #fffdf8;--surface-card: #fffdf8;--surface-note: #fbf7ef;--surface-empty: #faf6ed;--shadow-panel: 0 10px 26px rgba(67, 57, 42, .06);--shadow-soft: 0 6px 16px rgba(67, 57, 42, .045);--shadow-card: 0 10px 24px rgba(67, 57, 42, .06);--shadow-lift: 0 12px 26px rgba(67, 57, 42, .075);--modal-bg: #fffdf8;--selection-bg: rgba(63, 113, 104, .18);--status-neutral-bg: #f1eee6;--level-bg: rgba(81, 111, 143, .11);--level-text: #516f8f;--level-border: rgba(81, 111, 143, .18);--definition-bg: #f2f7f4;--definition-border: rgba(63, 113, 104, .16);--definition-text: #3f7168;--intro-bg: #faf4e7;--intro-border: rgba(155, 113, 48, .14);--callout-bg: #fff5ef;--callout-border: rgba(174, 82, 63, .15);--prompt-bg: #f3faf5;--prompt-border: rgba(52, 137, 94, .15)}*{box-sizing:border-box}html,body,button,input,select,textarea{transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg-page);color:var(--text-primary);font-size:15px;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:0;box-shadow:var(--focus-ring)}button:active,.primary-button:active,.secondary-button:active{transform:scale(.985)}.skip-link{position:absolute;left:12px;top:8px;z-index:2000;transform:translateY(-140%);border-radius:6px;padding:9px 12px;background:var(--panel-bg-solid);border:1px solid var(--border-soft);color:var(--accent-strong);font-weight:700;box-shadow:var(--shadow-soft)}.skip-link:focus{transform:translateY(0)}.app-shell{width:min(1760px,calc(100% - 24px));margin:0 auto;padding:16px 0 28px;position:relative;background:var(--bg-shell)}.product-nav{display:inline-flex;gap:8px;padding:4px;margin:0 0 12px;border-radius:8px;background:var(--panel-bg);border:1px solid var(--border-soft);box-shadow:none}.product-nav button{border:0;border-radius:7px;padding:9px 14px;background:transparent;color:var(--text-secondary);font-weight:700;min-width:0;transition:background-color .18s ease,color .18s ease,transform .16s ease}.product-nav button.active{background:var(--accent-gradient);color:var(--text-on-accent);box-shadow:none}.save-toast{position:sticky;top:14px;z-index:1200;width:fit-content;max-width:min(420px,calc(100vw - 32px));margin:0 auto 12px;padding:10px 14px;border-radius:8px;font-size:.92rem;font-weight:700;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.save-toast-saving{background:var(--toast-saving-bg);border:1px solid var(--toast-saving-border);color:var(--toast-saving-text)}.save-toast-success{background:var(--toast-success-bg);border:1px solid var(--toast-success-border);color:var(--toast-success-text)}.save-toast-error{background:var(--toast-error-bg);border:1px solid var(--toast-error-border);color:var(--toast-error-text)}.dashboard-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:12px;align-items:start}.side-rail{display:grid;gap:12px;position:sticky;top:18px}.main-stage{min-width:0}.listening-stage,.ielts-stage{display:grid;gap:14px}.hero,.toolbar,.panel,.stat-card{border:1px solid var(--border-soft);background:var(--panel-bg);box-shadow:var(--shadow-soft)}.hero{display:grid;grid-template-columns:1fr;gap:10px;border-radius:8px;padding:14px 16px;position:relative;overflow:hidden;align-items:start}.hero:before{content:none}.eyebrow{margin:0 0 8px;color:var(--accent-text);text-transform:none;letter-spacing:0;font-size:.72rem;font-weight:600}.hero h1{margin:0;font-size:clamp(1.3rem,1.6vw,1.85rem);line-height:1.12;letter-spacing:0;max-width:10ch}.hero-copy{max-width:16rem;margin:8px 0 0;color:var(--text-secondary);line-height:1.45;font-size:.94rem}.hero-panel{display:grid;grid-template-columns:1fr;gap:10px;align-self:center}.hero-stat,.stat-card{border-radius:8px;padding:12px 14px;background:var(--panel-bg-strong);border:1px solid var(--border-faint)}.hero-stat span,.stat-card span,.detail-meta span,.card-header span,.field-block label{display:block;color:var(--text-muted);font-size:.88rem}.hero-stat strong,.stat-card strong{display:block;margin-top:6px;font-size:1.28rem}.toolbar{margin-top:12px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px;border-radius:8px}.listening-toolbar{align-items:center;margin-top:0}.toolbar-title{display:grid;gap:2px;min-width:116px}.toolbar-title strong{color:var(--text-primary);font-size:.95rem;line-height:1.2}.toolbar-title span{color:var(--text-muted);font-size:.8rem;font-variant-numeric:tabular-nums}.alphabet-bar{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px;border:1px solid var(--border-faint);border-radius:8px;background:var(--panel-bg-soft);box-shadow:none}.alphabet-bar button{border:1px solid var(--border-faint);border-radius:6px;min-width:31px;padding:6px 8px;background:var(--panel-bg-solid);color:var(--text-secondary);font-size:.82rem;font-weight:700}.alphabet-bar button.active{background:var(--accent-gradient);color:var(--text-on-accent);border-color:transparent;box-shadow:none}.alphabet-bar button:disabled{opacity:.32;cursor:not-allowed}.info-panel{margin-top:14px;border:1px solid var(--border-soft);border-radius:8px;background:var(--panel-bg-soft);box-shadow:var(--shadow-soft);overflow:hidden}.info-panel details{padding:0}.info-panel summary{list-style:none;padding:18px 22px;font-weight:700;color:var(--accent-strong);cursor:pointer;display:flex;align-items:center;justify-content:space-between}.info-panel summary::-webkit-details-marker{display:none}.info-panel summary:after{content:"+";font-size:1.2rem;color:var(--accent-strong)}.info-panel details[open] summary:after{content:"−"}.info-grid{display:grid;gap:14px;padding:0 18px 18px}.info-block{border:1px solid var(--border-faint);border-radius:8px;background:var(--panel-bg-subtle);padding:16px 18px}.info-block h3{margin:0 0 10px;font-size:1rem;color:var(--text-primary)}.info-block p,.info-block li{color:var(--text-secondary);line-height:1.75}.info-block p{margin:0}.info-block ul{margin:10px 0 0;padding-left:20px}.segment,.theme-switcher{display:inline-flex;padding:4px;border-radius:8px;background:var(--surface-subtle);border:1px solid var(--border-accent)}.segment button,.status-group button,.theme-switcher button{border:0;border-radius:6px;background:transparent;color:var(--text-secondary);padding:9px 13px;transition:background-color .18s ease,color .18s ease,transform .16s ease}.segment button.active,.status-group button.active,.theme-switcher button.active{background:var(--accent-gradient);color:var(--text-on-accent);box-shadow:none}.theme-switcher{gap:2px}.theme-switcher button{font-size:.84rem;font-weight:700;white-space:nowrap}.search,.toolbar select,.field-block input,.field-block textarea{border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-input);color:var(--text-primary)}.search,.toolbar select,.field-block input{padding:10px 12px}.search{flex:1;min-width:220px}.search::placeholder,.field-block textarea::placeholder,.field-block input::placeholder{color:var(--text-soft)}.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:12px}.stats-grid-side{grid-template-columns:1fr;margin-top:0}.workspace-grid{display:grid;grid-template-columns:minmax(620px,1.08fr) minmax(520px,.92fr);gap:12px;margin-top:10px;align-items:start}.panel{border-radius:8px;padding:14px}.detail-panel{position:sticky;top:18px;max-height:calc(100vh - 36px);display:flex;flex-direction:column}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.panel-header h2{margin:0;font-size:1.18rem;letter-spacing:0;text-wrap:balance}.word-list{display:grid;gap:6px;max-height:calc(100vh - 250px);min-height:calc(100vh - 250px);overflow:auto;padding-right:6px}.listening-list{align-content:start}.word-row{width:100%;border:1px solid transparent;border-bottom-color:var(--border-faint);border-radius:8px;background:var(--surface-floating);padding:11px 12px 11px 14px;text-align:left;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .16s ease;position:relative;overflow:hidden}.word-row:before{content:"";position:absolute;inset:8px auto 8px 0;width:3px;border-radius:999px;background:transparent}.word-row:hover,.word-row.selected{background:var(--surface-note);border-color:var(--border-accent);box-shadow:none}.word-row:hover{transform:translateY(-1px)}.word-row.selected:before{background:var(--accent-strong)}.listening-row{width:100%;border:1px solid var(--border-faint);border-radius:8px;background:var(--surface-floating);padding:10px 12px;text-align:left;display:grid;grid-template-columns:3.4rem minmax(0,1fr);gap:10px;align-items:start;box-shadow:none;transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .16s ease}.listening-row:hover,.listening-row.selected{background:var(--surface-note);border-color:var(--selection-bg);box-shadow:none}.listening-row:hover{transform:translateY(-1px)}.listening-row-top{min-width:0}.listening-row-top strong{display:block;font-size:.94rem;line-height:1.45;overflow:hidden;white-space:normal;overflow-wrap:anywhere;text-wrap:pretty}.listening-row-index{color:var(--text-muted);font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums}.word-title,.meta-row,.detail-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.word-title strong{font-size:1.06rem}.row-quick-actions{position:absolute;top:8px;right:8px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:min(70%,420px);opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .14s ease,transform .14s ease}.word-row:hover .row-quick-actions,.word-row.selected .row-quick-actions,.word-row:focus-visible .row-quick-actions{opacity:1;transform:translateY(0);pointer-events:auto}.quick-status-chip{border:1px solid var(--border-soft);border-radius:6px;padding:5px 8px;font-size:.72rem;line-height:1;background:var(--panel-bg-solid);color:var(--text-secondary);box-shadow:none}.quick-status-chip:hover{border-color:#2a7fff3d;color:var(--accent-strong)}.quick-status-chip.active{background:var(--accent-gradient);color:var(--text-on-accent);border-color:transparent}.level-pill,.status-pill,.card-pill,.card-badge{display:inline-flex;align-items:center;border-radius:6px;padding:5px 8px;font-size:.78rem;border:1px solid transparent}.level-pill{background:var(--level-bg);color:var(--level-text);border-color:var(--level-border)}.status-pill{background:var(--panel-bg-solid);color:var(--text-secondary)}.status-known{background:var(--status-known-bg);color:var(--status-known-text);border-color:var(--status-known-border)}.status-unsure{background:var(--status-warn-bg);color:var(--status-warn-text);border-color:var(--status-warn-border)}.status-review{background:var(--status-review-bg);color:var(--status-review-text);border-color:var(--status-review-border)}.status-unknown,.status-confusing{background:var(--status-danger-bg);color:var(--status-danger-text);border-color:var(--status-danger-border)}.card-pill{background:var(--status-info-bg);color:var(--status-info-text);border-color:var(--status-info-border)}.card-pill.muted{background:var(--status-neutral-bg);color:var(--status-neutral-text);border-color:var(--status-neutral-border)}.tag-row{margin:10px 0 0;color:var(--text-muted);font-size:.94rem;max-width:calc(100% - 12px)}.status-group{display:flex;flex-wrap:wrap;gap:10px}.detail-tabs{display:inline-flex;gap:4px;padding:4px;margin-bottom:12px;border-radius:8px;background:var(--surface-subtle);border:1px solid var(--border-accent);width:fit-content}.detail-tabs button{border:0;border-radius:6px;background:transparent;color:var(--text-secondary);padding:8px 12px}.detail-tabs button.active{background:var(--accent-gradient);color:var(--text-on-accent);box-shadow:none}.detail-scroll{min-height:0;overflow:auto;padding-right:4px}.listening-reader{display:grid;gap:16px}.ielts-hero-band{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:14px;align-items:stretch}.ielts-hero{min-height:100%}.ielts-hero h1{max-width:12ch}.ielts-goal-panel{grid-template-columns:repeat(3,minmax(0,1fr))}.ielts-next-panel{display:flex;flex-direction:column;justify-content:space-between}.ielts-next-panel p,.ielts-skill-card p,.ielts-task-row p,.ielts-stage-row p,.ielts-mock-row p{margin:0;color:var(--text-secondary);line-height:1.65;overflow-wrap:anywhere}.ielts-skill-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ielts-skill-card{display:grid;gap:12px}.ielts-skill-topline{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.ielts-skill-topline h2{margin:0;font-size:1.18rem}.ielts-meter{height:8px;overflow:hidden;border-radius:999px;background:var(--status-neutral-bg);border:1px solid var(--status-neutral-border)}.ielts-meter span{display:block;height:100%;border-radius:inherit;background:var(--accent-gradient)}.ielts-workspace-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:12px;align-items:start}.ielts-task-panel{grid-row:span 2}.ielts-task-list,.ielts-stage-list,.ielts-mock-list{display:grid;gap:10px}.ielts-task-row{display:grid;grid-template-columns:2.4rem minmax(0,1fr);gap:12px;padding:13px 14px;border:1px solid var(--border-faint);border-radius:8px;background:var(--surface-floating)}.ielts-task-title,.ielts-stage-row,.ielts-mock-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.ielts-task-title{margin-bottom:6px}.ielts-task-title strong,.ielts-stage-row strong,.ielts-mock-row strong{color:var(--text-primary)}.ielts-task-title span,.ielts-mock-row span:first-child{color:var(--text-muted);font-size:.84rem;font-weight:700;white-space:nowrap}.ielts-stage-row,.ielts-mock-row{padding:13px 14px;border:1px solid var(--border-faint);border-radius:8px;background:var(--surface-floating)}.ielts-stage-row p,.ielts-mock-row p{margin-top:6px}.ielts-mock-row>div{min-width:0}.listening-focus-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:14px;align-items:start}.listening-collection-panel{position:sticky;top:18px;max-height:calc(100vh - 36px);display:flex;flex-direction:column;padding:14px}.listening-detail-panel{padding:18px 20px}.listening-media-card{display:grid;gap:0;padding:0;border-radius:8px;background:var(--surface-card);border:1px solid var(--border-faint);box-shadow:var(--shadow-soft);overflow:hidden}:root[data-theme=dark] .listening-media-card{background:var(--surface-card)}.listening-video-frame{width:100%;aspect-ratio:16 / 9;overflow:hidden;border-radius:0;background:#111;border:0;border-bottom:1px solid var(--border-faint)}.listening-video-frame iframe{display:block;width:100%;height:100%;border:0}.listening-media-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 16px}.listening-media-copy h3{margin:0 0 6px;font-size:1rem;line-height:1.35;text-wrap:balance}.listening-media-copy p:last-child{margin:0;color:var(--text-secondary);line-height:1.65}.listening-media-meta{font-size:.86rem}.listening-video-button{white-space:nowrap}.listening-summary-grid{display:grid;gap:14px}.listening-content-shell{display:flex;justify-content:center;width:100%}.section-chip-grid{display:flex;flex-wrap:wrap;gap:10px}.section-chip,.section-chip-button{display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border-radius:6px;border:1px solid var(--border-faint);background:var(--panel-bg-solid);color:var(--text-secondary);font-size:.84rem;line-height:1}.section-chip-button{cursor:pointer}.section-chip-button.active{background:var(--accent-gradient);border-color:transparent;color:var(--text-on-accent)}.listening-markdown{width:min(100%,820px);padding:34px 38px 18px;border-radius:8px;background:var(--surface-floating);border:1px solid var(--border-faint);box-shadow:var(--shadow-soft)}.listening-markdown>:first-child{margin-top:0}.listening-markdown h2{margin-top:2rem;padding-top:1.2rem;border-top:1px solid var(--border-faint);letter-spacing:0}.listening-markdown blockquote{margin:1rem 0;padding:.9rem 1rem;border-left:3px solid rgba(42,127,255,.38);border-radius:0 8px 8px 0;background:var(--surface-subtle)}.listening-markdown mark{padding:.08em .38em;border-radius:4px;background:#ffd6474d;color:inherit}.detail-section{padding-bottom:4px}.status-group button{background:var(--surface-note);border:1px solid var(--border-faint)}.detail-meta{margin:16px 0;justify-content:space-between}.detail-meta strong{display:block;margin-top:8px}.field-block{display:grid;gap:8px;margin-bottom:14px}.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.inline-segment{display:inline-flex;padding:3px;border-radius:8px;background:var(--surface-subtle);border:1px solid var(--border-accent)}.inline-segment button{border:0;border-radius:6px;background:transparent;color:var(--text-secondary);padding:6px 10px;font-size:.8rem;font-weight:700}.inline-segment button.active{background:var(--accent-gradient);color:var(--text-on-accent);box-shadow:none}.inline-segment button:disabled{opacity:.42;cursor:not-allowed}.field-block textarea{min-height:92px;padding:14px;resize:vertical}.detail-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}.primary-button{position:relative;border:0;border-radius:8px;padding:12px 16px;background:var(--accent-gradient);color:var(--text-on-accent);font-weight:700;display:inline-flex;align-items:center;justify-content:center;isolation:isolate;box-shadow:none;appearance:none;-webkit-appearance:none;transition:background-color .18s ease,color .18s ease,transform .16s ease,opacity .16s ease}.primary-button:after{content:none}.primary-button:disabled{opacity:.72;cursor:wait}.secondary-button{border:1px solid var(--border-soft);border-radius:8px;padding:11px 14px;background:var(--surface-note);color:var(--accent-strong);font-weight:700;transition:background-color .18s ease,border-color .18s ease,transform .16s ease}.primary-button:hover{filter:saturate(.96) brightness(.98)}.secondary-button:hover{border-color:var(--border-accent);background:var(--panel-bg-solid)}.secondary-button.compact{padding:9px 12px;border-radius:7px;font-weight:600}.secondary-button:disabled{opacity:.45;cursor:not-allowed}.card-section{margin-top:18px;padding-top:18px;border-top:1px solid var(--border-faint)}.card-section-standalone{margin-top:0;padding-top:0;border-top:0}.card-header{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}.card-header-actions{display:flex;align-items:center;gap:10px}.card-header h3,.learning-card h4{margin:0}.learning-card{max-width:760px;margin:0 auto;border-radius:8px;background:var(--surface-card);border:1px solid var(--definition-border);padding:22px 24px;box-shadow:var(--shadow-card)}.card-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.card-lookup-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:6px}.card-topline p{margin:0;color:var(--text-muted);font-size:.96rem}.dictionary-hint-button{border:1px solid var(--border-soft);border-radius:999px;padding:5px 10px;background:var(--surface-note);color:var(--accent-strong);font-size:.76rem;font-weight:700;line-height:1}.dictionary-hint-button:hover{border-color:#2a7fff47}.card-definition-block,.card-intro,.callout,.prompt-box{margin-top:16px;border-radius:8px;padding:14px 16px}.card-definition-block{background:var(--definition-bg);border:1px solid var(--definition-border)}.card-definition-block strong{display:block;margin-bottom:8px;color:var(--definition-text);font-size:.82rem;letter-spacing:0;text-transform:uppercase}.card-intro{background:var(--intro-bg);border:1px solid var(--intro-border)}.card-definition-block p,.card-intro p,.callout p,.prompt-box p,.empty-state p{margin:0;line-height:1.75;color:var(--text-secondary)}.card-intro-text{font-size:1.02rem}.card-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.card-chip{display:inline-flex;align-items:center;min-height:34px;padding:7px 12px;border-radius:6px;border:1px solid var(--border-faint);background:var(--panel-bg-solid);color:var(--text-primary);font-size:.88rem;font-weight:600}.callout{background:var(--callout-bg);border:1px solid var(--callout-border)}.prompt-box{background:var(--prompt-bg);border:1px solid var(--prompt-border)}.markdown-body{margin-top:18px;color:var(--text-secondary);font-size:1.02rem;line-height:1.82}.markdown-body h1,.markdown-body h2,.markdown-body h3{font-size:1.08rem;margin-top:22px;color:var(--text-primary);letter-spacing:0}.markdown-body h2:first-child,.markdown-body h3:first-child{margin-top:0}.markdown-body ul{padding-left:20px}.markdown-body p,.markdown-body li{color:var(--text-secondary);margin-block:.72em}.notes-preview{width:100%;text-align:left;border:1px solid var(--border-soft);border-radius:8px;padding:14px 16px;background:var(--surface-note);cursor:text;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.notes-preview:hover{border-color:#5a98ff47;box-shadow:none}.notes-preview .markdown-body{margin-top:0}.empty-state{border-radius:8px;background:var(--surface-empty);padding:18px;color:var(--text-muted);border:1px dashed color-mix(in srgb,var(--border-soft) 90%,transparent)}.skeleton-list,.skeleton-detail{display:grid;gap:10px}.skeleton-list span,.skeleton-detail span{display:block;border-radius:8px;background:linear-gradient(90deg,var(--surface-empty) 0%,var(--panel-bg-solid) 48%,var(--surface-empty) 100%);background-size:220% 100%;border:1px solid var(--border-faint);animation:skeleton-sweep 1.25s ease-in-out infinite}.skeleton-list span{height:58px}.skeleton-detail span:first-child{aspect-ratio:16 / 9}.skeleton-detail span:nth-child(2){height:86px}.skeleton-detail span:nth-child(3){height:340px}@keyframes skeleton-sweep{0%{background-position:120% 0}to{background-position:-120% 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.modal-backdrop{position:fixed;inset:0;background:var(--overlay-backdrop);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:18px;z-index:1000}.modal-shell{width:min(1400px,100%);max-height:min(92vh,980px);border-radius:8px;border:1px solid var(--border-soft);background:var(--modal-bg);box-shadow:0 28px 70px #141b2238;display:flex;flex-direction:column;overflow:hidden}.modal-topbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;padding:20px 22px 14px;border-bottom:1px solid var(--border-faint)}.modal-topbar h2{margin:0;font-size:1.7rem;letter-spacing:0}.modal-actions{display:flex;align-items:center;gap:10px}.modal-close{border:0;border-radius:8px;padding:9px 12px;background:var(--status-neutral-bg);color:var(--text-secondary)}.modal-content{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:0;min-height:0;flex:1}.modal-side{padding:18px 20px 20px;border-right:1px solid var(--border-faint);overflow:auto}.modal-card{padding:18px 20px 20px;overflow:auto}.learning-card-modal{min-height:100%}.practice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}@media(max-width:1100px){.dashboard-layout,.hero,.workspace-grid,.stats-grid,.listening-focus-grid,.ielts-hero-band,.ielts-skill-grid,.ielts-workspace-grid{grid-template-columns:1fr}.side-rail{position:static}.hero-panel{grid-template-columns:repeat(3,1fr)}.hero h1,.hero-copy{max-width:none}.stats-grid-side{grid-template-columns:repeat(5,1fr)}.word-list{max-height:none;min-height:0}.detail-panel{position:static;max-height:none}.detail-scroll{overflow:visible}.modal-content{grid-template-columns:1fr}.modal-side{border-right:0;border-bottom:1px solid var(--border-faint)}.practice-grid,.listening-media-footer{grid-template-columns:1fr}.listening-collection-panel{position:static;max-height:none}.ielts-task-panel{grid-row:auto}}@media(max-width:720px){.app-shell{width:calc(100vw - 24px);max-width:100%;padding-top:14px;overflow-x:hidden}.product-nav{width:calc(100vw - 24px);max-width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.product-nav button{width:100%;padding-inline:8px}.stats-grid-side,.hero-panel,.ielts-goal-panel{grid-template-columns:1fr}.ielts-task-title,.ielts-stage-row,.ielts-mock-row{flex-direction:column;align-items:flex-start}.toolbar{padding:14px}.theme-switcher{width:100%;justify-content:space-between}.theme-switcher button{flex:1;padding-inline:10px}.panel{padding:16px}.alphabet-bar{gap:6px;padding:10px}.alphabet-bar button{min-width:30px;padding:6px 8px}.row-quick-actions{position:static;margin-bottom:10px;max-width:100%;opacity:1;transform:none;pointer-events:auto;justify-content:flex-start}.modal-backdrop{padding:10px}.modal-shell{max-height:96vh;border-radius:8px}.modal-topbar,.modal-actions{flex-wrap:wrap}.listening-markdown{padding:18px 18px 4px}}
