/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--app:light-dark(#f7f8f5,#151c18);--panel:light-dark(#fff,#1c2520);--ink:light-dark(#25372e,#e4ebe3);--muted:light-dark(#64705f,#9fab9b);--accent:light-dark(#376b4e,#6fa985);--soft:light-dark(#eaf0e7,#243029);--edge:light-dark(#e3e8df,#2d3a32);--danger:light-dark(#b24d48,#e0837d);--focus:light-dark(#2f6a47,#8fc9a6);--radius:18px;--font-ui:Arial,Helvetica,sans-serif;color-scheme:light dark}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}:root[data-language=en]:not([data-language-ready]) body{visibility:hidden}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .select-trigger,:root:not([data-theme=light]) select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239fab9b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}}:root[data-theme=dark] .select-trigger,:root[data-theme=dark] select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239fab9b' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}*{box-sizing:border-box}dialog:modal{margin:auto}html{scroll-behavior:smooth}body{background:var(--app);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;margin:0;font-size:14px}a,button,input,select{-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}a,button,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:3px}a{color:inherit;text-decoration:none}button{border:1px solid var(--edge);color:var(--ink);background:light-dark(#fff,#1c2520);border-radius:9px}h1,h2,h3,h4,p{margin:0}button,select{transition:background .15s}@media (hover:hover){:where(button:hover:not(:disabled)){background:var(--soft)}}.app{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--edge);background:light-dark(#f0f2eb,#272823);flex-direction:column;flex:none;width:244px;padding:33px 23px 24px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-1.2px;align-items:center;gap:9px;font-size:24px;font-weight:700;display:flex}.brand-mark{color:light-dark(#fff,#1c2520);background:var(--accent);border-radius:11px;place-items:center;width:34px;height:37px;display:grid}.brand-dot{color:var(--accent);margin-left:-8px}.nav-label{letter-spacing:1.5px;color:light-dark(#8b9589,#626b60);margin:54px 12px 16px;font-size:11px;font-weight:700}.select{min-width:0;display:block;position:relative}.select-trigger,select{appearance:none;border:1px solid var(--edge);width:100%;max-width:100%;min-height:44px;color:var(--ink);font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:light-dark(#fff,#1c2520) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364705f' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 12px center/15px no-repeat;border-radius:9px;padding:0 36px 0 13px;font-size:13px;line-height:1.3;transition:border-color .15s,background-color .15s,box-shadow .15s;overflow:hidden}select{width:auto}.select-value{text-overflow:ellipsis;display:block;overflow:hidden}@media (hover:hover){.select-trigger:hover:not(:disabled),select:hover:not(:disabled){background-color:light-dark(#fbfcf9,#21221f);border-color:light-dark(#c6d5b7,#343e2a)}}.select-trigger:focus-visible,select:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-color:light-dark(#7fa070,#506f41)}.select-trigger[aria-expanded=true]{border-color:light-dark(#7fa070,#506f41);box-shadow:0 0 0 3px light-dark(#dfeada,#2a3a30)}.select-trigger:disabled,select:disabled{opacity:.45;cursor:not-allowed;background-color:light-dark(#f6f8f3,#232421)}select:-moz-focusring{color:#0000;text-shadow:0 0 0 var(--ink)}.select-menu{z-index:57;overscroll-behavior:contain;border:1px solid var(--edge);background:light-dark(#fff,#1c2520);border-radius:12px;max-height:300px;margin:0;padding:6px;list-style:none;animation:toast-in .15s;overflow-y:auto;box-shadow:0 12px 32px #1f2a2224}.select-option{min-height:40px;color:var(--ink);white-space:nowrap;cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:0 12px 0 8px;font-size:13px;display:flex}.select-option-check{width:16px;color:var(--accent);flex:none;place-items:center;display:grid}.select-option.is-active{background:var(--soft)}.select-option[aria-selected=true]{color:light-dark(#2b5738,#9ecea9);font-weight:600}.select-option[aria-disabled=true]{opacity:.45;cursor:not-allowed}.select-backdrop{display:none}.listen-speed,.mobile-level-filter,.privacy-field,.take-select-field,.then-and-now-field{color:var(--muted);gap:6px;font-size:11px;display:grid}.listen-speed{color:light-dark(#526750,#93aa91);align-items:center;gap:6px;margin-left:auto;font-size:12px;display:inline-flex}.privacy-field{color:light-dark(#4d5f4f,#9eb2a0);margin-top:14px;font-size:13px}.field-input{border:1px solid var(--edge);min-height:44px;color:var(--ink);font:inherit;background:light-dark(#fff,#1c2520);border-radius:9px;width:100%;padding:0 13px;font-size:13px}.field-input:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-color:light-dark(#7fa070,#506f41)}.select-quiet .select-trigger,select.select-quiet{color:light-dark(#355b3f,#9bc5a4);background-color:#0000;background-position:right 8px center;background-size:13px;border-color:#0000;min-height:36px;padding:0 28px 0 10px;font-size:12px}@media (hover:hover){.select-quiet .select-trigger:hover:not(:disabled),select.select-quiet:hover:not(:disabled){background-color:light-dark(#f0f5eb,#242820);border-color:light-dark(#d3e0cb,#2e3827)}}@media (max-width:600px){.field-input,.select-trigger,select{font-size:16px}.select-quiet .select-trigger,select.select-quiet{background-position:right 4px center;min-height:44px;padding:0 22px 0 4px;font-size:16px}.select-backdrop{z-index:56;background:light-dark(#1f2a2266,#e0efe466);display:block;position:fixed;inset:0}.select-menu{max-height:60vh;padding:10px 10px calc(10px + var(--tabbar-height,0px) + env(safe-area-inset-bottom,0px));border-bottom:0;border-radius:18px 18px 0 0;animation:sheet-up .2s;position:fixed;inset:auto 0 0}.select-option{min-height:48px;font-size:16px}}@keyframes sheet-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.toast-stack{left:50%;bottom:calc(var(--tabbar-height,0px) + var(--dock-height,0px) + 16px + env(safe-area-inset-bottom,0px));z-index:60;pointer-events:none;gap:8px;width:min(440px,100% - 32px);display:grid;position:fixed;transform:translate(-50%)}.toast{pointer-events:auto;color:light-dark(#fff,#1c2520);background:light-dark(#25372e,#e4ebe3);border-radius:12px;align-items:center;gap:10px;padding:11px 10px 11px 14px;font-size:13px;line-height:1.5;animation:toast-in .22s;display:flex;box-shadow:0 10px 28px #1f2a2240}.toast>svg{flex:none}.toast-success>svg{color:light-dark(#a9d8ad,#304232)}.toast-error{background:light-dark(#7b3531,#f6a49d)}.toast-error>svg{color:light-dark(#ffd6d1,#412a28)}.toast-message{flex:1;min-width:0}.toast button{color:light-dark(#fff,#1c2520);white-space:nowrap;background:light-dark(#ffffff14,#1c252014);border:1px solid light-dark(#ffffff2e,#1c25202e);border-radius:8px;min-height:32px;padding:4px 10px;font-size:12px}.toast button:hover:not(:disabled){background:light-dark(#ffffff26,#1c252026)}.toast .toast-close{color:light-dark(#ffffffb3,#1c2520b3);background:0 0;border-color:#0000;width:32px;padding:0;font-size:18px;line-height:1}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.back-to-top{right:20px;bottom:calc(var(--tabbar-height,0px) + var(--dock-height,0px) + 20px + env(safe-area-inset-bottom,0px));z-index:55;border:1px solid var(--edge);width:44px;height:44px;color:var(--accent);background:light-dark(#fff,#1c2520);border-radius:50%;place-items:center;padding:0;animation:toast-in .2s;display:grid;position:fixed;box-shadow:0 6px 18px #1f2a2226}.back-to-top svg{transform:rotate(-90deg)}@media (hover:hover){.back-to-top:hover{background:var(--soft)}}@media (max-width:900px){body:has(.catalog-page .is-practicing) .back-to-top{--dock-height:73px}}@media (max-width:600px){.back-to-top{right:14px}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}@media (max-width:900px){body:has(.catalog-page .is-practicing) .toast-stack{--dock-height:73px}}nav{gap:9px;margin-bottom:24px;display:grid}nav a{color:light-dark(#758073,#788376);border-radius:9px;align-items:center;gap:11px;padding:13px 12px;font-size:12px;display:flex}nav a.nav-active{color:light-dark(#355f43,#94c1a1);background:light-dark(#e1e8da,#2b3126);font-weight:600}.nav-dot{background:light-dark(#527550,#7ca17a);border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar-note{background:linear-gradient(140deg,light-dark(#e7edde,#292d22),light-dark(#edf0e7,#282a23));border:1px solid light-dark(#dce2d3,#303428);border-radius:12px;margin:auto 0 0;padding:18px 16px;position:relative;overflow:hidden}.sidebar-quote-mark{color:light-dark(#7f9a70,#58724a);height:22px;font-family:Georgia,serif;font-size:40px;line-height:1;display:block;position:relative}.sidebar-note blockquote{letter-spacing:-.2px;color:light-dark(#2f4636,#c0dbc7);margin:0;font-family:Georgia,serif;font-size:15px;line-height:1.45;position:relative}.sidebar-note p{color:light-dark(#596951,#93a58b);margin-top:8px;font-size:13px;line-height:1.55;position:relative}.sidebar-note figcaption{color:light-dark(#7b8772,#717c68);margin-top:8px;font-size:12px;position:relative}.note-line{border:1px solid light-dark(#d5dfca,#303727);border-radius:100%;width:110px;height:110px;position:absolute;bottom:-40px;right:-40px}.online-dot{background:light-dark(#87a478,#4e693f);border-radius:50%;flex:none;width:6px;height:6px;display:inline-block}main{width:calc(100% - 244px);margin-left:244px}.topbar{border-bottom:1px solid var(--edge);justify-content:space-between;align-items:center;height:78px;padding:0 46px;font-size:12px;display:flex}.breadcrumb{color:light-dark(#939c91,#5b6359)}.crumb-divider{color:light-dark(#b0b7ad,#454b43);padding:0 14px}.content{max-width:1270px;margin:0 auto;padding:39px 46px 22px}.eyebrow{letter-spacing:2px;color:light-dark(#8a987e,#5f6c53);margin-bottom:12px;font-size:11px;font-weight:600}.page-heading h1{letter-spacing:-1.1px;font-family:Georgia,Times New Roman,serif;font-size:36px;font-weight:400;line-height:1.35}.page-heading p{color:light-dark(#86917f,#66715f);margin-top:11px;font-size:12px;line-height:1.7}.mobile-break{display:none}.session-heading{justify-content:space-between;align-items:center;gap:20px;margin:35px 0 20px;display:flex}.section-kicker{letter-spacing:1.6px;color:light-dark(#919b88,#5d6654);font-size:11px;font-weight:600}.new-badge{vertical-align:middle;letter-spacing:1px;color:light-dark(#fff,#1c2520);background:light-dark(#376b4e,#6fa985);border-radius:999px;margin-left:8px;padding:3px 7px;font-size:10px;font-weight:700;line-height:1.3;display:inline-block}.session-heading h2{letter-spacing:-.5px;margin:9px 0 12px;font-size:20px;font-weight:600}.lesson-meta{color:light-dark(#8b9685,#616b5b);align-items:center;gap:14px;font-size:12px;display:flex}.level-pill{color:light-dark(#66835a,#6f8d63);background:light-dark(#ebf0e5,#272b23);border-radius:5px;padding:5px 8px}.session-progress{color:light-dark(#8b9584,#626c5c);width:133px;font-size:12px}.session-progress b{color:light-dark(#58774c,#7d9d70);font-weight:600}.progress-track{background:light-dark(#e6ebdf,#2a2e25);border-radius:5px;height:4px;margin-top:9px;overflow:hidden}.progress-track i{background:light-dark(#85a575,#4c693c);height:100%;display:block}.practice-grid{grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr);gap:20px;display:grid}.player-card{border:1px solid var(--edge);border-radius:var(--radius);background:light-dark(#fff,#1c2520);overflow:hidden;box-shadow:0 3px 10px #29362003}.player-top{justify-content:space-between;padding:23px 24px 0}.live-label,.player-top{align-items:center;display:flex}.live-label{letter-spacing:1.3px;color:light-dark(#8b9984,#5d6a56);gap:6px;font-size:11px}.live-label span{background:light-dark(#9aab84,#4e5d39);border-radius:50%;width:5px;height:5px}.sentence-counter{color:light-dark(#9ca694,#525b4b);font-variant-numeric:tabular-nums;font-size:12px}.sentence-stage{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:223px;padding:15px 30px 22px;display:flex}.quote-mark{color:light-dark(#d5dfca,#303727);height:34px;font-family:Georgia,serif;font-size:54px;line-height:36px}.sentence-stage h3{letter-spacing:-.6px;max-width:410px;font-family:Georgia,Times New Roman,serif;font-size:30px;font-weight:400;line-height:1.3}.sentence-stage p{color:light-dark(#8c9883,#5f6a57);margin-top:14px;font-size:12px;line-height:1.7}.translation-toggle{color:light-dark(#87967b,#616f55);text-underline-offset:3px;background:0 0;border:0;margin-top:12px;padding:5px;font-size:11px;text-decoration:underline}.play-progress{color:light-dark(#a0a995,#515947);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;gap:7px;margin:0 27px;font-size:11px;display:flex}.play-progress-track{background:light-dark(#edf0e8,#282a24);border-radius:3px;width:100%;height:3px;overflow:hidden}.play-progress-track i{background:light-dark(#7d9b6b,#577345);height:100%;display:block}.transport{justify-content:space-between;gap:12px;padding:20px 27px 24px}.play-button,.transport{align-items:center;display:flex}.play-button{background:var(--accent);color:light-dark(#fff,#1c2520);border:0;border-radius:10px;gap:10px;min-height:45px;padding:12px 20px;font-size:12px}.play-button:hover:not(:disabled){background:light-dark(#28563b,#9ecfaf)}.record-area{background:light-dark(#fafbf8,#202924);border-top:1px solid light-dark(#eef1e9,#272923);flex-wrap:wrap;gap:14px;padding:20px 24px}.record-area,.record-caption{align-items:center;display:flex}.record-caption{flex:1;gap:10px;min-width:130px}.record-caption strong{font-size:12px;font-weight:600;display:block}.record-caption small{color:light-dark(#9ba390,#565d4c);margin-top:4px;font-size:11px;line-height:1.6;display:block}.record-dot{background:light-dark(#cbb1a0,#584234);border-radius:50%;flex:none;width:7px;height:7px}.record-dot.active{background:light-dark(#bd5851,#c25d55);box-shadow:0 0 0 4px #f3ddd6}.record-button{background:light-dark(#fff,#1c2520);border-color:light-dark(#dce4d4,#2e3427);align-items:center;gap:7px;min-height:42px;padding:10px 12px;font-size:12px;display:flex}.record-button.is-recording{color:light-dark(#a73c36,#e7766c);background:light-dark(#fcf0ec,#2d2421);border-color:light-dark(#dfbbb5,#533632)}.mic-meter{background:light-dark(#e2e9de,#2a3027);order:3;width:100%;height:4px}.shadow-note{color:light-dark(#8a7844,#93814d);background:light-dark(#fdfaf1,#24221b);border:1px solid light-dark(#e6ddc6,#3a3220);border-radius:9px;flex-basis:100%;order:6;padding:10px 12px;font-size:11px;line-height:1.8}.mic-meter i{background:light-dark(#78a16c,#4b723f);height:100%;display:block}.transcript-card{border:1px solid var(--edge);border-radius:var(--radius);background:light-dark(#fff,#1c2520);flex-direction:column;padding:23px 20px 20px;display:flex}.card-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.card-heading h3{font-size:13px;font-weight:600}.card-heading>span{letter-spacing:1px;color:light-dark(#9aa48f,#545d4a);font-size:11px}.sentence-list{gap:9px;margin-top:21px;display:grid}.sentence-row{text-align:left;background:0 0;border-color:#0000;border-radius:9px;align-items:flex-start;gap:12px;padding:15px 12px;display:flex;position:relative}.sentence-row.selected{background:light-dark(#edf2e8,#262922);border-color:light-dark(#e0e8d7,#2b3124)}.row-number{color:light-dark(#a5ae9a,#4d5543);font-size:12px;line-height:20px}.selected .row-number{color:light-dark(#6b8559,#6f895d)}.row-copy{flex:1}.row-copy strong{font-size:12px;font-weight:400;line-height:1.6;display:block}.row-copy small{color:light-dark(#99a58c,#535e47);font-variant-numeric:tabular-nums;margin-top:9px;font-size:11px;display:block}.sentence-done{color:light-dark(#6c9157,#5e8249)}.transcript-tip{color:light-dark(#98a38b,#555f49);align-items:flex-start;gap:9px;margin-top:auto;padding:22px 9px 17px;font-size:11px;line-height:1.8;display:flex}.transcript-tip svg{flex:none;margin-top:2px}.next-button{border-color:light-dark(#e7ecdf,#2a2d23);justify-content:space-between;align-items:center;padding:11px 15px;font-size:12px;display:flex}.recordings-card{border:1px solid var(--edge);border-radius:var(--radius);background:light-dark(#fff,#1c2520);margin-top:22px;padding:22px 25px}.recordings-card .card-heading h3{margin-top:7px;font-size:14px}.take-count{border:1px solid light-dark(#e7ebdf,#2b2d24);border-radius:5px;padding:6px 9px}.empty-takes{align-items:center;gap:17px;padding:24px 0 5px;display:flex}.empty-icon{color:light-dark(#b6c0ac,#3f4736);border:1px dashed light-dark(#d8dfcf,#313629);border-radius:50%;place-items:center;width:48px;height:48px;display:grid}.empty-takes strong{color:light-dark(#7e8c72,#6b795f);font-size:12px;font-weight:400}.empty-takes p{color:light-dark(#a0a993,#515945);margin-top:7px;font-size:12px}.saved-takes{justify-content:space-between;gap:15px;margin-top:20px}.saved-takes,.take-select{align-items:center;display:flex}.take-select{gap:12px}.take-icon{color:light-dark(#71905d,#61804d);background:light-dark(#edf2e8,#262922);border-radius:10px;place-items:center;width:39px;height:39px;display:grid}.take-select label{color:light-dark(#96a08a,#58614d);flex-direction:column;gap:5px;font-size:11px;display:flex}.take-select select{width:100%}.saved-indicator{color:light-dark(#809a6d,#597247);align-items:center;gap:4px;font-size:11px;display:flex}.take-actions{gap:8px;display:flex}.take-actions button{align-items:center;gap:6px;padding:10px;font-size:12px;display:flex}.take-actions .compare-button{color:light-dark(#547b43,#759d64);background:light-dark(#edf3e8,#252921)}.guide{grid-template-columns:repeat(3,1fr);gap:25px;padding:27px 5px;display:grid}.guide>div{padding-left:29px;position:relative}.step-no{color:light-dark(#b2bca4,#424b36);font-family:Georgia,serif;font-size:15px;position:absolute;top:2px;left:0}.guide h4{margin-bottom:7px;font-size:12px;font-weight:500}.guide p{color:light-dark(#98a28d,#565f4c);font-size:11px;line-height:1.6}footer{border-top:1px solid var(--edge);color:light-dark(#a1aa96,#505846);justify-content:space-between;gap:15px;padding-top:18px;font-size:11px}.save-status,footer{align-items:center;display:flex}.save-status{gap:6px}.error-banner,.pending{color:light-dark(#994a38,#d8836e);background:light-dark(#fff4ef,#2a221f);border:1px solid light-dark(#e8c7be,#4a332d);border-radius:10px;margin-bottom:15px;padding:14px;font-size:12px;line-height:1.6}.error-banner button,.pending button{align-items:center;gap:5px;margin:5px;padding:7px 12px;display:inline-flex}.loading{text-align:center;color:var(--muted);border:1px solid var(--edge);border-radius:15px;padding:60px}.text-button{color:var(--muted);background:0 0;border:0;padding:7px;font-size:12px}.text-button:hover:not(:disabled){color:var(--accent);text-underline-offset:3px;background:0 0;text-decoration:underline}@media (min-width:1500px){.content{padding-top:55px}.page-heading h1{font-size:42px}.sentence-stage{min-height:270px}.sentence-stage h3{font-size:34px}.session-heading{margin-top:42px}.sidebar{width:265px}main{width:calc(100% - 265px);margin-left:265px}}@media (max-width:1150px){.sidebar{width:205px;padding:30px 15px}.brand{font-size:22px}main{width:calc(100% - 205px);margin-left:205px}.topbar{padding:0 28px}.content{padding:30px 28px}.practice-grid{grid-template-columns:minmax(0,1.3fr) minmax(240px,1fr);gap:15px}.transport{padding:18px}.play-button{padding:12px;font-size:12px}.sentence-stage{padding:15px 22px}.sentence-stage h3{font-size:26px}.saved-takes{flex-direction:column;align-items:flex-start}.page-heading h1{font-size:31px}.record-area{padding:16px}.record-caption small{font-size:11px}}@media (max-width:900px){.sidebar{width:77px;padding:27px 15px}.brand{gap:0;font-size:0}.brand-dot,.nav-label,.sidebar-note,nav{display:none}.brand-mark{width:42px;height:42px}main{width:calc(100% - 77px);margin-left:77px}.content{padding:30px 23px}.topbar{height:68px;padding:0 23px}.practice-grid{grid-template-columns:1fr}.transcript-card{padding:21px}.sentence-list{grid-template-columns:repeat(3,1fr)}.sentence-row{gap:7px;padding:12px 8px}.transcript-tip{margin-top:0;padding-top:16px}.next-button{width:100%;max-width:190px;margin-left:auto}.sentence-stage h3{max-width:440px;font-size:32px}.saved-takes{flex-direction:row;align-items:center}.saved-indicator{display:none}.guide p{font-size:12px}footer{flex-wrap:wrap}.page-heading p{font-size:13px}}@media (max-width:600px){.sidebar{z-index:1;background:0 0;border:0;width:64px;height:64px;padding:14px;position:absolute}.brand-mark{width:34px;height:35px}main{width:100%;margin-left:0}.topbar{height:64px;padding:0 18px 0 66px}.breadcrumb,.crumb-divider{display:none}.content{padding:26px 17px}.page-heading h1{font-size:32px}.mobile-break{display:block}.page-heading p{max-width:300px;font-size:13px}.eyebrow{letter-spacing:1.5px;font-size:11px}.session-heading{flex-direction:column;align-items:flex-start;gap:15px;margin-top:28px}.session-heading h2{font-size:19px}.lesson-meta{font-size:12px}.session-progress{align-items:center;gap:12px;width:100%;font-size:12px;display:flex}.progress-track{flex:1;margin:0}.player-top{padding:20px 20px 0}.sentence-stage{min-height:240px;padding:22px}.sentence-stage h3{font-size:30px}.sentence-stage p{font-size:13px}.translation-toggle{min-height:44px;font-size:12px}.play-button{min-height:48px;font-size:12px}.record-area{gap:14px;padding:18px}.record-caption small,.record-caption strong{font-size:12px}.record-button{justify-content:center;width:100%;min-height:46px;font-size:13px}.sentence-list{grid-template-columns:1fr;gap:6px}.sentence-row{gap:13px;padding:12px}.row-copy strong{font-size:14px}.row-copy small{margin-top:5px;font-size:12px}.next-button,.row-number,.transcript-tip{font-size:12px}.next-button{max-width:none;min-height:44px}.card-heading h3{font-size:14px}.recordings-card{padding:20px}.empty-takes{gap:12px}.empty-takes strong{font-size:12px}.empty-takes p{font-size:12px;line-height:1.6}.empty-icon{flex:none}.saved-takes{flex-direction:column;align-items:stretch}.take-actions{flex-wrap:wrap}.take-actions button{min-height:44px;font-size:12px}.guide{grid-template-columns:1fr;gap:20px;padding:25px 5px}.guide h4{font-size:13px}.guide p,footer{font-size:12px}footer{line-height:1.7}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.breadcrumb,.empty-takes p,.guide p,.lesson-meta,.page-heading p,.record-caption small,.row-copy small,.sentence-stage p,.transcript-tip,footer{color:var(--muted)}.primary-action{background:var(--accent);border:1px solid var(--accent);color:light-dark(#fff,#1c2520);border-radius:10px;align-items:center;gap:8px;min-height:44px;padding:12px 18px;font-size:12px;display:inline-flex}.primary-action:hover{background:light-dark(#28563b,#9ecfaf)}.primary-action.large{justify-content:center;width:100%;min-height:48px;font-size:13px}.primary-action.disabled{cursor:not-allowed;background:light-dark(#c3cdbb,#384031);border-color:light-dark(#c3cdbb,#384031)}.secondary-action{border:1px solid var(--edge);background:light-dark(#fff,#1c2520);border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:11px 16px;font-size:12px;display:inline-flex}.secondary-action:hover{background:var(--soft)}.back-link{color:light-dark(#7d8a74,#6d7a64);align-items:center;gap:7px;margin-bottom:20px;padding:6px 8px 6px 0;font-size:12px;display:inline-flex}.back-link:hover{color:var(--accent)}.empty-state{border-radius:var(--radius);background:light-dark(#fcfdfa,#1e2722);border:1px dashed light-dark(#dbe1d2,#303529);flex-wrap:wrap;align-items:center;gap:17px;padding:38px 26px;display:flex}.empty-state strong{font-size:13px;font-weight:600;display:block}.empty-state p{color:var(--muted);margin-top:7px;font-size:12px;line-height:1.7}.empty-action{color:var(--accent);align-items:center;gap:7px;min-height:44px;margin-left:auto;padding:10px;font-size:12px;display:inline-flex}.library-toolbar{flex-wrap:wrap;gap:12px;margin:30px 0 22px}.library-toolbar,.search-field{align-items:center;display:flex}.search-field{border:1px solid var(--edge);color:light-dark(#9aa48f,#545d4a);background:light-dark(#fff,#1c2520);border-radius:10px;flex:1;gap:9px;min-width:220px;min-height:44px;padding:0 13px}.search-field input{color:var(--ink);background:0 0;border:0;width:100%;padding:12px 0;font-size:16px}.search-field input:focus{outline:none}.search-field:focus-within{outline:2px solid var(--focus);outline-offset:2px;border-color:light-dark(#7fa070,#506f41)}.filter-row{flex-wrap:wrap;gap:7px;display:flex}.filter-chip{color:light-dark(#78846f,#74806b);border-radius:9px;align-items:center;gap:7px;min-height:44px;padding:11px 13px;font-size:12px;display:inline-flex}.filter-chip span{font-variant-numeric:tabular-nums;color:light-dark(#a3ad98,#4d5643);font-size:11px}.filter-chip.selected{color:light-dark(#3f6a4a,#85b28f);background:light-dark(#e6ecdd,#2a2e22);border-color:light-dark(#d3dec6,#303825);font-weight:600}.filter-chip.selected span{color:light-dark(#5f8154,#6f9264)}.lesson-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.lesson-card{border:1px solid var(--edge);border-radius:var(--radius);background:light-dark(#fff,#1c2520);gap:16px;padding:19px;transition:border-color .15s,box-shadow .15s;display:flex}.lesson-card:hover{border-color:light-dark(#cfdac4,#323a29);box-shadow:0 4px 14px #29362008}.lesson-card-art{color:light-dark(#5d7c4f,#779769);background:linear-gradient(140deg,light-dark(#e7edde,#292d22),light-dark(#dbe5cf,#2d3423));border-radius:12px;flex:none;place-items:center;width:56px;height:56px;font-family:Georgia,serif;font-size:19px;display:grid}.lesson-card-body{flex:1;min-width:0}.lesson-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.lesson-card-top h3{letter-spacing:-.3px;font-size:14px;font-weight:600}.lesson-card-body p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:8px;font-size:12px;line-height:1.7;display:-webkit-box;overflow:hidden}.lesson-card-meta{color:light-dark(#8b9685,#616b5b);flex-wrap:wrap;align-items:center;gap:11px;margin-top:12px;font-size:11px;display:flex}.imported-pill{color:light-dark(#6f8064,#77886c);align-items:center;gap:5px;display:inline-flex}.lesson-card-progress{color:light-dark(#95a08d,#576150);margin-top:13px;font-size:11px}.lesson-card-progress .progress-track{margin-bottom:7px}.state-pill{white-space:nowrap;border-radius:5px;flex:none;padding:5px 8px;font-size:11px}.state-new{color:light-dark(#7f8a78,#6d7867);background:light-dark(#f0f1ec,#272824)}.state-inProgress{color:light-dark(#5c7f4d,#729663);background:light-dark(#eaf0e2,#272b21)}.state-completed{color:light-dark(#3f6a4a,#85b28f);background:light-dark(#e3ede3,#262e27)}.detail-grid{grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);margin-top:28px}.detail-grid,.detail-main{gap:20px;display:grid}.detail-facts{border:1px solid var(--edge);border-radius:var(--radius);background:light-dark(#fff,#1c2520);grid-template-columns:repeat(4,1fr);gap:12px;padding:20px;display:grid}.detail-facts span{color:light-dark(#95a08d,#576150);font-size:11px;display:block}.detail-facts b{font-variant-numeric:tabular-nums;margin-top:7px;font-size:17px;font-weight:600;display:block}.detail-block{border:1px solid var(--edge);border-radius:var(--radius);background:light-dark(#fff,#1c2520);padding:22px 24px}.detail-block h2{margin-bottom:15px;font-size:13px;font-weight:600}.target-list{gap:11px;margin:0;padding:0;list-style:none;display:grid}.target-list li{color:var(--muted);align-items:flex-start;gap:9px;font-size:12px;line-height:1.7;display:flex}.target-list svg{color:light-dark(#7c9c68,#557341);flex:none;margin-top:3px}.preview-list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.preview-list li{border-radius:9px;align-items:flex-start;gap:12px;padding:12px 10px;display:flex}.preview-list li:nth-child(odd){background:light-dark(#fafbf8,#202924)}.detail-side{align-content:start;gap:12px;display:grid}.side-block{border:1px solid var(--edge);border-radius:var(--radius);background:light-dark(#fff,#1c2520);padding:18px 20px}.side-block h3{margin-bottom:9px;font-size:12px;font-weight:600}.side-block p{color:var(--muted);font-size:12px;line-height:1.7}.rights-note{color:light-dark(#9aa48f,#545d4a);margin-top:7px;font-size:11px}.side-block.danger{border-color:light-dark(#e8dcd6,#39302c)}.side-block.danger button{color:light-dark(#9b4d40,#d37f70);border-color:light-dark(#e6cfc7,#44322c);align-items:center;gap:7px;min-height:42px;margin-top:12px;padding:10px 13px;font-size:12px;display:inline-flex}.side-block.danger button:hover:not(:disabled){background:light-dark(#fbf2ee,#2a2421)}.confirm-row{gap:8px}.confirm-row,.tag-row{flex-wrap:wrap;display:flex}.tag-row{gap:7px}.tag-pill{color:light-dark(#71806a,#778670);background:light-dark(#eef1ea,#272924);border-radius:5px;padding:6px 9px;font-size:11px}.relink-panel{border-radius:var(--radius);background:light-dark(#fdfaf1,#24221b);border:1px solid light-dark(#e0d8c4,#3b3525);flex-wrap:wrap;align-items:center;gap:15px;margin-bottom:20px;padding:20px;display:flex}.relink-icon{color:light-dark(#8a7844,#93814d);background:light-dark(#f2ecdb,#2f2a1d);border-radius:12px;flex:none;place-items:center;width:44px;height:44px;display:grid}.relink-panel div{flex:1;min-width:200px}.relink-panel strong{font-size:12px;font-weight:600;display:block}.relink-panel p{color:light-dark(#857e6a,#837c68);margin-top:6px;font-size:12px;line-height:1.7}.relink-error{color:light-dark(#994a38,#d8836e)}.relink-panel button{min-height:44px;padding:11px 15px;font-size:12px}.step-rail{flex-wrap:wrap;gap:10px;margin:28px 0 18px;padding:0;list-style:none;display:flex}.step-rail li{border:1px solid var(--edge);color:var(--muted);background:light-dark(#fff,#1c2520);border-radius:10px;align-items:center;gap:9px;padding:10px 14px;font-size:12px;display:flex}.step-rail li.current{color:light-dark(#3f6a4a,#85b28f);border-color:light-dark(#c6d5b7,#343e2a);font-weight:600}.step-rail li.done{color:light-dark(#6f8b60,#678358)}.step-number{font-variant-numeric:tabular-nums;background:light-dark(#eef2e9,#262922);border-radius:50%;place-items:center;width:22px;height:22px;font-size:11px;display:grid}.step-rail li.current .step-number{background:var(--accent);color:light-dark(#fff,#1c2520)}.import-card{border:1px solid var(--edge);border-radius:var(--radius);background:light-dark(#fff,#1c2520);gap:20px;padding:26px;display:grid}.file-drop{text-align:center;background:light-dark(#fbfcf9,#21221f);border:1px dashed light-dark(#d3dcc7,#323928);border-radius:14px;justify-items:center;gap:8px;width:100%;padding:38px 22px;display:grid}.file-drop.is-over{background:light-dark(#f2f6ec,#24271f);border-color:light-dark(#9fb78e,#415631)}.file-drop strong{font-size:13px;font-weight:600}.file-drop small{color:var(--muted);font-size:11px}.file-drop-icon{color:light-dark(#6f8b60,#678358);background:light-dark(#eef2e9,#262922);border-radius:50%;place-items:center;width:46px;height:46px;display:grid}.import-note{color:var(--muted);font-size:11px;line-height:1.8}.media-summary{border:1px solid var(--edge);background:light-dark(#fafbf8,#202924);border-radius:12px;align-items:center;gap:13px;padding:15px 17px;display:flex}.media-icon{color:light-dark(#71905d,#61804d);background:light-dark(#edf2e8,#262922);border-radius:11px;flex:none;place-items:center;width:40px;height:40px;display:grid}.media-summary div{flex:1;min-width:0}.media-summary strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;display:block;overflow:hidden}.media-summary small{color:var(--muted);margin-top:5px;font-size:11px;display:block}.transcript-options{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}.paste-panel{gap:9px;display:grid}.paste-panel label{color:light-dark(#7d8a74,#6d7a64);font-size:12px}.paste-panel textarea{border:1px solid var(--edge);resize:vertical;color:var(--ink);background:light-dark(#fff,#1c2520);border-radius:10px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.7}.paste-panel button{min-height:44px;padding:11px;font-size:12px}.even-panel{border:1px solid var(--edge);background:light-dark(#fafbf8,#202924);border-radius:12px;flex-wrap:wrap;align-items:flex-end;gap:15px;padding:18px;display:flex}.even-panel>div{flex:1;min-width:200px}.even-panel strong{font-size:12px;font-weight:600;display:block}.even-panel p{color:var(--muted);margin-top:6px;font-size:12px;line-height:1.7}.even-panel label{color:var(--muted);gap:6px;font-size:11px;display:grid}.even-panel input{border:1px solid var(--edge);width:88px;color:var(--ink);font-variant-numeric:tabular-nums;background:light-dark(#fff,#1c2520);border-radius:9px;padding:11px}.even-panel button{min-height:44px;padding:11px 15px;font-size:12px}.step-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.review-fields{grid-template-columns:1fr 1fr;gap:16px;display:grid}.review-fields label{color:light-dark(#7d8a74,#6d7a64);gap:7px;font-size:12px;display:grid}.review-fields input{border:1px solid var(--edge);color:var(--ink);background:light-dark(#fff,#1c2520);border-radius:10px;min-height:44px;padding:12px;font-size:12px}.review-summary{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:11px;display:flex}.issue-list{background:light-dark(#fdfaf1,#24221b);border:1px solid light-dark(#e6ddc6,#3a3220);border-radius:12px;padding:15px 17px}.issue-heading{color:light-dark(#8a7844,#93814d);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.issue-list ul{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.issue{color:light-dark(#7d7561,#8f8772);flex-wrap:wrap;align-items:baseline;gap:9px;font-size:11px;line-height:1.7;display:flex}.issue-line{font-variant-numeric:tabular-nums;color:light-dark(#9a9280,#6d6655)}.issue-badge{letter-spacing:.6px;color:light-dark(#87795a,#8e8060);background:light-dark(#f0eadb,#2f2b1f);border-radius:4px;padding:3px 7px;font-size:10px}.issue-rejected .issue-badge{color:light-dark(#95513f,#ce8471);background:light-dark(#f6e2dc,#382925)}.editor-toolbar{border:1px solid var(--edge);border-radius:var(--radius);background:light-dark(#fff,#1c2520);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px;padding:16px 20px;display:flex}.editor-counts{color:var(--muted);font-size:12px}.editor-counts b{color:var(--ink);font-weight:600}.playhead-readout{color:light-dark(#7d8a74,#6d7a64);font-variant-numeric:tabular-nums;align-items:center;gap:9px;font-size:12px;display:flex}.editor-history{gap:8px;display:flex}.editor-history button{align-items:center;gap:7px;min-height:42px;padding:10px 13px;font-size:12px;display:inline-flex}.edit-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.edit-row{border:1px solid var(--edge);border-radius:var(--radius);background:light-dark(#fff,#1c2520);gap:14px;padding:18px 20px;display:grid}.edit-row.selected{background:light-dark(#fcfdfa,#1e2722);border-color:light-dark(#c6d5b7,#343e2a)}.edit-row-head{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.row-number-button{color:light-dark(#a5ae9a,#4d5543);font-variant-numeric:tabular-nums;background:0 0;border:0;padding:8px 4px;font-size:12px}.selected .row-number-button{color:light-dark(#6b8559,#6f895d);font-weight:600}.icon-button{flex:none;place-items:center;width:36px;height:36px;padding:0;display:grid}.edit-bounds{flex-wrap:wrap;flex:1;gap:22px;display:flex}.bound-control{gap:6px;display:grid}.bound-label{color:var(--muted);font-size:11px}.bound-value{font-variant-numeric:tabular-nums;color:light-dark(#5b6b4e,#91a384);font-size:12px;font-weight:600}.bound-buttons{flex-wrap:wrap;gap:5px;display:flex}.bound-buttons button{font-variant-numeric:tabular-nums;border-radius:7px;min-height:34px;padding:7px 9px;font-size:11px}.playhead-button{color:light-dark(#5f7f52,#739466)}.edit-field{color:var(--muted);gap:7px;font-size:11px;display:grid}.edit-field input,.edit-field textarea{border:1px solid var(--edge);color:var(--ink);resize:vertical;background:light-dark(#fff,#1c2520);border-radius:10px;padding:11px 12px;font-family:inherit;font-size:13px;line-height:1.7}.edit-field input:focus,.edit-field textarea:focus{border-color:light-dark(#b9c8ac,#39452d)}.edit-row-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.edit-row-actions button{align-items:center;gap:7px;min-height:40px;padding:9px 12px;font-size:12px;display:inline-flex}.dirty-note{color:light-dark(#9a8a55,#7e6e3a);margin-right:auto;font-size:11px}.stale-note{color:light-dark(#8a7844,#93814d);background:light-dark(#fdfaf1,#24221b);border:1px solid light-dark(#e6ddc6,#3a3220);border-radius:9px;margin-top:12px;padding:10px 12px;font-size:11px;line-height:1.7}.today-grid{grid-template-columns:minmax(0,1.55fr) minmax(250px,1fr);gap:20px;margin-top:32px;display:grid}.resume-card{border:1px solid var(--edge);border-radius:var(--radius);background:light-dark(#fff,#1c2520);align-content:start;gap:13px;padding:26px;display:grid}.resume-card h2{letter-spacing:-.6px;font-family:Georgia,Times New Roman,serif;font-size:26px;font-weight:400;line-height:1.35}.resume-card p{font-size:12px}.resume-card p,.resume-sentence{color:var(--muted);line-height:1.8}.resume-sentence{font-family:Georgia,serif;font-size:15px}.week-card{border:1px solid var(--edge);border-radius:var(--radius);background:light-dark(#fff,#1c2520);align-content:start;gap:16px;padding:24px;display:grid}.week-stats{grid-template-columns:1fr 1fr;gap:16px;display:grid}.week-stats b{color:light-dark(#3f6a4a,#85b28f);font-variant-numeric:tabular-nums;font-family:Georgia,serif;font-size:25px;font-weight:400;display:block}.week-stats span{color:var(--muted);margin-top:5px;font-size:11px;line-height:1.5;display:block}.week-note{color:light-dark(#9aa48f,#545d4a);font-size:11px;line-height:1.8}.next-up{border:1px solid var(--edge);border-radius:var(--radius);background:light-dark(#fff,#1c2520);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-top:16px;padding:22px 24px;display:flex}.next-up h3{margin:9px 0 8px;font-size:15px;font-weight:600}.next-up p{color:var(--muted);max-width:560px;font-size:12px;line-height:1.7}@media (max-width:1150px){.detail-grid,.today-grid{grid-template-columns:1fr}.detail-facts{grid-template-columns:repeat(2,1fr)}.review-fields,.transcript-options{grid-template-columns:1fr}}@media (max-width:900px){.lesson-grid{grid-template-columns:1fr}.import-card{padding:20px}.edit-bounds{gap:14px}}@media (max-width:600px){.library-toolbar{gap:9px}.filter-chip{font-size:12px}.lesson-card{flex-direction:column;gap:13px}.lesson-card-art{width:46px;height:46px;font-size:16px}.detail-facts{grid-template-columns:1fr 1fr;padding:16px}.detail-block{padding:18px}.editor-toolbar{gap:11px;padding:14px}.edit-row{padding:15px}.bound-buttons button{min-height:38px}.resume-card h2,.week-stats b{font-size:22px}.step-rail li{padding:9px 11px;font-size:12px}.empty-action{margin-left:0}}.run-status{color:var(--muted);align-items:center;gap:8px;min-height:20px;margin:0 27px 12px;font-size:12px;display:flex}.run-status b{color:var(--ink)}.run-gap{color:light-dark(#5f7f52,#739466);font-weight:600}.run-stalled{color:light-dark(#96793f,#96793f)}.run-idle{color:light-dark(#a0a993,#515945)}.mark-button{color:light-dark(#6b7a63,#7f8e76);letter-spacing:.4px;min-height:40px;padding:9px 12px;font-size:11px}.follow-button{color:light-dark(#4d7040,#83a976);background:light-dark(#edf2e8,#262922);border-color:light-dark(#dbe4d1,#2d3425);justify-content:center;align-items:center;gap:7px;min-height:42px;margin-top:10px;padding:10px;font-size:12px;display:flex}.sentence-row.sounding{box-shadow:inset 3px 0 #7d9b6b}.sentence-list{scroll-behavior:smooth}.loop-controls{border:1px solid var(--edge);border-radius:var(--radius);background:light-dark(#fff,#1c2520);gap:18px;margin-top:22px;padding:20px 24px;display:grid}.mode-row{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.mode-chip{text-align:left;border-radius:12px;align-content:center;gap:5px;min-height:64px;padding:14px 15px;display:grid}.mode-chip strong{font-size:12px;font-weight:600}.mode-chip small{color:var(--muted);font-size:11px;line-height:1.5}.mode-chip.selected{background:light-dark(#e6ecdd,#2a2e22);border-color:light-dark(#c6d5b7,#343e2a)}.mode-chip.selected strong{color:light-dark(#3f6a4a,#85b28f)}.mode-chip.selected small{color:light-dark(#6b8559,#6f895d)}.setting-row{flex-wrap:wrap;align-items:end;gap:18px;display:flex}.setting{color:var(--muted);gap:6px;font-size:11px;display:grid}.setting .select,.setting select{min-width:96px}.question-page{padding-bottom:48px}.question-layout{grid-template-columns:minmax(290px,360px) minmax(0,1fr);align-items:start;gap:22px;margin-top:34px;display:grid}.question-form,.question-results{border:1px solid var(--edge);border-radius:var(--radius);background:light-dark(#fff,#1c2520)}.question-form{align-content:start;gap:17px;padding:24px;display:grid;position:sticky;top:22px}.question-form .card-heading{align-items:flex-start;padding-bottom:3px}.question-form .card-heading h2{letter-spacing:-.5px;margin-top:9px;font-size:20px;font-weight:600}.question-form .card-heading>span{letter-spacing:.4px;color:light-dark(#6c8a5a,#688656);white-space:nowrap;background:light-dark(#edf3e8,#252921);border-radius:5px;padding:6px 8px;font-size:10px}.question-form label{color:light-dark(#7d8a74,#6d7a64);gap:7px;font-size:12px;display:grid}.question-form input,.question-form textarea{border:1px solid var(--edge);width:100%;color:var(--ink);background:light-dark(#fff,#1c2520);border-radius:9px;min-height:43px;padding:11px 12px;font-size:13px}.question-form .select,.question-form select{width:100%}.question-form textarea{resize:vertical;line-height:1.6}.question-form input:focus,.question-form textarea:focus{border-color:light-dark(#b9c8ac,#39452d)}.question-form-grid{grid-template-columns:1fr 1fr 82px;gap:10px;display:grid}.question-rights-note{color:light-dark(#857e6a,#837c68);background:light-dark(#fdfaf1,#24221b);border:1px solid light-dark(#e6ddc6,#3a3220);border-radius:10px;padding:13px 14px;font-size:11px;line-height:1.7}.question-rights-note strong{color:light-dark(#8a7844,#93814d);margin-bottom:4px;font-size:12px;font-weight:600;display:block}.question-submit{background:var(--accent);color:light-dark(#fff,#1c2520);border:0;border-radius:10px;min-height:45px;padding:12px 16px;font-size:12px;font-weight:600}.question-submit:hover:not(:disabled){background:light-dark(#28563b,#9ecfaf)}.question-results{min-height:520px;padding:24px}.question-empty{text-align:center;min-height:468px;color:var(--muted);place-content:center;justify-items:center;gap:12px;padding:30px;display:grid}.question-empty h2{color:light-dark(#687662,#83927d);font-family:Georgia,Times New Roman,serif;font-size:22px;font-weight:400}.question-empty p{max-width:320px;font-size:12px;line-height:1.7}.question-empty-icon{color:light-dark(#71905d,#61804d);background:light-dark(#edf2e8,#262922);border-radius:50%;place-items:center;width:52px;height:52px;font-size:22px;display:grid}.question-spinner{border:3px solid light-dark(#e4ebdf,#292e25);border-top-color:light-dark(#71905d,#61804d);border-radius:50%;width:28px;height:28px;animation:question-spin .8s linear infinite}@keyframes question-spin{to{transform:rotate(1turn)}}.question-result-head{border-bottom:1px solid light-dark(#eef1e9,#272923);justify-content:space-between;align-items:flex-start;gap:15px;padding-bottom:18px;display:flex}.question-result-head h2{letter-spacing:-.5px;margin:8px 0 7px;font-family:Georgia,Times New Roman,serif;font-size:26px;font-weight:400;line-height:1.35}.question-result-head p{color:var(--muted);font-size:12px}.question-count{color:light-dark(#6b8559,#6f895d);white-space:nowrap;background:light-dark(#edf2e8,#262922);border-radius:5px;padding:7px 9px;font-size:11px}.question-provenance{color:var(--muted);border-bottom:1px solid light-dark(#eef1e9,#272923);flex-wrap:wrap;gap:14px;padding:14px 0;font-size:11px;display:flex}.question-provenance b{color:var(--muted);font-weight:600}.question-list{gap:12px;margin-top:18px;display:grid}.question-card{border:1px solid var(--edge);background:light-dark(#fcfdfa,#1e2722);border-radius:12px;padding:17px 18px}.question-card-top{align-items:center;gap:10px;margin-bottom:11px;display:flex}.question-number{color:light-dark(#6f8b60,#678358);font-variant-numeric:tabular-nums;font-size:11px}.question-type{letter-spacing:.5px;color:light-dark(#9aa48f,#545d4a);text-transform:uppercase;font-size:10px}.question-card h3{color:light-dark(#354a3b,#bbd4c1);font-family:Georgia,Times New Roman,serif;font-size:17px;font-weight:400;line-height:1.5}.question-choices{counter-reset:choice;gap:7px;margin:14px 0 0;padding:0;list-style:none;display:grid}.question-choices li{counter-increment:choice;color:light-dark(#697861,#819179);align-items:flex-start;gap:9px;font-size:12px;line-height:1.6;display:flex}.question-choices li:before{content:counter(choice,upper-alpha);color:light-dark(#78916b,#627a55);border:1px solid light-dark(#dce5d5,#2c3327);border-radius:50%;flex:none;place-items:center;width:19px;height:19px;font-size:10px;display:grid}.question-card details{border-top:1px solid light-dark(#edf1e9,#272924);margin-top:14px;padding-top:11px}.question-card summary{color:light-dark(#78916b,#627a55);cursor:pointer;font-size:11px}.question-answer{color:light-dark(#64745e,#85967f);background:light-dark(#f1f5ed,#242721);border-radius:8px;margin-top:9px;padding:11px 12px;font-size:12px;line-height:1.7}.question-answer strong{color:light-dark(#486b4c,#88ad8b);font-weight:600}.question-answer p{margin-top:5px}@media (max-width:900px){.question-layout{grid-template-columns:1fr}.question-form{position:static}.question-results{min-height:380px}.question-empty{min-height:320px}}@media (max-width:600px){.question-form,.question-results{padding:18px}.question-form-grid{grid-template-columns:1fr 1fr}.question-form-grid label:last-child{grid-column:1/-1}.question-result-head{display:grid}.question-result-head h2{font-size:23px}}.catalog-stats{flex-wrap:wrap;gap:10px;margin-top:28px;display:flex}.catalog-stats span{border:1px solid var(--edge);color:var(--muted);background:light-dark(#fff,#1c2520);border-radius:9px;padding:10px 13px;font-size:11px}.catalog-stats b{color:light-dark(#527550,#7ca17a);font-weight:600}.catalog-layout{grid-template-columns:minmax(245px,310px) minmax(0,1fr);align-items:stretch;gap:18px;margin-top:18px;display:grid}.lesson-catalog{flex-direction:column;min-height:0;display:flex}.lesson-catalog-tools{gap:10px;padding-bottom:12px;display:grid}.lesson-catalog-tools .search-field{margin:0}.lesson-catalog-tools .study-level{color:var(--muted);gap:6px;font-size:11px;display:grid}.lesson-catalog-tools .study-level .select,.lesson-catalog-tools .study-level select{width:100%}.lesson-catalog-sticky{flex-direction:column;min-height:0;max-height:calc(100vh - 32px);display:flex;position:sticky;top:16px}.lesson-save-bar{border-top:1px solid var(--edge);gap:14px;margin-top:16px;padding-top:16px;display:grid}.keep-lesson-compact{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.keep-lesson-compact button{align-items:center;gap:7px;min-height:44px;padding:0 14px;font-size:13px;display:inline-flex}.keep-lesson-compact.is-kept button{color:light-dark(#345f42,#93c1a0);background:light-dark(#edf3e8,#252921);border-color:light-dark(#d3e0cb,#2e3827)}.keep-lesson-compact span{color:var(--muted);font-size:12px;line-height:1.6}.keep-lesson-compact .keep-lesson-error{color:var(--danger);flex-basis:100%;margin:0;font-size:12px}.speak-recorder-title{align-items:center;gap:8px;display:inline-flex}.speak-recorder-title .new-badge{margin-left:0}.kept-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.kept-list li{border:1px solid var(--edge);background:light-dark(#fff,#1c2520);border-radius:12px;align-items:center;gap:12px;padding:12px 16px;display:flex}.kept-list li a{flex:1;gap:3px;min-width:0;display:grid}.kept-list li a strong{font-size:14px;font-weight:600}.kept-list li a small{color:var(--muted);font-size:12px}.kept-list li button{align-items:center;gap:6px;min-height:40px;padding:0 12px;font-size:12px;display:inline-flex}.lesson-catalog,.lesson-detail{border:1px solid var(--edge);border-radius:var(--radius);background:light-dark(#fff,#1c2520)}.lesson-catalog{padding:20px}.lesson-list{gap:5px;margin-top:18px;display:grid}.lesson-catalog-item{text-align:left;background:0 0;border-color:#0000;border-radius:8px;gap:10px;width:100%;padding:11px 9px;display:flex}.lesson-catalog-item>span{color:light-dark(#a5ae9a,#4d5543);font-variant-numeric:tabular-nums;font-size:11px;line-height:1.7}.lesson-catalog-item div{gap:4px;min-width:0;display:grid}.lesson-catalog-item strong{color:var(--muted);font-size:11px;font-weight:600}.lesson-catalog-item small,.lesson-catalog-item strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lesson-catalog-item small{color:light-dark(#a0a993,#515945);font-size:10px}.lesson-catalog-item:hover:not(:disabled){background:light-dark(#f5f7f2,#242521)}.lesson-catalog-item.selected{background:light-dark(#edf2e8,#262922)}.lesson-catalog-item.selected>span{color:light-dark(#6b8559,#6f895d)}.lesson-catalog-item.selected strong{color:light-dark(#3f6a4a,#85b28f)}.lesson-detail{min-height:650px;padding:25px}.lesson-detail-head{border-bottom:1px solid light-dark(#eef1e9,#272923);justify-content:space-between;align-items:flex-start;gap:15px;padding-bottom:18px;display:flex}.lesson-detail-head h2{margin-top:8px;font-family:Georgia,Times New Roman,serif;font-size:27px;font-weight:400;line-height:1.3}.prompt-block{padding:24px 0 20px}.prompt-label{letter-spacing:1.4px;color:light-dark(#91a087,#56644d);margin-bottom:10px;font-size:10px;font-weight:600}.prompt-block h3{color:light-dark(#354a3b,#bbd4c1);font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:400;line-height:1.45}.prompt-block p{color:var(--muted);margin-top:7px;font-size:12px}.answer-block{background:light-dark(#f7faf5,#212420);border:1px solid light-dark(#dfe8d8,#2b3125);border-radius:12px;padding:19px 20px}.answer-en{color:light-dark(#405843,#a6c1a9);font-size:16px;line-height:1.75}.answer-vi{color:var(--muted);margin-top:8px;font-size:12px;line-height:1.7}.shadowing-grid{grid-template-columns:1fr 1fr;gap:13px;margin-top:14px;display:grid}.shadowing-card{border:1px solid var(--edge);background:light-dark(#fcfdfa,#1e2722);border-radius:12px;padding:18px}.shadowing-card ol{color:light-dark(#65745f,#86957f);gap:8px;margin:0;padding-left:20px;font-size:12px;line-height:1.6;display:grid}.shadowing-card strong{color:light-dark(#486b4c,#88ad8b);font-family:Georgia,Times New Roman,serif;font-size:18px;font-weight:400}.shadowing-card p{color:var(--muted);margin-top:6px;font-size:11px;line-height:1.7}.focus-label{margin-top:18px}.follow-up-block,.tts-block{border-top:1px solid light-dark(#eef1e9,#272923);margin-top:17px;padding-top:14px}.follow-up-block summary,.tts-block summary{color:light-dark(#78916b,#627a55);cursor:pointer;font-size:11px}.follow-up-block ol{color:var(--muted);gap:8px;margin:12px 0 0;padding-left:20px;font-size:12px;line-height:1.6;display:grid}.tts-block pre{color:light-dark(#71806a,#778670);white-space:pre-wrap;background:light-dark(#f8faf7,#222321);border-radius:8px;margin-top:10px;padding:12px;font:11px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace}.topbar-actions{align-items:center;gap:12px;display:flex}.theme-toggle{border:1px solid var(--edge);background:var(--panel);width:36px;height:36px;color:var(--muted);border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-toggle:hover{color:var(--ink);border-color:light-dark(#c6d5b7,#3f4d43)}.language-toggle{border:1px solid var(--edge);background:var(--panel);min-width:36px;height:36px;color:var(--muted);letter-spacing:1px;border-radius:999px;justify-content:center;align-items:center;padding:0 10px;font-size:11px;font-weight:700;display:inline-flex}.language-toggle:hover{color:var(--ink);border-color:light-dark(#c6d5b7,#3f4d43)}.language-mark{letter-spacing:.5px;width:19px;height:19px;color:var(--muted);place-items:center;font-size:9px;font-weight:700;display:inline-grid}.auth-link{color:light-dark(#58774c,#7d9d70);font-size:12px}.auth-link:hover{text-underline-offset:3px;text-decoration:underline}.auth-page{place-items:start center;padding-top:80px;display:grid}.auth-card{border:1px solid var(--edge);border-radius:var(--radius);background:light-dark(#fff,#1c2520);width:min(100%,420px);padding:32px;box-shadow:0 6px 20px #29362006}.auth-card h1{margin-top:10px;font-family:Georgia,Times New Roman,serif;font-size:34px;font-weight:400}.auth-intro{color:var(--muted);margin-top:10px;font-size:12px;line-height:1.7}.auth-form{gap:16px;margin-top:25px;display:grid}.auth-form label{color:light-dark(#7d8a74,#6d7a64);gap:7px;font-size:12px;display:grid}.auth-form input{border:1px solid var(--edge);width:100%;color:var(--ink);background:light-dark(#fff,#1c2520);border-radius:9px;min-height:44px;padding:12px;font-size:13px}.auth-form input:focus{border-color:light-dark(#b9c8ac,#39452d)}.auth-switch{text-align:center;color:var(--muted);margin-top:21px;font-size:12px}.auth-switch a{color:light-dark(#527550,#7ca17a);text-underline-offset:3px;text-decoration:underline}@media (max-width:900px){.catalog-layout{grid-template-columns:1fr}.lesson-catalog{padding:17px}.lesson-catalog-sticky{max-height:none;position:static}.lesson-list{grid-template-columns:1fr 1fr}.lesson-detail{min-height:500px}}@media (max-width:600px){.catalog-stats{grid-template-columns:1fr 1fr;display:grid}.lesson-list{grid-template-columns:1fr}.lesson-detail{padding:18px}.lesson-detail-head h2{font-size:23px}.prompt-block h3{font-size:21px}.shadowing-grid{grid-template-columns:1fr}}.hidden-sentence{justify-items:center;gap:10px;padding:14px 0;display:grid}.hidden-sentence p{text-align:center;max-width:34ch;color:var(--muted);font-size:13px;line-height:1.7}.reveal-button{border:1px solid var(--edge);color:light-dark(#3f6a4a,#85b28f);background:light-dark(#fff,#1c2520);border-radius:12px;min-height:44px;padding:11px 18px;font-size:13px;font-weight:600}.reveal-button:hover{background:var(--soft)}.row-hidden{letter-spacing:3px;color:light-dark(#b3bdaa,#414939)}.phrase-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:12px;display:flex}.phrase-chip{border:1px solid var(--edge);color:light-dark(#5b6b52,#91a287);font-variant-numeric:tabular-nums;background:light-dark(#fff,#1c2520);border-radius:999px;min-height:40px;padding:9px 14px;font-size:12px}.phrase-chip.selected{color:light-dark(#fff,#1c2520);background:light-dark(#35674c,#84b89a);border-color:light-dark(#35674c,#84b89a)}.phrase-chip:disabled{opacity:.45}.phrase-note{text-align:center;width:100%;color:var(--muted);font-size:11px;line-height:1.6}.ab-banner{color:light-dark(#4d7040,#83a976);background:light-dark(#f2f6ec,#24271f);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;padding:11px 14px;font-size:12px;display:flex}.ab-banner b{font-variant-numeric:tabular-nums}.ab-banner .text-button{color:light-dark(#6b7a63,#7f8e76);margin-left:auto}.shortcut-dialog{border:1px solid var(--edge);border-radius:var(--radius);background:var(--panel);width:calc(100vw - 34px);max-width:420px;color:var(--ink);padding:26px 28px}.shortcut-dialog::backdrop{background:#25372e4d}.shortcut-dialog h2{letter-spacing:-.5px;margin-bottom:18px;font-family:Georgia,Times New Roman,serif;font-size:22px;font-weight:400}.shortcut-dialog dl{gap:11px;margin:0;display:grid}.shortcut-dialog dl>div{align-items:baseline;gap:14px;display:flex}.shortcut-dialog dt{flex:none;min-width:96px}.shortcut-dialog dd{color:var(--muted);margin:0;font-size:12px}.shortcut-dialog kbd{background:light-dark(#fafbf8,#202924);border:solid var(--edge);border-width:1px 1px 2px;border-radius:6px;padding:5px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.dialog-note{color:var(--muted);margin:18px 0 16px;font-size:11px;line-height:1.8}.shortcut-dialog>button{width:100%;min-height:44px;padding:11px;font-size:12px}.lookup-button{z-index:60;background:var(--ink);color:light-dark(#fff,#1c2520);letter-spacing:.2px;white-space:nowrap;-webkit-user-select:none;user-select:none;border:0;border-radius:999px;align-items:center;gap:6px;min-height:36px;padding:0 14px;font-size:12px;font-weight:600;display:inline-flex;position:fixed;transform:translate(-50%);box-shadow:0 6px 18px #25372e40}.lookup-button:hover{background:light-dark(#0f2418,#d9f4e3)}.lookup-dialog{border:1px solid var(--edge);border-radius:var(--radius);background:var(--panel);width:calc(100vw - 32px);max-width:460px;max-height:calc(100vh - 48px);color:var(--ink);padding:0}.lookup-dialog::backdrop{background:#25372e4d}.lookup-dialog-body{overscroll-behavior:contain;box-sizing:border-box;max-height:calc(100dvh - 48px);padding:24px 28px 22px;overflow:auto}.lookup-dialog h2{letter-spacing:-.5px;overflow-wrap:anywhere;margin-top:10px;font-family:Georgia,Times New Roman,serif;font-size:26px;font-weight:400;line-height:1.3}.lookup-sound{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;font-size:14px;display:flex}.lookup-sound button{min-height:30px;padding:3px 12px;font-size:12px}.lookup-sound small{font-size:11px}.lookup-section{margin-top:20px}.lookup-section h3{letter-spacing:1.6px;color:light-dark(#919b88,#5d6654);text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:600}.lookup-translation{font-size:16px;line-height:1.6}.lookup-pending{color:var(--muted);font-size:13px;line-height:1.7}.lookup-link{color:var(--accent);text-underline-offset:3px;margin-top:8px;font-size:13px;text-decoration:underline;display:inline-block}.lookup-retry{min-height:32px;margin-top:8px;padding:4px 12px;font-size:12px}.lookup-senses{gap:10px;margin:0;display:grid}.lookup-senses>div{grid-template-columns:auto 1fr;align-items:baseline;gap:10px;display:grid}.lookup-senses dt{color:light-dark(#87967b,#616f55);white-space:nowrap;font-size:11px;font-style:italic}.lookup-senses dd{margin:0;font-size:14px;line-height:1.55}.lookup-senses em{color:var(--muted);margin-top:3px;font-size:13px;display:block}.lookup-close{width:100%;min-height:44px;margin-top:10px;padding:11px;font-size:13px;display:block}.lookup-save{box-sizing:border-box;background:var(--accent);border:1px solid var(--accent);color:light-dark(#fff,#1c2520);text-align:center;border-radius:10px;width:100%;min-height:46px;margin-top:2px;padding:11px 16px;font-size:14px;font-weight:600;line-height:1.3;display:block}.lookup-save:hover{background:light-dark(#28563b,#9ecfaf);border-color:light-dark(#28563b,#9ecfaf)}.lookup-save:disabled{opacity:.65;cursor:default}.lookup-save-error{color:light-dark(#a33b32,#e97a6d);margin:8px 0 0;font-size:12px;line-height:1.5}@media (max-width:600px){.lookup-dialog-body{padding:20px 18px 18px}.lookup-dialog h2{font-size:22px}}@media (max-width:900px){.mode-row{grid-template-columns:1fr}.loop-controls{padding:18px}}@media (max-width:600px){.run-status{margin:0 20px 10px}.transport{gap:8px}.mark-button{padding:9px;font-size:11px}.setting-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.setting{min-width:0}.setting .select,.setting select{width:100%;min-width:0}}.mic-select{color:var(--muted);flex-basis:100%;order:2;align-items:center;gap:9px;font-size:11px;display:flex}.mic-select .select,.mic-select select{flex:1;min-width:0}.mic-missing{color:light-dark(#9b4d40,#d37f70);flex-basis:100%;order:2;align-items:center;gap:9px;font-size:12px;display:flex}.mic-hint{color:var(--muted);flex-basis:100%;order:5;font-size:11px;line-height:1.7}.mic-meter.is-quiet i{background:light-dark(#c9a04f,#724c00)}.record-area .record-button{order:7}.record-area .text-button{order:8}.prefer-button{color:light-dark(#78846f,#74806b);align-items:center;gap:6px;min-height:40px;padding:9px 12px;font-size:12px;display:inline-flex}.prefer-button.pinned{color:light-dark(#3f6a4a,#85b28f);background:light-dark(#e6ecdd,#2a2e22);border-color:light-dark(#c6d5b7,#343e2a);font-weight:600}.signal-note{border-radius:10px;align-items:flex-start;gap:9px;margin-top:12px;padding:11px 13px;font-size:11px;line-height:1.8;display:flex}.signal-note svg{flex:none;margin-top:2px}.signal-warning{color:light-dark(#8c5343,#ca8b7a);background:light-dark(#fdf3ef,#2a2320);border:1px solid light-dark(#e8cfc6,#45322b)}.signal-info{color:light-dark(#8a7844,#93814d);background:light-dark(#fdfaf1,#24221b);border:1px solid light-dark(#e6ddc6,#3a3220)}.rating-row{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;font-size:12px;display:flex}.rating-chip{color:light-dark(#78846f,#74806b);border-radius:9px;min-height:40px;padding:9px 13px;font-size:12px}.rating-chip.selected{color:light-dark(#3f6a4a,#85b28f);background:light-dark(#e6ecdd,#2a2e22);border-color:light-dark(#c6d5b7,#343e2a);font-weight:600}.capture-conditions{color:light-dark(#a0a993,#515945);margin-top:12px;font-size:11px;line-height:1.7}.session-summary{border:1px solid var(--edge);border-radius:var(--radius);background:light-dark(#fff,#1c2520);margin-top:22px;padding:22px 25px}.session-summary .card-heading h3{margin-top:7px;font-size:14px}.session-summary .card-heading button{min-height:42px;padding:10px 14px;font-size:12px}.summary-figures{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:20px;display:grid}.admin-figures b,.summary-figures b{color:light-dark(#3f6a4a,#85b28f);font-variant-numeric:tabular-nums;font-family:Georgia,serif;font-size:25px;font-weight:400;display:block}.admin-figures span,.summary-figures span{color:var(--muted);margin-top:5px;font-size:11px;line-height:1.5;display:block}.rating-breakdown{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;font-size:11px;display:flex}.rating-tally{color:var(--muted);background:light-dark(#f0f1ec,#272824);border-radius:5px;padding:5px 9px}.rating-tally.confident{color:light-dark(#3f6a4a,#85b28f);background:light-dark(#e3ede3,#262e27)}.rating-tally.again{color:light-dark(#8c5343,#ca8b7a);background:light-dark(#f6ece8,#2e2724)}.summary-nudge{color:var(--muted);align-items:flex-start;gap:9px;margin-top:16px;font-size:12px;line-height:1.8;display:flex}.summary-nudge svg{color:light-dark(#7c9c68,#557341);flex:none;margin-top:3px}.summary-note{color:light-dark(#a0a993,#515945);margin-top:14px;font-size:11px;line-height:1.8}@media (max-width:900px){.summary-figures{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.prefer-button,.rating-chip{min-height:44px}.session-summary{padding:20px}}.settings-card{border:1px solid var(--edge);border-radius:var(--radius);background:light-dark(#fff,#1c2520);margin-bottom:18px;padding:24px 26px}.settings-index{flex-wrap:wrap;gap:8px;margin:18px 0 6px;display:flex}.settings-index a{border:1px solid var(--edge);color:light-dark(#4d5f4f,#9eb2a0);background:light-dark(#fff,#1c2520);border-radius:10px;justify-content:center;align-items:center;min-height:44px;padding:8px 16px;font-size:14px;display:inline-flex}.settings-index a:hover{background:var(--soft);border-color:light-dark(#c6d5b7,#343e2a)}.settings-group{margin-top:34px;scroll-margin-top:24px}.profile-columns{grid-template-columns:minmax(0,1.15fr) minmax(300px,1fr);align-items:start;margin-top:28px}.profile-columns,.profile-side{gap:20px;display:grid}.profile-card{border:1px solid var(--edge);border-radius:var(--radius);background:var(--panel);align-content:start;gap:16px;padding:24px 26px;display:grid;box-shadow:0 3px 10px #29362003}.profile-card h3{letter-spacing:-.3px;margin-top:-8px;font-size:16px;font-weight:600}.profile-identity{border-bottom:1px solid var(--edge);align-items:center;gap:16px;padding-bottom:18px;display:flex}.profile-identity>div{min-width:0}.profile-identity h2{letter-spacing:-.6px;overflow-wrap:anywhere;font-family:Georgia,Times New Roman,serif;font-size:26px;font-weight:400;line-height:1.2}.profile-identity p{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:13px}.profile-avatar{background:var(--accent);color:light-dark(#fff,#1c2520);border-radius:50%;flex:none;place-items:center;width:56px;height:56px;font-family:Georgia,Times New Roman,serif;font-size:26px;line-height:1;display:grid}.profile-rows{margin:0;display:grid}.profile-rows>div{border-bottom:1px solid light-dark(#eef1e9,#232d27);grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:48px;padding:6px 0;display:grid}.profile-rows>div:last-child{border-bottom:0}.profile-rows dt{letter-spacing:.3px;color:var(--muted);font-size:12px}.profile-rows dd{color:var(--ink);overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:0;font-size:14px}.profile-rows .text-button{color:var(--accent);border-radius:8px;padding:6px 10px;font-size:13px;font-weight:600}.profile-rows .text-button:hover{background:var(--soft)}.profile-card-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:4px;display:flex}.profile-card-foot a{color:var(--accent);align-items:center;gap:6px;font-size:13px;display:inline-flex}.profile-card-foot a:hover{text-underline-offset:3px;text-decoration:underline}.profile-card-foot .text-button{padding:6px 0}.profile-stats{grid-template-columns:1fr 1fr;gap:14px 16px;display:grid}.profile-stats b{color:light-dark(#3f6a4a,#85b28f);font-variant-numeric:tabular-nums;font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:400;line-height:1.1;display:block}.profile-stats span{color:var(--muted);margin-top:4px;font-size:12px;line-height:1.45;display:block}.profile-note{color:var(--muted);font-size:12px;line-height:1.6}.profile-links{gap:2px;margin:0 -8px;display:grid}.profile-links a{min-height:40px;color:var(--ink);border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:0 8px;font-size:13px;display:flex}.profile-links a svg{color:var(--muted)}.profile-links a:hover{background:var(--soft)}.profile-links a:hover svg{color:var(--accent)}.confirm-dialog-field{color:light-dark(#304c3a,#b5d5bf);gap:8px;margin-top:20px;font-size:14px;font-weight:600;display:grid}.confirm-dialog-field input{background:var(--panel);width:100%;min-height:46px;color:var(--ink);font:inherit;border:1px solid light-dark(#cfdacb,#313a2e);border-radius:10px;padding:10px 12px;font-size:16px;font-weight:400}.confirm-dialog-field input:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-color:light-dark(#7fa070,#506f41)}@media (max-width:900px){.profile-columns{grid-template-columns:1fr}}@media (max-width:600px){.profile-card{padding:20px 18px}.profile-rows>div{grid-template-columns:minmax(0,1fr) auto;row-gap:2px;padding:10px 0}.profile-rows dt{grid-column:1/-1}}.theme-choice-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.theme-choice-row label{flex:240px;gap:4px;display:grid}.theme-choice-row label strong{color:var(--ink);font-size:14px;font-weight:600}.theme-choice-row label>span{color:var(--muted);font-size:13px;line-height:1.6}.theme-choice-row>div{flex:0 220px;min-width:180px}.theme-choice .reading-note{margin-top:14px}.settings-group-head{border-bottom:1px solid var(--edge);gap:4px;margin-bottom:14px;padding-bottom:10px;display:grid}.settings-group-head h2{letter-spacing:-.4px;font-size:20px;font-weight:600}.settings-group .privacy-card,.settings-group .settings-card{margin:0 0 14px}.settings-group .privacy-card h2{font-size:15px}.settings-group .privacy-card-lead{font-size:13px;line-height:1.7}.settings-account-row{border:1px solid var(--edge);background:light-dark(#f7f9f4,#222420);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:14px 18px;display:flex}.settings-account-row strong{font-size:14px;display:block}.settings-account-row span{color:var(--muted);font-size:12px}.privacy-advanced{margin-bottom:14px}.privacy-advanced>summary{cursor:pointer;color:light-dark(#4d5f4f,#9eb2a0);align-items:center;min-height:44px;padding:0 4px;font-size:13px;font-weight:600;display:flex}.privacy-advanced[open]>summary{margin-bottom:12px}.settings-danger{background:light-dark(#fffbf9,#23201f);border-color:light-dark(#efd9d3,#3f2e29)}.settings-page .privacy-inline-actions label{color:var(--muted);gap:6px;font-size:12px;display:grid}.settings-page .button.danger{color:light-dark(#fff,#1c2520);background:light-dark(#b24d48,#e0837d);border-color:light-dark(#b24d48,#e0837d)}.settings-page .button{min-height:44px;padding:0 16px;font-size:13px}@media (max-width:600px){.settings-group{margin-top:26px}.settings-index a{min-height:34px;padding:0 12px;font-size:12px}.settings-account-row{flex-direction:column;align-items:flex-start}}.settings-card .card-heading h2{margin-top:8px;font-size:15px;font-weight:600}.settings-note{color:var(--muted);max-width:70ch;margin-top:14px;font-size:12px;line-height:1.9}.settings-note code{background:light-dark(#f2f4ee,#252722);border-radius:4px;padding:2px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.settings-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;display:flex}.settings-actions button:not(.primary-action){min-height:44px;padding:11px 15px;font-size:12px}.settings-hint{color:var(--muted);font-size:11px}.restore-block{border-top:1px solid var(--edge);margin-top:26px;padding-top:22px}.restore-block h3{font-size:13px;font-weight:600}.restore-block .file-drop{margin-top:16px}.restore-outcome{color:light-dark(#3f6a4a,#85b28f);background:light-dark(#eef3e9,#252921);border-radius:10px;align-items:flex-start;gap:9px;margin-top:16px;padding:12px 14px;font-size:12px;line-height:1.8;display:flex}.restore-outcome svg{flex:none;margin-top:2px}.usage-figures{grid-template-columns:repeat(4,1fr);gap:16px;margin-top:20px;display:grid}.usage-figures b{color:light-dark(#3f6a4a,#85b28f);font-variant-numeric:tabular-nums;font-family:Georgia,serif;font-size:24px;font-weight:400;display:block}.usage-figures span{margin-top:5px;line-height:1.5;display:block}.usage-bar,.usage-figures span{color:var(--muted);font-size:11px}.usage-bar{margin-top:20px}.usage-bar .progress-track{margin-bottom:8px}@media (max-width:900px){.usage-figures{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.settings-card{padding:20px}.usage-figures{grid-template-columns:1fr 1fr;gap:14px}}.draft-recovery{border-radius:var(--radius);background:light-dark(#fdfaf1,#24221b);border:1px solid light-dark(#e6ddc6,#3a3220);align-items:flex-start;gap:15px;margin-bottom:20px;padding:20px 22px;display:flex}.draft-icon{color:light-dark(#8a7844,#93814d);background:light-dark(#f2ecdb,#2f2a1d);border-radius:12px;flex:none;place-items:center;width:42px;height:42px;display:grid}.draft-recovery>div{flex:1;min-width:0}.draft-recovery strong{font-size:12px;font-weight:600;display:block}.draft-recovery>div>p{color:light-dark(#857e6a,#837c68);max-width:70ch;margin-top:7px;font-size:12px;line-height:1.9}.draft-list{gap:9px;margin:15px 0 0;padding:0;list-style:none;display:grid}.draft-list li{background:light-dark(#fffdf7,#22201c);border:1px solid light-dark(#ece3cf,#362e1f);border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;padding:11px 13px;display:flex}.draft-copy{flex:1;min-width:160px}.draft-copy strong{color:var(--ink);font-size:12px;font-weight:400}.draft-copy small{color:light-dark(#9a9280,#6d6655);margin-top:5px;font-size:11px;display:block}.draft-actions{flex-wrap:wrap;gap:7px;display:flex}.draft-actions button{align-items:center;gap:6px;min-height:40px;padding:9px 11px;font-size:11px;display:inline-flex}@media (max-width:600px){.draft-recovery{padding:18px}.draft-actions button{min-height:44px}}.skip-link{z-index:5;background:var(--panel);border:1px solid var(--accent);color:var(--accent);border-radius:9px;padding:12px 16px;font-size:12px;position:absolute;top:12px;left:-9999px}.skip-link:focus{left:12px}@media (prefers-reduced-motion:reduce){.sentence-list{scroll-behavior:auto}}.due-card{border-radius:var(--radius);background:light-dark(#eef3e9,#252921);border:1px solid light-dark(#c6d5b7,#343e2a);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-top:24px;padding:22px 25px;display:flex}.due-card h2{letter-spacing:-.5px;margin:9px 0 8px;font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:400}.due-card p{color:light-dark(#5f7f52,#739466);max-width:56ch;font-size:12px;line-height:1.8}.review-status{border:1px solid var(--edge);border-radius:var(--radius);background:light-dark(#fff,#1c2520);margin-top:26px;padding:22px 25px}.review-figures{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.review-figures b{color:light-dark(#3f6a4a,#85b28f);font-variant-numeric:tabular-nums;font-family:Georgia,serif;font-size:26px;font-weight:400;display:block}.review-figures span{color:var(--muted);margin-top:5px;font-size:11px;display:block}.review-note{color:var(--muted);margin-top:16px;font-size:12px;line-height:1.8}.review-start{border:1px solid var(--edge);border-radius:var(--radius);background:light-dark(#fff,#1c2520);flex-wrap:wrap;align-items:end;gap:18px;margin-top:16px;padding:22px 25px;display:flex}.review-start>div{flex:1;min-width:240px}.review-start h2{font-size:15px;font-weight:600}.review-start p{color:var(--muted);max-width:60ch;margin-top:8px;font-size:12px;line-height:1.8}.review-card{border:1px solid var(--edge);border-radius:var(--radius);background:light-dark(#fff,#1c2520);margin-top:16px;padding:26px}.review-progress{gap:14px}.review-progress a{color:var(--accent)}.review-stage{text-align:center;place-items:center;min-height:120px;padding:24px 12px;display:grid}.review-stage h3{letter-spacing:-.6px;max-width:34ch;font-family:Georgia,Times New Roman,serif;font-size:28px;font-weight:400;line-height:1.35}.review-hidden{color:light-dark(#a0a993,#515945);max-width:44ch;font-size:12px;line-height:1.9}.review-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.review-actions button:not(.play-button){min-height:44px;padding:11px 15px;font-size:12px}.review-done{text-align:center}.review-done h2{margin-bottom:12px;font-family:Georgia,serif;font-size:24px;font-weight:400}.review-done p{color:var(--muted);margin-bottom:18px;font-size:12px;line-height:1.9}.ladder-note{border:1px solid var(--edge);border-radius:var(--radius);background:light-dark(#fafbf8,#202924);margin-top:22px;padding:20px 24px}.ladder-note>summary{cursor:pointer;align-items:center;min-height:44px;font-size:13px;font-weight:600;display:flex}.ladder-note[open]>summary{margin-bottom:8px}.review-heading{padding-bottom:0}.review-heading .page-heading p a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.review-section-title{letter-spacing:-.2px;margin:0 0 14px;font-size:15px;font-weight:600}.review-dashboard,.review-heading+.content{padding-top:8px}.review-foot{padding-top:0}.review-foot .ladder-note{margin-top:0}.review-filters{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.review-filters .filter-chip span{color:light-dark(#4d6a52,#8baa90);background:light-dark(#e8eee3,#282c24);border-radius:999px;padding:2px 7px;font-size:11px}.review-filters .filter-chip.selected span{background:light-dark(#d3dec6,#303825)}.settings-group .review-reminder{border-radius:var(--radius);margin:0 0 14px}.settings-group .review-reminder-heading>div>p{margin:0}@media (max-width:600px){.review-heading .page-heading p{font-size:12px;line-height:1.8}}.ladder-note h3{font-size:12px;font-weight:600}.ladder-note p{color:var(--muted);max-width:74ch;margin-top:9px;font-size:12px;line-height:1.9}.stage-actions{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:12px;display:flex}.note-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.note-card{border:1px solid var(--edge);border-radius:var(--radius);background:light-dark(#fff,#1c2520);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:18px;padding:20px 22px;display:flex}.note-body{flex:1;min-width:240px}.note-body strong{font-family:Georgia,Times New Roman,serif;font-size:19px;font-weight:400;line-height:1.45;display:block}.note-body>p{color:var(--muted);margin-top:9px;font-size:12px;line-height:1.8}.note-own{color:var(--muted);border-left:2px solid light-dark(#d5dfca,#303727);padding-left:11px}.note-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px}.note-meta,.note-missing{margin-top:13px;font-size:11px;display:flex}.note-missing{color:light-dark(#8a7844,#93814d);background:light-dark(#fdfaf1,#24221b);border:1px solid light-dark(#e6ddc6,#3a3220);border-radius:9px;align-items:flex-start;gap:8px;padding:10px 12px;line-height:1.8}.note-missing svg{flex:none;margin-top:2px}.note-actions{align-items:center;gap:8px;display:flex}.note-actions button{place-items:center;width:44px;height:44px;padding:0;display:grid}@media (max-width:900px){.review-figures{grid-template-columns:1fr 1fr}}@media (max-width:600px){.review-card,.review-start,.review-status{padding:20px}.review-stage h3{font-size:23px}.due-card{padding:20px}.note-card{padding:18px}}.auth-header{border-bottom:1px solid var(--edge);justify-content:space-between;align-items:center;gap:20px;padding:24px 32px;display:flex}.auth-header .brand{font-size:24px}.auth-header .brand,.auth-header a{align-items:center;min-height:44px;display:inline-flex}.auth-shell .auth-main{width:100%;margin-left:0}.auth-shell .auth-page{max-width:none;padding:48px 20px}.guest-continue{text-align:center;border:1px solid var(--edge);min-height:44px;color:var(--accent);border-radius:9px;margin-top:22px;padding:12px;display:block}.guest-continue:hover{background:var(--soft)}.lesson-catalog .lesson-list{overscroll-behavior:contain;flex:1;min-height:0;max-height:none;margin-top:0;overflow-y:auto}body{font-size:16px}.sidebar nav a{min-height:48px;font-size:15px}.auth-link,.topbar{font-size:14px}.catalog-page{--muted:light-dark(#596b60,#8da095);max-width:1440px;padding-top:40px}.catalog-page .page-heading{background:linear-gradient(115deg,light-dark(#e8f0e3,#262c22),light-dark(#f5f7ee,#24251f));border:1px solid light-dark(#dce6d6,#2b3327);border-radius:24px;padding:30px 34px}.catalog-page .eyebrow{color:light-dark(#45644b,#92b498);letter-spacing:1.8px;font-size:12px}.catalog-page .page-heading h1{color:light-dark(#233d2e,#ccebd7);letter-spacing:-1px;font-size:clamp(32px,3.3vw,46px);line-height:1.2}.catalog-page .page-heading p{color:light-dark(#526453,#98ab99);max-width:60ch;margin-top:16px;font-size:17px;line-height:1.7}.catalog-page .catalog-stats{gap:18px;margin-top:18px}.catalog-page .catalog-stats span{color:light-dark(#526453,#98ab99);background:0 0;border:0;padding:0;font-size:14px}.level-intro{margin-top:30px;font-size:17px;font-weight:600}.level-intro span{color:light-dark(#5e7062,#889b8c);margin-left:12px;font-size:14px;font-weight:400}.catalog-page .catalog-layout{grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:24px;margin-top:28px}.catalog-page .lesson-catalog{background:light-dark(#f1f4ed,#252722);border-color:light-dark(#e0e6da,#2d3128);padding:22px 16px}.catalog-page .prompt-label,.catalog-page .section-kicker{color:light-dark(#526b58,#8ba691);letter-spacing:1.2px;font-size:12px}.catalog-page .lesson-list{grid-auto-rows:max-content;align-content:start}.catalog-page .lesson-catalog-item{align-items:flex-start;gap:12px;min-height:68px;padding:14px 10px}.catalog-page .lesson-catalog-item>div{flex:1;grid-template-columns:minmax(0,1fr);min-width:0}.catalog-page .lesson-catalog-item small,.catalog-page .lesson-catalog-item strong{overflow-wrap:anywhere;text-overflow:clip;overflow:visible}.catalog-page .lesson-catalog-item strong{white-space:normal;color:light-dark(#334b3b,#b8d4c0);font-size:16px;line-height:1.45}.catalog-page .lesson-catalog-item small{color:light-dark(#5e6e60,#8b9c8d);white-space:normal;font-size:13px;line-height:1.5}.catalog-page .lesson-catalog-item>span{color:light-dark(#62745e,#849780);flex-shrink:0;padding-top:3px;font-size:13px}.catalog-page .lesson-catalog-item.selected{background:light-dark(#fff,#1c2520);box-shadow:inset 3px 0 #35674c,0 3px 12px #29362006}.catalog-page .lesson-detail{min-width:0;padding:30px;box-shadow:0 8px 32px #25372e05}.catalog-page .lesson-detail-head h2{font-family:var(--font-ui);letter-spacing:-.3px;font-size:19px;font-weight:600}.catalog-page .question-count{color:light-dark(#42614a,#96b89e);font-size:13px}.catalog-page .prompt-block{padding:28px 0 24px}.catalog-page .prompt-block h3{color:light-dark(#203b2b,#cfefda);font-size:clamp(28px,2.5vw,36px);line-height:1.4}.catalog-page .prompt-block p{color:light-dark(#596b60,#8da095);font-size:17px;line-height:1.65}.reading-practice{background:light-dark(#f0f5e9,#24281f);border:1px solid light-dark(#d7e2cc,#2e3625);border-radius:18px;padding:26px;scroll-margin:30px}.reading-practice:focus-visible{outline-offset:3px;outline:2px solid light-dark(#83a67b,#486941)}.reading-caption{letter-spacing:1px;color:light-dark(#4c684b,#8fad8e);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:18px;font-size:12px;display:flex}.reading-caption span:last-child{letter-spacing:0;font-size:14px}.reading-practice .answer-en{color:light-dark(#223b29,#d0efd7);overflow-wrap:anywhere;font-family:Georgia,Times New Roman,serif;font-size:clamp(24px,2.1vw,30px);line-height:1.65}.reading-start{flex-wrap:wrap;align-items:center;gap:16px;margin-top:24px;display:flex}.reading-start p{color:light-dark(#526453,#98ab99);max-width:26ch;font-size:14px;line-height:1.6}.learn-primary,.reading-controls .learn-primary{color:light-dark(#fff,#1c2520);background:light-dark(#35674c,#84b89a);border:1px solid light-dark(#35674c,#84b89a);border-radius:12px;align-items:center;gap:20px;min-height:50px;padding:13px 20px;font-size:16px;font-weight:600;display:inline-flex}.learn-primary:hover:not(:disabled),.reading-controls .learn-primary:hover:not(:disabled){background:light-dark(#254f37,#aad8ba)}.reading-translation{color:light-dark(#435e44,#9dbb9d);border-top:1px solid light-dark(#d7e2cc,#2e3625);margin-top:24px;padding-top:16px;font-size:16px;line-height:1.7}.reading-translation summary{cursor:pointer;min-height:44px;padding:11px 0;font-size:15px}.reading-translation p{margin-top:12px}.reading-note{color:light-dark(#5b6b52,#91a287);margin-top:14px;font-size:13px;line-height:1.6}.reading-track{background:light-dark(#dbe5d2,#2c3425);border-radius:5px;height:5px;overflow:hidden}.reading-track i{background:light-dark(#35674c,#84b89a);height:100%;transition:width .2s;display:block}.reading-stage{min-height:200px;padding:24px 0}.reading-position{color:light-dark(#506748,#93ad8b);margin-bottom:12px;font-size:14px;display:block}.reading-stage>p:last-child{color:light-dark(#526453,#98ab99);margin-top:16px;font-size:15px;line-height:1.6}.reading-controls{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.reading-controls button{min-height:48px;padding:12px 16px;font-size:15px}.reading-reset{text-underline-offset:4px;color:light-dark(#526453,#98ab99);background:0 0;border:0;margin-top:16px;padding:6px 0;font-size:14px;text-decoration:underline}.catalog-page .shadowing-grid{grid-template-columns:1fr;margin-top:22px}.catalog-page .shadowing-card{padding:22px}.catalog-page .shadowing-card ol{color:light-dark(#334b3b,#b8d4c0);gap:12px;font-size:18px;line-height:1.8}.catalog-page .shadowing-card strong{color:light-dark(#334b3b,#b8d4c0);font-size:24px}.catalog-page .shadowing-card p{color:light-dark(#526453,#98ab99);font-size:16px;line-height:1.8}.catalog-page .follow-up-block summary,.catalog-page .tts-block summary{color:light-dark(#42614a,#96b89e);min-height:44px;padding:12px 0;font-size:16px}.catalog-page .follow-up-block ol{color:light-dark(#334b3b,#b8d4c0);font-size:18px;line-height:1.7}.catalog-page .tts-block pre{color:light-dark(#435e44,#9dbb9d);font-size:15px}.auth-form label,.auth-intro,.auth-switch{color:light-dark(#526453,#98ab99);font-size:16px;line-height:1.6}.auth-form input{min-height:50px;font-size:17px}@media (max-width:1100px){.catalog-page .catalog-layout{grid-template-columns:240px minmax(0,1fr);gap:16px}.catalog-page .lesson-detail,.reading-practice{padding:22px}}@media (max-width:900px){.catalog-page .catalog-layout{grid-template-columns:1fr}.catalog-page .lesson-list{max-height:260px}}@media (max-width:600px){.catalog-page{padding:24px 16px}.catalog-page .page-heading{padding:24px}.catalog-page .page-heading p{font-size:16px}.catalog-page .catalog-stats{gap:10px 16px}.catalog-page .lesson-detail{padding:20px 16px}.catalog-page .lesson-detail-head{flex-wrap:wrap}.reading-practice{padding:20px 16px}.level-intro span{margin:8px 0 0;display:block}.reading-controls button{flex:1;justify-content:center}.catalog-page .shadowing-card ol{font-size:17px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reading-track i{transition:none}}#current-lesson{scroll-margin-top:24px}@media (max-width:900px){.catalog-page .lesson-detail{grid-row:1}.catalog-page .lesson-catalog{grid-row:2}}.topic-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:26px;display:flex}.level-chips{flex-wrap:wrap;gap:8px;display:flex}.level-chip{border:1px solid var(--edge);color:light-dark(#4a5f4f,#9db4a2);background:light-dark(#fff,#1c2520);border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:10px 15px;font-size:14px;display:inline-flex}.level-chip strong{color:light-dark(#33513d,#adcfb7);font-size:15px}.level-chip:hover{border-color:light-dark(#b9c8ac,#39452d)}.level-chip.selected{color:light-dark(#fff,#1c2520);background:light-dark(#35674c,#84b89a);border-color:light-dark(#35674c,#84b89a)}.level-chip.selected strong{color:inherit}.topic-search{border:1px solid var(--edge);color:light-dark(#7d8a74,#6d7a64);background:light-dark(#fff,#1c2520);border-radius:999px;flex:280px;align-items:center;gap:10px;max-width:430px;padding:0 16px;display:flex}.topic-search input{min-width:0;color:var(--ink);background:0 0;border:0;flex:1;min-height:46px;font-size:16px}.topic-search input:focus{outline:none}.topic-search:focus-within{outline:2px solid var(--focus);outline-offset:2px;border-color:light-dark(#7fa070,#506f41)}.group-chips{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.group-chip{background:light-dark(#f2f5ee,#252722);border:1px solid light-dark(#e3e9dd,#2b2f26);border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:9px 14px;display:inline-flex}.group-chip strong{color:light-dark(#2f4a39,#b8d7c2);font-size:14px;font-weight:600}.group-chip small{color:light-dark(#6d7d6c,#798a78);font-variant-numeric:tabular-nums;font-size:12px}.group-chip:hover{background:light-dark(#eef3e8,#252921);border-color:light-dark(#b9c8ac,#39452d)}.group-chip.selected{background:light-dark(#35674c,#84b89a);border-color:light-dark(#35674c,#84b89a)}.group-chip.selected small,.group-chip.selected strong{color:light-dark(#fff,#1c2520)}.topic-grid-heading{flex-wrap:wrap;align-items:baseline;gap:12px;margin-top:30px;display:flex}.topic-grid-heading h2{letter-spacing:-.3px;color:light-dark(#25402f,#c7e7d1);font-size:20px}.topic-grid-heading span{color:light-dark(#6d7d6c,#798a78);font-size:14px}.topic-grid{grid-template-columns:repeat(auto-fill,minmax(252px,1fr));gap:14px;margin-top:14px;padding:0;list-style:none;display:grid}.topic-card{text-align:left;border:1px solid var(--edge);background:light-dark(#fff,#1c2520);border-radius:18px;align-content:start;gap:6px;width:100%;height:100%;padding:18px;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid}.topic-card-name{color:light-dark(#27402f,#c8e6d0);font-size:18px;font-weight:600;line-height:1.4}.topic-card-en{color:var(--muted);font-size:13px}.topic-card-meta{color:light-dark(#5e7062,#889b8c);justify-content:space-between;align-items:center;gap:10px;margin-top:8px;font-size:13px;display:flex}.topic-card-count,.topic-levels{white-space:nowrap}.topic-levels{color:light-dark(#5e7062,#889b8c);font-size:12px}.topic-card:hover{border-color:light-dark(#9fba93,#3d5432);transform:translateY(-1px);box-shadow:0 6px 18px #2936200f}.topic-empty{border:1px dashed var(--edge);text-align:center;color:light-dark(#6d7d6c,#798a78);border-radius:16px;margin-top:26px;padding:30px;font-size:15px}.topic-header{flex-wrap:wrap;align-items:center;gap:16px;margin-top:26px;display:flex}.topic-header h2{letter-spacing:-.4px;color:light-dark(#25402f,#c7e7d1);font-size:26px}.topic-header .question-count{margin-left:auto}.topic-back{border:1px solid var(--edge);color:light-dark(#42614a,#96b89e);background:light-dark(#fff,#1c2520);border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:10px 14px;font-size:14px;display:inline-flex}.topic-back:hover{background:var(--soft)}.group-chip:focus-visible,.level-chip:focus-visible,.topic-back:focus-visible,.topic-card:focus-visible,.topic-more:focus-visible{outline-offset:3px;outline:2px solid light-dark(#83a67b,#486941)}.topic-more{color:light-dark(#345b40,#9bc5a6);background:light-dark(#eef3e9,#252921);border:1px dashed light-dark(#b3c8a8,#36472c);border-radius:16px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:52px;margin-top:16px;padding:12px 20px;font-size:15px;font-weight:600;display:flex}.topic-more:hover:not(:disabled){background:light-dark(#e3ecdc,#282f23);border-style:solid}.topic-more small{color:light-dark(#5f7f52,#739466);white-space:nowrap;background:light-dark(#fff,#1c2520);border:1px solid light-dark(#d7e3cf,#2d3626);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:500}@media (prefers-reduced-motion:reduce){.topic-card{transition:none}.topic-card:hover{transform:none}}@media (max-width:600px){.topic-search{max-width:none}.topic-grid{grid-template-columns:1fr}.topic-header h2{font-size:22px}.level-chips{flex-wrap:wrap;gap:8px}.level-chip{padding:10px 13px;font-size:13px}.level-chip strong{font-size:14px}.topic-header{grid-template-columns:auto 1fr;align-items:center;gap:10px 12px;margin-top:20px;display:grid}.topic-header .topic-back{grid-area:1/1;justify-self:start}.topic-header .question-count{grid-area:1/2;justify-self:end;margin-left:0}.topic-header>div{grid-area:2/1/auto/-1}.catalog-page .catalog-stats{flex-wrap:wrap;gap:6px 16px;display:flex}.catalog-page .catalog-stats span{white-space:nowrap}.topbar-actions .auth-link{display:inline-flex}.sidebar .brand,.topbar-actions .auth-link{align-items:center;min-height:44px}}.offline-pill{color:light-dark(#4b6b52,#88aa8f);background:light-dark(#eef3e9,#252921);border-radius:5px;align-items:center;gap:5px;padding:3px 7px;font-size:11px;display:inline-flex}.offline-pill.is-missing{color:light-dark(#8a7844,#93814d);background:light-dark(#fdfaf1,#24221b)}.offline-figures{flex-wrap:wrap;gap:18px 28px;margin-top:4px;display:flex}.offline-figures div{gap:2px;display:grid}.offline-figures b{color:light-dark(#3f6a4a,#85b28f);font-variant-numeric:tabular-nums;font-family:Georgia,serif;font-size:22px;font-weight:400}.offline-figures span{color:var(--muted);font-size:12px}.offline-missing{color:light-dark(#8a7844,#93814d);font-size:12px;line-height:1.7}.outbox-badge{color:light-dark(#7b6b3c,#a29262);white-space:nowrap;background:light-dark(#fdfaf1,#24221b);border:1px solid light-dark(#e0d3ac,#3e3722);border-radius:999px;align-items:center;gap:6px;min-height:32px;padding:6px 11px;font-size:12px;display:inline-flex}.outbox-badge:hover{background:light-dark(#faf4e6,#29251a)}.outbox-label{color:light-dark(#2f4636,#c0dbc7);overflow-wrap:anywhere;flex:180px;min-width:0;font-size:13px;font-weight:600}@media (max-width:600px){.outbox-badge{padding:6px 9px;font-size:11px}}.keep-lesson{border:1px solid var(--edge);background:light-dark(#f9faf7,#202924);border-radius:14px;flex-wrap:wrap;align-items:center;gap:14px;margin-top:20px;padding:16px 18px;display:flex}.keep-lesson.is-kept{background:light-dark(#f2f8ef,#222620);border-color:light-dark(#c6dcc0,#2e3c2a)}.keep-lesson>div{flex:260px;min-width:0}.keep-lesson strong{color:light-dark(#25372e,#e4ebe3);font-size:15px;font-weight:600;display:block}.keep-lesson p{color:light-dark(#657460,#859580);margin-top:5px;font-size:13px;line-height:1.65}.keep-lesson-error{color:light-dark(#a1443a,#df7b6e)}.keep-lesson button{flex:none;align-items:center;gap:7px;min-height:44px;padding:11px 15px;font-size:13px;display:inline-flex}.kept-lesson-list{gap:8px;margin:22px 0 0;padding:0;list-style:none;display:grid}.kept-lesson-list button{border:1px solid var(--edge);background:var(--panel);text-align:left;color:light-dark(#2f4636,#c0dbc7);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 14px;width:100%;min-height:48px;padding:13px 16px;font-size:14px;display:flex}.kept-lesson-list button.selected{border-color:var(--accent);background:light-dark(#eff5eb,#242821);font-weight:600}.kept-lesson-list small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.download-list{gap:8px;margin:18px 0 0;padding:0;list-style:none;display:grid}.download-list li{border:1px solid var(--edge);background:light-dark(#f9faf7,#202924);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 14px;display:flex}.download-list a{color:light-dark(#2f4636,#c0dbc7);overflow-wrap:anywhere;flex:180px;min-width:0;font-size:13px;font-weight:600}.download-list a:hover{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.download-list span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.download-list button{flex:none;align-items:center;gap:6px;min-height:44px;padding:10px 13px;font-size:12px;display:inline-flex}@media (max-width:600px){.download-list li{gap:10px}.download-list button,.keep-lesson button{justify-content:center;width:100%}}.waveform-card{border:1px solid var(--edge);border-radius:var(--radius);background:light-dark(#fff,#1c2520);gap:16px;margin-top:18px;padding:22px 24px;display:grid}.waveform-card .card-heading h3{margin-top:6px;font-size:15px;font-weight:600}.waveform-empty{justify-items:start;gap:14px;display:grid}.waveform-empty p{color:var(--muted);max-width:62ch;font-size:13px;line-height:1.7}.waveform-row{gap:8px;display:grid}.waveform-labels{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-size:12px;display:flex}.waveform-labels strong{color:light-dark(#43583f,#a8c0a4);font-size:13px}.waveform-labels span{font-variant-numeric:tabular-nums}.waveform-track{background:light-dark(#f7f9f4,#222420);border:1px solid light-dark(#eef1e9,#272923);border-radius:12px;height:72px;padding:6px}.waveform-signal{min-width:2px;height:100%}.waveform-canvas{fill:light-dark(#5d8467,#678e71);width:100%;height:100%;display:block}.waveform-signal.is-attempt .waveform-canvas{fill:light-dark(#9a7f4e,#8d7342)}.waveform-flat{border-top:2px solid light-dark(#cbd6c2,#333c2c);height:100%}.waveform-offset{gap:12px}.waveform-offset,.waveform-offset label{flex-wrap:wrap;align-items:center;display:flex}.waveform-offset label{color:light-dark(#7d8a74,#6d7a64);gap:10px;font-size:12px}.waveform-offset input[type=range]{accent-color:light-dark(#35674c,#84b89a);width:min(320px,60vw)}.waveform-offset output{font-variant-numeric:tabular-nums;color:light-dark(#43583f,#a8c0a4);min-width:72px;font-size:13px}.waveform-note{color:var(--muted);max-width:74ch;font-size:12px;line-height:1.7}.waveform-error{color:light-dark(#8a5a4a,#be8a79);font-size:13px;line-height:1.7}@media (max-width:600px){.waveform-card{padding:18px 16px}.waveform-track{height:60px}.waveform-offset input[type=range]{width:100%}}.then-and-now-card{border-radius:var(--radius);background:light-dark(#f3f7ee,#23261f);border:1px solid light-dark(#c6d5b7,#343e2a);gap:16px;margin-top:18px;padding:22px 24px;display:grid}.then-and-now-card .card-heading h3{margin-top:6px;font-size:15px;font-weight:600}.then-and-now-pair{color:light-dark(#7d9770,#5c744f);align-items:center;gap:14px;display:flex}.then-and-now-take{min-width:0;color:var(--muted);font-variant-numeric:tabular-nums;background:light-dark(#fff,#1c2520);border:1px solid light-dark(#dfe7d6,#2c3225);border-radius:14px;flex:1 1 0;gap:4px;padding:14px 16px;font-size:12px;display:grid}.then-and-now-take strong{color:light-dark(#43583f,#a8c0a4);font-size:15px}.then-and-now-take.is-now{background:light-dark(#eaf2e3,#252b20);border-color:light-dark(#b5cba6,#344627)}.then-and-now-actions{flex-wrap:wrap;align-items:center;gap:12px 18px;display:flex}.then-and-now-play{color:light-dark(#fff,#1c2520);background:light-dark(#35674c,#84b89a);border-color:light-dark(#35674c,#84b89a);border-radius:12px;align-items:center;gap:10px;min-height:48px;padding:12px 18px;font-size:15px;font-weight:600;display:inline-flex}.then-and-now-play:hover:not(:disabled){background:light-dark(#28543b,#a2d1b3)}.then-and-now-actions label{color:light-dark(#7d8a74,#6d7a64);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.language-chips{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.study-language{letter-spacing:1.6px;color:light-dark(#919b88,#5d6654);margin-bottom:8px;font-size:11px;font-weight:600}:lang(ko):lang(ko){font-family:"Apple SD Gothic Neo","Malgun Gothic","Noto Sans KR",var(--font-ui)}:lang(ja):lang(ja){font-family:"Hiragino Sans","Yu Gothic","Noto Sans JP",var(--font-ui)}:lang(zh):lang(zh){font-family:"PingFang SC","Microsoft YaHei","Noto Sans SC",var(--font-ui)}.not-found{min-height:60vh}.not-found .page-heading p{max-width:48ch}.not-found-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}@media (max-width:600px){.not-found-actions a{flex:100%;justify-content:center}}.then-and-now-offer{border-radius:var(--radius);background:light-dark(#f3f7ee,#23261f);border:1px solid light-dark(#c6d5b7,#343e2a);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-top:16px;padding:22px 24px;display:flex}.then-and-now-offer h3{max-width:60ch;margin:9px 0 8px;font-family:Georgia,Times New Roman,serif;font-size:19px;font-weight:400;line-height:1.5}.then-and-now-offer p{color:light-dark(#5f7f52,#739466);max-width:56ch;font-size:12px;line-height:1.8}@media (max-width:600px){.then-and-now-card{padding:18px 16px}.then-and-now-pair{flex-direction:column;align-items:stretch}.then-and-now-pair>svg{align-self:center;transform:rotate(90deg)}.then-and-now-play{justify-content:center;width:100%}.then-and-now-actions label{width:100%}.then-and-now-actions .select,.then-and-now-actions select{flex:1}.then-and-now-offer{padding:20px}.then-and-now-offer h3{font-size:17px}}.recordings-card .saved-takes{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:22px;margin-top:26px;display:grid}.recordings-card .take-select{flex-wrap:wrap;gap:14px;min-width:0;display:flex}.recordings-card .take-icon{color:light-dark(#53784a,#789f6f);border-radius:14px;flex:none;width:46px;height:46px}.recordings-card .take-select label{color:light-dark(#536553,#97aa96);flex:1;min-width:180px;font-size:14px;line-height:1.6}.recordings-card .take-select .select,.recordings-card .take-select select{width:100%;max-width:420px;margin-top:4px;display:block}.recordings-card .prefer-button{white-space:nowrap;border-radius:12px;flex:none;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;font-size:14px;display:inline-flex}.recordings-card .take-actions{border-bottom:1px solid var(--edge);flex-wrap:wrap;gap:10px;padding-bottom:22px;display:flex}.recordings-card .take-actions button{white-space:nowrap;border-radius:12px;justify-content:center;gap:10px;min-height:48px;padding:12px 18px;font-size:16px}.recordings-card .take-actions .take-replay{color:light-dark(#fff,#1c2520);background:light-dark(#35674c,#84b89a);border-color:light-dark(#35674c,#84b89a);font-weight:600}.recordings-card .take-actions .take-replay:hover:not(:disabled){background:light-dark(#28543b,#a2d1b3)}.recordings-card .take-actions .compare-button{color:light-dark(#3f6348,#91b89a);background:light-dark(#edf3e7,#252920)}.recordings-card .take-actions button[aria-label]{flex:none;width:48px;padding:12px}.recordings-card .take-actions button[aria-label="Tải bản ghi xuống"]{margin-left:auto}.recordings-card .rating-row{background:light-dark(#f6f8f2,#232420);border:1px solid light-dark(#e6ebdf,#2a2e25);border-radius:14px;gap:10px;margin:0;padding:18px 20px}.recordings-card .rating-row>span{color:light-dark(#43583f,#a8c0a4);margin-right:auto;font-size:15px;font-weight:600}.recordings-card .rating-chip{color:light-dark(#53634d,#9bad94);background:light-dark(#fff,#1c2520);border-radius:10px;min-height:44px;padding:10px 16px;font-size:15px}.recordings-card .rating-chip.selected{color:light-dark(#fff,#1c2520);background:light-dark(#35674c,#84b89a);border-color:light-dark(#35674c,#84b89a)}.recordings-card .signal-note{border-radius:12px;margin:0;padding:14px 18px;font-size:14px;line-height:1.7}.recordings-card .signal-note svg{flex:none;margin-top:4px}.recordings-card .stale-note{margin:0;font-size:14px;line-height:1.7}.recordings-card .take-details{color:light-dark(#596b60,#8da095);font-size:14px;line-height:1.7}.recordings-card .take-details summary{cursor:pointer;width:fit-content;padding:4px 0}.recordings-card .capture-conditions{color:light-dark(#596b60,#8da095);margin-top:8px;font-size:13px}.recordings-card button:focus-visible,.take-details summary:focus-visible{outline-offset:3px;outline:2px solid light-dark(#83a67b,#486941)}@media (max-width:600px){.recordings-card .saved-takes{gap:18px}.recordings-card .take-select{grid-template-columns:46px minmax(0,1fr);align-items:center;display:grid}.recordings-card .take-select label{width:100%;min-width:0}.recordings-card .take-select .select,.recordings-card .take-select select{max-width:100%}.recordings-card .prefer-button{grid-column:2;justify-self:start;margin-left:0}.recordings-card .take-actions button{padding:12px;font-size:14px}.recordings-card .take-actions .compare-button,.recordings-card .take-actions .take-replay{flex:calc(50% - 10px)}.recordings-card .take-actions button[aria-label="Tải bản ghi xuống"]{margin-left:0}.recordings-card .rating-row{padding:16px}.recordings-card .rating-row>span{width:100%;margin-bottom:4px}.recordings-card .rating-chip{flex:auto;padding:10px 12px;font-size:14px}}.account-learning-actions{background:light-dark(#f2f6ed,#242720);border:1px solid light-dark(#dce6d5,#2c3326);border-radius:14px;margin:18px 0;padding:18px 20px}.account-action-buttons{flex-wrap:wrap;gap:10px;display:flex}.account-action-buttons button,.account-callout button,.account-review-card button,.account-saved-card button,.account-section-heading button{border-radius:10px;min-height:44px;padding:10px 16px;font-size:15px}.account-action-buttons button{color:light-dark(#315d42,#95c4a5);background:light-dark(#fff,#1c2520)}.account-learning-actions>p{color:light-dark(#54664f,#96aa91);margin-top:10px;font-size:14px;line-height:1.7}.account-callout{background:light-dark(#f0f5e9,#24281f);border:1px solid light-dark(#dce6d5,#2c3326);border-radius:18px;margin:24px 0;padding:28px}.account-callout h2{font-size:24px;line-height:1.4}.account-callout p{max-width:65ch;margin:12px 0 20px;font-size:16px;line-height:1.8}.account-callout .text-button{margin:12px 0 0 18px;display:inline-block}.account-saved-section{margin:28px 0 36px}.account-card-footer,.account-card-heading,.account-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.account-section-heading h2{font-size:23px}.account-section-heading h2 span{color:light-dark(#607159,#899b81);font-size:16px}.account-search{color:light-dark(#526453,#98ab99);gap:8px;margin:20px 0;font-size:14px;display:grid}.account-note-editor textarea,.account-search input{width:100%;font:inherit;border:1px solid var(--edge);color:var(--ink);background:light-dark(#fff,#1c2520);border-radius:10px;padding:12px;font-size:16px}.account-saved-card{border:1px solid var(--edge);background:light-dark(#fff,#1c2520);border-radius:18px;min-width:0;margin-top:16px;padding:24px}.account-card-heading h3{overflow-wrap:anywhere;flex:1;min-width:0;font-size:19px;line-height:1.5}.account-saved-card details{margin-top:16px}.account-saved-card summary{cursor:pointer;color:light-dark(#35674c,#84b89a);font-size:15px}.account-saved-text{color:light-dark(#263f2e,#cae8d2);margin:20px 0;font-size:clamp(20px,2vw,26px);line-height:1.75}.account-saved-text,.account-translation{white-space:pre-wrap;overflow-wrap:anywhere}.account-translation{color:light-dark(#54664f,#96aa91);margin:16px 0;font-size:17px;line-height:1.8}.account-note-editor{gap:10px;margin-top:20px;display:grid}.account-note-editor label{gap:8px;font-size:14px;display:grid}.account-note-editor button{justify-self:start}.account-note-conflict{background:light-dark(#fbf7ec,#27241c);border:1px solid light-dark(#d8c9a4,#443b27);border-radius:12px;gap:12px;padding:16px;font-size:14px;display:grid}.account-note-conflict>p{margin:0;line-height:1.7}.account-note-version{border:1px solid var(--edge);background:light-dark(#fff,#1c2520);border-radius:10px;gap:6px;padding:12px;display:grid}.account-note-origin{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px}.account-note-text{white-space:pre-wrap;color:var(--ink);margin:0;line-height:1.7}.account-note-version button{justify-self:start}.account-card-footer{border-top:1px solid var(--edge);color:light-dark(#596b60,#8da095);margin-top:20px;padding-top:16px;font-size:14px}.account-card-footer a{color:light-dark(#35674c,#84b89a);text-underline-offset:4px;text-decoration:underline}.account-empty{color:light-dark(#526453,#98ab99);padding:24px 0;font-size:16px;line-height:1.8}.account-empty a{color:light-dark(#35674c,#84b89a);text-decoration:underline}.account-review-card{background:light-dark(#fff,#1c2520);border:1px solid light-dark(#dce6d5,#2c3326);border-radius:20px;margin:18px 0;padding:30px}.account-review-card h2{margin:14px 0;font-size:24px;line-height:1.5}.account-review-ratings{flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;display:flex}.account-review-ratings span{width:100%;font-size:16px}.account-review-summary{color:light-dark(#35674c,#84b89a);margin-top:24px;font-size:20px}.account-schedule-note{color:light-dark(#596b60,#8da095);font-size:14px;line-height:1.8}.account-error,.account-learning-actions .account-error{color:light-dark(#a34532,#de7a65)}.account-alert{color:light-dark(#7c452c,#e0a185);background:light-dark(#fff3e7,#2c231a);padding:14px 24px;font-size:15px}.account-alert button{margin-left:12px;padding:8px}.account-user{text-overflow:ellipsis;white-space:nowrap;max-width:180px;color:var(--ink);align-items:center;gap:6px;font-size:14px;display:inline-flex;overflow:hidden}.account-user:hover{color:var(--accent)}.account-user svg{color:var(--muted);flex:none}@media (max-width:600px){.account-callout,.account-review-card,.account-saved-card{padding:20px 16px}.account-learning-actions{padding:16px}.account-action-buttons button{flex:auto}.account-callout .text-button{margin-left:0}.account-section-heading h2{font-size:20px}.account-review-ratings button{flex:auto}.account-user{max-width:90px}.topbar-actions{gap:10px}.topbar-actions .text-button{white-space:nowrap}}.legal-page{max-width:1060px;font-size:18px;line-height:1.75}.legal-page h1{font-size:clamp(32px,4vw,48px);line-height:1.2}.legal-page h2{margin-top:28px;font-size:25px}.legal-page h3{margin-top:24px;font-size:21px}.legal-page p{margin-block:14px}.legal-links a,.legal-page a,.private-upload a{text-underline-offset:4px;text-decoration:underline}.privacy-panel{background:light-dark(#fff,#1c2520);border:1px solid light-dark(#d4dece,#30372b);border-radius:18px;min-width:0;margin-block:24px;padding:24px}.privacy-panel fieldset{border:0;min-width:0;padding:0}.privacy-panel legend{font-weight:700}.privacy-panel label:not(.consent-check){gap:8px;margin-block:14px;display:grid}.privacy-panel input:not([type=checkbox]),.privacy-panel textarea{color:light-dark(#263e31,#cbe8d7);width:100%;max-width:100%;font:inherit;background:light-dark(#fff,#1c2520);border:1px solid light-dark(#bccdbb,#344233);border-radius:10px;padding:12px}.privacy-panel .select,.privacy-panel select{width:100%}.privacy-panel .button{white-space:normal;margin:8px 12px 8px 0}.auth-form .consent-check,.consent-check{color:light-dark(#304c3a,#b5d5bf);align-items:flex-start;gap:12px;min-height:44px;margin-block:18px;font-size:17px;line-height:1.6;display:flex}.auth-form .consent-check input[type=checkbox],.consent-check input[type=checkbox]{accent-color:light-dark(#35694b,#81b795);flex:0 0 22px;width:22px;height:22px;min-height:22px;margin-top:3px}.privacy-notice{color:light-dark(#304c3a,#b5d5bf);background:light-dark(#edf3e7,#252920);border-left:4px solid light-dark(#60804e,#729360);border-radius:8px;padding:18px}.legal-links{flex-wrap:wrap;gap:12px 24px;margin-block:28px;font-size:16px;display:flex}.legal-links a{min-height:44px;font-size:inherit;color:inherit;border-radius:4px;align-items:center;padding:4px 0;display:inline-flex}.private-file{overflow-wrap:anywhere;border-top:1px solid light-dark(#d4dece,#30372b);flex-wrap:wrap;align-items:center;gap:12px;padding-block:16px;display:flex}.private-file>div{flex:280px}.private-upload{grid-column:1/-1;width:100%;font-size:17px}.private-upload .privacy-panel{max-width:850px}@media (max-width:600px){.privacy-panel{padding:18px}.legal-page{font-size:17px}}.admin-console .button,.legal-page .button,.privacy-center .button,.privacy-panel .button,.private-upload .button{color:light-dark(#304c3a,#b5d5bf);min-height:48px;font:inherit;cursor:pointer;background:light-dark(#f4f7f0,#232520);border:1px solid light-dark(#bdcdbb,#354233);border-radius:12px;justify-content:center;align-items:center;padding:12px 18px;font-weight:600;display:inline-flex}.admin-console .button.primary,.legal-page .button.primary,.privacy-center .button.primary,.private-upload .button.primary{color:light-dark(#fff,#1c2520);background:light-dark(#35694b,#81b795);border-color:light-dark(#35694b,#81b795)}.admin-console .button:disabled,.legal-page .button:disabled,.privacy-center .button:disabled,.private-upload .button:disabled{opacity:.5;cursor:not-allowed}.admin-console .button:focus-visible,.legal-page .button:focus-visible,.privacy-center .button:focus-visible,.privacy-panel .button:focus-visible,.private-upload .button:focus-visible{outline-offset:3px;outline:3px solid light-dark(#527f40,#6d9c5b)}.auth-card-register{width:min(100%,540px)}.required-mark{color:light-dark(#a34532,#de7a65);margin-left:3px;font-weight:600}.auth-form .registration-hint{color:light-dark(#657460,#859580);margin:0;font-size:14px;line-height:1.6}.registration-roles{border:0;grid-template-columns:1fr 1fr;gap:10px;min-width:0;padding:0;display:grid}.registration-roles legend{color:light-dark(#304c3a,#b5d5bf);margin-bottom:10px;font-size:14px;font-weight:600}.auth-form .registration-roles label{border:1px solid var(--edge);cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:12px;font-size:14px;display:flex}.auth-form .registration-roles label:has(input:checked){background:light-dark(#edf3e7,#252920);border-color:light-dark(#60804e,#729360)}.auth-form .registration-roles input{accent-color:light-dark(#35694b,#81b795);flex:0 0 18px;width:18px;height:18px;min-height:18px;padding:0}.registration-roles small{color:light-dark(#657460,#859580);margin-top:3px;font-size:12px;display:block}.auth-card-register .consent-check{gap:10px;margin:0;font-size:14px;line-height:1.6}.auth-card-register .privacy-notice{margin:0;padding:12px 14px;font-size:13px;line-height:1.6}.registration-roles input:focus-visible{outline-offset:3px;outline:2px solid light-dark(#35694b,#81b795)}@media (max-width:480px){.auth-card-register{padding:24px 20px}.registration-roles{grid-template-columns:1fr}}.auth-card-login{border-radius:20px;width:min(100%,460px);padding:36px;box-shadow:0 12px 40px #29362008}.auth-card-login h1{margin-top:12px;font-size:34px;line-height:1.2}.auth-card-login .auth-intro{margin-top:12px;font-size:15px;line-height:1.65}.auth-card-login .auth-form{gap:20px;margin-top:28px}.auth-card-login .auth-form label{color:light-dark(#304c3a,#b5d5bf);font-size:14px;font-weight:600}.auth-card-login .auth-form input{border-radius:10px;font-size:16px}.auth-form input::placeholder{color:light-dark(#84907f,#677262)}.auth-password-field{gap:7px;display:grid}.auth-password-input{position:relative}.auth-form .auth-password-input input{padding-right:68px}.auth-password-input button{color:light-dark(#42614a,#96b89e);min-width:54px;min-height:44px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:8px;font-size:13px;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.auth-password-input button:hover{background:light-dark(#edf3e7,#252920)}.auth-card-login .question-submit{border-radius:10px;width:100%;min-height:50px;margin:4px 0 0;font-size:16px}.auth-card .auth-switch{margin-top:24px;font-size:14px}.auth-forgot{justify-content:center;align-items:center;margin-top:-4px;font-size:14px;display:flex}.auth-forgot a{color:light-dark(#527550,#7ca17a);text-underline-offset:3px;padding:8px 4px;text-decoration:underline}.auth-intro b{color:var(--ink)}.auth-card .guest-continue{border:0;border-top:1px solid var(--edge);border-radius:0;justify-content:center;align-items:center;gap:12px;margin-top:24px;padding:18px 0 0;font-size:14px;display:flex}.auth-card .guest-continue:hover{text-underline-offset:4px;background:0 0;text-decoration:underline}.auth-legal-footer{color:light-dark(#657460,#859580);flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 8px;margin-top:20px;font-size:12px;display:flex}.auth-legal-footer a{min-height:44px;font-size:inherit;color:inherit;border-radius:4px;align-items:center;padding:4px 0;display:inline-flex}.auth-legal-footer a:hover{text-underline-offset:4px;text-decoration:underline}.auth-card a:focus-visible,.auth-password-input button:focus-visible{outline-offset:3px;outline:2px solid light-dark(#35694b,#81b795)}@media (max-width:480px){.auth-shell .auth-page{padding:28px 16px}.auth-card-login{padding:28px 22px}.auth-card-login h1{font-size:30px}.auth-header{padding:20px}.auth-legal-footer{grid-template-columns:repeat(2,auto);justify-content:center;justify-items:center;gap:0 20px;display:grid}.auth-legal-footer span{display:none}}@media (min-width:901px){.sidebar{overscroll-behavior:contain;overflow-y:auto}.sidebar>*{flex-shrink:0}}.privacy-hero p{color:light-dark(#526453,#98ab99);max-width:64ch;font-size:16px;line-height:1.7}.privacy-promises{flex-wrap:wrap;gap:8px;margin:20px 0 0;padding:0;list-style:none;display:flex}.privacy-promises li{color:light-dark(#36553b,#a7caac);background:light-dark(#f0f5e9,#24281f);border:1px solid light-dark(#dce6d5,#2c3326);border-radius:999px;align-items:center;gap:8px;padding:7px 13px;font-size:13px;display:inline-flex}.privacy-promises li:before{content:"";background:light-dark(#6f9860,#547c45);border-radius:50%;width:6px;height:6px}.privacy-hero+.privacy-notice{margin-top:24px;font-size:15px;line-height:1.6}.privacy-layout{grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start;gap:18px 24px;margin-top:28px;display:grid}.privacy-main{gap:18px;min-width:0;display:grid}.privacy-card{border:1px solid var(--edge);border-radius:var(--radius);background:light-dark(#fff,#1c2520);min-width:0;margin:0;padding:24px 26px}.privacy-card h2,.privacy-card>legend{color:light-dark(#25372e,#e4ebe3);font-size:19px;font-weight:600;line-height:1.35}.privacy-card>legend{float:left;width:100%;margin-bottom:14px;padding:0}.privacy-card>legend+*{clear:both}.privacy-card h3{color:light-dark(#304c3a,#b5d5bf);font-size:16px;font-weight:600}.privacy-card a{text-underline-offset:3px;text-decoration:underline}.privacy-card-lead{color:light-dark(#5d6d5f,#8c9d8e);max-width:68ch;margin-top:6px;font-size:14px;line-height:1.7}.privacy-hint{color:light-dark(#657460,#859580);margin-top:10px;font-size:13px;line-height:1.65}.privacy-card label:not(.consent-check){color:light-dark(#304c3a,#b5d5bf);gap:8px;margin-top:16px;font-size:14px;font-weight:600;display:grid}.privacy-card input:not([type=checkbox]){color:light-dark(#263e31,#cbe8d7);width:100%;max-width:440px;min-height:46px;font:inherit;background:light-dark(#fff,#1c2520);border:1px solid light-dark(#cfdacb,#313a2e);border-radius:10px;padding:10px 12px;font-size:15px;font-weight:400}.privacy-card .select,.privacy-card select{width:100%;max-width:440px}.privacy-card input:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-color:light-dark(#7fa070,#506f41)}.privacy-card .consent-check{gap:10px;margin:12px 0 0;font-size:14px;line-height:1.6}.privacy-card .consent-check input[type=checkbox]{flex-basis:20px;width:20px;height:20px;min-height:20px;margin-top:2px}.privacy-card .button{gap:8px;margin-top:18px;font-size:15px}.privacy-card .button.danger{color:light-dark(#fff,#1c2520);background:light-dark(#b24d48,#e0837d);border-color:light-dark(#b24d48,#e0837d)}.privacy-card .privacy-notice{margin:14px 0 0;padding:12px 14px;font-size:13px;line-height:1.6}.privacy-facts{margin:14px 0 0}.privacy-facts>div{border-top:1px solid var(--edge);gap:3px;padding:11px 0;display:grid}.privacy-facts dt{color:light-dark(#6b7a6d,#7d8c7f);font-size:12px}.privacy-facts dd{color:light-dark(#304c3a,#b5d5bf);overflow-wrap:anywhere;gap:2px;margin:0;font-size:14px;font-weight:600;line-height:1.5;display:grid}.privacy-card a.privacy-link{min-height:44px;color:var(--accent);align-items:center;gap:6px;margin-top:14px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.privacy-card a.privacy-link:hover{text-decoration:underline}.privacy-signin{background:linear-gradient(135deg,light-dark(#eef4e8,#242920),light-dark(#f9fbf6,#21231f));border-color:light-dark(#dce6d5,#2c3326);padding:32px}.privacy-signin h2{margin-top:10px;font-family:Georgia,Times New Roman,serif;font-size:28px;font-weight:400;line-height:1.3}.privacy-controls{gap:10px;margin:18px 0 0;padding:0;list-style:none;display:grid}.privacy-controls li{color:light-dark(#304c3a,#b5d5bf);align-items:center;gap:10px;font-size:15px;display:flex}.privacy-controls svg{color:light-dark(#4f7a52,#729e74);flex:none}.privacy-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:24px;display:flex}.privacy-card .privacy-actions a{min-height:46px;padding:12px 22px;font-size:15px;text-decoration:none}.privacy-subsection{border-top:1px solid var(--edge);margin-top:24px;padding-top:20px}.privacy-inline-actions{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:14px;display:flex}.privacy-inline-actions>label,.privacy-inline-actions>select{flex:260px;max-width:440px}.privacy-card .privacy-inline-actions .button,.privacy-card .privacy-inline-actions>label{margin-top:0}.privacy-files{margin:14px 0 0;padding:0;list-style:none}.privacy-card .private-file{border-top:1px solid var(--edge);padding-block:14px}.privacy-card .private-file p{color:light-dark(#657460,#859580);margin-top:4px;font-size:13px}.privacy-card .private-file .button{min-height:40px;margin-top:0;padding:8px 14px;font-size:14px}.privacy-empty{color:light-dark(#657460,#859580);border:1px dashed light-dark(#d4dece,#30372b);border-radius:12px;align-items:center;gap:10px;margin-top:16px;padding:16px;font-size:14px;display:flex}.privacy-danger{background:light-dark(#fffbf9,#23201f);border-color:light-dark(#efd9d3,#3f2e29)}.privacy-danger h2{color:light-dark(#8f3b2f,#ed8f80)}.privacy-message{color:light-dark(#2f5e3f,#93c5a1);background:light-dark(#eef6e9,#23281f);border:1px solid light-dark(#cfe2c6,#2c3826);border-radius:12px;align-items:center;gap:10px;padding:12px 16px;font-size:15px;display:flex}.privacy-footer{border-top:1px solid var(--edge);margin-top:32px;padding-top:18px}.privacy-footer .legal-links{color:light-dark(#657460,#859580);gap:4px 22px;margin:0;font-size:13px}.privacy-footer .legal-links a{text-decoration:none}.privacy-footer .legal-links a:hover{text-underline-offset:4px;text-decoration:underline}@media (max-width:1100px){.privacy-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width:600px){.privacy-card{padding:20px 16px}.privacy-signin{padding:24px 18px}.privacy-signin h2{font-size:24px}.privacy-actions>a{flex:100%;justify-content:center}.privacy-inline-actions .button{flex:100%}}.pending-save-notice{z-index:40;color:light-dark(#6a4630,#dbb098);background:light-dark(#fffaf4,#25211d);border:1px solid light-dark(#ead7c3,#403121);border-radius:16px;width:min(420px,100vw - 32px);padding:16px 18px;position:fixed;bottom:24px;right:24px;box-shadow:0 18px 50px #3b2a1a1f}.pending-save-notice strong{color:light-dark(#4a2e1d,#ffdbc6);overflow-wrap:anywhere;font-size:15px;line-height:1.45;display:block}.pending-save-notice p{margin-top:4px;font-size:14px;line-height:1.6}.pending-save-notice.is-saved{background:light-dark(#f3f9ef,#21261e);border-color:light-dark(#cfe2c6,#2c3826)}.pending-save-notice.is-saved strong{color:light-dark(#2f5e3f,#93c5a1)}.pending-save-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.pending-save-actions .primary-action,.pending-save-actions .secondary-action{min-height:40px;padding:9px 14px;font-size:14px}.pending-save-actions .text-button{color:light-dark(#7a5a45,#bb9881);font-size:14px}@media (max-width:600px){.pending-save-notice{bottom:16px;right:16px}.text-button{align-items:center;display:inline-flex}.back-link,.bound-buttons button,.edit-row-actions button,.editor-history button,.mark-button,.row-number-button,.side-block.danger button,.text-button{min-height:44px}.icon-button{width:44px;height:44px}.lesson-listen .listen-options .select,.lesson-listen .listen-options select{max-width:none}}.lesson-listen .listen-timeline input,.video-transport .listen-timeline input{background:0 0}.lesson-listen .listen-timeline input::-webkit-slider-runnable-track,.video-transport .listen-timeline input::-webkit-slider-runnable-track{background:linear-gradient(to right,light-dark(#376b4e,#6fa985) var(--listen-progress,0),light-dark(#dce5d8,#2c3329) 0);border-radius:5px;height:5px}.lesson-listen .listen-timeline input::-moz-range-track,.video-transport .listen-timeline input::-moz-range-track{background:linear-gradient(to right,light-dark(#376b4e,#6fa985) var(--listen-progress,0),light-dark(#dce5d8,#2c3329) 0);border-radius:5px;height:5px}.lesson-listen .listen-timeline input::-webkit-slider-thumb,.video-transport .listen-timeline input::-webkit-slider-thumb{margin-top:-8px}@media (max-width:600px){.lesson-listen .listen-timeline input,.video-transport .listen-timeline input{height:44px;margin:0 0 4px;padding-block:19px}}#topic-results{scroll-margin-top:24px}.lesson-audio-label,.topic-audio-note{color:light-dark(#8a5a2b,#c28e5f);align-items:center;gap:6px;font-size:12px;font-weight:400;display:flex}.topic-audio-note{border-top:1px solid light-dark(#edf1e8,#272a23);margin-top:6px;padding-top:10px}.catalog-page .lesson-catalog-item .lesson-audio-label{color:light-dark(#8a5a2b,#c28e5f);margin-top:8px;font-size:11px}.reading-practice.with-listening{background:light-dark(#f3f6ee,#242620);padding:0;overflow:hidden}.with-listening .reading-body{padding:25px 26px}.study-step{color:light-dark(#355b3f,#9bc5a4);align-items:center;gap:10px;font-size:14px;display:flex}.study-step>span{font-variant-numeric:tabular-nums;color:light-dark(#4f6d47,#89a980);border:1px solid light-dark(#c6d6be,#323e2b);border-radius:50%;place-items:center;width:25px;height:25px;font-size:10px;display:grid}.study-step strong{font-weight:600}.with-listening .reading-caption{letter-spacing:1.1px;margin-top:20px;margin-bottom:12px;font-size:10px}.with-listening .reading-caption span:last-child{font-size:12px}.lesson-listen{background:light-dark(#fff,#1c2520);border-bottom:1px solid light-dark(#dce5d5,#2c3327);padding:24px 26px}.listen-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.listen-language{color:light-dark(#687768,#819081);font-size:11px}.listen-description{color:light-dark(#5f705e,#899b88);margin-top:10px;font-size:13px;line-height:1.65}.listen-transport{align-items:center;gap:16px;margin-top:23px;display:flex}.listen-play{color:light-dark(#fff,#1c2520);background:light-dark(#376b4e,#6fa985);border:1px solid light-dark(#376b4e,#6fa985);border-radius:50%;flex:none;place-items:center;width:54px;height:54px;display:grid;box-shadow:0 4px 10px #376b4e15}.listen-play:hover:not(:disabled){background:light-dark(#28563b,#9ecfaf)}.listen-timeline{flex:1;min-width:0}.listen-time{color:light-dark(#526750,#93aa91);font-variant-numeric:tabular-nums;justify-content:space-between;gap:8px;font-size:11px;display:flex}.listen-time>span:last-child{white-space:nowrap}.listen-time i{color:light-dark(#a6b09e,#4b5343);margin:0 3px;font-style:normal}.listen-timeline input{appearance:none;cursor:pointer;accent-color:light-dark(#376b4e,#6fa985);border-radius:5px;width:100%;height:5px;margin:18px 0 12px;display:block}.listen-timeline input::-webkit-slider-thumb{appearance:none;background:light-dark(#376b4e,#6fa985);border:3px solid light-dark(#fff,#1c2520);border-radius:50%;width:15px;height:15px;box-shadow:0 0 0 1px #376b4e}.listen-timeline input::-moz-range-thumb{background:light-dark(#376b4e,#6fa985);border:3px solid light-dark(#fff,#1c2520);border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 1px #376b4e}.listen-timeline input:disabled{cursor:default;opacity:.5}.listen-options{flex-wrap:wrap;align-items:center;gap:6px;margin-top:17px;display:flex}.listen-options button:not(.select-trigger),.listen-options label{color:light-dark(#526750,#93aa91);background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;min-height:40px;padding:7px 10px;font-size:12px;display:inline-flex}.listen-options label{margin-left:auto;padding-right:0}.listen-options .select,.listen-options select{max-width:150px}.listen-options .select,.listen-options .select-trigger{width:auto}.listen-options button[aria-pressed=true]{color:light-dark(#2b5738,#9ecea9);background:light-dark(#eaf1e5,#262b22);border-color:light-dark(#d3e0cb,#2e3827)}.listen-options button:hover:not(:disabled){background:light-dark(#f0f5eb,#242820)}.listen-error{color:light-dark(#9e403b,#e37e76);margin-top:12px;font-size:13px;line-height:1.6}.listen-error button{color:light-dark(#9e403b,#e37e76);min-height:36px;padding:5px 8px}.with-listening .reading-note{color:light-dark(#607257,#879a7e);font-size:12px}.catalog-page .account-learning-actions{margin-top:22px}@media (max-width:1150px){.listen-language{font-size:10px}}@media (max-width:600px){.lesson-listen,.with-listening .reading-body{padding:20px 16px}.listen-heading{gap:8px}.listen-language{margin-left:35px}.listen-transport{gap:12px}.listen-play{width:48px;height:48px}.listen-time{flex-wrap:wrap;font-size:10px}.listen-options{gap:2px}.listen-options button:not(.select-trigger),.listen-options label{min-height:44px;padding:7px 6px;font-size:11px}.study-step{font-size:13px}}.lesson-navigation{border-top:1px solid var(--edge);justify-content:space-between;align-items:center;gap:8px;margin-top:24px;padding-top:20px;display:flex}.lesson-navigation button{align-items:center;gap:8px;min-height:44px;padding:10px 12px;font-size:13px;display:flex}.lesson-navigation>span{color:light-dark(#657460,#859580);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}@media (max-width:380px){.lesson-navigation button{gap:5px;padding:10px 8px;font-size:12px}.lesson-navigation>span{font-size:11px}}:root{--scroll-thumb:light-dark(#b6c3af,#4a5a4f);--scroll-thumb-hover:light-dark(#8a9f80,#66796b)}*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) transparent}@supports selector(::-webkit-scrollbar){*{scrollbar-width:auto;scrollbar-color:auto}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-corner,::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);background-clip:padding-box;border:2px solid #0000;border-radius:999px;min-height:32px}::-webkit-scrollbar-thumb:hover{background-color:var(--scroll-thumb-hover)}::-webkit-scrollbar-button{display:none}}@media (forced-colors:active){*{scrollbar-width:auto;scrollbar-color:auto}::-webkit-scrollbar-thumb{background:buttontext}.button,.field-input,.play-button,.primary-action,.record-button,.secondary-action,.select-trigger,.text-button,button,input,textarea{border:1px solid buttontext}:focus-visible{outline-offset:2px;outline:2px solid highlight}.filter-chip.selected,.is-selected,.level-chip.selected,.nav-active,.review-mode button.is-selected,.selected,.tab-current,[aria-checked=true],[aria-current=page],[aria-pressed=true],[aria-selected=true]{outline-offset:-3px;outline:3px solid highlight}.admin-bars-track i,.admin-calendar-day.level-1,.admin-calendar-day.level-2,.admin-calendar-day.level-3,.admin-calendar-day.level-4,.admin-score i:after,.mic-meter i,.play-progress-track i,.progress-track i,.review-track i{forced-color-adjust:none;background:highlight}.admin-bars-track,.admin-calendar-day,.admin-score i,.mic-meter,.play-progress-track,.progress-track,.review-track{border:1px solid buttontext}.admin-chart polyline{stroke:canvastext}.admin-chart circle,.admin-chart-legend i,.admin-chart-tip i{fill:canvastext;forced-color-adjust:none;background:canvastext}.admin-chart-grid{stroke:graytext}.admin-chart-tip,.admin-delta,.admin-status,.admin-tip:after,.new-badge,.review-round,.select-menu,.toast{border:1px solid canvastext}.skip-link:focus{border:2px solid highlight}}.review-dashboard .page-heading{margin-bottom:24px}.review-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0;display:grid}.review-overview button{text-align:left;background:light-dark(#fff,#1c2520);border-radius:17px;gap:9px;padding:22px;display:grid}.review-overview button.selected{background:light-dark(#eaf1e5,#262b22);border-color:light-dark(#8ca981,#49633e)}.review-overview span{color:light-dark(#456148,#98b79b);font-size:14px}.review-overview strong{color:light-dark(#2d5138,#aad2b4);font-family:Georgia,serif;font-size:40px;font-weight:400;line-height:1.1}.review-overview small{color:light-dark(#657460,#859580);font-size:12px;line-height:1.6}.review-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.review-week button{background:light-dark(#fff,#1c2520);border-radius:12px;justify-items:center;gap:8px;padding:13px 7px;display:grid}.review-week button.selected{color:light-dark(#fff,#1c2520);background:light-dark(#376b4e,#6fa985);border-color:light-dark(#376b4e,#6fa985)}.review-week small,.review-week span{font-size:12px}.review-week b{font-size:22px;font-weight:500}.review-week small{opacity:.8}.review-agenda-heading{margin:22px 0 12px;font-size:15px;font-weight:600}.review-agenda-heading button{min-height:44px;padding:10px 12px;font-size:13px}.review-agenda{border:1px solid var(--edge);background:light-dark(#fff,#1c2520);border-radius:16px;margin:0;padding:0;list-style:none;overflow:hidden}.review-agenda li{justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;display:flex}.review-agenda li+li{border-top:1px solid var(--edge)}.review-agenda li>div{min-width:0}.review-agenda h3{margin:7px 0;font-size:16px;line-height:1.5}.review-agenda p{color:light-dark(#657460,#859580);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:14px;line-height:1.65;display:-webkit-box;overflow:hidden}.review-agenda small{color:light-dark(#687c68,#798e79);margin-top:9px;font-size:11px;display:block}.review-agenda a{color:light-dark(#345b40,#9bc5a6);background:light-dark(#eaf1e5,#262b22);border-radius:10px;flex:none;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 14px;font-size:13px;display:inline-flex}.review-due-label{color:light-dark(#426c4b,#83af8b);font-size:11px}.review-due-label.overdue{color:light-dark(#96602d,#bb8250)}.review-agenda-empty{background:light-dark(#edf3e7,#252920);border:1px solid light-dark(#dce5d6,#2c3328);border-radius:16px;justify-items:start;gap:12px;padding:26px;display:grid}.review-agenda-empty h3{font-family:Georgia,serif;font-size:24px;font-weight:400}.review-agenda-empty p,.review-agenda-note{color:light-dark(#5e705d,#899c87);font-size:13px;line-height:1.7}.review-agenda-empty a{color:light-dark(#376b4e,#6fa985);align-items:center;gap:10px;min-height:44px;display:inline-flex}.review-agenda-note{margin-top:14px}.review-load-more{min-height:44px;margin:14px auto;padding:12px 18px;display:block}.review-reminder{border:1px solid var(--edge);background:light-dark(#fff,#1c2520);border-radius:18px;padding:24px}.review-reminder-heading{align-items:flex-start;gap:13px;display:flex}.review-reminder-heading>svg{color:light-dark(#63815a,#718f68);flex:none;margin-top:3px}.review-reminder-heading>div{flex:1}.review-reminder h2{font-size:18px;line-height:1.5}.review-reminder p{color:light-dark(#60705a,#8a9b84);margin-top:8px;font-size:13px;line-height:1.7}.review-reminder-heading>span{white-space:nowrap;background:light-dark(#edf3e7,#252920);border-radius:7px;padding:6px 9px;font-size:11px}.review-reminder-controls{flex-wrap:wrap;align-items:end;gap:12px;margin-top:20px;display:flex}.review-reminder-controls label{color:light-dark(#536b4b,#8ea885);gap:8px;font-size:12px;display:grid}.review-reminder-controls input{max-width:100%;min-height:44px;color:var(--ink);background:light-dark(#fff,#1c2520);border:1px solid light-dark(#dce5d6,#2c3328);border-radius:9px;padding:9px 12px}.review-reminder-controls button{min-height:44px;padding:10px 14px}.review-reminder .review-reminder-hint{color:light-dark(#6b7866,#818f7c);font-size:12px}.review-nav-count{text-align:center;color:light-dark(#345b40,#9bc5a6);background:light-dark(#dce8d4,#2a3323);border-radius:8px;min-width:23px;margin-left:auto;padding:3px 6px;font-size:11px}.review-nav-count+.nav-dot{margin-left:0}#account-review,#device-review{scroll-margin-top:24px}.review-manage>summary{cursor:pointer;min-height:44px;padding:16px 0;font-size:14px}@media (max-width:650px){.review-overview{gap:8px}.review-overview button{padding:14px 10px}.review-overview span{font-size:12px}.review-overview strong{font-size:32px}.review-overview small{font-size:10px}.review-week{gap:4px}.review-week button{padding:12px 3px}.review-week small,.review-week span{font-size:10px}.review-week b{font-size:18px}.review-agenda-heading{align-items:start}.review-agenda-heading h2{font-size:18px}.review-agenda li{flex-wrap:wrap;align-items:start;gap:12px;padding:17px 14px}.review-agenda li>div{width:100%}.review-agenda a{margin-left:auto}.review-reminder{padding:20px 16px}.review-reminder-heading{flex-wrap:wrap}.review-reminder-heading>span{margin-left:35px}.review-reminder-controls label{width:100%;min-width:0}.review-reminder-controls .select,.review-reminder-controls input,.review-reminder-controls select{width:100%}.review-reminder-controls button{flex:1;justify-content:center}}.saved-review-link{color:light-dark(#376b4e,#6fa985);text-underline-offset:4px;align-items:center;min-height:44px;font-size:14px;text-decoration:underline;display:inline-flex}.confirm-dialog{border:1px solid var(--edge);border-radius:var(--radius);background:var(--panel);width:calc(100vw - 32px);max-width:460px;max-height:calc(100vh - 48px);color:var(--ink);padding:0}.confirm-dialog::backdrop{background:#25372e59}.confirm-dialog form{padding:26px}.confirm-dialog h2{color:light-dark(#25372e,#e4ebe3);font-size:20px;font-weight:600;line-height:1.35}.confirm-dialog.is-danger h2{color:light-dark(#8f3b2f,#ed8f80)}.confirm-dialog-lead{color:light-dark(#5d6d5f,#8c9d8e);margin-top:8px;font-size:14px;line-height:1.7}.confirm-dialog .consent-check{gap:10px;margin:14px 0 0;font-size:14px;line-height:1.6}.confirm-dialog .consent-check input[type=checkbox]{flex-basis:20px;width:20px;height:20px;min-height:20px;margin-top:2px}.confirm-dialog-password{color:light-dark(#304c3a,#b5d5bf);gap:8px;margin-top:20px;font-size:14px;font-weight:600;display:grid}.confirm-dialog-password input{background:var(--panel);color:light-dark(#263e31,#cbe8d7);width:100%;min-height:46px;font:inherit;border:1px solid light-dark(#cfdacb,#313a2e);border-radius:10px;padding:10px 12px;font-size:16px;font-weight:400}.confirm-dialog-password input:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-color:light-dark(#7fa070,#506f41)}.confirm-dialog-hint{color:light-dark(#657460,#859580);margin-top:8px;font-size:13px;line-height:1.6}.confirm-dialog .error-banner{margin-top:14px}.confirm-dialog-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.confirm-dialog-actions .button{flex:140px;min-height:48px;margin:0;font-size:15px}.permission-list{gap:12px;margin-top:18px;display:grid}.permission-row{border:1px solid var(--edge);background:light-dark(#f9faf7,#202924);border-radius:14px;flex-wrap:wrap;align-items:center;gap:16px;padding:16px 18px;display:flex}.permission-row.is-on{background:light-dark(#f2f8ef,#222620);border-color:light-dark(#c6dcc0,#2e3c2a)}.permission-copy{flex:260px;min-width:0}.permission-copy strong{color:light-dark(#25372e,#e4ebe3);font-size:15px;font-weight:600;display:block}.permission-copy p{color:light-dark(#657460,#859580);margin-top:5px;font-size:13px;line-height:1.65}.permission-switch{background:0 0;border:0;flex:none;align-items:center;gap:10px;min-height:44px;padding:6px 8px;display:inline-flex}.permission-switch-track{background:light-dark(#ccd5c8,#343b31);border-radius:999px;flex:none;width:50px;height:28px;transition:background .15s;display:block;position:relative}.permission-switch-knob{background:var(--panel);border-radius:50%;width:22px;height:22px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #25372e33}.permission-switch[aria-checked=true] .permission-switch-track{background:var(--accent)}.permission-switch[aria-checked=true] .permission-switch-knob{transform:translate(22px)}.permission-switch-label{color:light-dark(#4a5f4f,#9db4a2);white-space:nowrap;font-size:13px;font-weight:600}.permission-switch:disabled{opacity:.55;cursor:not-allowed}.permission-switch:focus-visible{outline-offset:3px;border-radius:10px;outline:3px solid light-dark(#83a67b,#486941)}.permission-blocked{color:light-dark(#8a5a2b,#c28e5f);flex:100%;margin:0;font-size:13px;line-height:1.6}@media (prefers-reduced-motion:reduce){.permission-switch-knob,.permission-switch-track{transition:none}}@media (max-width:600px){.confirm-dialog form{padding:20px 18px}.permission-row{gap:12px;padding:14px 16px}.permission-switch{justify-content:space-between;width:100%}}.review-mode-choice{border:0;min-width:0;margin:0;padding:0}.review-mode-choice legend{color:light-dark(#536b4b,#8ea885);margin-bottom:8px;padding:0;font-size:12px}.review-mode-choice label{background:var(--panel);color:light-dark(#304c3a,#b5d5bf);cursor:pointer;border:1px solid light-dark(#dce5d6,#2c3328);border-radius:10px;align-items:center;gap:9px;min-height:44px;padding:8px 12px;font-size:13px;display:flex}.review-mode-choice label+label{margin-top:6px}.review-mode-choice label.selected{border-color:var(--accent);background:light-dark(#eff5eb,#242821)}.review-mode-choice label:has(input:disabled){opacity:.55;cursor:not-allowed}.review-mode-choice input{accent-color:light-dark(#35694b,#81b795);flex:none;width:18px;height:18px;min-height:18px;margin:0}.review-reminder .permission-switch{flex:none;margin-left:auto}.review-reminder .permission-blocked{margin-top:10px}@media (max-width:650px){.review-reminder .permission-switch{justify-content:space-between;width:100%;margin-left:0}}.admin-console .page-heading p{max-width:68ch;font-size:14px}.admin-attention{border-radius:var(--radius);background:light-dark(#fdfaf1,#24221b);border:1px solid light-dark(#dbcfae,#413924);margin-top:26px;padding:20px 22px}.admin-attention.is-clear{background:light-dark(#f4f8f1,#222520);border-color:light-dark(#cfdec9,#2e3929)}.admin-attention h2{color:light-dark(#6b5a25,#baa872);align-items:center;gap:9px;font-size:15px;font-weight:600;display:flex}.admin-attention.is-clear h2{color:light-dark(#3f6a4a,#85b28f)}.admin-attention p{color:light-dark(#5d6d5f,#8c9d8e);margin-top:8px;font-size:13px;line-height:1.7}.admin-attention ul{gap:10px;margin:14px 0 0;padding:0;list-style:none;display:grid}.admin-attention li{background:var(--panel);border:1px solid light-dark(#e6dcc6,#3a3221);border-radius:12px;padding:12px 14px}.admin-attention li.admin-act{background:light-dark(#fff6f2,#28221f);border-color:light-dark(#e0c7bd,#49362e)}.admin-attention strong{color:light-dark(#2f4636,#c0dbc7);font-size:14px;font-weight:600;line-height:1.5;display:block}.admin-attention span{color:var(--muted);margin-top:5px;font-size:13px;line-height:1.65;display:block}.admin-grid{grid-template-columns:repeat(auto-fit,minmax(272px,1fr));gap:18px;margin-top:22px;display:grid}.admin-grid .admin-card{margin-bottom:0}.admin-card{min-width:0}.admin-figures{grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:16px;margin-top:18px;display:grid}.admin-figures b.admin-alarm{color:light-dark(#a1443a,#df7b6e)}.admin-note{color:var(--muted);margin-top:14px;font-size:13px;line-height:1.7}.admin-copies code,.admin-issued code,.admin-log code,.admin-note code{border:1px solid var(--edge);overflow-wrap:anywhere;background:light-dark(#f7f8f5,#151c18);border-radius:6px;padding:2px 6px;font-size:12px}.admin-tally{gap:6px;margin:16px 0 0;display:grid}.admin-tally>div{background:light-dark(#f9faf7,#202924);border-radius:10px;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 12px;display:flex}.admin-tally dt{color:light-dark(#5d6d5f,#8c9d8e);font-size:13px}.admin-tally dd{color:light-dark(#2f4636,#c0dbc7);font-variant-numeric:tabular-nums;margin:0;font-size:14px;font-weight:600}.admin-log{gap:8px;margin:18px 0 0;padding:0;list-style:none;display:grid}.admin-log li{border:1px solid var(--edge);background:light-dark(#f9faf7,#202924);border-radius:12px;flex-wrap:wrap;align-items:baseline;gap:6px 12px;padding:12px 14px;font-size:13px;line-height:1.6;display:flex}.admin-log strong{color:light-dark(#2f4636,#c0dbc7);font-weight:600}.admin-log span{color:var(--muted);flex:200px}.admin-log time{color:var(--muted);font-size:12px}.admin-search{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-top:18px;display:flex}.admin-search label{color:light-dark(#304c3a,#b5d5bf);flex:220px;gap:8px;min-width:0;font-size:13px;font-weight:600;display:grid}.admin-search input{background:var(--panel);color:light-dark(#263e31,#cbe8d7);width:100%;min-height:48px;font:inherit;border:1px solid light-dark(#cfdacb,#313a2e);border-radius:10px;padding:10px 12px;font-size:16px;font-weight:400}.admin-search input:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-color:light-dark(#7fa070,#506f41)}.admin-search .button{flex:none}.admin-copies{gap:12px;margin:18px 0 0;padding:0;list-style:none;display:grid}.admin-copies li{border:1px solid var(--edge);background:light-dark(#f9faf7,#202924);border-radius:14px;flex-wrap:wrap;align-items:center;gap:14px;padding:16px 18px;display:flex}.admin-copies li>div:first-child{flex:260px;justify-items:start;gap:6px;min-width:0;display:grid}.admin-copies span{color:var(--muted);font-size:13px;line-height:1.6}.admin-copy-actions{flex-wrap:wrap;gap:10px;display:flex}.admin-console .button.danger{background:var(--danger);border-color:var(--danger);color:light-dark(#fff,#1c2520)}.admin-issued{background:light-dark(#f2f8ef,#222620);border:1px solid light-dark(#c9dcc3,#2e3b2a);border-radius:14px;justify-items:start;gap:10px;margin-top:18px;padding:18px;display:grid}.admin-issued strong{color:light-dark(#2f4636,#c0dbc7);font-size:14px;font-weight:600}.admin-issued code{letter-spacing:.5px;font-size:15px}.admin-issued p{color:light-dark(#5d6d5f,#8c9d8e);font-size:13px;line-height:1.7}@media (max-width:600px){.admin-grid{grid-template-columns:1fr;gap:14px}.admin-attention{padding:16px 17px}.admin-copy-actions .button,.admin-search .button{width:100%}.admin-copies li{gap:12px}.admin-console .eyebrow,.admin-console .section-kicker,.admin-figures span{font-size:12px}}.tabbar,.tabbar-backdrop,.tabbar-sheet{display:none}@media (max-width:900px){:root{--tabbar-height:66px}.tabbar{box-sizing:border-box;height:calc(var(--tabbar-height) + env(safe-area-inset-bottom));z-index:30;background:var(--panel,#fff);border-top:1px solid var(--edge);padding:6px 4px max(6px,env(safe-area-inset-bottom));grid-template-columns:repeat(5,1fr);gap:2px;margin:0;display:grid;position:fixed;bottom:0;left:77px;right:0}.tabbar a,.tabbar button{min-height:52px;color:var(--muted);text-align:center;background:0 0;border:0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:4px 2px;font-size:11px;line-height:1.3;display:flex}.tabbar .tab-current{color:var(--accent);font-weight:600}.language-toggle,.theme-toggle{display:none}.tabbar .tab-icon{place-items:center;display:grid;position:relative}.tabbar .tab-count{background:var(--accent);color:light-dark(#fff,#1c2520);font-variant-numeric:tabular-nums;border-radius:9px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:10px;font-weight:700;display:grid;position:absolute;top:-5px;left:11px}main{padding-bottom:calc(var(--tabbar-height) + env(safe-area-inset-bottom))}.tabbar-backdrop{z-index:31;background:light-dark(#1d2a1e40,#dff0e040);display:block;position:fixed;inset:0}.tabbar-sheet{z-index:32;left:0;right:0;bottom:calc(var(--tabbar-height) + env(safe-area-inset-bottom));background:var(--panel,light-dark(#fff,#1c2520));border-top:1px solid var(--edge);border-radius:16px 16px 0 0;gap:2px;padding:10px;display:grid;position:fixed;box-shadow:0 -8px 24px #2436251f}.tabbar-sheet a,.tabbar-sheet-theme{min-height:50px;color:var(--ink);border-radius:11px;align-items:center;gap:13px;padding:0 14px;font-size:14px;display:flex}.tabbar-sheet a[aria-current=page]{background:var(--soft);color:var(--accent);font-weight:600}.tabbar-sheet-theme{border:0;border-top:1px solid var(--edge);text-align:left;background:0 0;border-radius:0 0 11px 11px;margin-top:6px;padding-top:6px;font-weight:400}.tabbar-sheet-theme svg{color:var(--muted)}}@media (max-width:600px){.tabbar{left:0}}.listen-dock{display:none}@media (max-width:900px){.listen-dock{z-index:29;left:0;right:0;bottom:calc(var(--tabbar-height) + env(safe-area-inset-bottom));background:var(--panel,light-dark(#fff,#1c2520));border-top:1px solid var(--edge);align-items:center;gap:12px;padding:10px 14px;display:flex;position:fixed;box-shadow:0 -6px 18px #24362514}.listen-dock .listen-play{flex:none;justify-content:center;width:46px;height:46px;padding:0}.listen-dock-loop{border-radius:11px;flex:none;place-items:center;width:44px;height:44px;padding:0;display:grid}.listen-dock-loop[aria-pressed=true]{background:var(--soft);color:var(--accent);border-color:light-dark(#c9d8c4,#303c2c)}.listen-dock-copy{flex:1;gap:2px;min-width:0;display:grid}.listen-dock-copy span,.listen-dock-copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.listen-dock-copy strong{color:var(--ink);font-size:13px;font-weight:600}.listen-dock-copy span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.listen-dock-copy i{opacity:.5;padding:0 2px;font-style:normal}.is-studying{padding-bottom:calc(var(--tabbar-height) + 70px)}}@media (max-width:600px){.group-chips,.level-chips{scrollbar-width:none;flex-wrap:nowrap;min-width:0;max-width:100%;padding-block:3px;overflow-x:auto}.group-chips::-webkit-scrollbar,.level-chips::-webkit-scrollbar{display:none}.group-chip,.level-chip{flex:none}.topic-toolbar{gap:10px}}@media (max-width:900px){.lesson-switch{flex:none;align-items:center;gap:4px;display:flex}.lesson-switch button{width:44px;height:44px;color:var(--ink);border-radius:11px;place-items:center;padding:0;display:grid}.lesson-switch span{text-align:center;min-width:46px;color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.lesson-switch i{opacity:.5;padding:0 2px;font-style:normal}.listen-dock-bare{justify-content:flex-end}}.question-home-card{background:light-dark(#edf4e9,#242921);border:1px solid light-dark(#ccdcca,#2e3a2c);border-radius:18px;gap:12px;margin-top:24px;padding:24px;display:grid}.question-home-card h2{color:light-dark(#294b36,#b3dac0);font-size:23px;line-height:1.4}.question-home-card p{color:light-dark(#526453,#98ab99);font-size:15px;line-height:1.6}.question-home-browse{color:light-dark(#376b4e,#6fa985);justify-content:center;align-items:center;min-height:44px;font-size:14px;display:inline-flex}.question-home-card .question-home-activity{border-top:1px solid light-dark(#d5e1ce,#2e3728);padding-top:12px;font-size:14px}.custom-lesson-entry{border:1px solid var(--edge);color:light-dark(#376b4e,#6fa985);background:light-dark(#fff,#1c2520);border-radius:14px;align-items:center;gap:14px;margin-top:16px;padding:18px;display:flex}.custom-lesson-entry>span{flex:1;gap:5px;min-width:0;display:grid}.custom-lesson-entry strong{font-size:16px}.custom-lesson-entry small{color:var(--muted);font-size:13px;line-height:1.5}.custom-lesson-entry>svg{flex:none}.import-guide{background:light-dark(#f0f5eb,#242820);border:1px solid light-dark(#d6e3ce,#2c3626);border-radius:16px;margin-top:24px}.ai-brief,.import-guide{color:light-dark(#405843,#a6c1a9);padding:22px}.ai-brief{border:1px solid var(--edge);background:light-dark(#fff,#1c2520);border-radius:16px;margin-top:16px}.ai-brief h2{font-size:18px;font-weight:600;line-height:1.4}.ai-brief>p{color:light-dark(#526453,#98ab99);max-width:70ch;margin-top:6px;font-size:14px;line-height:1.65}.ai-brief-form{grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:12px;margin-top:16px;display:grid}.ai-brief-output{gap:10px;margin-top:14px;display:grid}.ai-brief-output textarea{border:1px solid var(--edge);width:100%;color:var(--ink);font:inherit;resize:vertical;background:light-dark(#f8faf5,#222320);border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.7}.ai-brief-output .primary-action{justify-self:start;align-items:center;gap:8px;display:inline-flex}.ai-brief-steps{gap:12px;margin:18px 0 0;padding-left:24px;list-style:decimal;display:grid}.ai-brief-steps li::marker{color:var(--accent);font-weight:600}.ai-brief-steps strong{font-size:14px}.ai-brief-steps p{color:light-dark(#526453,#98ab99);margin-top:3px;font-size:13px;line-height:1.65}@media (max-width:600px){.ai-brief{padding:18px}.ai-brief-form{grid-template-columns:1fr 1fr}.ai-brief-topic{grid-column:1/-1}.ai-brief-output .primary-action{justify-content:center;justify-self:stretch}}.import-guide h2,.import-guide summary{font-size:18px;font-weight:600;line-height:1.4}.import-guide summary{cursor:pointer;min-height:44px}.sample-start{justify-content:center;min-height:48px;margin:14px 0 8px;font-size:15px}.sample-downloads ul{gap:10px;margin:8px 0 16px;padding:0;list-style:none;display:grid}.sample-downloads li{gap:2px;display:grid}.sample-downloads a{text-underline-offset:3px;align-items:center;min-height:44px;font-size:15px;text-decoration:underline;display:flex}.sample-downloads li span{color:light-dark(#526453,#98ab99);font-size:13px;line-height:1.6}.sample-hint{color:light-dark(#405843,#a6c1a9);background:light-dark(#f0f5eb,#242820);border:1px solid light-dark(#d6e3ce,#2c3626);border-radius:12px;padding:14px;font-size:14px;line-height:1.65}.import-guide ol{gap:14px;margin:16px 0;padding-left:24px;display:grid}.import-guide strong{font-size:15px}.import-guide p{color:light-dark(#526453,#98ab99);margin-top:5px;font-size:14px;line-height:1.65}.import-guide p a{text-underline-offset:3px;text-decoration:underline}.import-page .import-card h2{scroll-margin-top:18px;font-size:20px}.import-page .import-note{font-size:14px;line-height:1.65}.import-page .import-note a{text-underline-offset:3px;text-decoration:underline}.import-page .paste-panel label,.import-page .review-fields label{color:light-dark(#526453,#98ab99);font-size:14px;line-height:1.5}.import-page .even-panel input,.import-page .paste-panel textarea,.import-page .review-fields input{font-family:var(--font-ui);width:100%;min-width:0;font-size:16px}.import-page .even-panel input{max-width:100px}.import-page .even-panel p,.import-page .even-panel strong,.import-page .media-summary strong{font-size:14px}.import-page .step-actions button{min-height:48px;font-size:15px}.import-methods{flex-wrap:wrap;gap:8px;display:flex}.import-methods button{flex:1;min-height:46px;padding:10px 14px;font-size:14px}.import-methods button[aria-pressed=true]{background:var(--accent);color:light-dark(#fff,#1c2520);border-color:var(--accent)}.import-listen{color:light-dark(#526453,#98ab99);gap:10px;min-width:0;font-size:14px;display:grid}.import-listen audio,.import-listen video{width:100%;max-height:250px;display:block}.custom-lesson-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}@media (max-width:600px){.import-page{padding:20px 16px}.import-page .page-heading h1{font-size:28px}.import-page .import-card{gap:16px;min-width:0;padding:16px}.import-guide{margin-top:18px;padding:18px}.import-page .file-drop{width:100%;min-width:0;padding:24px 14px}.import-page .file-drop strong{font-size:17px}.import-page .file-drop small{font-size:13px;line-height:1.6}.import-methods{grid-template-columns:1fr;display:grid}.import-page .step-rail{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.import-page .step-rail li{justify-content:center;gap:5px;padding:10px 4px;font-size:12px}.import-page .step-actions{flex-wrap:wrap;gap:12px}.import-page .step-actions .primary-action{flex:1;justify-content:center}.import-page .review-summary{overflow-wrap:anywhere}.editor-guide .secondary-action{width:100%}}.study-level{color:light-dark(#42614a,#96b89e);align-items:center;gap:10px;font-size:14px;display:flex}.study-level .select,.study-level select{max-width:100%}.lesson-inline-switch{display:none}@media (max-width:900px){.lesson-inline-switch{justify-content:flex-end;margin-top:12px;display:flex}.listen-dock{left:77px}.catalog-page.is-studying{padding-bottom:90px}}@media (max-width:600px){.listen-dock{left:0}.catalog-page{padding-top:16px}.is-browsing .page-heading{background:0 0;border:0;border-radius:0;padding:0}.is-browsing .catalog-stats,.is-browsing .page-heading .eyebrow{display:none}.is-browsing .page-heading h1{font-family:var(--font-ui);letter-spacing:-.5px;font-size:24px;line-height:1.25}.is-browsing .page-heading p{margin-top:8px;font-size:14px;line-height:1.5}.topic-toolbar{gap:8px;margin-top:16px}.topic-search{flex-basis:100%;order:-1}.group-chips{margin-top:8px}.topic-grid-heading{gap:6px;margin-top:16px}.topic-grid-heading h2{font-size:18px}.topic-grid-heading span{font-size:12px}.topic-grid{gap:10px;margin-top:10px}.topic-card{border-radius:14px;gap:4px;padding:14px}.topic-card-name{font-size:16px}.topic-card-meta{margin-top:4px}.is-studying .topic-header{gap:8px;margin-top:0}.is-studying .topic-header>div{grid-area:2/1;min-width:0}.is-studying .topic-header>div .section-kicker{display:none}.is-studying .topic-header h2{font-size:17px;line-height:1.3}.study-level{flex-wrap:wrap;grid-area:2/2;justify-self:end;gap:4px;max-width:170px;font-size:12px}.study-level .select,.study-level select{width:100%;min-width:0}.is-studying .catalog-layout{margin-top:12px}.catalog-page .lesson-detail{padding:16px 12px}.catalog-page .lesson-detail-head{gap:8px;padding-bottom:10px}.catalog-page .lesson-detail-head h2{margin-top:4px;font-size:16px}.catalog-page .lesson-detail-head .section-kicker{font-size:10px}.catalog-page .prompt-block{padding:14px 0}.catalog-page .prompt-block h3{font-size:24px;line-height:1.3}.catalog-page .prompt-block p{font-size:15px;line-height:1.5}.catalog-page .prompt-label{margin-bottom:6px;font-size:11px}.lesson-listen{padding:14px 12px}.listen-transport{margin-top:12px}.listen-description{margin-top:8px;font-size:12px}.listen-language{display:none}.question-home-card{margin-top:20px;padding:20px}.question-home-card h2{font-size:20px}.question-home-card .primary-action{font-size:15px}.resume-card p{font-size:14px}.week-note,.week-stats span{color:var(--muted);font-size:13px}}.saved-heading{padding-bottom:0}.saved-heading+.content{padding-top:12px}.saved-library .library-toolbar{margin-top:8px}.saved-library .account-callout{margin-top:28px;padding:20px;font-size:14px}.saved-library .account-callout h2{font-size:18px;line-height:1.5}.saved-library .account-callout p{margin:8px 0 16px;font-size:14px;line-height:1.7}.saved-tabs{border-bottom:1px solid var(--edge);gap:8px;margin-top:22px;display:flex}.saved-tab{color:var(--muted);border-bottom:2px solid #0000;gap:3px;min-width:150px;margin-bottom:-1px;padding:12px 16px 14px;display:grid}.saved-tab strong{color:var(--ink);font-size:14px;font-weight:600}.saved-tab small{font-size:11px;line-height:1.5}.saved-tab.is-current{border-bottom-color:var(--accent)}.saved-tab.is-current strong{color:var(--accent)}@media (hover:hover){.saved-tab:hover{background:light-dark(#f4f7f0,#232520);border-radius:9px 9px 0 0}}.saved-tab-note{color:var(--muted);max-width:70ch;margin:0 0 18px;font-size:12px;line-height:1.8}@media (max-width:600px){.saved-tabs{gap:0}.saved-tab{text-align:center;flex:1;min-width:0;padding:10px 8px 12px}.saved-tab small{display:none}}.speak-recorder{border:1px solid var(--edge);text-align:left;background:light-dark(#fff,#1c2520);border-radius:12px;gap:10px;margin-top:16px;padding:14px 16px;display:grid}.speak-recorder.is-recording{background:light-dark(#fffaf8,#24211f);border-color:light-dark(#dfbbb5,#533632)}.speak-recorder-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.speak-recorder-head strong{color:var(--ink);font-size:13px;font-weight:600}.speak-recorder-head>span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.speak-recorder .mic-meter{order:0}.speak-recorder-actions{flex-wrap:wrap;gap:8px;display:flex}.speak-recorder-actions button{align-items:center;gap:7px;min-height:44px;padding:0 14px;font-size:13px;display:inline-flex}.speak-record.is-recording{color:light-dark(#a73c36,#e7766c);background:light-dark(#fcf0ec,#2d2421);border-color:light-dark(#dfbbb5,#533632)}.speak-play{color:light-dark(#345f42,#93c1a0);background:light-dark(#edf3e8,#252921);border-color:light-dark(#d3e0cb,#2e3827)}.speak-recorder .reading-note{margin:0}.speak-recorder-error{color:var(--danger)}@media (max-width:600px){.speak-recorder-actions button{flex:auto;justify-content:center}}.reading-check{border-top:1px solid var(--edge);gap:10px;margin-top:16px;padding:16px 0;display:grid}.reading-check-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.reading-check-actions button{align-items:center;gap:8px;min-height:44px;padding:0 14px;font-size:13px;display:flex}.reading-check-note{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.reading-check-refused{color:var(--ink);background:light-dark(#fbf7ec,#27241c);border:1px solid light-dark(#d8c9a4,#443b27);border-radius:11px;margin:0;padding:12px 14px;font-size:13px;line-height:1.7}.reading-check-result{gap:10px;display:grid}.reading-check-score{color:var(--ink);margin:0;font-size:13px;font-weight:600}.reading-check-score span{color:var(--muted);font-weight:400}.reading-check-line{flex-wrap:wrap;align-items:baseline;gap:6px;margin:0;font-size:17px;line-height:2.2;display:flex}.read-word{border-radius:6px;align-items:baseline;gap:5px;padding:1px 3px;display:inline-flex}.read-word small{color:var(--muted);font-size:11px;font-style:normal}.read-word.is-missing{color:light-dark(#8a5a52,#bd8980);background:light-dark(#f6ece9,#2e2725);text-decoration:line-through;text-decoration-thickness:2px}.read-word.is-different{text-underline-offset:4px;color:light-dark(#7a5a27,#bf9c69);background:light-dark(#faf3e4,#2a251a);-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.read-word.is-extra{color:light-dark(#7a5a27,#bf9c69);border:1px dashed light-dark(#c3b48d,#554724)}.reading-check-evidence{color:var(--muted);font-size:12px}.reading-check-evidence summary{cursor:pointer;align-items:center;min-height:36px;display:flex}.reading-check-evidence p{margin:6px 0 0;line-height:1.7}@media (max-width:600px){.reading-check-actions button{justify-content:center;width:100%}.reading-check-line{font-size:16px;line-height:2.1}}.site-footer{border-top:1px solid var(--edge);max-width:1270px;color:var(--muted);margin:64px auto 0;padding:36px 46px 40px;font-size:13px;line-height:1.75;display:block}.site-footer p{margin:0}.site-footer-columns{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:32px 48px;display:grid}.site-footer-brand{align-content:start;gap:10px;max-width:340px;display:grid}.site-footer .footer-brand{letter-spacing:-.8px;color:var(--ink);justify-self:start;align-items:center;gap:9px;font-size:19px;font-weight:700;text-decoration:none;display:inline-flex}.site-footer .footer-brand:hover{text-decoration:none}.site-footer .footer-brand{min-height:44px}.footer-brand .brand-mark{border-radius:9px;width:30px;height:30px}.site-footer .brand-dot{margin-left:-1px;display:inline}.site-footer-brand p{font-size:13px;line-height:1.8}.site-footer-column{align-content:start;gap:10px;display:grid}.site-footer h2{letter-spacing:1.6px;text-transform:uppercase;color:light-dark(#8a947f,#646d5a);margin:0;font-size:11px;font-weight:700}.site-footer-contacts{grid-template-columns:auto 1fr;align-items:baseline;gap:2px 10px;margin:0;display:grid}.site-footer-contacts dt{color:light-dark(#8a947f,#646d5a)}.site-footer-contacts dt:after{content:":"}.site-footer-contacts dd{overflow-wrap:anywhere;min-width:0;margin:0}.site-footer a{color:light-dark(#35674c,#84b89a);text-underline-offset:3px;text-decoration:underline}.site-footer .legal-links a,.site-footer-contacts a{align-items:center;min-height:44px;display:inline-flex}.site-footer .legal-links{font-size:inherit;gap:0;margin:0;display:grid}.site-footer .legal-links a{color:var(--muted);justify-content:flex-start;text-decoration:none}.site-footer .legal-links a:hover{text-underline-offset:3px;text-decoration:underline}.site-footer-promise{border-top:1px solid light-dark(#e9ede4,#292c25);flex-wrap:wrap;align-items:center;gap:4px 22px;margin-top:28px;padding-top:20px;font-size:12px;display:flex}@media (max-width:1150px){.site-footer{padding:32px 28px 36px}}@media (max-width:600px){.site-footer{margin-top:36px;padding:28px 17px}.site-footer-columns{gap:26px}.site-footer-brand{max-width:none}.site-footer .legal-links{grid-template-columns:1fr 1fr;gap:0 16px}.site-footer-promise{margin-top:24px;padding-top:18px}}.mobile-catalog-toggle,.mobile-level-filter{display:none}.practice-steps{background:light-dark(#e8efdf,#272c20);border-bottom:1px solid light-dark(#d7e2cc,#2e3625);border-radius:16px 16px 0 0;grid-template-columns:1fr 1fr;gap:6px;padding:10px;display:grid}.practice-steps button{color:light-dark(#53644e,#99ac94);background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:10px;font-size:15px;display:flex}.practice-steps button[aria-pressed=true]{color:light-dark(#254f37,#aad8ba);background:light-dark(#fff,#1c2520);font-weight:600;box-shadow:0 2px 6px #2436250c}.practice-steps button span{background:light-dark(#e8efdf,#272c20);border-radius:50%;place-items:center;width:24px;height:24px;font-size:13px;display:grid}.practice-steps button[aria-pressed=true] span{color:light-dark(#fff,#1c2520);background:light-dark(#35674c,#84b89a)}.reading-practice:not(.with-listening){padding:0}.reading-practice:not(.with-listening) .reading-body{padding:24px}.reading-body{scroll-margin-top:20px}.reading-reveal{color:light-dark(#355b3f,#9bc5a4);background:0 0;border:1px dashed light-dark(#a3b899,#415338);min-height:44px;margin-bottom:16px;padding:10px 14px;font-size:14px}.completion-next{justify-content:center;width:100%;margin-bottom:16px}.reading-reset{text-align:left;min-height:44px}.lesson-extras{border-top:1px solid var(--edge);margin-top:16px}.catalog-page .follow-up-block>summary,.lesson-extras>summary{cursor:pointer;color:light-dark(#42614a,#96b89e);min-height:48px;padding:14px 0;font-size:15px;line-height:1.5}.lesson-extras .shadowing-grid{margin-top:0}.catalog-page .reading-caption{letter-spacing:.8px;font-size:12px}.catalog-page .listen-time{font-size:13px}.catalog-page .listen-options button,.catalog-page .listen-options label{min-height:44px;font-size:14px}.catalog-page .listen-options .select-trigger,.catalog-page .listen-options select{min-height:44px}.catalog-page .listen-description{font-size:14px;line-height:1.6}.catalog-page .lesson-navigation{margin-top:16px}@media (max-width:900px){.catalog-page .catalog-layout{gap:12px}.catalog-page .lesson-catalog:not(.is-open) .lesson-catalog-sticky{display:none}.catalog-page .lesson-catalog-tools{grid-template-columns:minmax(0,1fr);gap:12px;padding:12px}.catalog-page .lesson-catalog-tools .search-field{width:100%;min-width:0}.catalog-page .lesson-catalog-tools .study-level{grid-area:auto;justify-content:space-between;justify-self:stretch;align-items:center;width:100%;max-width:none;font-size:14px;display:flex}.catalog-page .lesson-catalog-tools .study-level .select{flex:1;width:auto;min-width:0;max-width:240px}.catalog-page .lesson-catalog{border-radius:12px;grid-row:1;padding:0;overflow:hidden}.catalog-page .lesson-detail{grid-row:2}.mobile-catalog-toggle{text-align:left;color:light-dark(#35543e,#a8cbb1);background:light-dark(#f1f4ed,#252722);border:0;justify-content:space-between;align-items:center;gap:16px;width:100%;min-height:60px;padding:12px 16px;font-size:20px;display:flex}.mobile-catalog-toggle>span:first-child{gap:4px;display:grid}.mobile-catalog-toggle strong{font-size:14px}.mobile-catalog-toggle small{font-size:13px;font-weight:400}.catalog-page .lesson-catalog .lesson-list{overscroll-behavior:contain;max-height:320px;margin:0;padding:8px;display:none;overflow-y:auto}.catalog-page .lesson-catalog.is-open .lesson-list{display:grid}.catalog-page .reading-controls{grid-template-columns:auto minmax(0,1fr);gap:8px;display:grid}.catalog-page .reading-controls button{min-height:52px;padding:12px;font-size:15px}.catalog-page .reading-start{gap:10px;margin-top:20px}.catalog-page .reading-start .learn-primary{justify-content:space-between;width:100%;min-height:52px}.catalog-page .reading-start p{max-width:none;font-size:14px}.catalog-page .reading-stage{min-height:160px;padding:20px 0 12px}.catalog-page .reading-stage .answer-en{font-size:26px;line-height:1.6}.catalog-page .reading-body{padding:18px 16px}}@media (max-width:600px){.catalog-page .topic-toolbar .level-chips{display:none}.mobile-level-filter{color:light-dark(#42614a,#96b89e);justify-content:space-between;align-items:center;gap:12px;width:100%;font-size:14px;display:flex}.mobile-level-filter .select,.mobile-level-filter select{min-width:0;max-width:65%}.mobile-level-filter .select-trigger{min-height:48px}.catalog-page .topic-search{border-radius:12px}.catalog-page .topic-search input{min-height:48px}.catalog-page .group-chips{scrollbar-width:thin;padding-bottom:8px}.catalog-page .group-chips::-webkit-scrollbar{height:3px;display:block}.catalog-page .group-chips::-webkit-scrollbar-thumb{background:light-dark(#bdcdb4,#35422e);border-radius:3px}.catalog-page .topic-card{grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;padding:16px}.topic-card-en,.topic-card-name{grid-column:1}.catalog-page .topic-card-meta{grid-area:1/2/3;align-content:center;justify-items:end;gap:6px;margin:0;display:grid}.topic-audio-note{grid-column:1/-1}.catalog-page .topic-header{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.catalog-page .study-level{width:100%;max-width:none;font-size:13px}.catalog-page .lesson-detail{border-radius:16px;min-height:0;padding:16px 12px}.catalog-page .lesson-detail-head .section-kicker{letter-spacing:.4px;font-size:12px}.catalog-page .lesson-detail-head h2{display:none}.catalog-page .prompt-block h3{font-size:25px;line-height:1.4}.catalog-page .lesson-listen{padding:16px 14px}.catalog-page .lesson-listen .study-step{display:none}.catalog-page .listen-description{margin-top:0}.catalog-page .listen-options{flex-wrap:wrap;justify-content:space-between;gap:4px;display:flex}.catalog-page .listen-options button,.catalog-page .listen-options label{padding:4px;font-size:13px}.catalog-page .listen-play{width:52px;height:52px}.catalog-page .listen-time{gap:4px;font-size:12px}.catalog-page .reading-practice .answer-en{font-size:23px;line-height:1.65}.catalog-page .reading-caption{gap:8px}.catalog-page .reading-note{font-size:13px}.catalog-page .lesson-navigation{flex-wrap:wrap;gap:8px}.catalog-page .lesson-navigation button{min-height:48px;padding:10px;font-size:14px}}@media (max-width:900px){.catalog-page .is-practicing{padding-bottom:76px}.catalog-page .is-practicing .reading-controls{left:77px;right:0;bottom:calc(var(--tabbar-height) + env(safe-area-inset-bottom));z-index:29;background:light-dark(#f3f6ee,#242620);border-top:1px solid light-dark(#d7e2cc,#2e3625);padding:10px 16px;position:fixed;box-shadow:0 -4px 16px #2436250a}}@media (max-width:600px){.catalog-page .is-practicing .reading-controls{left:0}.catalog-page .topic-header .question-count,.catalog-page .topic-header>div{display:none}.catalog-page .topic-header .study-level{grid-area:1/2;font-size:0}.catalog-page .topic-header .study-level .select-trigger{min-height:44px}.catalog-page .mobile-catalog-toggle{min-height:48px;padding:10px 14px;font-size:18px}.catalog-page .mobile-catalog-toggle>span:first-child{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.catalog-page .mobile-catalog-toggle small{font-size:12px}.catalog-page .lesson-detail-head h2{font-size:14px;line-height:1.4;display:block}}textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.page-heading p{max-width:70ch;font-size:14px}@media (min-width:901px){.sidebar{overflow-y:auto}}.practice-page .session-heading{margin-top:20px}.practice-page .lesson-meta{flex-wrap:wrap;gap:8px 12px}.practice-page .lesson-meta .text-button,.practice-page .lesson-meta>span{white-space:nowrap}.settings-account-row>div{overflow-wrap:anywhere;min-width:0}.auth-intro,.error-banner{overflow-wrap:anywhere}.auth-shell .auth-main{padding-bottom:0}@media (max-width:900px){.tabbar-sheet:modal{top:auto;inset-block-start:auto;bottom:calc(var(--tabbar-height) + env(safe-area-inset-bottom));width:calc(100% - 77px);max-width:none;height:fit-content;min-height:0;max-height:calc(100dvh - var(--tabbar-height) - env(safe-area-inset-bottom) - 16px);color:var(--ink);border:1px solid var(--edge);grid-auto-rows:max-content;align-content:start;margin:0;left:77px;right:0;overflow-y:auto}.tabbar-sheet::backdrop{background:#1d2a1e66}.tabbar-sheet-heading{justify-content:space-between;align-items:center;padding:2px 14px 8px;font-size:16px;display:flex}.tabbar-sheet-heading button{min-width:60px;min-height:44px;padding:8px 12px;font-size:14px}.edit-field input,.edit-field textarea,.import-page input:not([type=checkbox]):not([type=radio]),.import-page textarea,.settings-page input:not([type=checkbox]):not([type=radio]){font-size:16px}}@media (max-width:600px){.tabbar-sheet:modal{width:100%;left:0}.settings-index{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.settings-index a{text-align:center}.empty-state{gap:14px;padding:24px 20px}.empty-state strong{font-size:15px;line-height:1.5}.empty-action,.empty-state p{font-size:14px}.empty-action{margin-left:0}.saved-library .filter-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.saved-library .filter-chip{justify-content:space-between}.saved-tab{border-radius:0}.review-heading .page-heading p{max-width:none;font-size:14px;line-height:1.8}.edit-row-head{grid-template-columns:44px 44px minmax(0,1fr);align-items:center;display:grid}.edit-bounds{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.bound-control{align-content:start;min-width:0}.bound-buttons{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.bound-buttons button{padding:8px 4px;font-size:12px}.bound-buttons .playhead-button{grid-column:1/-1}}:root{--chart-1:light-dark(#376b4e,#6fa985);--chart-2:light-dark(#9aa686,#8f9c7b);--chart-3:light-dark(#b8895a,#c9975f);--chart-4:light-dark(#6d8fb0,#517292)}.admin-layout{grid-template-columns:184px minmax(0,1fr);align-items:start;gap:34px;max-width:1440px;display:grid}.admin-nav{gap:4px;padding:0;display:grid;position:sticky;top:24px}.admin-nav-title{letter-spacing:2px;color:light-dark(#8a987e,#5f6c53);padding:6px 12px 10px;font-size:11px;font-weight:600}.admin-nav a{color:light-dark(#5d6d5f,#8c9d8e);border-radius:9px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}.admin-nav a:hover{background:light-dark(#eef1e9,#272923)}.admin-nav a.is-current{color:light-dark(#355f43,#94c1a1);background:light-dark(#e1e8da,#2b3126);font-weight:600}.admin-main{min-width:0}.admin-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.admin-heading h1{letter-spacing:-.8px;font-family:Georgia,Times New Roman,serif;font-size:30px;font-weight:400;line-height:1.3}.admin-heading p{color:var(--muted);max-width:70ch;margin-top:6px;font-size:13px;line-height:1.65}.admin-heading-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-link{color:light-dark(#376b4e,#6fa985);text-underline-offset:3px;font-size:13px;text-decoration:underline}.admin-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px;display:grid}.admin-kpi{border:1px solid var(--edge);background:var(--panel);border-radius:12px;gap:6px;min-width:0;padding:14px 16px;display:grid}.admin-kpi-label{color:var(--muted);font-size:12px;line-height:1.4}.admin-kpi-value{color:light-dark(#2f4636,#c0dbc7);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-family:Georgia,serif;font-size:26px;font-weight:400;line-height:1.1}.admin-kpi-foot{color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:8px;font-size:12px;display:flex}.admin-delta{font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.admin-delta.is-up{color:light-dark(#3f6a4a,#85b28f)}.admin-delta.is-down{color:light-dark(#a1443a,#df7b6e)}.admin-delta.is-flat{color:var(--muted)}.admin-tip{cursor:help;border-bottom:1px dotted light-dark(#9aa696,#515c4d);align-items:center;gap:4px;display:inline-flex;position:relative}.admin-tip svg{opacity:.55}.admin-tip:focus-visible:after,.admin-tip:hover:after{content:attr(data-tip);z-index:20;text-align:left;color:light-dark(#25372e,#e4ebe3);border:1px solid var(--edge);white-space:normal;background:light-dark(#fff,#1c2520);border-radius:8px;width:max-content;max-width:280px;padding:8px 10px;font-size:12px;font-weight:400;line-height:1.5;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 6px 18px #2936201a}.admin-panel{border:1px solid var(--edge);border-radius:var(--radius);background:var(--panel);min-width:0;margin-bottom:18px;padding:20px 22px}.admin-panel.is-refreshing{opacity:.7}.admin-panel-head{justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:14px;display:flex}.admin-panel-head h2{letter-spacing:-.2px;margin-top:4px;font-size:16px;font-weight:600}.admin-columns{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:18px;display:grid}.admin-columns.is-thirds{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.admin-columns>.admin-panel{margin-bottom:18px}.admin-table-wrap{margin:0 -22px;padding:0 22px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table th{text-align:left;letter-spacing:.4px;color:var(--muted);border-bottom:1px solid var(--edge);white-space:nowrap;padding:8px 10px;font-size:11px;font-weight:600}.admin-table td{vertical-align:middle;border-bottom:1px solid light-dark(#eef1e9,#272923);padding:10px}.admin-table tbody tr:hover{background:light-dark(#f9faf7,#202924)}.admin-table td.is-numeric,.admin-table th.is-numeric{text-align:right;font-variant-numeric:tabular-nums}.admin-table th[scope=row]{color:light-dark(#2f4636,#c0dbc7);white-space:nowrap;font-size:13px;font-weight:600}.admin-table-compact td,.admin-table-compact th{padding:8px 10px}.admin-user{gap:2px;min-width:140px;display:grid}.admin-user strong{color:light-dark(#2f4636,#c0dbc7);font-weight:600}.admin-user small{color:var(--muted);overflow-wrap:anywhere;font-size:11px}.admin-lesson{gap:2px;min-width:180px;display:grid}.admin-lesson strong{color:light-dark(#2f4636,#c0dbc7);font-weight:600;line-height:1.4}.admin-lesson small{color:var(--muted);font-size:11px}.admin-status{letter-spacing:.8px;white-space:nowrap;color:light-dark(#5d6d5f,#8c9d8e);background:light-dark(#eef1e9,#272923);border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-block}.admin-status.is-new{color:light-dark(#3f5f86,#87aad5);background:light-dark(#e6ecf5,#262b32)}.admin-status.is-highly-active{color:light-dark(#fff,#1c2520);background:light-dark(#376b4e,#6fa985)}.admin-status.is-active{color:light-dark(#2f5a3e,#9ac8a8);background:light-dark(#dfeadf,#283028)}.admin-status.is-at-risk{color:light-dark(#8a5a1f,#c38f57);background:light-dark(#f6e7cf,#352a17)}.admin-status.is-inactive{color:light-dark(#8f3b33,#ed8f83);background:light-dark(#f2e1de,#372b29)}.admin-score{justify-content:flex-end;align-items:center;gap:8px;min-width:96px;display:inline-flex}.admin-score i{background:light-dark(#e1e8da,#2b3126);border-radius:3px;width:56px;height:6px;display:block;position:relative;overflow:hidden}.admin-score i:after{content:"";width:inherit;background:light-dark(#376b4e,#6fa985);position:absolute;inset:0}.admin-score b{font-variant-numeric:tabular-nums;text-align:right;min-width:2ch;font-weight:600}.admin-skeleton{background:linear-gradient(90deg,light-dark(#eef1e9,#272923),light-dark(#e1e8da,#2b3126),light-dark(#eef1e9,#272923)) 0 0/200% 100%;border-radius:6px;height:12px;animation:admin-shimmer 1.4s linear infinite;display:block}.admin-skeleton.is-tall{height:26px}.admin-skeleton.is-block{border-radius:var(--radius);margin-bottom:18px}.admin-skeleton-table{gap:12px;padding:10px 0;display:grid}.admin-skeleton-row{grid-auto-flow:column;gap:14px;display:grid}@keyframes admin-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.admin-skeleton{animation:none}}.admin-pagination{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:12px;display:flex}.admin-pagination>div{align-items:center;gap:10px;display:flex}.admin-pagination button{border:1px solid var(--edge);background:var(--panel);color:light-dark(#2f4636,#c0dbc7);border-radius:8px;padding:6px 12px;font-size:12px}.admin-pagination button:disabled{opacity:.45;cursor:not-allowed}.admin-chips{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.admin-chips button{border:1px solid var(--edge);background:var(--panel);color:light-dark(#5d6d5f,#8c9d8e);border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-size:12px;display:inline-flex}.admin-chips button b{color:light-dark(#2f4636,#c0dbc7);font-variant-numeric:tabular-nums;font-weight:600}.admin-chips button.is-selected{color:light-dark(#355f43,#94c1a1);background:light-dark(#e1e8da,#2b3126);border-color:light-dark(#c6d3bd,#343e2c)}.admin-filters{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:18px;display:flex}.admin-filter{color:light-dark(#5d6d5f,#8c9d8e);gap:6px;min-width:0;font-size:12px;display:grid}.admin-filter.is-wide{flex:220px}.admin-filter span{font-weight:600}.admin-filter input{background:var(--panel);color:light-dark(#263e31,#cbe8d7);min-height:38px;font:inherit;border:1px solid light-dark(#cfdacb,#313a2e);border-radius:9px;padding:6px 10px;font-size:13px}.admin-filter input:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-color:light-dark(#7fa070,#506f41)}.admin-filters .button{min-height:38px;padding:6px 16px;font-size:13px}.admin-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.admin-list li{font-variant-numeric:tabular-nums;border-bottom:1px solid light-dark(#eef1e9,#272923);grid-template-columns:minmax(0,1.4fr) auto auto auto;align-items:center;gap:14px;padding:8px 0;font-size:13px;display:grid}.admin-list li:last-child{border-bottom:0}.admin-list small,.admin-list span{color:var(--muted);white-space:nowrap;font-size:12px}.admin-status-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.admin-status-list li{color:var(--muted);grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:12px;font-size:12px;display:grid}.admin-status-list b{color:light-dark(#2f4636,#c0dbc7);font-variant-numeric:tabular-nums;min-width:3ch;font-size:15px}.admin-chart{width:100%;position:relative}.admin-chart svg{display:block;overflow:visible}.admin-chart-grid{stroke:light-dark(#eef1e9,#272923)}.admin-chart-cursor{stroke:light-dark(#b0b7ad,#454b43);stroke-dasharray:3 3}.admin-chart-label{fill:light-dark(#8a987e,#5f6c53);font-size:10px}.admin-chart-tip{border:1px solid var(--edge);pointer-events:none;white-space:nowrap;z-index:5;background:light-dark(#fff,#1c2520);border-radius:8px;gap:4px;padding:8px 10px;font-size:12px;display:grid;position:absolute;top:8px;transform:translate(-50%);box-shadow:0 6px 18px #2936201a}.admin-chart-tip strong{color:light-dark(#2f4636,#c0dbc7);font-weight:600}.admin-chart-legend span,.admin-chart-tip span{color:var(--muted);align-items:center;gap:6px;display:flex}.admin-chart-tip b{color:light-dark(#2f4636,#c0dbc7);font-variant-numeric:tabular-nums;margin-left:auto;padding-left:14px;font-weight:600}.admin-chart-legend i,.admin-chart-tip i{border-radius:2px;flex:none;width:10px;height:3px}.admin-chart-legend{flex-wrap:wrap;gap:16px;margin-top:8px;font-size:12px;display:flex}.admin-sparkline{display:block}.admin-bars{gap:8px;margin:0;padding:0;list-style:none;display:grid}.admin-bars li{grid-template-columns:minmax(80px,140px) minmax(0,1fr) auto;align-items:center;gap:12px;font-size:13px;display:grid}.admin-bars-label{color:light-dark(#2f4636,#c0dbc7);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-bars-track{background:light-dark(#eef1e9,#272923);border-radius:4px;height:8px;overflow:hidden}.admin-bars-track i{background:light-dark(#376b4e,#6fa985);height:100%;display:block}.admin-bars b{font-variant-numeric:tabular-nums;color:light-dark(#2f4636,#c0dbc7);white-space:nowrap;font-weight:600}.admin-range{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.admin-range button{border:1px solid var(--edge);background:var(--panel);color:light-dark(#5d6d5f,#8c9d8e);border-radius:999px;padding:7px 12px;font-size:12px}.admin-range button.is-selected{color:light-dark(#355f43,#94c1a1);background:light-dark(#e1e8da,#2b3126);border-color:light-dark(#c6d3bd,#343e2c)}.admin-range label{color:var(--muted);gap:4px;font-size:11px;display:grid}.admin-range input{background:var(--panel);color:light-dark(#263e31,#cbe8d7);min-height:34px;font:inherit;border:1px solid light-dark(#cfdacb,#313a2e);border-radius:8px;padding:4px 8px;font-size:12px}.admin-profile{border:1px solid var(--edge);border-radius:var(--radius);background:var(--panel);flex-wrap:wrap;align-items:center;gap:22px;margin-bottom:18px;padding:18px 22px;display:flex}.admin-avatar{color:light-dark(#355f43,#94c1a1);letter-spacing:.5px;background:light-dark(#e1e8da,#2b3126);border-radius:50%;flex:none;place-items:center;width:56px;height:56px;font-size:18px;font-weight:700;display:grid}.admin-profile-facts{flex-wrap:wrap;gap:26px;font-size:12px;display:flex}.admin-profile-facts>div{gap:4px;display:grid}.admin-profile-facts span{color:var(--muted)}.admin-profile-facts b{color:light-dark(#2f4636,#c0dbc7);font-size:13px;font-weight:600}.admin-facts{gap:8px;margin:0;display:grid}.admin-facts>div{border-bottom:1px solid light-dark(#eef1e9,#272923);justify-content:space-between;gap:12px;padding:8px 0;font-size:13px;display:flex}.admin-facts dt{color:var(--muted)}.admin-facts dd{color:light-dark(#2f4636,#c0dbc7);font-variant-numeric:tabular-nums;margin:0;font-weight:600}.admin-score-total{align-items:baseline;gap:6px;margin-bottom:12px;display:flex}.admin-score-total b{color:light-dark(#2f4636,#c0dbc7);font-family:Georgia,serif;font-size:44px;font-weight:400;line-height:1}.admin-score-total span{color:var(--muted);font-size:13px}.admin-score-parts{gap:6px;margin:0;display:grid}.admin-score-parts>div{border-bottom:1px solid light-dark(#eef1e9,#272923);grid-template-columns:minmax(0,1fr) auto 3.5em;align-items:baseline;gap:12px;padding:6px 0;font-size:13px;display:grid}.admin-score-parts dt{color:var(--muted)}.admin-score-parts dd{font-variant-numeric:tabular-nums;text-align:right;margin:0}.admin-score-parts dd.is-share{color:light-dark(#376b4e,#6fa985);font-weight:600}.admin-calendar{padding-bottom:4px;overflow-x:auto}.admin-calendar-months{color:var(--muted);grid-template-columns:repeat(53,12px);gap:3px;min-width:max-content;margin-bottom:4px;font-size:10px;display:grid}.admin-calendar-months span{white-space:nowrap;overflow:visible}.admin-calendar-grid{grid-template-columns:repeat(53,12px);gap:3px;min-width:max-content;display:grid}.admin-calendar-week{grid-template-rows:repeat(7,12px);gap:3px;display:grid}.admin-calendar-day{cursor:pointer;background:light-dark(#eef1e9,#272923);border:1px solid #0000;border-radius:3px;width:12px;height:12px;padding:0;display:block}.admin-calendar-day.level-1{background:light-dark(#cfe0cc,#2b3929)}.admin-calendar-day.level-2{background:light-dark(#9dc0a1,#325137)}.admin-calendar-day.level-3{background:light-dark(#5f9670,#4a815c)}.admin-calendar-day.level-4{background:light-dark(#376b4e,#6fa985)}.admin-calendar-day.is-visited{background:light-dark(#fff,#1c2520);border-color:light-dark(#b8c4b3,#3b4537)}.admin-calendar-day.is-today{outline-offset:1px;outline:1px solid light-dark(#376b4e,#6fa985)}.admin-calendar-day.is-selected{box-shadow:0 0 0 2px #fff,0 0 0 4px #376b4e}.admin-calendar-day:disabled{opacity:.35;cursor:default}.admin-calendar-legend{color:var(--muted);align-items:center;gap:5px;margin-top:10px;font-size:11px;display:flex}.admin-calendar-legend .admin-calendar-day{cursor:default}.admin-day{border-top:1px solid var(--edge);margin-top:18px;padding-top:18px}.admin-day h3{margin-bottom:12px;font-size:15px;font-weight:600}.admin-event-counts{flex-wrap:wrap;gap:8px;margin:12px 0;padding:0;list-style:none;display:flex}.admin-event-counts li{border:1px solid var(--edge);color:var(--muted);border-radius:999px;align-items:baseline;gap:8px;padding:5px 10px;font-size:12px;display:inline-flex}.admin-event-counts b{color:light-dark(#2f4636,#c0dbc7);font-variant-numeric:tabular-nums}.admin-timeline{gap:18px;margin:14px 0 0;padding:0;list-style:none;display:grid}.admin-timeline>li{border-left:2px solid light-dark(#dfe6d9,#2c3228);padding-left:16px}.admin-timeline-session{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:6px;font-size:13px;display:flex}.admin-timeline-session strong{color:light-dark(#2f4636,#c0dbc7);font-weight:600}.admin-timeline-session span{color:var(--muted);font-size:12px}.admin-timeline ol{gap:4px;margin:0;padding:0;list-style:none;display:grid}.admin-timeline-event{grid-template-columns:52px minmax(0,1fr);gap:10px;font-size:13px;line-height:1.5;display:grid}.admin-timeline-event time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.admin-timeline-event small{color:var(--muted);font-size:11px;display:block}.admin-timeline-event.kind-lesson_completed span,.admin-timeline-event.kind-lesson_started span{color:light-dark(#2f4636,#c0dbc7);font-weight:600}.admin-timeline-event.kind-recording_completed span:before{content:"● ";color:light-dark(#bd5851,#c25d55);vertical-align:middle;font-size:9px}.admin-callout{color:light-dark(#6b5a25,#baa872);background:light-dark(#fdfaf1,#24221b);border:1px solid light-dark(#dbcfae,#413924);border-radius:12px;margin-bottom:18px;padding:12px 16px;font-size:13px;line-height:1.6}.admin-muted{color:var(--muted)}@media (max-width:1150px){.admin-layout{grid-template-columns:160px minmax(0,1fr);gap:22px}}@media (max-width:900px){.admin-layout{grid-template-columns:1fr;gap:12px}.admin-nav{gap:4px;padding-bottom:6px;display:flex;position:static;overflow-x:auto}.admin-nav-title{display:none}.admin-nav a{white-space:nowrap;min-height:44px;padding:8px 12px}.admin-columns{grid-template-columns:1fr}.admin-heading h1{font-size:26px}.admin-console .button,.admin-console a.button,.admin-console button{min-height:44px}.admin-calendar-day,.admin-calendar-legend .admin-calendar-day{min-height:0}}@media (max-width:600px){.admin-panel{padding:16px}.admin-table-wrap{margin:0 -16px;padding:0 16px}.admin-list li{grid-template-columns:1fr auto}.admin-list li small,.admin-list li span:nth-child(3){display:none}}.review-start h2{letter-spacing:-.3px;font-family:Georgia,serif;font-size:19px;font-weight:400}.review-mode{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:14px;display:grid}.review-mode button{text-align:left;border:1px solid var(--edge);background:var(--panel);color:light-dark(#5d6d5f,#8c9d8e);border-radius:12px;align-items:flex-start;gap:12px;min-height:44px;padding:12px 14px;display:flex}.review-mode button svg{color:light-dark(#7f9a70,#58724a);flex:none;margin-top:2px}.review-mode button strong{color:light-dark(#2f4636,#c0dbc7);font-size:13px;font-weight:600;display:block}.review-mode button small{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.55;display:block}.review-mode button.is-selected{background:light-dark(#f1f6ee,#232721);border-color:light-dark(#7fa070,#506f41);box-shadow:0 0 0 3px light-dark(#dfeada,#2a3a30)}.review-session{margin-top:16px}.review-progress{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.review-progress-count{color:light-dark(#2f4636,#c0dbc7);font-weight:600}.review-progress-tally{font-variant-numeric:tabular-nums;gap:12px;display:flex}.review-progress-tally i{background:light-dark(#eef1e9,#272923);border-radius:999px;padding:2px 8px;font-style:normal}.review-progress-tally i.is-again{color:light-dark(#8a5a1f,#c38f57);background:light-dark(#f6e7cf,#352a17)}.review-progress-tally i.is-okay{color:light-dark(#3f5f86,#87aad5);background:light-dark(#e6ecf5,#262b32)}.review-progress-tally i.is-confident{color:light-dark(#2f5a3e,#9ac8a8);background:light-dark(#dfeadf,#283028)}.review-progress .text-button{color:var(--muted);text-underline-offset:3px;background:0 0;border:0;min-height:32px;padding:6px 0;font-size:12px;text-decoration:underline}.review-track{background:light-dark(#e6ebdf,#2a2e25);border-radius:4px;height:4px;margin:10px 0 14px;overflow:hidden}.review-track i{background:light-dark(#85a575,#4c693c);height:100%;transition:width .25s;display:block}.review-flashcard{border:1px solid var(--edge);border-radius:var(--radius);background:var(--panel);padding:26px 28px 22px;box-shadow:0 10px 30px #29362008}.review-flashcard.is-revealed{border-color:light-dark(#c6d5b7,#343e2a)}.review-flashcard-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:12px;font-size:12px;display:flex}.review-flashcard-meta a{color:var(--accent)}.review-round{color:light-dark(#8a5a1f,#c38f57);background:light-dark(#f6e7cf,#352a17);border-radius:999px;padding:2px 8px;font-weight:600}.review-face{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:190px;padding:26px 12px 22px;display:flex}.review-face-label{letter-spacing:1.8px;color:light-dark(#8a987e,#5f6c53);font-size:11px;font-weight:600}.review-face h3{letter-spacing:-.6px;max-width:30ch;font-family:Georgia,Times New Roman,serif;font-size:30px;font-weight:400;line-height:1.3}.review-face h3.review-cue{color:light-dark(#2f4636,#c0dbc7)}.review-face-translation{color:var(--muted);max-width:52ch;font-size:14px;line-height:1.7}.review-face-hint{color:light-dark(#a0a993,#515945);max-width:44ch;font-size:12px;line-height:1.8}.review-listen-big{color:light-dark(#376b4e,#6fa985);background:light-dark(#f1f6ee,#232721);border:1px solid light-dark(#c6d5b7,#343e2a);border-radius:50%;place-items:center;width:76px;height:76px;display:grid}.review-listen-big:disabled{opacity:.45}.review-tools{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.review-grade kbd,.review-tools kbd{opacity:.6;border:1px solid;border-radius:4px;margin-left:4px;padding:1px 5px;font-family:inherit;font-size:10px}.review-tools .primary-action{min-height:45px}.review-flashcard .speak-recorder,.review-grade{margin-top:18px}.review-grade{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.review-grade button{border:1px solid var(--edge);background:var(--panel);color:light-dark(#2f4636,#c0dbc7);border-radius:12px;justify-items:center;gap:3px;min-height:66px;padding:12px 10px;display:grid}.review-grade button strong{font-size:13px;font-weight:600}.review-grade button span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.review-grade button:disabled{opacity:.5;cursor:not-allowed}.review-grade-again:not(:disabled):hover{background:light-dark(#fbf3e6,#2b251b);border-color:light-dark(#d9b98b,#573c0d)}.review-grade-okay:not(:disabled):hover{background:light-dark(#eef2f8,#24272b);border-color:light-dark(#a9bcd6,#36465c)}.review-grade-confident:not(:disabled):hover{background:light-dark(#f1f6ee,#232721);border-color:light-dark(#7fa070,#506f41)}.review-keys{text-align:center;color:light-dark(#a0a993,#515945);margin-top:12px;font-size:11px}.review-done .review-figures{max-width:520px;margin:18px auto}@media (max-width:600px){.review-flashcard{padding:18px 16px}.review-face{min-height:150px;padding:18px 4px}.review-face h3{font-size:24px}.review-grade{gap:8px}.review-grade button{padding:10px 6px}.review-keys{display:none}.review-progress-tally{order:3;width:100%}}.ipa{letter-spacing:.2px;color:light-dark(#6b7d6e,#788a7b);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-family:Charis SIL,Doulos SIL,Gentium Plus,Georgia,Times New Roman,serif;font-size:14px;line-height:1.6}.prompt-block .question-ipa{margin-top:6px;font-size:14px}.answer-ipa{text-align:center;max-width:60ch;margin-top:8px;margin-left:auto;margin-right:auto}.chunk-ipa{text-align:center;margin-top:6px;font-size:16px}.ipa-toggle{border:1px solid var(--edge);background:var(--panel);color:light-dark(#5d6d5f,#8c9d8e);border-radius:999px;min-height:26px;margin-left:12px;padding:2px 8px;font-size:11px}.ipa-toggle[aria-pressed=true]{color:light-dark(#355f43,#94c1a1);background:light-dark(#e1e8da,#2b3126);border-color:light-dark(#c6d3bd,#343e2c)}.shadowing-card ol li .ipa{margin-top:2px;font-size:12px;display:block}.vocabulary-block{border:1px solid var(--edge);border-radius:var(--radius);background:var(--panel);margin-top:22px;padding:18px 20px}.vocabulary-block .prompt-label{align-items:center;gap:8px;margin-bottom:12px;display:flex}.vocabulary-block .prompt-label .new-badge{margin-left:0}.vocabulary-chips{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.vocabulary-chips button{border:1px solid var(--edge);text-align:left;background:light-dark(#f9faf7,#202924);border-radius:12px;justify-items:start;gap:2px;min-height:44px;padding:8px 14px;display:grid}.vocabulary-chips button strong{color:light-dark(#2f4636,#c0dbc7);font-size:15px;font-weight:600}.vocabulary-chips button .ipa{font-size:13px}@media (hover:hover){.vocabulary-chips button:hover{background:light-dark(#f1f6ee,#232721);border-color:light-dark(#c6d5b7,#343e2a)}}.vocabulary-note{color:var(--muted);margin-top:12px;font-size:12px;line-height:1.7}@media (max-width:600px){.ipa-toggle{min-height:44px;margin-top:6px;margin-left:0;padding:8px 12px;font-size:12px}.reading-caption span{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.chunk-ipa{font-size:15px}}.spoken-word{color:light-dark(#1f3a2a,#e6f6ea);background:light-dark(#dfeada,#33493b);border-radius:4px;box-shadow:0 0 0 3px light-dark(#dfeada,#33493b)}.word-spans>span{-webkit-box-decoration-break:clone;box-decoration-break:clone}.video-grid{grid-template-columns:repeat(auto-fill,minmax(272px,1fr))}.video-card{border:1px solid var(--edge);border-radius:var(--radius);background:var(--panel);height:100%;color:inherit;align-content:start;gap:6px;padding:0 0 16px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:grid;overflow:hidden}@media (hover:hover){.video-card:hover{border-color:light-dark(#b9c8ac,#39452d);box-shadow:0 10px 30px #29362008}}@media (prefers-reduced-motion:reduce){.video-card{transition:none}}.video-thumb{aspect-ratio:16/9;background:var(--soft);margin-bottom:8px;display:block;position:relative}.video-thumb img{object-fit:cover;width:100%;height:100%;display:block}.video-duration{color:light-dark(#fff,#e4ebe3);font-variant-numeric:tabular-nums;background:light-dark(#1c2520e6,#0b0f0de6);border-radius:6px;padding:2px 7px;font-size:11px;position:absolute;bottom:8px;right:8px}.video-card-name{color:light-dark(#27402f,#c8e6d0);padding:0 16px;font-size:16px;font-weight:600;line-height:1.4}.video-card-en{color:var(--muted);padding:0 16px;font-size:13px;line-height:1.5}.video-card-meta{color:var(--muted);flex-wrap:wrap;gap:8px 10px;padding:4px 16px 0;font-size:12px;display:flex}.video-card-meta,.video-chips{align-items:center}.video-chips .filter-chip{background:light-dark(#f2f5ee,#252722);border:1px solid light-dark(#e3e9dd,#2b2f26);border-radius:999px}.video-clear{min-height:44px;margin-left:auto}.video-room .video-heading h1{letter-spacing:-.6px;font-size:28px}.video-layout{grid-template-columns:minmax(0,1.5fr) minmax(300px,1fr);grid-template-areas:"stage side""lower side";align-items:start;gap:20px;margin-top:22px;display:grid}.video-sticky{grid-area:stage;min-width:0}.video-lower{grid-area:lower;min-width:0}.video-side{grid-area:side;min-width:0}.video-stage{display:grid}.video-facade,.video-frame{aspect-ratio:16/9;border-radius:12px;grid-area:1/1;overflow:hidden}.video-frame{background:light-dark(#0f1512,#0b0f0d)}.video-frame.is-hidden{visibility:hidden}.video-frame iframe,.video-mount{border:0;width:100%;height:100%;display:block}.video-facade{background:var(--soft);align-content:center;place-items:center;gap:10px;display:grid;position:relative}.video-facade img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.video-facade-play{width:64px;height:64px;position:relative}.video-facade-label{color:light-dark(#fff,#e4ebe3);background:light-dark(#1c2520d9,#0b0f0dd9);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;position:relative}.video-privacy{color:var(--muted);margin-top:10px;font-size:12px;line-height:1.6}.video-error{margin:12px 0 0}.video-error a{color:var(--accent);align-items:center;gap:4px;margin:5px;padding:7px 12px;display:inline-flex}.video-transport{margin-top:14px}.video-transport-row{gap:10px;margin-top:0}.video-step{border:1px solid var(--edge);background:var(--panel);width:44px;height:44px;color:var(--accent);border-radius:50%;flex:none;place-items:center;display:grid}.video-options{margin-top:8px}.video-steps{margin-top:18px}.video-about,.video-shadowing{background:var(--panel);border:1px solid var(--edge);border-top:0;border-radius:0 0 16px 16px;padding:20px 22px}.video-tabs{border-radius:12px;margin-bottom:16px}.video-title{font-size:20px;font-weight:600;line-height:1.35}.video-title-en{color:var(--muted);margin-top:4px;font-size:14px;line-height:1.5}.video-badges{gap:8px;margin-top:12px}.video-badges,.video-tags{flex-wrap:wrap;display:flex}.video-tags{gap:6px;margin:12px 0 0;padding:0;list-style:none}.video-tags .filter-chip{border:1px solid var(--edge);background:var(--panel);text-decoration:none}.video-channel{color:var(--muted);margin-top:14px;font-size:12px}.video-description{margin-top:12px;font-size:14px;line-height:1.7}.video-youtube-link{min-height:44px;color:var(--accent);align-items:center;gap:6px;margin-top:8px;font-size:13px;display:inline-flex}.video-keys{margin-top:12px}.video-side .transcript-card{max-height:calc(100vh - 40px);position:sticky;top:20px}.video-sentences{flex:1;grid-template-columns:1fr;min-height:0;overflow:auto}.video-sentences .sentence-row{gap:10px}.video-sentences .row-number{font-variant-numeric:tabular-nums;min-width:38px}.video-transcript .row-copy strong{font-size:14px;line-height:1.7}.row-translation{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.6;display:block}.video-shadowing .reading-track{margin-top:12px}.video-shadow-line{color:light-dark(#223b29,#d0efd7);overflow-wrap:anywhere;font-family:Georgia,Times New Roman,serif;font-size:clamp(24px,2.1vw,30px);line-height:1.65}.video-shadow-translation{color:var(--muted);margin-top:10px;font-size:14px;line-height:1.6}.video-listen{align-items:center;gap:8px;margin:0 0 14px;display:inline-flex}.video-listen[aria-pressed=true]{background:var(--soft);color:var(--accent);border-color:light-dark(#c9d8c4,#303c2c)}@media (max-width:900px){.video-layout{grid-template-columns:1fr;grid-template-areas:"stage""side""lower";gap:14px}.video-sticky{z-index:5;background:var(--app);padding-bottom:8px;position:sticky;top:0}.video-side .transcript-card{max-height:none;padding:16px 12px 12px;position:static}.video-sentences{max-height:46vh;margin-top:12px;overflow:auto}.video-keys{display:none}}@media (max-width:600px){.video-room .video-heading h1{font-size:24px}.video-about,.video-shadowing{padding:18px 16px}.video-card-name{font-size:15px}.video-facade-play{width:56px;height:56px}.video-transport-row{gap:8px}.video-sentences .sentence-row{padding:12px 10px}.video-chips .filter-chip span,.video-duration,.video-options button:not(.select-trigger){font-size:12px}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}