@import "https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&family=Manrope:wght@500;600;700;800&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--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-outline-style:solid;--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{:root,:host{--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;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{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}html,:host{-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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{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}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,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{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-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{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.isolate{isolation:isolate}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.text-end{text-align:end}.italic{font-style:italic}.underline{text-decoration-line:underline}.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)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{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,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--bg:#f3f7f5;--surface:#fff;--surface-2:#eaf1ee;--ink:#14251f;--muted:#66766f;--line:#d9e4df;--primary:#087e67;--primary-dark:#056451;--primary-soft:#e0f3ed;--green:#168968;--green-soft:#e4f5ee;--amber:#c46a2d;--amber-soft:#fff0e4;--rose:#c85465;--rose-soft:#fff0f2;--blue:#276b8b;--blue-soft:#e7f1f5;--cyan:#087e7e;--cyan-soft:#def3f1;--navy:#112a24;--shadow:0 18px 50px #1030271a;--shadow-sm:0 7px 22px #10302714;color:var(--ink);background:var(--bg);font-synthesis:none;font-family:Plus Jakarta Sans,Be Vietnam Pro,sans-serif}:root.dark{--bg:#121518;--surface:#1a1e23;--surface-2:#242a32;--ink:#f1f5f9;--muted:#94a3b8;--line:#2b333c;--primary:#10b981;--primary-dark:#059669;--primary-soft:#10b98129;--green:#34d399;--green-soft:#34d39929;--amber:#fbbf24;--amber-soft:#fbbf2424;--rose:#f87171;--rose-soft:#f8717129;--blue:#38bdf8;--blue-soft:#38bdf829;--cyan:#22d3ee;--cyan-soft:#22d3ee29;--navy:#0e1216;--shadow:0 18px 50px #00000073;--shadow-sm:0 7px 22px #00000059}*{box-sizing:border-box}html,body{background:var(--bg);min-width:320px;min-height:100vh;margin:0;font-family:Plus Jakarta Sans,Be Vietnam Pro,sans-serif;overflow-x:hidden}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline:3px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){button:focus-visible,input:focus-visible{outline:3px solid color-mix(in srgb, var(--primary) 25%, transparent)}}button:focus-visible,input:focus-visible{outline-offset:2px}h1,h2,h3,strong{font-family:Manrope,sans-serif}p{line-height:1.65}.app-shell{min-height:100vh;overflow-x:hidden}.study-page{background:var(--bg);min-height:100vh;overflow-x:hidden}.topbar{z-index:20;background:var(--surface);height:72px;position:fixed;inset:0 0 auto}@supports (color:color-mix(in lab, red, red)){.topbar{background:color-mix(in srgb, var(--surface) 94%, transparent)}}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);align-items:center;padding:0 28px;display:flex}.brand-button{cursor:pointer;background:0 0;border:0;padding:0}.brand{align-items:center;gap:10px;min-width:224px;display:flex}.brand-mark{color:#fff;background:var(--primary);border-radius:3px;place-items:center;width:38px;height:38px;display:grid;position:relative;overflow:hidden;box-shadow:inset -7px 0 #ffffff1f}.brand-mark:after{content:"";background:#f28a5c;width:16px;height:3px;position:absolute;bottom:6px;right:-4px}.brand-mark.compact{width:32px;height:32px}.brand-monogram{letter-spacing:-4px;align-items:baseline;font:800 19px/1 Manrope,sans-serif;display:flex;transform:translate(-1px)}.brand-monogram i{color:#92ead3;font-size:15px;font-style:normal;font-weight:800}.brand strong{letter-spacing:-.7px;font-size:20px}.brand span{color:var(--primary);letter-spacing:1px;margin-top:5px;margin-left:-5px;font-size:11px;font-weight:800}.topbar nav{align-self:stretch;gap:30px;display:flex}.topbar nav button{color:var(--muted);cursor:pointer;background:0 0;border:0;font-family:Be Vietnam Pro,Segoe UI,sans-serif;font-weight:600;position:relative}.topbar nav button.active{color:var(--ink)}.topbar nav button.active:after{content:"";background:var(--primary);height:2px;position:absolute;inset:auto 0 0}.nav-dropdown{align-items:stretch;display:flex;position:relative}.nav-dropdown>button{align-items:center;gap:5px;display:flex}.nav-dropdown>button svg{width:14px}.parts-dropdown{z-index:80;background:var(--surface);border:1px solid var(--line);border-radius:4px;flex-direction:column;gap:4px;width:290px;padding:8px;display:flex;position:absolute;top:72px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0000001f}.topbar nav .parts-dropdown button{text-align:left;width:100%;min-height:52px;color:var(--ink);background:0 0;border:0;border-radius:4px;grid-template-columns:32px 1fr;align-items:center;gap:12px;padding:8px 12px;transition:all .15s;display:grid}.topbar nav .parts-dropdown button:hover{background:var(--primary-soft)}.topbar nav .parts-dropdown button:after{display:none!important}.parts-dropdown button>span{width:30px;height:30px;color:var(--primary);background:var(--primary-soft);border-radius:2px;place-items:center;font:800 11px Manrope,sans-serif;display:grid}.parts-dropdown button>div{flex-direction:column;display:flex}.parts-dropdown button strong{color:var(--ink);font-size:13px;font-weight:700}.parts-dropdown button small{color:var(--muted);font-size:11px}.top-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.streak{border:1px solid var(--line);background:var(--surface);border-radius:8px;align-items:center;gap:5px;height:38px;padding:0 12px;font-size:13px;display:flex}.streak svg{color:var(--amber);fill:var(--amber-soft)}.streak span{color:var(--muted)}.icon-button{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:8px;place-items:center;width:38px;height:38px;display:grid}.top-user-greeting{color:var(--muted);white-space:nowrap;align-items:center;gap:4px;padding:0 6px;font-size:13px;display:flex}.top-user-greeting strong{color:var(--ink);font-weight:700}.top-logout-btn{border:1px solid var(--line);background:var(--surface);color:var(--rose);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:6px;height:38px;padding:0 14px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.top-logout-btn:hover{background:var(--rose-soft);border-color:var(--rose);color:var(--rose)}.generator-form button,.generator-form .button{cursor:pointer;border:0!important;outline:0!important}.mobile-menu{display:none}.sidebar{z-index:15;background:var(--surface);border-right:1px solid var(--line);flex-direction:column;width:252px;padding:25px 14px 20px;display:flex;position:fixed;top:72px;bottom:0;left:0;overflow-y:auto}.side-label{color:var(--muted);letter-spacing:1.3px;padding:0 12px 10px;font-size:10px;font-weight:700}.sidebar button,.side-item{width:100%;color:var(--muted);cursor:pointer;text-align:left;box-sizing:border-box;background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;padding:9px 12px;font-family:Be Vietnam Pro,Segoe UI,sans-serif;font-size:13px;font-weight:600;line-height:1.4;transition:all .15s;display:flex}.side-item-icon{flex-shrink:0;width:18px;height:18px}.side-item-text{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.side-item-badge{background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:4px;flex-shrink:0;margin-left:auto;padding:2px 7px;font-size:11px;font-weight:600;line-height:1.3}.side-item-badge.soon{opacity:.85}.sidebar button:hover,.sidebar button.active,.side-item:hover,.side-item.active{color:var(--primary);background:var(--primary-soft)}.side-item.active{font-weight:700}.unit-nav{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.unit-caption{flex-direction:column;gap:3px;padding:0 12px 8px;display:flex}.unit-caption span{color:var(--primary);letter-spacing:1px;font-size:9px;font-weight:800}.unit-caption strong{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.unit-item{padding-block:8px}.content{min-height:100vh;padding:72px 0 0 252px}.page{width:min(1180px,100% - 80px);margin:0 auto;padding:54px 0 80px}.eyebrow{color:var(--primary);letter-spacing:1.5px;align-items:center;gap:7px;font-size:10px;font-weight:800;display:inline-flex}.hero{color:#fff;background:var(--navy);border-radius:2px;grid-template-columns:1.35fr .65fr;align-items:center;gap:70px;min-height:350px;padding:50px 52px;display:grid;position:relative;overflow:hidden}.hero:before{content:"";background:linear-gradient(115deg,#0000 52%,#1f9d7d21 52%),repeating-linear-gradient(90deg,#0000 0 58px,#ffffff06 59px 60px);position:absolute;inset:0}.hero:after{content:"";border:85px solid #19aa8424;border-radius:50%;width:440px;height:440px;position:absolute;top:-180px;right:-100px}.hero>*{z-index:1;position:relative}.hero .eyebrow{color:#74dec3}.hero h1{letter-spacing:-2.2px;margin:13px 0 16px;font-size:clamp(35px,4vw,54px);line-height:1.09}.hero>div>p{color:#c8c6d3;max-width:650px;margin:0 0 24px;font-size:16px}.hero-actions{align-items:center;gap:22px;display:flex}.hero-actions>span{color:#aaa7b9;align-items:center;gap:7px;font-size:13px;display:flex}.button{cursor:pointer;border:0;border-radius:6px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:0 19px;font-weight:700;transition:all .2s;display:inline-flex}.button.primary{background:var(--primary);color:#fff;box-shadow:0 8px 24px #087e6738}.button.primary:hover{background:var(--primary-dark);transform:translateY(-1px)}.button.secondary{background:var(--surface-2);color:var(--ink)}.daily-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff17;border:1px solid #ffffff24;padding:22px}.daily-top{color:#bbb8c8;letter-spacing:1px;justify-content:space-between;font-size:10px;font-weight:800;display:flex}.daily-card>strong{margin:9px 0 11px;font-size:30px;display:block}.daily-card>strong span{color:#aaa7b7;margin-left:4px;font-size:13px}.daily-card p{color:#aaa7b7;margin:8px 0 15px;font-size:11px}.progress-track{background:var(--line);border-radius:8px;width:100%;height:5px;overflow:hidden}.progress-fill{background:var(--primary);height:100%;transition:width .35s}.daily-card .progress-track{background:#ffffff1f}.daily-card .progress-fill{background:#5ad4b5}.week-bars{justify-content:space-between;align-items:end;gap:8px;height:57px;display:flex}.week-bars div{flex-direction:column;flex:1;justify-content:end;align-items:center;gap:4px;height:100%;display:flex}.week-bars i{background:#5ad4b566;width:100%;max-width:14px;display:block}.week-bars span{color:#8e9f99;font-size:8px}.stats-row{background:var(--surface);border:1px solid var(--line);border-top:0;grid-template-columns:repeat(3,1fr);display:grid}.stats-row>div{border-right:1px solid var(--line);min-height:112px;padding:20px 25px 20px 82px;position:relative}.stats-row>div:last-child{border:0}.stat-icon{place-items:center;width:40px;height:40px;display:grid;position:absolute;top:25px;left:24px}.stat-icon svg{width:19px}.stat-icon.teal{color:var(--primary);background:var(--primary-soft)}.stat-icon.amber{color:var(--amber);background:var(--amber-soft)}.stat-icon.green{color:var(--green);background:var(--green-soft)}.stats-row p{color:var(--muted);margin:0;font-size:12px}.stats-row strong{margin-top:3px;font-size:25px;display:inline-block}.stats-row small{color:var(--muted);font-size:11px}.stats-row em{color:var(--green);font-size:10px;font-style:normal;display:block}.section-heading{justify-content:space-between;align-items:end;margin:52px 0 22px;display:flex}.section-heading h2{letter-spacing:-1px;margin:5px 0 0;font-size:27px}.section-heading>span{color:var(--muted);font-size:12px}.course-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.course-card{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:4px;flex-direction:column;padding:24px;transition:all .2s;display:flex}.course-card .eyebrow{color:var(--primary);letter-spacing:1px;margin:10px 0 2px;font-size:10px;font-weight:800}.course-card-footer{flex-direction:column;gap:8px;margin-top:auto;padding-top:14px;display:flex}.course-card-footer .text-link{padding:0;font-size:13px}.course-card:hover{box-shadow:var(--shadow-sm);border-color:var(--primary);transform:translateY(-3px)}@supports (color:color-mix(in lab, red, red)){.course-card:hover{border-color:color-mix(in srgb, var(--primary) 35%, var(--line))}}.course-visual{background:var(--primary-soft);place-items:center;height:158px;display:grid;position:relative;overflow:hidden}.course-visual:before,.course-visual:after{content:"";border:1px solid var(--primary);width:160px;height:120px;position:absolute}@supports (color:color-mix(in lab, red, red)){.course-visual:before,.course-visual:after{border:1px solid color-mix(in srgb, var(--primary) 25%, transparent)}}.course-visual:before,.course-visual:after{transform:rotate(13deg)}.course-visual:after{transform:rotate(-9deg)}.live-badge{background:var(--surface);color:var(--primary);letter-spacing:1px;padding:5px 8px;font-size:8px;font-weight:800;position:absolute;top:16px;left:16px}.word-stack{z-index:1;background:var(--surface);width:190px;height:102px;box-shadow:var(--shadow);flex-direction:column;justify-content:center;align-items:center;display:flex;transform:rotate(-2deg)}.word-stack span:first-child{font:800 23px Manrope}.word-stack span:nth-child(2){color:var(--muted);font-size:11px}.word-stack strong{color:var(--primary);margin-top:6px;font-size:12px}.course-content{padding:25px}.course-icon{background:var(--surface-2);width:38px;height:38px;color:var(--muted);place-items:center;display:grid}.course-icon.mint{background:var(--primary-soft);color:var(--primary);margin-bottom:16px}.course-icon svg{width:19px}.course-card h3{margin:7px 0 5px;font-size:20px}.course-card p{color:var(--muted);margin:0 0 18px;font-size:13px}.course-progress{color:var(--muted);justify-content:space-between;margin-bottom:7px;font-size:11px;display:flex}.course-progress b{color:var(--ink)}.text-link{color:var(--primary);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:18px 0 0;font-weight:700;display:flex}.text-link svg{width:16px}.locked{min-height:174px}.lock-row{color:var(--muted);justify-content:space-between;align-items:flex-start;margin-bottom:6px;display:flex}.lock-row>svg{width:17px;height:17px;color:var(--muted)}.lock-row .unlocked-icon{color:var(--primary);opacity:.85}.soon{letter-spacing:1px;color:var(--muted);background:var(--surface-2);padding:5px 7px;font-size:8px;font-weight:800}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#14141e80;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);width:min(470px,100%);box-shadow:var(--shadow);text-align:center;border:1px solid var(--line);padding:42px;position:relative}.modal-close{position:absolute;top:14px;right:14px}.modal-icon{background:var(--primary-soft);width:56px;height:56px;color:var(--primary);place-items:center;margin:0 auto 18px;display:grid}.modal h2{font-size:27px;line-height:1.2}.modal p{color:var(--muted);font-size:14px}.modal-actions{justify-content:center;gap:10px;margin-top:25px;display:flex}.page-intro{justify-content:space-between;align-items:end;gap:40px;display:flex}.page-intro h1{letter-spacing:-1.5px;margin:8px 0;font-size:39px}.page-intro p{color:var(--muted);max-width:610px;margin:0}.overall{background:var(--surface);border:1px solid var(--line);width:240px;padding:18px}.overall>span{color:var(--muted);letter-spacing:1px;font-size:9px;font-weight:800}.overall strong{float:right;color:var(--primary)}.overall .progress-track{clear:both;margin:13px 0 7px}.overall small{color:var(--muted)}.unit-tools{justify-content:space-between;align-items:center;margin:35px 0 20px;display:flex}.unit-tools label{background:var(--surface);border:1px solid var(--line);align-items:center;gap:9px;width:360px;height:43px;padding:0 13px;display:flex}.unit-tools input{width:100%;color:var(--ink);background:0 0;border:0;outline:0}.unit-tools svg{width:17px;color:var(--muted)}.unit-tools>span{color:var(--green);align-items:center;gap:6px;font-size:12px;display:flex}.unit-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.unit-card{text-align:left;background:var(--surface);border:1px solid var(--line);cursor:pointer;grid-template-columns:42px 1fr auto;align-items:start;gap:13px;min-height:118px;padding:20px;transition:all .2s;display:grid}.unit-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.unit-number{background:var(--surface-2);width:38px;height:38px;color:var(--muted);align-self:start;place-items:center;font:800 11px Manrope;display:grid}.unit-card.done .unit-number{background:var(--green-soft);color:var(--green)}.unit-card.current{border:2px solid var(--primary)}.unit-card.current .unit-number{background:var(--primary);color:#fff}.unit-number svg{width:16px}.unit-card span{color:var(--muted);letter-spacing:1px;font-size:8px;font-weight:800}.unit-card h3{margin:0 0 5px;font-size:16px;font-weight:700;line-height:1.3}.unit-card p{color:var(--muted);margin:0;font-size:11px}.unit-status{color:var(--muted);align-self:center;font-size:10px}.unit-status svg{width:17px}.back-link{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0 0 25px;display:flex}.back-link svg{width:17px}.hub-header{background:var(--navy);color:#fff;grid-template-columns:auto 1fr 200px;align-items:center;gap:25px;padding:35px;display:grid}.hub-number{background:var(--primary);place-items:center;width:74px;height:74px;font:800 27px Manrope;display:grid}.hub-header h1{margin:5px 0;font-size:30px}.hub-header p{color:#a8bbb4;margin:0}.hub-score strong{font-size:28px}.hub-score span{color:#a8bbb4;letter-spacing:1px;margin:3px 0 10px;font-size:8px;display:block}.hub-score .progress-track{background:#ffffff1f}.hub-score .progress-fill{background:#5ad4b5}.mode-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.mode-card{border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;grid-template-columns:52px 1fr auto;align-items:center;gap:17px;min-height:124px;padding:22px;transition:all .2s;display:grid;position:relative}.mode-card:hover{border-color:var(--primary)}.mode-card h3{color:var(--ink);margin:0 0 3px;font-size:16px;font-weight:700}.mode-card p{color:var(--muted);margin:0;font-size:13px}.mode-icon{place-items:center;width:50px;height:50px;display:grid}.mode-icon svg{width:21px}.mode-icon.mint{color:var(--primary);background:var(--primary-soft)}.mode-icon.blue{color:var(--blue);background:var(--blue-soft)}.mode-icon.amber{color:var(--amber);background:var(--amber-soft)}.mode-icon.cyan{color:var(--cyan);background:var(--cyan-soft)}.mode-icon.rose{color:var(--rose);background:var(--rose-soft)}.mode-icon.green{color:var(--green);background:var(--green-soft)}.mode-card span{color:var(--muted);letter-spacing:1px;font-size:8px;font-weight:800}.mode-card.completed{border-color:var(--green)}@supports (color:color-mix(in lab, red, red)){.mode-card.completed{border-color:color-mix(in srgb, var(--green) 40%, var(--line))}}.mode-card.completed{background:var(--green-soft)}@supports (color:color-mix(in lab, red, red)){.mode-card.completed{background:color-mix(in srgb, var(--green-soft) 25%, var(--surface))}}.mode-completed-badge{color:var(--green);background:var(--green-soft);border:1px solid var(--green);align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.mode-completed-badge{border:1px solid color-mix(in srgb, var(--green) 30%, transparent)}}.mode-completed-badge{margin-top:4px}.unit-tag-progress{background:var(--surface-2);color:var(--muted);border:1px solid var(--line);border-radius:12px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.unit-tag-progress.completed{background:var(--green-soft);color:var(--green);border-color:var(--green)}@supports (color:color-mix(in lab, red, red)){.unit-tag-progress.completed{border-color:color-mix(in srgb, var(--green) 35%, transparent)}}.nav-check-done{margin-left:auto;color:var(--green)!important;width:14px!important}.tip{background:var(--amber-soft);color:var(--amber);border:1px solid var(--amber);margin-top:22px}@supports (color:color-mix(in lab, red, red)){.tip{border:1px solid color-mix(in srgb, var(--amber) 25%, transparent)}}.tip{gap:15px;padding:18px 22px;display:flex}.tip svg{flex:0 0 20px}.tip strong{color:var(--ink);font-size:13px}.tip p{color:var(--muted);margin:2px 0 0;font-size:12px}.study-page{background:var(--bg);min-height:100vh}.study-header{background:var(--surface);border-bottom:1px solid var(--line);z-index:10;grid-template-columns:45px 1fr 260px;align-items:center;gap:18px;height:72px;padding:0 32px;display:grid;position:sticky;top:0}.study-header>div:nth-child(2){flex-direction:column;display:flex}.study-header span{color:var(--primary);letter-spacing:1px;font-size:9px;font-weight:800}.study-header strong{font-size:14px}.study-progress{align-items:center;gap:12px;display:flex}.study-progress span{white-space:nowrap;color:var(--muted);letter-spacing:0}.study-main{width:min(900px,100% - 40px);margin:0 auto;padding:27px 0 60px}.flash-toolbar{min-height:48px;color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:15px;font-size:11px;display:flex}.flash-toolbar>div{background:var(--surface);border:1px solid var(--line);padding:3px;display:flex}.flash-toolbar button{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:8px 12px;display:flex}.flash-toolbar button.active{background:var(--primary);color:#fff}.flash-toolbar svg{width:15px}.flash-toolbar kbd{background:var(--surface);border:1px solid var(--line);padding:2px 5px}.flashcard{perspective:1400px;cursor:pointer;height:520px}.flash-inner{height:100%;transform-style:preserve-3d;transition:transform .65s cubic-bezier(.2,.7,.2,1);position:relative}.flashcard.flipped .flash-inner{transform:rotateY(180deg)}.flash-face{backface-visibility:hidden;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);position:absolute;inset:0;overflow:hidden}.flash-front{grid-template-columns:1fr 1.05fr;display:grid}.flash-front img{object-fit:cover;filter:saturate(.9);background:var(--surface-2);width:100%;height:100%}.flash-word{flex-direction:column;justify-content:center;align-items:flex-start;padding:45px;display:flex}.pos{background:var(--primary-soft);color:var(--primary);text-transform:uppercase;padding:5px 9px;font-size:10px;font-weight:800}.flash-word h1{letter-spacing:-2px;margin:14px 0 3px;font-size:clamp(32px,4vw,48px)}.ipa{color:var(--muted);font-family:Lucida Sans Unicode,sans-serif;font-size:15px}.pronounce-buttons{gap:8px;margin-top:18px;display:flex}.audio-button{border:1px solid var(--line);background:var(--surface);min-height:38px;color:var(--primary);cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:700;display:flex}.audio-button:hover{background:var(--primary-soft)}.flip-hint{color:var(--muted);align-items:center;gap:6px;font-size:10px;display:flex;position:absolute;bottom:18px;right:22px}.flip-hint svg{width:15px}.flash-back{flex-direction:column;justify-content:center;align-items:flex-start;padding:48px;display:flex;transform:rotateY(180deg)}.flash-back h2{color:var(--ink);margin:9px 0 5px;font-size:28px}.definition{color:var(--muted);margin:0 0 20px;font-size:14px}.examples-list{flex-direction:column;gap:10px;width:100%;max-height:250px;display:flex;overflow-y:auto}.example-item{background:var(--surface-2);border-radius:4px;width:100%;padding:14px 18px;position:relative}.example-item p{margin:0 35px 4px 0;font-size:14px}.example-item small{color:var(--muted);font-size:12px}.example-item button{background:var(--primary-soft);width:30px;height:30px;color:var(--primary);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:12px;right:12px}.card-controls{justify-content:center;align-items:center;gap:10px;margin:24px 0;display:flex}.button.review{color:var(--amber);background:var(--amber-soft)}.button.known{color:#fff;background:var(--green)}.round-control{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.round-control svg{width:18px}.word-strip{background:var(--surface);border:1px solid var(--line);grid-template-columns:repeat(4,1fr);max-height:280px;display:grid;overflow-y:auto}.word-strip button{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;align-items:center;gap:8px;min-height:48px;padding:0 12px;font-size:12px;display:flex}.word-strip button.active{color:var(--primary);background:var(--primary-soft)}.word-strip button span{color:var(--muted);font-size:9px}.word-strip button svg{width:14px;color:var(--green);margin-left:auto}.full-word-list{gap:14px;display:grid}.full-word-card{background:var(--surface);border:1px solid var(--line);min-height:200px;box-shadow:var(--shadow-sm);grid-template-columns:240px 1fr;display:grid}.full-word-card>img{object-fit:cover;background:var(--surface-2);width:100%;height:100%;min-height:200px}.full-word-main{padding:24px}.word-title{grid-template-columns:28px 1fr auto;align-items:start;gap:12px;display:grid}.word-title>span{color:var(--muted);padding-top:8px;font-size:10px}.word-title h2{margin:0;font-size:22px}.word-title h2 small{color:var(--primary);background:var(--primary-soft);vertical-align:middle;margin-left:6px;padding:3px 6px;font-size:10px}.word-title p{color:var(--muted);margin:2px 0;font-size:13px}.word-title .pronounce-buttons{margin-top:0}.full-word-main>h3{color:var(--primary);margin:16px 0 2px;font-size:16px}.full-word-main>p{color:var(--muted);margin:0 0 14px;font-size:13px}.list-examples{flex-direction:column;gap:8px;display:flex}.question-main{width:min(820px,100% - 40px);margin:0 auto;padding:48px 0}.question-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);text-align:center;min-height:480px;padding:45px}.question-card>h1{margin:11px 0 2px;font-size:30px}.hint-button{border:1px solid var(--amber)}@supports (color:color-mix(in lab, red, red)){.hint-button{border:1px solid color-mix(in srgb, var(--amber) 25%, transparent)}}.hint-button{background:var(--amber)}@supports (color:color-mix(in lab, red, red)){.hint-button{background:color-mix(in srgb, var(--amber) 8%, var(--surface))}}.hint-button{color:var(--muted);cursor:pointer;border-radius:20px;justify-content:center;align-items:center;gap:8px;margin:10px auto 24px;padding:6px 16px;font-family:Plus Jakarta Sans,sans-serif;font-size:13.5px;font-weight:600;transition:all .2s;display:inline-flex}.hint-button:hover{background:var(--amber)}@supports (color:color-mix(in lab, red, red)){.hint-button:hover{background:color-mix(in srgb, var(--amber) 16%, var(--surface))}}.hint-button:hover{color:var(--ink);border-color:var(--amber)}.hint-button svg{width:16px;height:16px;color:var(--amber);flex-shrink:0;display:block}.options{text-align:left;grid-template-columns:1fr 1fr;gap:12px;margin-top:30px;display:grid}.options .opt-button,.options button{border:1px solid var(--line);background:var(--surface);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:14px;min-height:66px;padding:12px 18px;transition:all .2s;display:flex;position:relative}.options .opt-button:hover:not(.correct):not(.wrong),.options button:hover:not(.correct):not(.wrong){border-color:var(--primary);background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.options .opt-button:hover:not(.correct):not(.wrong),.options button:hover:not(.correct):not(.wrong){background:color-mix(in srgb, var(--surface) 90%, var(--primary-soft))}}.options .opt-badge,.options button>span{background:var(--surface-2);width:32px;height:32px;color:var(--muted);border-radius:6px;flex:none;place-items:center;font-size:13px;font-weight:800;transition:all .2s;display:grid}.options .opt-content{flex:1}.options strong{color:var(--ink);font-size:15px;font-weight:600}.options .opt-audio-btn{cursor:pointer;color:var(--primary);background:0 0;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;min-width:34px;height:34px;min-height:34px;margin-left:auto;transition:all .2s;display:inline-flex}.options .opt-audio-btn:hover{background:var(--primary-soft);transform:scale(1.1)}.options .opt-audio-btn svg{width:18px;height:18px;display:block}.options .opt-button.correct,.options button.correct{border-color:var(--green);background:var(--green-soft)}.options .opt-button.correct strong,.options button.correct strong{color:var(--green);font-weight:700}.options .opt-button.correct .opt-badge,.options button.correct>span{background:var(--green);color:#fff}.options .opt-button.correct .opt-audio-btn,.options button.correct .opt-audio-btn{color:var(--green)}.options .opt-button.wrong,.options button.wrong{border-color:var(--rose);background:var(--rose-soft);animation:.35s shake}.options .opt-button.wrong strong,.options button.wrong strong{color:var(--rose);font-weight:700}.options .opt-button.wrong .opt-badge,.options button.wrong>span{background:var(--rose);color:#fff}.options .opt-button.wrong .opt-audio-btn,.options button.wrong .opt-audio-btn{color:var(--rose)}.feedback{text-align:center;border-radius:6px;max-width:650px;margin:20px auto 0;padding:12px 20px;font-family:Plus Jakarta Sans,Be Vietnam Pro,sans-serif;font-size:14px;line-height:1.5}.feedback.success{background:var(--green-soft);color:var(--green);border:1px solid var(--green)}@supports (color:color-mix(in lab, red, red)){.feedback.success{border:1px solid color-mix(in srgb, var(--green) 30%, transparent)}}.feedback.error{background:var(--rose-soft);color:var(--rose);border:1px solid var(--rose)}@supports (color:color-mix(in lab, red, red)){.feedback.error{border:1px solid color-mix(in srgb, var(--rose) 30%, transparent)}}.feedback-label{text-transform:uppercase;letter-spacing:.5px;margin-right:8px;font-family:Plus Jakarta Sans,Be Vietnam Pro,sans-serif;font-size:13px;font-weight:800;display:inline}.feedback.success .feedback-label{color:var(--green)}.feedback.error .feedback-label{color:var(--rose)}.feedback-text{color:var(--ink);font-family:Plus Jakarta Sans,Be Vietnam Pro,sans-serif;font-size:14px;display:inline}.feedback-text b{font-weight:700}.feedback.success .feedback-text b{color:var(--green)}.feedback.error .feedback-text b{color:var(--rose)}.listen-stage{width:min(960px,100% - 40px);margin:0 auto;padding:32px 0 60px}.listen-player-bar{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:8px;align-items:center;gap:18px;margin-bottom:24px;padding:12px 24px;display:flex}.listen-play-btn{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:50%;flex-shrink:0;place-items:center;width:42px;height:42px;transition:transform .2s,background .2s;display:grid}.listen-play-btn:hover{background:var(--primary-dark);transform:scale(1.05)}.listen-track-bar{background:var(--surface-2);cursor:pointer;border-radius:3px;flex:1;height:6px;position:relative;overflow:hidden}.listen-track-fill{background:var(--primary);border-radius:3px;width:65%;height:100%}.listen-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.listen-vol-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;place-items:center;padding:4px;display:grid}.listen-vol-btn:hover{color:var(--primary)}.listen-grid-3x3{background:var(--line);border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(3,1fr);gap:1px;display:grid;overflow:hidden}.listen-card-cell{background:var(--surface);text-align:center;cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;min-height:125px;padding:36px 20px;transition:all .2s;display:flex}.listen-card-cell:hover{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.listen-card-cell:hover{background:color-mix(in srgb, var(--surface) 88%, var(--primary-soft))}}.listen-card-cell.correct{animation:.3s popIn;background:var(--green-soft)!important}.listen-card-cell.wrong{animation:.35s shake;background:var(--rose-soft)!important}.listen-card-word{color:var(--ink);margin-bottom:5px;font-family:Manrope,sans-serif;font-size:17px;font-weight:700}.listen-card-def{color:var(--muted);font-size:13px;font-weight:500;line-height:1.35}.exercise-nav-compact{background:var(--surface);border:1px solid var(--line);width:min(820px,100%);box-shadow:var(--shadow-sm);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;margin:24px auto 0;padding:12px 20px;display:flex}.nav-btn{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.nav-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:var(--surface)}.nav-btn:disabled{opacity:.35;cursor:not-allowed}.drawer-trigger-btn{border:1px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.drawer-trigger-btn{border:1px solid color-mix(in srgb, var(--primary) 30%, transparent)}}.drawer-trigger-btn{background:var(--primary-soft);color:var(--primary);cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:8px 16px;font-size:13px;font-weight:700;transition:all .2s;display:flex}.drawer-trigger-btn:hover{background:var(--primary);color:#fff}.auto-next-toggle{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.auto-next-toggle input{cursor:pointer;accent-color:var(--primary);width:16px;height:16px}.floating-drawer-toggle{z-index:80;background:var(--surface);color:var(--ink);border:1px solid var(--line);cursor:pointer;border-radius:30px;align-items:center;gap:8px;padding:10px 16px;font-family:Plus Jakarta Sans,sans-serif;font-size:13px;font-weight:700;transition:all .25s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 6px 24px #0000001f}.floating-drawer-toggle:hover,.floating-drawer-toggle.active{border-color:var(--primary);color:var(--primary);transform:translateY(-2px);box-shadow:0 10px 30px #00000029}.floating-badge{background:var(--primary-soft);color:var(--primary);border-radius:12px;padding:3px 8px;font-size:11px;font-weight:800}.drawer-backdrop{z-index:120;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#00000073;animation:.2s fadeIn;position:fixed;inset:0}.exercise-side-drawer{background:var(--surface);border-left:1px solid var(--line);z-index:130;flex-direction:column;width:360px;max-width:90vw;height:100vh;transition:transform .3s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-8px 0 32px #0003}.exercise-side-drawer.open{transform:translate(0)}.drawer-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:18px 20px;display:flex}.drawer-title-group{align-items:center;gap:10px;display:flex}.drawer-icon{color:var(--primary)}.drawer-header h3{color:var(--ink);margin:0;font-size:16px;font-weight:800}.drawer-close-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:4px;transition:all .15s;display:grid}.drawer-close-btn:hover{background:var(--surface-2);color:var(--ink)}.drawer-summary{background:var(--surface-2);border-bottom:1px solid var(--line);justify-content:space-between;padding:14px 20px;display:flex}.drawer-stat{flex-direction:column;gap:2px;display:flex}.drawer-stat span{color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:600}.drawer-stat strong{color:var(--primary);font-size:14px;font-weight:800}.drawer-setting{border-bottom:1px solid var(--line);padding:14px 20px}.drawer-setting .auto-next-toggle span{color:var(--ink);font-size:13px;font-weight:500}.drawer-grid-container{flex:1;padding:20px;overflow-y:auto}.drawer-section-label{letter-spacing:.5px;color:var(--muted);text-transform:uppercase;margin-bottom:14px;font-size:11px;font-weight:800;display:block}.drawer-number-grid{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.drawer-num-btn{border:1px solid var(--line);background:var(--surface);height:44px;color:var(--ink);cursor:pointer;border-radius:8px;place-items:center;font-family:Plus Jakarta Sans,sans-serif;font-size:13px;font-weight:700;transition:all .18s;display:grid}.drawer-num-btn:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}.drawer-num-btn.active{font-weight:800;box-shadow:0 4px 12px #1e3a6859;color:#fff!important;background:#1e3a68!important;border-color:#1e3a68!important}.drawer-num-btn.done{background:var(--green-soft);color:var(--green);border-color:var(--green)}@supports (color:color-mix(in lab, red, red)){.drawer-num-btn.done{border-color:color-mix(in srgb, var(--green) 35%, transparent)}}.drawer-num-btn.done{font-weight:700}.drawer-footer{border-top:1px solid var(--line);background:var(--surface);gap:10px;padding:16px 20px;display:flex}.question-header-with-audio{justify-content:center;align-items:center;gap:10px;margin:0 auto 12px;display:inline-flex}.question-eyebrow-title{color:var(--primary);letter-spacing:.8px;text-transform:uppercase;font-family:Plus Jakarta Sans,sans-serif;font-size:14px;font-weight:800}.eyebrow-audio-btn{color:var(--primary);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;padding:0;transition:all .2s;display:inline-flex}.eyebrow-audio-btn:hover{background:var(--primary-soft);transform:scale(1.1)}.eyebrow-audio-btn svg{width:22px;height:22px;display:block}.fill-blank-card{text-align:center}.fill-sentence{color:var(--ink);margin:18px 0 6px;font-family:Manrope,sans-serif;font-size:24px;font-weight:700;line-height:1.4}.fill-hint{color:var(--muted);margin:0 0 28px;font-size:14.5px;font-style:italic;line-height:1.4}.fill-input-wrapper{max-width:580px;margin:0 auto}.fill-input-box{background:var(--surface);border:1.5px solid #222;border-radius:4px;transition:border-color .2s;display:flex;overflow:hidden}.fill-input-box.right{border-color:var(--green)}.fill-input-box.wrong{border-color:var(--rose);animation:.35s shake}.fill-input-field{height:56px;color:var(--ink);background:0 0;border:0;outline:none;flex:1;padding:0 18px;font-size:18px;font-weight:600}.fill-submit-btn{background:var(--primary);color:#fff;cursor:pointer;border:0;place-items:center;width:56px;height:56px;transition:background .2s;display:grid}.fill-submit-btn:hover{background:var(--primary-dark)}.fill-reveal-answer{flex-direction:column;align-items:center;gap:12px;margin-top:18px;display:flex}.fill-correct-word{color:var(--ink);font-family:Manrope,sans-serif;font-size:18px;font-weight:800}.fill-def-box{text-align:left;border:1.5px solid var(--rose);width:100%;color:var(--ink);background:var(--surface);border-radius:6px;padding:14px 20px;font-size:16px;font-weight:600;line-height:1.4}.fill-def-box.right{border-color:var(--green);background:var(--green-soft)}.input-question>h1{margin-block:24px 8px;font-size:26px;line-height:1.4}.input-question>p{color:var(--muted);font-size:14px}.answer-wrap{max-width:550px;box-shadow:var(--shadow-sm);margin:30px auto 0;display:flex}.answer-wrap input{border:1px solid var(--line);background:var(--surface);height:54px;color:var(--ink);border-right:0;flex:1;padding:0 17px;font-size:16px;font-weight:600}.answer-wrap input.right{border-color:var(--green);background:var(--green-soft)}.answer-wrap input.wrong{border-color:var(--rose);animation:.35s shake}.answer-wrap button{background:var(--primary);color:#fff;cursor:pointer;border:0;flex-shrink:0;place-items:center;width:54px;height:54px;transition:background .2s;display:grid}.answer-wrap button:hover{background:var(--primary-dark)}.input-actions{justify-content:space-between;align-items:center;gap:12px;max-width:550px;margin:16px auto 0;display:flex}.action-pill-btn{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);cursor:pointer;border-radius:20px;align-items:center;gap:6px;padding:7px 16px;font-family:Plus Jakarta Sans,sans-serif;font-size:12.5px;font-weight:700;transition:all .2s;display:inline-flex}.action-pill-btn:hover{background:var(--surface);border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}.action-pill-btn.hint{color:var(--amber);border-color:var(--amber)}@supports (color:color-mix(in lab, red, red)){.action-pill-btn.hint{border-color:color-mix(in srgb, var(--amber) 30%, transparent)}}.action-pill-btn.hint{background:var(--amber)}@supports (color:color-mix(in lab, red, red)){.action-pill-btn.hint{background:color-mix(in srgb, var(--amber) 8%, var(--surface))}}.action-pill-btn.hint:hover{background:var(--amber)}@supports (color:color-mix(in lab, red, red)){.action-pill-btn.hint:hover{background:color-mix(in srgb, var(--amber) 16%, var(--surface))}}.action-pill-btn.hint:hover{border-color:var(--amber)}.action-pill-btn.reveal{color:var(--primary);border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.action-pill-btn.reveal{border-color:color-mix(in srgb, var(--primary) 30%, transparent)}}.action-pill-btn.reveal{background:var(--primary-soft)}.action-pill-btn.reveal:hover{background:var(--primary);color:#fff}.dictation-hint-badge{background:var(--surface);max-width:550px;margin:14px auto 0;padding:12px 18px}@supports (color:color-mix(in lab, red, red)){.dictation-hint-badge{background:color-mix(in srgb, var(--surface) 95%, var(--primary-soft))}}.dictation-hint-badge{border:1px dashed var(--line);color:var(--ink);text-align:left;border-radius:8px;flex-direction:column;gap:4px;font-size:13.5px;display:flex}.dictation-hint-badge b{color:var(--primary)}.match-main{width:min(1040px,100% - 40px);margin:0 auto;padding:36px 0}.match-heading{justify-content:space-between;align-items:end;margin-bottom:24px;display:flex}.match-heading h1{margin:5px 0 0;font-size:28px}.match-heading>div:last-child{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.match-heading svg{width:17px}.match-heading>div span{color:var(--primary);background:var(--primary-soft);border-radius:4px;padding:5px 10px;font-weight:700}.match-reveal-stage{border:1px solid var(--line);background:#0c1613;border-radius:6px;width:100%;min-height:480px;position:relative;overflow:hidden}.match-bg-artwork{object-fit:cover;z-index:1;filter:brightness(.95);width:100%;height:100%;position:absolute;inset:0}.match-grid-seamless{z-index:2;background:#dce6e2e6;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(130px,1fr);gap:1px;display:grid;position:relative}.match-cell{background:var(--surface);cursor:pointer;text-align:center;-webkit-user-select:none;user-select:none;border:0;place-items:center;padding:18px 14px;transition:all .25s;display:grid;position:relative}.match-cell:hover{background:var(--surface)}@supports (color:color-mix(in lab, red, red)){.match-cell:hover{background:color-mix(in srgb, var(--surface) 85%, var(--primary-soft))}}.match-cell.selected{outline:3px solid var(--primary);outline-offset:-3px;z-index:3;background:#e2f4ed!important}.match-cell.wrong{outline:3px solid var(--rose);outline-offset:-3px;z-index:3;animation:.35s shake;background:#ffebee!important}.match-cell.matched-hidden{opacity:0;pointer-events:none;visibility:hidden}.card-word{color:#d04325;font-family:Manrope,sans-serif;font-size:22px;font-weight:800}.card-def{flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex}.card-def .vi-def{color:#1e3a68;margin:0;font-size:14px;font-weight:700;line-height:1.35}.card-def .en-def{color:#2b568e;margin:0;font-size:12px;font-weight:500;line-height:1.35}.complete-banner{background:var(--green-soft);color:var(--green);border:1px solid var(--green);border-radius:6px;align-items:center;gap:16px;margin-top:24px;padding:20px 26px;display:flex}@supports (color:color-mix(in lab, red, red)){.complete-banner{border:1px solid color-mix(in srgb, var(--green) 25%, transparent)}}.complete-banner div{flex-direction:column;display:flex}.complete-banner strong{font-size:16px}.complete-banner span{color:var(--muted);margin-top:2px;font-size:13px}.access-screen{background:var(--surface);grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid}.access-story{color:#fff;background:var(--navy);flex-direction:column;min-height:100vh;padding:48px clamp(40px,7vw,100px);display:flex;position:relative;overflow:hidden}.access-story:before{content:"";border:100px solid #40c9a61f;border-radius:50%;width:520px;height:520px;position:absolute;bottom:-180px;right:-230px}.access-story:after{content:"";pointer-events:none;background:repeating-linear-gradient(90deg,#0000 0 69px,#ffffff06 70px 71px);position:absolute;inset:0}.access-story .brand{z-index:1;position:relative}.access-story .brand span{color:#67d5b8}.access-story .brand-mark{background:#e66d3f}.access-copy{z-index:1;max-width:650px;margin:auto 0;position:relative}.access-copy .eyebrow{color:#67d5b8}.access-copy h1{letter-spacing:-3px;margin:16px 0 24px;font-size:clamp(44px,5vw,70px);line-height:1.04}.access-copy p{color:#aec1ba;max-width:570px;font-size:17px}.access-metric{z-index:1;border-top:1px solid #ffffff24;grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:12px;padding-top:24px;display:grid;position:relative}.access-metric strong{color:#67d5b8;font-size:25px}.access-metric span{color:#9dafaa;text-transform:uppercase;letter-spacing:1px;font-size:11px}.access-panel{background:var(--bg);place-items:center;padding:45px;display:grid}.access-form{width:min(440px,100%)}.lock-sign{background:var(--primary);color:#fff;place-items:center;width:54px;height:54px;margin-bottom:24px;display:grid}.access-form h2{letter-spacing:-1px;margin:8px 0;font-size:32px}.access-form>p{color:var(--muted);margin:0 0 24px}.access-tabs{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;margin-bottom:22px;display:grid}.access-tabs button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:12px;font-weight:700}.access-tabs button.active{color:var(--primary);border-color:var(--primary)}.code-field{background:var(--surface);border:1px solid var(--line);grid-template-columns:22px 1fr auto;align-items:center;gap:10px;height:56px;padding:0 14px;display:grid}.code-field:focus-within{border-color:var(--primary)}.code-field.invalid{border-color:var(--rose);animation:.35s shake}.code-field>svg{width:18px;color:var(--muted)}.code-field input{color:var(--ink);background:0 0;border:0;outline:0;min-width:0}.code-field button{color:var(--primary);cursor:pointer;background:0 0;border:0;font-size:11px;font-weight:700}.access-error{color:var(--rose);background:var(--rose-soft);margin-top:10px;padding:9px 12px;font-size:12px}.access-submit{width:100%;margin-top:14px}.access-form>small{color:var(--muted);align-items:center;gap:7px;margin-top:16px;font-size:12px;display:flex}.admin-screen{background:var(--bg);min-height:100vh}.admin-header{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:78px;padding:0 clamp(24px,5vw,70px);display:flex}.admin-layout{width:min(1080px,100% - 40px);margin:0 auto;padding:55px 0 80px}.admin-intro h1{margin:7px 0;font-size:42px}.admin-intro p{max-width:700px;color:var(--muted)}.key-generator,.key-list{background:var(--surface);border:1px solid var(--line);margin-top:28px;padding:28px}.admin-title>div{align-items:center;gap:13px;display:flex}.admin-title svg{color:var(--primary)}.admin-title span{flex-direction:column;display:flex}.admin-title small{color:var(--muted)}.generator-form{grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;margin-top:22px;display:grid}.generator-form label{color:var(--muted);font-size:11px;font-weight:700}.generator-form input{width:100%;height:45px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:0;margin-top:7px;padding:0 12px;display:block}.generator-form .button{height:45px;border-radius:0!important}.admin-message{background:var(--green-soft);color:var(--green);margin-top:14px;padding:11px 14px;font-size:12px}.key-row{border-top:1px solid var(--line);grid-template-columns:1fr auto auto;align-items:center;gap:24px;min-height:76px;padding:16px 0;display:grid}.key-row:first-of-type{margin-top:16px}.key-row>div{flex-direction:column;gap:4px;display:flex}.key-row>div strong{color:var(--ink);font-size:14px}.key-row span{color:var(--muted);font-size:12px}.device-status-tag{margin-top:4px}.device-bound{background:var(--green-soft);color:var(--green);border-radius:4px;align-items:center;gap:6px;padding:3px 9px;font-weight:700;display:inline-flex;font-size:11px!important}.device-unbound{font-style:italic;color:var(--muted)!important;font-size:11px!important}.key-row code{color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:4px;padding:6px 10px;font-family:monospace;font-size:13px}.option-menu-container{justify-content:flex-end;align-items:center;display:flex;position:relative}.option-trigger-btn{border:1px solid var(--line);background:var(--surface-2);width:36px;height:36px;color:var(--muted);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.option-trigger-btn:hover,.option-trigger-btn.active{background:var(--surface);color:var(--ink);border-color:var(--primary);box-shadow:var(--shadow-sm)}.option-dropdown{background:var(--surface);border:1px solid var(--line);z-index:100;border-radius:8px;flex-direction:column;gap:3px;min-width:190px;padding:6px;animation:.15s ease-out fadeIn;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 30px #00000026}.option-item{cursor:pointer;text-align:left;width:100%;color:var(--ink);background:0 0;border:0;border-radius:6px;align-items:center;gap:9px;padding:8px 12px;font-size:12.5px;font-weight:600;transition:all .15s;display:flex}.option-item:hover:not(:disabled){background:var(--surface-2)}.option-item.primary{color:var(--primary)}.option-item.primary:hover:not(:disabled){background:var(--primary-soft);color:var(--primary)}.option-item.danger{color:var(--rose)}.option-item.danger:hover:not(:disabled){background:var(--rose-soft);color:var(--rose)}.option-item-disabled{width:100%;color:var(--muted);opacity:.6;-webkit-user-select:none;user-select:none;border-radius:6px;align-items:center;gap:9px;padding:8px 12px;font-size:12px;font-style:italic;display:flex}.fixed-label{letter-spacing:.5px;font-size:11px;font-weight:800;color:var(--primary)!important}.empty-keys{border-top:1px solid var(--line);color:var(--muted);text-align:center;margin-top:16px;padding:28px 0 10px;font-size:13px}.stats-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px;display:flex}.stats-heading h1{letter-spacing:-1.5px;margin:7px 0;font-size:42px}.stats-heading p{color:var(--muted);margin:0}.range-switch{border:1px solid var(--line);background:var(--surface);padding:3px;display:flex}.range-switch button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:8px 12px;font-size:11px}.range-switch button.active{background:var(--ink);color:var(--surface)}.stats-summary{background:var(--surface);border:1px solid var(--line);grid-template-columns:repeat(4,1fr);display:grid}.stats-summary article{border-right:1px solid var(--line);min-height:135px;padding:23px}.stats-summary article:last-child{border:0}.stats-summary article>span{color:var(--muted);letter-spacing:1px;font-size:9px;font-weight:800}.stats-summary article>strong{margin:10px 0 5px;font-size:29px;display:block}.stats-summary article p{color:var(--muted);margin:0;font-size:11px}.stats-summary article p b{color:var(--green)}.analytics-grid{grid-template-columns:1.2fr .8fr;gap:16px;margin-top:16px;display:grid}.chart-panel,.accuracy-panel,.stats-bottom>article{background:var(--surface);border:1px solid var(--line);padding:26px}.panel-heading{justify-content:space-between;align-items:start;display:flex}.panel-heading h2{margin:4px 0 0;font-size:20px}.panel-heading>strong{font-size:25px}.panel-heading>strong small{color:var(--muted);font-size:11px}.bar-chart{align-items:end;gap:14px;height:255px;padding-top:30px;display:flex}.bar-column{text-align:center;flex:1;grid-template-rows:20px 1fr 20px;height:100%;display:grid}.bar-column>span{color:var(--muted);font-size:10px}.bar-column>div{background:linear-gradient(to top, var(--surface-2) 1px, transparent 1px);background-size:100% 25%;justify-content:center;align-items:end;height:100%;display:flex}.bar-column i{background:var(--primary);width:min(32px,70%);transition:height .3s;display:block}.bar-column:nth-child(6) i{background:var(--amber)}.bar-column small{color:var(--muted);padding-top:7px}.skill-list{margin-top:25px}.skill-row{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:8px;padding:13px 0;display:grid}.skill-row:last-child{border:0}.skill-row>div{flex-direction:column;display:flex}.skill-row strong{font-size:12px}.skill-row span{color:var(--muted);font-size:10px}.skill-row b{color:var(--primary);font-size:12px}.skill-row .progress-track{grid-column:1/-1;height:4px}.stats-bottom{grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;display:grid}.recent-row,.review-row{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:13px;min-height:68px;display:grid}.recent-row:last-child,.review-row:last-child{border:0}.recent-row>span{background:var(--primary-soft);width:30px;height:30px;color:var(--primary);place-items:center;font-size:9px;font-weight:800;display:grid}.recent-row>div,.review-row>div{flex-direction:column;display:flex}.recent-row strong,.review-row strong{font-size:12px}.recent-row small,.review-row small{color:var(--muted)}.recent-row>b{color:var(--primary)}.review-row>button{background:var(--surface-2);width:32px;height:32px;color:var(--primary);cursor:pointer;border:0;place-items:center;display:grid}.review-row>button svg{width:15px}.review-row>span{color:var(--rose);background:var(--rose-soft);padding:4px 7px;font-size:9px}.mastered-section{width:100%}.mastered-panel{background:var(--surface);border:1px solid var(--line);padding:28px}.mastered-header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding-bottom:20px;display:flex}.mastered-header h2{color:var(--ink);margin:4px 0 0;font-size:22px}.mastered-search-bar{background:var(--bg);border:1px solid var(--line);border-radius:8px;align-items:center;gap:10px;min-width:320px;height:42px;padding:0 14px;transition:border-color .2s;display:flex}.mastered-search-bar:focus-within{border-color:var(--primary)}.mastered-search-bar svg{color:var(--muted);flex-shrink:0}.mastered-search-bar input{color:var(--ink);background:0 0;border:0;outline:0;width:100%;font-size:13.5px}.search-clear-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:2px 6px;font-size:13px}.search-clear-btn:hover{color:var(--ink)}.mastered-words-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;max-height:560px;padding-right:6px;display:grid;overflow-y:auto}.mastered-word-card{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-direction:column;justify-content:space-between;gap:10px;padding:16px;transition:all .2s;display:flex}.mastered-word-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.mastered-card-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.mastered-word-info{flex-direction:column;gap:2px;display:flex}.mastered-word-title-row{align-items:center;gap:8px;display:flex}.mastered-word-title-row strong{color:var(--ink);font-family:Manrope,sans-serif;font-size:16px;font-weight:700}.mastered-pos{text-transform:uppercase;color:var(--primary);background:var(--primary-soft);border-radius:4px;padding:2px 6px;font-size:10px;font-weight:800}.mastered-ipa{color:var(--muted);font-family:Lucida Sans Unicode,sans-serif;font-size:12.5px}.mastered-audio-btn{border:1px solid var(--line);background:var(--surface-2);width:32px;height:32px;color:var(--primary);cursor:pointer;border-radius:6px;flex-shrink:0;place-items:center;transition:all .15s;display:grid}.mastered-audio-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:scale(1.06)}.mastered-def{color:var(--muted);margin:0;font-size:13.5px;line-height:1.45}.mastered-card-footer{border-top:1px dashed var(--line);align-items:center;gap:6px;margin-top:auto;padding-top:6px;display:flex}.mastered-unit-tag{color:var(--muted);letter-spacing:.5px;font-size:10px;font-weight:700}.mastered-empty-state{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:8px;padding:48px 20px;display:flex}.mastered-empty-state svg{color:var(--muted);opacity:.6;margin-bottom:4px}.mastered-empty-state p{color:var(--ink);margin:0;font-size:16px;font-weight:600}.mastered-empty-state span{color:var(--muted);max-width:440px;font-size:13px}@keyframes shake{25%{transform:translate(-5px)}50%{transform:translate(5px)}75%{transform:translate(-3px)}}@keyframes pulse{50%{opacity:.5}}@media (width<=1050px){.sidebar{box-shadow:var(--shadow);transition:transform .25s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.content{padding-left:0}.mobile-menu{margin-right:15px;display:grid}.brand{min-width:auto}.topbar nav{margin-left:35px}.page{width:min(920px,100% - 40px)}.course-grid,.unit-grid{grid-template-columns:1fr 1fr}.access-screen{grid-template-columns:.85fr 1.15fr}.access-copy h1{font-size:48px}.generator-form{grid-template-columns:1fr 1fr}.generator-form .button{grid-column:1/-1}.stats-summary{grid-template-columns:1fr 1fr}.stats-summary article:nth-child(2){border-right:0}.stats-summary article:nth-child(-n+2){border-bottom:1px solid var(--line)}.analytics-grid{grid-template-columns:1fr}}@media (width<=720px){.topbar{padding:0 15px}.topbar nav,.streak,.brand span{display:none}.top-actions{gap:7px}.page{width:calc(100% - 28px);padding-top:28px}.hero{grid-template-columns:1fr;gap:30px;padding:35px 24px}.hero h1{font-size:35px}.daily-card{display:none}.stats-row{grid-template-columns:1fr}.stats-row>div{border-right:0;border-bottom:1px solid var(--line)}.course-grid,.mode-grid,.unit-grid{grid-template-columns:1fr}.course-card.featured{grid-row:auto}.section-heading,.page-intro{flex-direction:column;align-items:flex-start}.section-heading>span{display:none}.overall,.unit-tools label{width:100%}.unit-tools>span{display:none}.hub-header{grid-template-columns:auto 1fr;padding:24px}.hub-number{width:52px;height:52px}.hub-score{grid-column:1/-1}.study-header{grid-template-columns:38px 1fr 85px;padding:0 14px}.study-progress{flex-direction:column;gap:2px}.study-progress .progress-track{width:80px}.flashcard{height:590px}.flash-front{grid-template-rows:46% 54%;grid-template-columns:1fr}.flash-word{padding:28px}.flash-word h1{font-size:38px}.flash-back{padding:30px}.card-controls{flex-wrap:wrap}.word-strip{grid-template-columns:1fr 1fr}.question-main,.match-main{width:calc(100% - 24px);padding-top:25px}.question-card{padding:28px 18px}.options{grid-template-columns:1fr}.question-nav{grid-template-columns:90px 1fr 90px}.question-nav i{width:9px}.match-grid{grid-template-columns:1fr 1fr}.match-grid button{min-height:100px}.match-heading{flex-direction:column;align-items:flex-start;gap:12px}.access-screen{display:block}.access-story{min-height:360px;padding:28px 24px}.access-copy{margin:60px 0 20px}.access-copy h1{letter-spacing:-2px;font-size:40px}.access-copy p,.access-metric{display:none}.access-panel{padding:38px 22px}.access-form h2{font-size:27px}.admin-header{padding:0 16px}.admin-header .brand span{display:none}.admin-layout{width:calc(100% - 28px);padding-top:35px}.admin-intro h1{font-size:33px}.key-generator,.key-list{padding:20px}.generator-form{grid-template-columns:1fr}.generator-form .button{grid-column:auto}.key-row{grid-template-columns:1fr auto;gap:12px;padding:14px 0}.key-actions{flex-direction:row;justify-content:flex-end;align-items:center;gap:8px;display:flex}.key-row code{display:none}.full-word-card{grid-template-columns:1fr}.full-word-card>img{height:210px;min-height:0}.full-word-main{padding:22px}.word-title{grid-template-columns:24px 1fr}.word-title>button{grid-column:2;justify-self:start}.stats-heading{flex-direction:column;align-items:flex-start}.stats-heading h1{font-size:34px}.stats-summary{grid-template-columns:1fr}.stats-summary article{border-right:0;border-bottom:1px solid var(--line)}.stats-summary article:nth-child(2){border-bottom:1px solid var(--line)}.stats-bottom{grid-template-columns:1fr}.bar-chart{gap:5px}.chart-panel,.accuracy-panel,.stats-bottom>article{padding:20px}}.available-label{color:var(--primary);background:var(--primary-soft);letter-spacing:1px;padding:5px 8px;font-size:8px;font-weight:800}.grammar-course{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.grammar-course{border-color:color-mix(in srgb, var(--primary) 28%, var(--line))}}.grammar-hero{background:var(--navy);color:#fff;border-radius:4px;grid-template-columns:1fr auto;align-items:center;gap:50px;min-height:230px;padding:38px 42px;display:grid;position:relative;overflow:hidden}.grammar-hero:after{content:"";border:65px solid #5ad4b51f;border-radius:50%;width:320px;height:320px;position:absolute;top:-120px;right:-170px}.grammar-hero>*{z-index:1;position:relative}.grammar-hero .eyebrow{color:#76d9c0}.grammar-hero h1{letter-spacing:-1.5px;max-width:760px;margin:10px 0;font-size:38px;line-height:1.15}.grammar-hero p{color:#adbfba;max-width:680px;margin:0;font-size:14px;line-height:1.6}.grammar-overview{background:#ffffff0d;border:1px solid #ffffff24;border-radius:2px;grid-template-columns:auto 1fr;gap:6px 14px;min-width:220px;padding:20px;display:grid}.grammar-overview strong{color:#6ed7bc;font-size:27px}.grammar-overview span{color:#a8bbb4;letter-spacing:1px;align-self:center;font-size:9px}.grammar-section-title{justify-content:space-between;align-items:flex-end;margin:36px 0 20px;display:flex}.grammar-section-title h2{letter-spacing:-.5px;margin:5px 0 0;font-size:26px}.grammar-section-title p{color:var(--muted);margin:0;font-size:12px}.grammar-topic-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.grammar-topic-card{border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;border-radius:2px;grid-template-columns:44px 1fr auto;align-items:start;gap:15px;min-height:140px;padding:22px;transition:transform .2s,border-color .2s,box-shadow .2s;display:grid}.grammar-topic-card:hover{border-color:var(--primary);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.grammar-topic-card>svg{width:17px;color:var(--muted);align-self:center}.grammar-topic-number{background:var(--primary-soft);width:42px;height:42px;color:var(--primary);border-radius:2px;align-self:start;place-items:center;font-family:Manrope,sans-serif;font-size:13px;font-weight:800;display:grid}.grammar-topic-copy h3{margin:0 0 6px;font-size:16px;font-weight:700;line-height:1.35}.grammar-topic-copy p{color:var(--muted);margin:0 0 14px;font-size:12px;line-height:1.45}.grammar-topic-footer{grid-template-columns:1fr auto;align-items:center;gap:9px;display:grid}.grammar-progress{background:var(--surface-2);border-radius:2px;height:4px;overflow:hidden}.grammar-progress i{background:var(--primary);height:100%;transition:width .3s;display:block}.grammar-topic-footer>span{color:var(--muted);font-size:10px;font-weight:600}.grammar-hub-head{background:var(--navy);color:#fff;border-radius:4px;grid-template-columns:auto 1fr auto;align-items:center;gap:24px;padding:34px;display:grid}.grammar-hub-index{background:var(--primary);color:#fff;border-radius:2px;place-items:center;width:70px;height:70px;font-family:Manrope,sans-serif;font-size:26px;font-weight:800;display:grid}.grammar-hub-head .eyebrow{color:#72d6bc}.grammar-hub-head h1{letter-spacing:-.5px;margin:5px 0;font-size:28px}.grammar-hub-head p{color:#a8bbb4;margin:0;font-size:13px}.grammar-hub-stat{border-left:1px solid #ffffff26;padding-left:26px}.grammar-hub-stat strong{font-size:26px;display:block}.grammar-hub-stat span{color:#a8bbb4;letter-spacing:1px;font-size:8px}.grammar-activity-list{gap:10px;display:grid}.grammar-activity-list>button{border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;border-radius:2px;grid-template-columns:38px 46px 1fr auto;align-items:center;gap:15px;min-height:90px;padding:18px 20px;transition:border-color .2s,transform .2s;display:grid}.grammar-activity-list>button:hover{border-color:var(--primary);transform:translateY(-1px)}.grammar-activity-list button>svg{width:18px;color:var(--muted)}.activity-step{background:var(--surface-2);width:32px;height:32px;color:var(--muted);border-radius:2px;place-items:center;font-size:10px;font-weight:800;display:grid}.activity-step svg{width:15px;color:var(--green)}.activity-icon{width:44px;height:44px;color:var(--primary);background:var(--primary-soft);border-radius:2px;place-items:center;display:grid}.activity-icon svg{width:19px}.grammar-activity-list span{color:var(--primary);letter-spacing:1px;font-size:8px;font-weight:800}.grammar-activity-list h3{margin:3px 0;font-size:15px}.grammar-activity-list p{color:var(--muted);margin:0;font-size:12px}.grammar-activity-list .done-icon{color:var(--green)}.grammar-exercise{background:var(--bg);min-height:100vh}.grammar-exercise-header{z-index:20;background:var(--surface);border-bottom:1px solid var(--line);grid-template-columns:40px 1fr auto;align-items:center;gap:15px;height:70px;padding:0 30px;display:grid;position:sticky;top:0}.grammar-exercise-header>button{border:1px solid var(--line);background:var(--surface);cursor:pointer;width:38px;height:38px;color:var(--ink);border-radius:2px;place-items:center;display:grid}.grammar-exercise-header>div:nth-child(2){flex-direction:column;display:flex}.grammar-exercise-header span{color:var(--primary);letter-spacing:1px;font-size:9px;font-weight:800}.grammar-exercise-header strong{font-size:15px}.exercise-brand{color:var(--muted);letter-spacing:1.2px;font-size:10px;font-weight:800}.pdf-main{width:min(1220px,100% - 40px);margin:0 auto;padding:25px 0 50px}.pdf-toolbar{background:var(--surface);border:1px solid var(--line);border-radius:2px 2px 0 0;justify-content:space-between;align-items:center;gap:20px;min-height:70px;padding:12px 18px;display:flex}.pdf-toolbar>div{align-items:center;gap:12px;display:flex}.pdf-toolbar>div:first-child>svg{color:var(--primary)}.pdf-toolbar span{flex-direction:column;display:flex}.pdf-toolbar span strong{font-size:14px}.pdf-toolbar small{color:var(--muted);font-size:11px}.pdf-toolbar button,.pdf-toolbar a{border:1px solid var(--line);background:var(--surface);height:37px;color:var(--muted);cursor:pointer;border-radius:2px;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.pdf-toolbar button:hover,.pdf-toolbar a:hover{border-color:var(--primary);color:var(--ink)}.pdf-toolbar button.completed{color:var(--green);background:var(--green-soft);border-color:var(--green)}.pdf-frame{border:1px solid var(--line);background:var(--surface-2);border-top:0;border-radius:0 0 2px 2px;width:100%;height:78vh}.pdf-empty-state{text-align:center;background:var(--surface);border:1px solid var(--line);color:var(--muted);border-top:0;padding:50px}.grammar-question-layout{grid-template-columns:1fr 240px;align-items:start;gap:16px;width:min(1120px,100% - 40px);margin:0 auto;padding:36px 0;display:grid}.grammar-question-card{background:var(--surface);border:1px solid var(--line);border-radius:2px;padding:38px}.grammar-question-card h1{margin:16px 0 26px;font-size:22px;font-weight:600;line-height:1.5}.grammar-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.grammar-options button{border:1px solid var(--line);background:var(--surface);cursor:pointer;text-align:left;min-height:60px;color:var(--ink);border-radius:2px;align-items:center;gap:12px;padding:12px 15px;transition:border-color .2s,background .2s;display:flex}.grammar-options button:hover{border-color:var(--primary)}.grammar-options button>span{background:var(--surface-2);width:30px;height:30px;color:var(--muted);border-radius:2px;flex-shrink:0;place-items:center;font-size:11px;font-weight:800;display:grid}.grammar-options button>strong{font-size:14px;font-weight:600}.grammar-options button>svg{flex-shrink:0;width:17px;margin-left:auto}.grammar-options button.correct{border-color:var(--green);background:var(--green-soft);color:var(--green)}.grammar-options button.wrong{border-color:var(--rose);background:var(--rose-soft);color:var(--rose);animation:.3s shake}.grammar-explanation{background:var(--amber-soft);border:1px solid #f59e0b33;border-radius:2px;align-items:flex-start;gap:12px;margin-top:20px;padding:18px;display:flex}.grammar-explanation>svg{width:20px;color:var(--amber);flex-shrink:0;margin-top:2px}.grammar-explanation strong{color:var(--ink);margin-bottom:6px;font-size:13px;display:block}.grammar-explanation p{color:var(--ink);white-space:pre-line;margin:4px 0 0;font-size:13px;line-height:1.6}.grammar-question-nav,.simple-nav{justify-content:space-between;margin-top:25px;display:flex}.grammar-question-nav button,.simple-nav button{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:600;display:flex}.grammar-question-nav button:hover,.simple-nav button:hover{color:var(--ink)}.grammar-question-nav button:disabled,.simple-nav button:disabled{opacity:.3;cursor:not-allowed}.grammar-question-nav svg,.simple-nav svg{width:16px}.question-drawer{background:var(--surface);border:1px solid var(--line);border-radius:2px;padding:20px}.question-drawer>strong{font-size:13px;display:block}.question-drawer>div{grid-template-columns:repeat(4,1fr);gap:6px;margin:16px 0;display:grid}.question-drawer button{aspect-ratio:1;border:1px solid var(--line);background:var(--surface);cursor:pointer;color:var(--ink);border-radius:2px;font-size:12px;font-weight:600}.question-drawer button:hover{border-color:var(--primary)}.question-drawer button.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);font-weight:800}.question-drawer button.answered{background:var(--surface-2)}.question-drawer button.is-correct{border-color:var(--green);color:var(--green)}.question-drawer button.is-wrong{border-color:var(--rose);color:var(--rose)}.question-drawer>span{color:var(--muted);font-size:11px}.center-exercise{width:min(840px,100% - 36px);margin:0 auto;padding:36px 0}.auto-row{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:12px;display:flex}.auto-row button{color:var(--muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;font-size:12px;display:flex}.auto-row button i{background:var(--line);border-radius:10px;width:28px;height:15px;position:relative}.auto-row button i:after{content:"";background:#fff;border-radius:50%;width:11px;height:11px;transition:all .2s;position:absolute;top:2px;left:2px}.auto-row button.on i{background:var(--primary)}.auto-row button.on i:after{left:15px}.choice-card,.order-card,.fill-card,.passage-card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:2px;padding:40px}.choice-card{text-align:center}.choice-card h1{margin:18px 0 6px;font-size:26px;line-height:1.4}.choice-card>p,.order-card>p,.fill-card>p{color:var(--muted);margin:4px 0 0;font-size:14px}.word-choices{flex-wrap:wrap;justify-content:center;gap:10px;margin:32px 0 20px;display:flex}.word-choices button{border:1px solid var(--line);background:var(--surface);cursor:pointer;min-width:110px;min-height:48px;color:var(--ink);border-radius:2px;justify-content:center;align-items:center;gap:7px;padding:0 16px;font-size:14px;font-weight:600;transition:border-color .2s,background .2s;display:flex}.word-choices button:hover{border-color:var(--primary)}.word-choices button.correct,.word-choices button.correct-answer{border-color:var(--green);background:var(--green-soft);color:var(--green)}.word-choices button.wrong{border-color:var(--rose);background:var(--rose-soft);color:var(--rose);animation:.3s shake}.word-choices svg{width:16px}.mini-result{border-radius:2px;margin-top:18px;padding:12px 16px;font-size:13px}.mini-result.correct{background:var(--green-soft);color:var(--green)}.mini-result.wrong{background:var(--rose-soft);color:var(--rose)}.mini-result button{color:inherit;cursor:pointer;background:0 0;border:0;font-weight:700;text-decoration:underline}.word-order-slot-area{border:1px solid var(--line);background:var(--surface);border-radius:4px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;min-height:80px;margin:20px 0 24px;padding:18px 20px;transition:all .2s;display:flex}.word-order-slot-area.right{border-color:var(--green);background:var(--green-soft)}.word-order-slot-area.wrong{border-color:var(--rose);background:var(--rose-soft)}.slot-fixed-token{color:var(--ink);padding:0 4px;font-family:Manrope,sans-serif;font-size:20px;font-weight:700}.slot-track{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.slot-box-wrapper{justify-content:center;align-items:center;display:inline-flex}.slot-box-empty{border:1.5px dashed var(--line);background:var(--surface-2);border-radius:4px;min-width:68px;height:42px}.slot-word-placed{border:1px solid var(--line);background:var(--surface);min-width:68px;height:42px;color:var(--ink);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:4px;justify-content:center;align-items:center;padding:0 14px;font-family:Manrope,sans-serif;font-size:15px;font-weight:600;transition:all .15s;display:inline-flex}.slot-word-placed:hover{border-color:var(--rose);color:var(--rose);background:var(--rose-soft)}.word-order-bank{background:var(--surface-2);border:1px solid var(--line);border-radius:4px;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;min-height:72px;padding:16px;display:flex}.word-bank-chip{border:1px solid var(--line);background:var(--surface);min-width:68px;height:42px;color:var(--ink);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:0 16px;font-family:Manrope,sans-serif;font-size:15px;font-weight:600;transition:all .15s;display:inline-flex}.word-bank-chip:hover{border-color:var(--primary);color:var(--primary);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.bank-empty-label{color:var(--muted);font-size:13px;font-style:italic}.action-reset-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:2px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.action-reset-btn:hover:not(:disabled){color:var(--ink);background:var(--surface-2)}.action-reset-btn:disabled{opacity:.35;cursor:not-allowed}.fill-card{text-align:center}.inline-sentence{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin:34px auto 16px;font-family:Manrope,sans-serif;font-size:23px;font-weight:600;line-height:2;display:flex}.sentence-text{color:var(--ink)}.fill-inline-input{border:1.5px solid var(--primary);height:44px}@supports (color:color-mix(in lab, red, red)){.fill-inline-input{border:1.5px solid color-mix(in srgb, var(--primary) 35%, var(--line))}}.fill-inline-input{background:var(--surface-2);color:var(--primary);text-align:center;border-radius:4px;outline:none;padding:0 14px;font-family:Manrope,sans-serif;font-size:20px;font-weight:700;transition:all .2s;box-shadow:0 1px 3px #0000000a}.fill-inline-input:focus{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 3px var(--primary)}@supports (color:color-mix(in lab, red, red)){.fill-inline-input:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 15%, transparent)}}.fill-inline-input.right{border-color:var(--green);color:var(--green);background:var(--green-soft)}.fill-inline-input.wrong{border-color:var(--rose);color:var(--rose);background:var(--rose-soft);animation:.3s shake}.fill-base-text{color:var(--muted);margin:0 4px;font-size:18px;font-weight:500}.passage-main{width:min(960px,100% - 36px);margin:0 auto;padding:36px 0}.passage-card h1{margin:10px 0 25px;font-size:28px}.passage-text{color:var(--ink);font-family:Be Vietnam Pro,sans-serif;font-size:17px;font-weight:500;line-height:2.8}.inline-choice{border:1.5px solid var(--primary);align-items:center;gap:4px;padding:3px 4px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.inline-choice{border:1.5px solid color-mix(in srgb, var(--primary) 25%, var(--line))}}.inline-choice{background:var(--surface-2);vertical-align:middle;border-radius:3px;margin:0 4px;line-height:1.2;position:relative;box-shadow:0 1px 2px #0000000a}.inline-choice button{cursor:pointer;color:var(--ink);background:0 0;border:0;border-radius:2px;padding:6px 11px;font-size:14px;font-weight:600;transition:all .15s}.inline-choice button.selected{background:var(--primary);color:#fff}.inline-choice i{background:var(--primary);width:1.5px;height:18px}@supports (color:color-mix(in lab, red, red)){.inline-choice i{background:color-mix(in srgb, var(--primary) 65%, #1e293b)}}.inline-choice i{opacity:.75;border-radius:1px}.inline-choice.correct{border-color:var(--green);background:var(--green-soft)}.inline-choice.wrong{border-color:var(--rose);background:var(--rose-soft)}.inline-choice small{color:var(--green);white-space:nowrap;font-size:10px;font-weight:700;position:absolute;top:100%;right:0}.passage-submit{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;margin-top:30px;padding-top:20px;font-size:12px;display:flex}.passage-score{background:var(--green-soft);color:var(--green);border-radius:2px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin-top:18px;padding:16px 20px;display:grid}.passage-score div{flex-direction:column;display:flex}.passage-score span{color:var(--ink);opacity:.85;font-size:12px}.passage-score button{color:var(--green);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;font-weight:700;display:flex}.passage-score svg{width:20px}@media (width<=1050px){.grammar-topic-grid,.grammar-question-layout{grid-template-columns:1fr}.question-drawer{order:-1}.question-drawer>div{grid-template-columns:repeat(8,1fr)}}@media (width<=720px){.grammar-hero{grid-template-columns:1fr;gap:25px;padding:30px 24px}.grammar-hero h1{font-size:30px}.grammar-overview{min-width:0}.grammar-section-title{flex-direction:column;align-items:flex-start}.grammar-topic-card{grid-template-columns:38px 1fr;padding:18px}.grammar-topic-card>svg{display:none}.grammar-hub-head{grid-template-columns:auto 1fr;padding:24px}.grammar-hub-stat{border-top:1px solid #ffffff26;border-left:0;grid-column:1/-1;padding:15px 0 0}.grammar-activity-list>button{grid-template-columns:35px 1fr auto}.activity-icon{display:none}.grammar-exercise-header{grid-template-columns:38px 1fr;padding:0 14px}.exercise-brand{display:none}.pdf-toolbar{flex-direction:column;align-items:flex-start}.pdf-toolbar>div:last-child{flex-wrap:wrap}.pdf-frame{height:70vh}.grammar-question-layout{width:calc(100% - 24px);padding-top:22px}.grammar-question-card{padding:24px 18px}.grammar-question-card h1{font-size:20px}.grammar-options{grid-template-columns:1fr}.question-drawer>div{grid-template-columns:repeat(6,1fr)}.choice-card,.order-card,.fill-card,.passage-card{padding:26px 18px}.choice-card h1{font-size:22px}.inline-sentence{margin-top:30px;font-size:16px}.passage-text{font-size:15px;line-height:3.2}.passage-score{display:flex}}.parts-page{padding-bottom:60px}.parts-hero{color:#fff;background:linear-gradient(115deg,#112a24 0 58%,#183c34 58%);border-radius:4px;grid-template-columns:1fr auto;align-items:center;gap:40px;min-height:265px;padding:42px;display:grid;position:relative;overflow:hidden}.parts-hero:after{content:"7";color:#ffffff09;pointer-events:none;font:800 330px/1 Manrope,sans-serif;position:absolute;top:-90px;right:20%}.parts-hero>*{z-index:1;position:relative}.parts-hero .eyebrow{color:#74dec3;letter-spacing:1.5px;font-size:11px;font-weight:800}.parts-hero h1{letter-spacing:-1.8px;margin:10px 0;font-size:clamp(32px,4vw,44px);line-height:1.15}.parts-hero p{color:#adc0ba;max-width:670px;margin:0;font-size:14px;line-height:1.6}.parts-hero-stats{background:#ffffff0d;border:1px solid #ffffff24;border-radius:4px;grid-template-columns:auto 1fr;gap:8px 14px;min-width:210px;padding:20px;display:grid}.parts-hero-stats strong{color:#6ed7bc;font-family:Manrope,sans-serif;font-size:28px;font-weight:800}.parts-hero-stats span{color:#a7bbb4;letter-spacing:1px;align-self:center;font-size:9px;font-weight:700}.parts-title{justify-content:space-between;align-items:flex-end;margin:40px 0 20px;display:flex}.parts-title h2{letter-spacing:-.5px;margin:5px 0 0;font-size:26px}.parts-title>span{color:var(--muted);font-size:12px}.parts-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.part-card{border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;border-radius:4px;grid-template-columns:54px 1fr auto;gap:16px;min-height:172px;padding:22px;transition:all .2s;display:grid}.part-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 14px #0000000a}.part-card>svg{width:18px;color:var(--muted);align-self:center}.part-card-number{width:52px;height:52px;color:var(--blue,#276b8b);background:var(--blue-soft,#e6f2f7);border-radius:4px;place-items:center;font:800 16px Manrope,sans-serif;display:grid}.part-card-number.reading{color:var(--amber,#c46a2d);background:var(--amber-soft,#fff0e4)}.part-card-info>span{color:var(--muted);letter-spacing:1px;font-size:9px;font-weight:800}.part-card-info h3{margin:5px 0 2px;font-size:17px;font-weight:700}.part-card-info>strong{color:var(--primary);font-size:12px;display:block}.part-card-info p{color:var(--muted);margin:8px 0;font-size:12px;line-height:1.45}.part-card-info small{color:var(--ink);font-size:11px;font-weight:700}.part-topic-head{color:#fff;background:var(--navy,#12211c);border-radius:4px;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;min-height:175px;padding:30px 34px;display:grid}.part-topic-badge{background:var(--primary);border-radius:4px;place-items:center;width:68px;height:68px;font:800 23px Manrope,sans-serif;display:grid}.part-topic-head .eyebrow{color:#71d8bd;letter-spacing:1.2px;font-size:10px;font-weight:800}.part-topic-head h1{letter-spacing:-.8px;margin:5px 0;font-size:28px}.part-topic-head p{color:#a8bbb4;margin:0;font-size:13px}.practice-zone-btn{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:4px;align-items:center;gap:8px;height:40px;padding:0 16px;font-size:13px;font-weight:700;transition:all .2s;display:inline-flex}.practice-zone-btn:hover{background:#ffffff24;border-color:#ffffff4d}.practice-zone-btn svg{color:#f59e0b;width:15px;height:15px}.practice-zone-btn span{color:#fff;letter-spacing:.3px;font-size:13px;font-weight:700}.part-topic-list{grid-template-columns:1fr 1fr;gap:10px;display:grid}.part-topic-list>button{border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;border-radius:4px;grid-template-columns:34px 1fr auto;align-items:center;gap:14px;min-height:78px;padding:14px 18px;transition:all .2s;display:grid}.part-topic-list>button:hover{border-color:var(--primary);transform:translateY(-1px)}.part-topic-list>button>span{background:var(--surface-2);width:32px;height:32px;color:var(--muted);border-radius:2px;place-items:center;font:800 11px Manrope,sans-serif;display:grid}.part-topic-list>button>div{flex-direction:column;display:flex}.part-topic-list strong{color:var(--ink);font-size:13px}.part-topic-list small{color:var(--muted);margin-top:2px;font-size:11px}.part-topic-list svg{width:16px;color:var(--muted)}.part-topic-list .topic-done{color:var(--green)}.practice-modal{text-align:left;max-width:460px}.practice-modal .modal-icon{background:var(--amber-soft);width:48px;height:48px;color:var(--amber);border-radius:6px;place-items:center;margin-bottom:16px;margin-left:0;display:grid}.practice-modal h2{margin:6px 0 10px;font-size:20px}.practice-modal p{color:var(--muted);font-size:13px;line-height:1.6}.practice-modal .button{margin-top:20px}.part-hub-head{background:var(--navy,#12211c);color:#fff;border-radius:4px;justify-content:space-between;align-items:center;min-height:170px;padding:35px 40px;display:flex}.part-hub-head span{color:#6ed7bc;letter-spacing:1.2px;font-size:10px;font-weight:800}.part-hub-head h1{letter-spacing:-.6px;margin:7px 0;font-size:28px}.part-hub-head p{color:#a8bbb4;margin:0;font-size:14px}.part-hub-head>svg{color:#68d2b6;background:#ffffff0f;border-radius:6px;width:65px;height:65px;padding:17px}.part-activity-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.part-activity-grid>button{border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;border-radius:4px;min-height:205px;padding:28px;transition:all .2s;position:relative}.part-activity-grid>button:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 14px #0000000a}.part-activity-grid>button>div{width:46px;height:46px;color:var(--primary);background:var(--primary-soft);border-radius:4px;place-items:center;display:grid}.part-activity-grid>button>div svg{width:20px}.part-activity-grid>button>span{color:var(--primary);letter-spacing:1px;margin-top:17px;font-size:9px;font-weight:800;display:block}.part-activity-grid h3{margin:5px 0;font-size:18px}.part-activity-grid p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.part-activity-grid>button>svg{width:18px;color:var(--muted);position:absolute;top:22px;right:22px}.part-activity-grid>button>svg.done-icon{color:var(--green)}.part-audio{border:1px solid var(--line);background:var(--surface);border-radius:4px;grid-template-columns:42px 48px 48px 1fr auto auto 34px;align-items:center;gap:10px;min-height:64px;padding:10px 14px;display:grid}.part-audio button{color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:3px;font-size:10px;font-weight:700;display:flex}.part-audio button:hover{color:var(--primary)}.part-audio button svg{width:16px}.part-audio .part-play{color:#fff;background:var(--primary);border-radius:50%;place-items:center;width:40px;height:40px;transition:all .2s;display:grid}.part-audio .part-play:hover{background:var(--primary-dark)}.audio-track{align-items:center;height:24px;display:flex;position:relative}.audio-track:before{content:"";background:var(--line);border-radius:2px;height:4px;position:absolute;inset:10px 0 auto}.audio-track i{background:var(--primary);border-radius:2px;height:4px;position:absolute;top:10px;left:0}.audio-track input{opacity:0;cursor:pointer;z-index:1;width:100%}.part-audio>span{color:var(--muted);white-space:nowrap;font-family:monospace;font-size:10px}.part-audio select{border:1px solid var(--line);background:var(--surface);height:30px;color:var(--ink);border-radius:2px;padding:0 4px;font-size:11px}.photo-exercise{grid-template-columns:1.1fr 1fr;align-items:flex-start;gap:24px;width:min(1120px,100% - 40px);margin:0 auto;padding:24px 0 16px;display:grid}.photo-pane{border:1px solid var(--line);background:var(--surface);cursor:zoom-in;border-radius:4px;justify-content:center;align-items:center;width:100%;height:480px;min-height:480px;max-height:480px;padding:0;display:flex;position:relative;overflow:hidden}.photo-pane img{object-fit:contain;background:#f8faf9;width:100%;height:100%}.photo-pane span{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f1e19d9;border-radius:4px;align-items:center;gap:6px;padding:8px 12px;font-size:11px;display:flex;position:absolute;bottom:12px;right:12px}.photo-pane span svg{width:15px}.photo-exercise>section{background:var(--surface);border:1px solid var(--line);box-sizing:border-box;border-radius:4px;height:480px;min-height:480px;max-height:480px;padding:26px 28px;overflow-y:auto}.photo-exercise h1{margin:10px 0 16px;font-size:22px}.photo-exercise .part-options{gap:10px;margin-top:18px;display:grid}.photo-exercise .part-options button{min-height:48px;padding:10px 16px}.part-options{gap:10px;margin-top:20px;display:grid}.part-options button{border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;border-radius:4px;align-items:center;gap:14px;min-height:52px;padding:10px 16px;transition:all .15s;display:flex}.part-options button:hover:not(:disabled){border-color:var(--primary)}.part-options button>span{background:var(--surface-2);width:32px;height:32px;color:var(--ink);border-radius:4px;flex-shrink:0;place-items:center;font:800 13px Manrope,sans-serif;display:grid}.part-options button>svg{flex-shrink:0;width:18px;margin-left:auto}.part-options button.correct{color:var(--green);border-color:var(--green);background:var(--green-soft)}.part-options button.wrong{color:var(--rose);border-color:var(--rose);background:var(--rose-soft);animation:.3s shake}.question-card-header{justify-content:space-between;align-items:center;min-height:24px;display:flex}.question-card-header .eyebrow{margin:0}.explanation-text-btn{color:var(--primary);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;margin:0;padding:0;font-size:12.5px;font-weight:700;transition:color .15s;display:inline-flex}.explanation-text-btn:hover{color:var(--primary-dark);text-decoration:underline}.explanation-toggle-btn{background:var(--surface-2);border:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;border-radius:4px;justify-content:space-between;align-items:center;padding:9px 14px;font-size:13px;font-weight:700;transition:all .15s;display:flex}.explanation-toggle-btn:hover{background:var(--amber-soft);border-color:var(--amber)}@supports (color:color-mix(in lab, red, red)){.explanation-toggle-btn:hover{border-color:color-mix(in srgb, var(--amber) 40%, var(--line))}}.explanation-toggle-btn:hover{color:var(--amber)}.explanation-toggle-btn>div{align-items:center;gap:8px;display:flex}.part-explanation{background:var(--amber-soft);border:1px solid var(--amber);border-radius:4px;margin-top:10px;padding:18px 20px}@supports (color:color-mix(in lab, red, red)){.part-explanation{border:1px solid color-mix(in srgb, var(--amber) 25%, transparent)}}.part-explanation strong{color:var(--amber);margin-bottom:8px;font-size:16px;font-weight:800;display:block}.part-explanation p,.part-explanation .explanation-transcript,.part-explanation .explanation-text{color:var(--ink);white-space:pre-line;margin:6px 0;font-size:15.5px;line-height:1.7}.part-explanation .explanation-transcript{color:var(--ink);border-bottom:1px dashed var(--amber);padding-bottom:10px;font-weight:600}@supports (color:color-mix(in lab, red, red)){.part-explanation .explanation-transcript{border-bottom:1px dashed color-mix(in srgb, var(--amber) 30%, transparent)}}.part-explanation .explanation-transcript{white-space:pre-line;margin-bottom:10px}.part-explanation span,.part-explanation small{color:var(--muted);white-space:pre-line;margin-top:6px;font-size:14.5px;line-height:1.6;display:block}.part-exercise-footer{justify-content:center;width:min(1120px,100% - 40px);margin:10px auto 16px;display:flex}.image-modal{z-index:100;cursor:zoom-out;background:#0a1411e6;place-items:center;padding:40px;display:grid;position:fixed;inset:0}.image-modal img{object-fit:contain;border-radius:4px;max-width:90vw;max-height:85vh}.image-modal button{cursor:pointer;background:#fff;border:0;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:24px;right:24px}.part2-main{text-align:center;width:min(780px,100% - 36px);margin:0 auto;padding:28px 0 10px}.part2-main>h1{margin:8px 0 18px;font-size:24px}.audio-stage{background:var(--navy,#12211c);color:#fff;border-radius:4px;margin:18px 0 20px;padding:28px 32px}.audio-stage>svg{color:#68d2b6;width:44px;height:44px;margin:0 auto 14px;display:block}.audio-stage .part-audio{color:var(--ink)}.part2-main .part-options{gap:10px;margin-top:18px}.part2-main .part-options button{min-height:50px;padding:10px 16px}.part2-transcript{text-align:left;background:var(--amber-soft);border:1px solid var(--amber);margin-top:12px;padding:20px}@supports (color:color-mix(in lab, red, red)){.part2-transcript{border:1px solid color-mix(in srgb, var(--amber) 25%, transparent)}}.part2-transcript{border-radius:4px}.part2-transcript>strong{color:var(--ink);font-size:15px;line-height:1.6;display:block}.part2-transcript>p{color:var(--muted);white-space:pre-line;margin:6px 0 12px;font-size:14px;line-height:1.6}.part2-transcript .explanation-transcript{white-space:pre-line;color:var(--ink);font-size:14.5px;line-height:1.65}.part2-transcript .explanation-text{color:var(--ink);border-top:1px dashed var(--amber);margin-top:10px;padding-top:10px;font-size:14.5px;line-height:1.65}@supports (color:color-mix(in lab, red, red)){.part2-transcript .explanation-text{border-top:1px dashed color-mix(in srgb, var(--amber) 30%, transparent)}}.part2-transcript .explanation-text{white-space:pre-line}.listening-group{grid-template-columns:.9fr 1.1fr;align-items:start;gap:20px;width:min(1200px,100% - 40px);margin:0 auto;padding:16px 0 10px;display:grid}.listening-media{background:var(--surface);border:1px solid var(--line);border-radius:4px;max-height:calc(100vh - 215px);padding:24px 28px;position:sticky;top:24px;overflow-y:auto}.group-questions{background:var(--surface);border:1px solid var(--line);border-radius:4px;max-height:calc(100vh - 215px);padding:24px 28px;overflow-y:auto}.listening-media h1{margin:8px 0 20px;font-size:22px}.schedule-visual{background:var(--surface-2);border-radius:4px;align-items:center;gap:14px;margin-top:18px;padding:16px;display:flex}.schedule-visual>svg{color:var(--primary);width:24px;height:24px}.schedule-visual>div{flex-direction:column;display:flex}.schedule-visual strong{font-size:12px}.schedule-visual span{color:var(--muted);font-size:11px}.transcript-toggle{color:var(--primary);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;margin-top:18px;font-size:12px;font-weight:700;display:flex}.transcript-toggle svg{width:17px}.group-transcript{background:var(--amber-soft);border:1px solid var(--amber);margin-top:14px;padding:20px}@supports (color:color-mix(in lab, red, red)){.group-transcript{border:1px solid color-mix(in srgb, var(--amber) 25%, transparent)}}.group-transcript{border-radius:4px}.group-transcript strong{color:var(--amber);margin-bottom:8px;font-size:16px;font-weight:800;display:block}.group-transcript p{color:var(--ink);white-space:pre-line;margin:0 0 12px;font-size:15.5px;line-height:1.75}.group-transcript span{color:var(--muted);white-space:pre-line;font-size:15px;line-height:1.7;display:block}.group-question{border-bottom:1px solid var(--line);margin-bottom:22px;padding:0 0 22px}.group-question:last-of-type{border-bottom:0;margin-bottom:10px}.group-question>span,.reading-question>span{color:var(--primary);letter-spacing:1px;font-size:9px;font-weight:800}.group-question h3,.reading-question h3{color:var(--ink);margin:8px 0 14px;font-size:16px;line-height:1.5}.group-options-grid,.reading-options-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.group-options-grid button,.reading-options-grid button{border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;border-radius:4px;align-items:center;gap:12px;min-height:48px;padding:10px 14px;font-size:14px;transition:all .15s;display:flex}.group-options-grid button b,.reading-options-grid button b{background:var(--surface-2);border-radius:4px;flex-shrink:0;place-items:center;width:28px;height:28px;font:800 12px Manrope,sans-serif;display:grid}.group-options-grid button.selected,.reading-options-grid button.selected{border-color:var(--primary);background:var(--primary-soft)}.group-options-grid button.correct,.reading-options-grid button.correct{color:var(--green);background:var(--green-soft);border-color:var(--green)}.group-options-grid button.wrong,.reading-options-grid button.wrong{color:var(--rose);background:var(--rose-soft);border-color:var(--rose)}.part-explanation-wrapper{width:100%;display:block}.group-submit{width:100%;margin-top:14px}.part-exercise:has(.part5-layout){flex-direction:column;height:100vh;max-height:100vh;display:flex;overflow-y:auto}.part-exercise:has(.part5-layout)>.grammar-exercise-header{flex-shrink:0}.part5-layout{width:min(840px,100% - 40px);margin:auto auto 0;padding:0;display:block}.part-exercise:has(.part5-layout) .part-exercise-footer{margin:20px auto auto}.part5-layout .grammar-question-card,.part5-layout>section{background:var(--surface);border:1px solid var(--line);box-sizing:border-box;border-radius:4px;max-height:calc(100vh - 200px);padding:36px 40px;overflow-y:auto}.part5-layout h1{margin:16px 0 24px;font-size:22px;line-height:1.6}.reading-layout{grid-template-columns:1fr 1fr;height:calc(100vh - 72px);display:grid}.passage-pane,.reading-questions{height:100%;padding:42px clamp(25px,4vw,55px);overflow-y:auto}.passage-pane{background:var(--surface);border-right:1px solid var(--line)}.document-label{color:var(--primary);letter-spacing:1.3px;font-size:10px;font-weight:800}.passage-pane h1{margin:10px 0 20px;font-size:24px}.passage-pane p{color:var(--ink);white-space:pre-line;font-size:15px;line-height:1.85}.passage-box{background:var(--surface);border:1px solid var(--line);color:var(--ink);white-space:pre-line;border-radius:4px;margin-top:14px;padding:22px 24px;font-size:15.5px;line-height:1.85;box-shadow:0 1px 3px #00000005}.passage-pane mark{background:var(--primary-soft);color:var(--primary);border-radius:2px;padding:1px 4px}.passage-pane>button{color:var(--primary);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;margin-top:20px;font-size:12px;font-weight:700;display:flex}.passage-pane>button svg{width:17px}.passage-translation{color:var(--muted);background:var(--surface-2);white-space:pre-line;border-radius:4px;margin-top:16px;padding:18px;font-size:13px;line-height:1.7}.reading-questions{background:var(--bg)}.reading-question{background:var(--surface);border:1px solid var(--line);border-radius:4px;margin-bottom:24px;padding:22px}.reading-question button{width:100%;margin-top:7px}.reading-questions>.button{width:100%}.reading-result{color:var(--green);background:var(--green-soft);border-radius:4px;margin-top:16px;padding:16px;font-size:13px;font-weight:600}@media (width<=1050px){.parts-grid,.part-topic-list,.listening-group,.part5-layout{grid-template-columns:1fr}.part5-layout .question-drawer{order:-1}}@media (width<=720px){.parts-hero{grid-template-columns:1fr;gap:22px;padding:30px 24px}.parts-hero h1{font-size:30px}.parts-hero-stats{min-width:0}.parts-title{flex-direction:column;align-items:flex-start}.part-card{grid-template-columns:47px 1fr}.part-card>svg{display:none}.part-topic-head{grid-template-columns:auto 1fr;padding:24px}.practice-zone-btn{grid-column:1/-1}.part-hub-head{padding:27px 23px}.part-hub-head>svg{display:none}.part-activity-grid{grid-template-columns:1fr}.part-audio{grid-template-columns:38px 36px 36px 1fr 31px}.part-audio>span,.part-audio select{display:none}.photo-exercise{grid-template-columns:1fr;width:calc(100% - 24px);padding-top:22px}.photo-pane{min-height:360px}.photo-exercise>section{padding:22px 17px}.part2-transcript>div{grid-template-columns:25px 1fr;padding:9px 0}.part2-transcript small{grid-column:2}.group-question>div{grid-template-columns:1fr}.listening-group{width:calc(100% - 24px);padding-top:22px}.listening-media,.group-questions{padding:20px 16px}.part5-layout{width:calc(100% - 24px);padding-top:22px}.part5-layout>section{padding:25px 17px}.part5-layout h1{font-size:21px}.reading-layout{grid-template-columns:1fr;height:auto}.passage-pane,.reading-questions{padding:30px 20px;overflow:visible}.passage-pane{border-right:0;border-bottom:1px solid var(--line)}}.dictation-hub{flex-direction:column;gap:24px;display:flex}.dictation-hero{background:var(--surface);border:1px solid var(--line);border-radius:6px;justify-content:space-between;align-items:center;gap:32px;padding:36px 32px;display:flex}.dictation-hero-left{max-width:600px}.dictation-hero-left h1{color:var(--text);margin:8px 0 12px;font-size:28px;font-weight:700;line-height:1.25}.dictation-hero-left p{color:var(--muted);font-size:14px;line-height:1.6}.dictation-hero-stats{gap:20px;display:flex}.dictation-hero-stats>div{background:var(--surface-2);border:1px solid var(--line);border-radius:4px;flex-direction:column;align-items:center;min-width:110px;padding:18px 24px;display:flex}.dictation-hero-stats strong{color:var(--primary);font-size:24px;font-weight:800}.dictation-hero-stats span{color:var(--muted);letter-spacing:.5px;margin-top:4px;font-size:11px;font-weight:600}.dictation-stats{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.dictation-stat-card{background:var(--surface);border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:6px;padding:18px 20px;display:flex}.dictation-stat-card span{color:var(--muted);letter-spacing:.5px;font-size:11px;font-weight:600}.dictation-stat-card strong{color:var(--text);font-size:22px;font-weight:700}.dictation-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.dictation-tabs{flex-wrap:wrap;gap:8px;display:flex}.dictation-tabs button{background:var(--surface);border:1px solid var(--line);color:var(--muted);cursor:pointer;border-radius:4px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .2s}.dictation-tabs button:hover{background:var(--surface-2);color:var(--text)}.dictation-tabs button.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}.dictation-search{background:var(--surface);border:1px solid var(--line);border-radius:4px;align-items:center;gap:8px;min-width:260px;padding:7px 12px;display:flex}.dictation-search input{color:var(--text);background:0 0;border:none;outline:none;width:100%;font-size:13px}.dictation-search input::placeholder{color:var(--muted)}.dictation-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;display:grid}.dictation-card{background:var(--surface);border:1px solid var(--line);cursor:pointer;text-align:left;border-radius:0;grid-template-columns:44px 1fr auto;align-items:center;gap:16px;padding:20px;transition:all .2s;display:grid}.dictation-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.dictation-test-no{background:var(--surface-2);border:1px solid var(--line);width:44px;height:44px;color:var(--primary);border-radius:0;justify-content:center;align-items:center;font-size:16px;font-weight:800;display:flex}.dictation-card-body{flex-direction:column;gap:4px;min-width:0;display:flex}.dictation-card-category{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.dictation-card-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:15px;font-weight:600;overflow:hidden}.dictation-card-desc{color:var(--muted);margin:0;font-size:12px}.dictation-card-progress{background:var(--surface-2);border-radius:0;height:4px;margin-top:6px;overflow:hidden}.dictation-card-progress i{background:var(--primary);border-radius:0;height:100%;transition:width .3s;display:block}.dictation-card-meta{color:var(--muted);font-size:11px}.dictation-card-arrow{color:var(--muted);transition:transform .2s}.dictation-card:hover .dictation-card-arrow{color:var(--primary);transform:translate(3px)}.dictation-test{flex-direction:column;gap:24px;display:flex}.dictation-test-head{background:var(--surface);border:1px solid var(--line);border-radius:0;align-items:center;gap:24px;padding:32px;display:flex}.test-head-number{background:var(--surface-2);border:1px solid var(--line);width:60px;height:60px;color:var(--primary);border-radius:0;justify-content:center;align-items:center;font-size:24px;font-weight:800;display:flex}.test-head-info{flex:1}.test-head-info h1{color:var(--text);margin:6px 0 8px;font-size:24px;font-weight:700}.test-head-info p{color:var(--muted);margin:0;font-size:14px}.test-head-stat{background:var(--surface-2);border:1px solid var(--line);border-radius:0;flex-direction:column;align-items:center;min-width:120px;padding:16px 20px;display:flex}.test-head-stat strong{color:var(--primary);font-size:22px;font-weight:800}.test-head-stat span{color:var(--muted);margin-top:4px;font-size:11px;font-weight:600}.dictation-part-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px;display:grid}.dictation-part-card{background:var(--surface);border:1px solid var(--line);cursor:pointer;text-align:left;border-radius:0;flex-direction:column;gap:10px;padding:24px;transition:all .2s;display:flex;position:relative}.dictation-part-card:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:0 4px 12px #0000000d}.dictation-part-icon{background:var(--surface-2);width:40px;height:40px;color:var(--primary);border-radius:0;justify-content:center;align-items:center;display:flex}.dictation-part-badge{color:var(--primary);letter-spacing:.5px;font-size:11px;font-weight:700}.dictation-part-name{color:var(--text);margin:0;font-size:17px;font-weight:700}.dictation-part-desc{color:var(--muted);margin:0;font-size:13px}.dictation-part-meta{color:var(--muted);font-size:11px}.dictation-part-arrow{color:var(--muted);position:absolute;top:24px;right:20px}.dictation-fullscreen-arena{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.dictation-arena-header{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;display:flex}.arena-header-left{align-items:center;gap:16px;display:flex}.arena-title-info{align-items:center;gap:10px;display:flex}.arena-part-tag{background:var(--surface-2);border:1px solid var(--line);color:var(--primary);border-radius:4px;padding:4px 8px;font-size:11px;font-weight:700}.arena-title-info h2{color:var(--text);margin:0;font-size:15px;font-weight:600}.dictation-mode-toggle{background:var(--surface-2);border:1px solid var(--line);border-radius:4px;gap:2px;padding:3px;display:flex}.dictation-mode-toggle button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:3px;padding:6px 14px;font-size:12px;font-weight:500;transition:all .15s}.dictation-mode-toggle button:hover{color:var(--text)}.dictation-mode-toggle button.active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 3px #00000014}.arena-header-right{align-items:center;gap:8px;display:flex}.dictation-player-container{background:var(--surface);border-bottom:1px solid var(--line);padding:12px 24px}.dictation-audio-player{max-width:800px;margin:0 auto}.dictation-audio-controls{align-items:center;gap:14px;display:flex}.audio-btn-play{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;transition:transform .15s,background .15s;display:flex}.audio-btn-play:hover{transform:scale(1.05)}.audio-btn-rewind{background:var(--surface-2);border:1px solid var(--line);color:var(--muted);cursor:pointer;border-radius:4px;flex-shrink:0;align-items:center;gap:4px;padding:7px 10px;font-size:11px;font-weight:600;transition:all .15s;display:flex}.audio-btn-rewind:hover{color:var(--text);background:var(--surface)}.audio-progress-wrap{cursor:pointer;flex:1;align-items:center;gap:12px;padding:6px 0;display:flex}.audio-progress-bar{background:var(--line,#cbd5e1);cursor:pointer;border:1px solid #00000014;border-radius:4px;flex:1;height:8px;transition:background .15s;position:relative}.audio-progress-wrap:hover .audio-progress-bar{background:#94a3b8}.audio-progress-fill{background:var(--primary,#059669);pointer-events:none;border-radius:4px;height:100%}.audio-progress-thumb{background:var(--primary,#059669);pointer-events:none;border:2px solid #fff;border-radius:50%;width:14px;height:14px;transition:transform .1s;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 1px 3px #00000059}.audio-progress-wrap:hover .audio-progress-thumb{transform:translate(-50%,-50%)scale(1.25)}.audio-time-label{color:var(--muted);flex-shrink:0;gap:4px;font-family:monospace;font-size:11px;display:flex}.audio-extra-controls{flex-shrink:0;align-items:center;gap:8px;display:flex}.audio-speed-dropdown-container{position:relative}.audio-speed-trigger-btn{background:var(--surface);border:1px solid var(--line);color:var(--text);cursor:pointer;border-radius:4px;align-items:center;gap:4px;padding:6px 10px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.audio-speed-trigger-btn:hover{background:var(--surface-2);border-color:var(--primary)}.audio-speed-menu{background:var(--surface);border:1px solid var(--line);z-index:100;border-radius:4px;flex-direction:column;min-width:80px;display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 6px 16px #0000001f}.speed-option-item{color:var(--text);text-align:center;cursor:pointer;background:0 0;border:none;padding:6px 12px;font-size:12px;font-weight:500;transition:background .15s,color .15s}.speed-option-item:hover{background:var(--surface-2)}.speed-option-item.active{background:var(--primary);color:#fff;font-weight:700}.audio-btn-loop{background:var(--surface);border:1px solid var(--line);width:32px;height:32px;color:var(--muted);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex}.audio-btn-loop.active{background:var(--surface-2);color:var(--primary);border-color:var(--primary)}.dictation-pagination-bar{background:var(--surface);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:8px 24px;display:flex}.dictation-page-grid{flex-wrap:wrap;gap:6px;display:flex}.page-num-btn{background:var(--surface);border:1px solid var(--line);width:32px;height:32px;color:var(--muted);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;font-size:12px;font-weight:600;transition:all .15s;display:flex}.page-num-btn:hover{border-color:var(--primary);color:var(--text)}.page-num-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.pagination-count-label{color:var(--muted);font-size:12px}.pagination-count-label strong{color:var(--text)}.dictation-canvas{flex:1;justify-content:center;align-items:flex-start;padding:36px 24px;display:flex}.dictation-interactive-card,.shadowing-card{background:var(--surface);border:1px solid var(--line);border-radius:6px;flex-direction:column;gap:28px;width:min(840px,100%);padding:36px 32px;display:flex}.tokens-stream{color:var(--text);word-break:break-word;font-size:17px;line-height:2.3}.static-token{color:var(--text)}.option-token{color:var(--primary);margin-right:4px;font-weight:700;display:inline-block}.blank-token-wrapper{vertical-align:middle;align-items:center;margin:0 2px;display:inline-flex}.dictation-gap-input{background:var(--surface);border:1px solid var(--line);height:36px;color:var(--text);text-align:center;border-radius:4px;outline:none;padding:4px 8px;font-family:inherit;font-size:15px;font-weight:600;transition:all .15s}.dictation-gap-input:focus{border-color:var(--primary);box-shadow:0 0 0 2px #3b82f633}.dictation-gap-input.correct{border-color:var(--green);color:var(--green);background:#10b98114}.dictation-gap-input.incorrect{border-color:var(--rose);color:var(--rose);background:#f43f5e14}.dictation-gap-input.revealed{border-color:var(--amber);color:var(--amber);background:#f59e0b14}.blank-token-wrapper .punct{color:var(--text);font-weight:500}.dictation-translation-box{background:var(--surface-2);border:1px solid var(--line);border-radius:4px;padding:16px 20px}.dictation-translation-box p{color:var(--text);white-space:pre-line;margin:6px 0 0;font-size:14px;line-height:1.6}.dictation-canvas-helpers{border-top:1px solid var(--line);flex-wrap:wrap;gap:12px;padding-top:12px;display:flex}.helper-btn{background:var(--surface-2);border:1px solid var(--line);color:var(--muted);cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.helper-btn:hover{background:var(--surface);color:var(--text);border-color:var(--primary)}.shadowing-section{flex-direction:column;gap:8px;display:flex}.shadowing-section .section-label{color:var(--primary);letter-spacing:.5px;font-size:11px;font-weight:700}.shadowing-text{color:var(--text);white-space:pre-line;margin:0;font-size:17px;line-height:1.8}.shadowing-text.vi{color:var(--muted);font-size:15px}.dictation-footer{background:var(--surface);border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.footer-nav-btn{align-items:center;gap:6px;display:flex}.footer-center-status{color:var(--muted);font-size:13px}.footer-center-status strong{color:var(--primary);font-size:15px}.footer-right-actions{align-items:center;gap:12px;display:flex}.check-btn{align-items:center;gap:6px;display:flex}.shortcut-modal{max-width:520px}.shortcuts-list{flex-direction:column;gap:10px;margin-top:16px;display:flex}.shortcuts-list p{background:var(--surface-2);border:1px solid var(--line);border-radius:4px;justify-content:space-between;align-items:center;margin:0;padding:8px 12px;display:flex}.shortcuts-list kbd{background:var(--surface);border:1px solid var(--line);color:var(--primary);border-radius:3px;padding:3px 8px;font-family:monospace;font-size:12px;font-weight:600}.shortcuts-list span{color:var(--muted);font-size:12px}.completion-modal{text-align:center;max-width:440px}.completion-modal .modal-icon{margin:0 auto 16px}.completion-modal h2{margin:8px 0;font-size:20px}.completion-modal p{color:var(--muted);margin:0 0 20px;font-size:14px}.completion-modal .modal-actions{justify-content:center;gap:12px;display:flex}@media (width<=768px){.dictation-hero{flex-direction:column;align-items:flex-start;padding:24px 20px}.dictation-hero-stats{width:100%}.dictation-hero-stats>div{flex:1}.dictation-stats{grid-template-columns:1fr}.dictation-toolbar{flex-direction:column;align-items:stretch}.dictation-search{width:100%}.dictation-arena-header{flex-direction:column;align-items:stretch}.dictation-mode-toggle{justify-content:center;width:100%}.dictation-audio-controls{flex-wrap:wrap}.dictation-interactive-card,.shadowing-card{padding:24px 18px}}.test-hub{padding-bottom:60px}.test-hero{color:#fff;background:linear-gradient(135deg,#102d27 0%,#173c34 100%);border-radius:6px;justify-content:space-between;align-items:center;gap:32px;min-height:240px;padding:36px 40px;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 16px #0000000f}.test-hero:after{content:"990";color:#ffffff0a;pointer-events:none;font:800 160px/1 Manrope,sans-serif;position:absolute;top:-25px;right:6%}.test-hero .eyebrow{color:#73d9be;letter-spacing:1px;font-size:11px;font-weight:800}.test-hero h1{letter-spacing:-.5px;margin:10px 0;font-size:32px;line-height:1.2}.test-hero p{color:#c4d7d1;max-width:650px;margin:0;font-size:14px;line-height:1.5}.test-hero-badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff0d;border:1px solid #ffffff2e;border-radius:4px;flex-shrink:0;grid-template-columns:auto 1fr;gap:6px 12px;min-width:180px;padding:16px 20px;display:grid}.test-hero-badge strong{color:#72d9bd;font-size:24px;font-weight:800;line-height:1}.test-hero-badge span{color:#a8bbb5;letter-spacing:.8px;align-self:center;font-size:11px;font-weight:700}.test-stats{border:1px solid var(--line);background:var(--surface);border-top:0;border-radius:0 0 6px 6px;grid-template-columns:repeat(3,1fr);display:grid}.test-stats>div{border-right:1px solid var(--line);flex-direction:column;justify-content:center;min-height:80px;padding:16px 24px;display:flex}.test-stats>div:last-child{border-right:0}.test-stats span{color:var(--muted);letter-spacing:.8px;font-size:11px;font-weight:700}.test-stats strong{color:var(--text);margin-top:4px;font-size:20px;font-weight:700;display:block}.test-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:28px 0 16px;display:flex}.test-series-tabs{flex-wrap:wrap;gap:4px;display:flex}.test-series-tabs button{border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:4px;padding:8px 12px;font-size:12px;font-weight:600;transition:all .15s}.test-series-tabs button:hover{color:var(--text);border-color:var(--primary)}.test-series-tabs button.active{color:#fff;background:var(--primary);border-color:var(--primary)}.test-toolbar-right{align-items:center;gap:8px;display:flex}.test-search-box{background:var(--surface);border:1px solid var(--line);border-radius:0;align-items:center;gap:8px;width:240px;height:38px;padding:0 12px;display:flex}.test-search-box svg{color:var(--muted);flex-shrink:0}.test-search-box input{width:100%;color:var(--text);background:0 0;border:none;outline:none;font-size:13px}.test-status-select{border:1px solid var(--line);background:var(--surface);height:38px;color:var(--text);cursor:pointer;border-radius:0;padding:0 10px;font-size:12px;font-weight:500}.test-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;display:grid}.test-card{text-align:left;background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:0;grid-template-columns:44px 1fr auto;align-items:center;gap:14px;min-height:110px;padding:16px 18px;transition:all .15s;display:grid}.test-card:hover{border-color:var(--primary);transform:translateY(-1px);box-shadow:0 4px 12px #0000000d}.test-card-number{width:44px;height:44px;color:var(--primary);background:var(--surface-2);border-radius:0;place-items:center;font-size:13px;font-weight:800;display:grid}.test-card-info span{color:var(--muted);font-size:11px;font-weight:600;display:block}.test-card-info h3{color:var(--text);margin:3px 0 2px;font-size:15px;font-weight:700}.test-card-info p{color:var(--muted);margin:0 0 6px;font-size:12px}.test-best-score{color:var(--muted);font-size:11px}.test-best-score b{color:var(--primary);font-weight:700}.test-no-score{color:var(--muted);font-size:11px}.test-card-arrow{color:var(--muted);transition:transform .15s,color .15s}.test-card:hover .test-card-arrow{color:var(--primary);transform:translate(3px)}.test-detail{padding-bottom:60px}.test-detail .back-link{color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:16px;padding:0;font-size:13px;font-weight:600;transition:color .15s;display:inline-flex}.test-detail .back-link:hover{color:var(--primary)}.test-detail-head{color:#fff;background:var(--navy,#0f172a);border-radius:0;justify-content:space-between;align-items:center;gap:20px;min-height:140px;padding:28px 32px;display:flex}.test-detail-head .eyebrow{color:#71d8bc;letter-spacing:.8px;font-size:11px;font-weight:800}.test-detail-head h1{color:#fff;margin:4px 0 6px;font-size:26px}.test-detail-head p{color:#a7bbb4;margin:0;font-size:13px}.test-detail-stats{text-align:center;border-left:1px solid #ffffff26;flex-shrink:0;padding-left:24px}.test-detail-stats strong{color:#fff;font-size:24px;display:block}.test-detail-stats span{color:#a7bbb4;letter-spacing:.8px;font-size:11px;font-weight:700}.exam-mode-card{background:var(--surface);border:1px solid var(--line);border-radius:0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-top:18px;padding:28px 32px;display:flex}.mode-symbol{width:44px;height:44px;color:var(--primary);background:var(--surface-2);border-radius:0;place-items:center;margin-bottom:12px;display:grid}.exam-mode-card h2,.config-heading h2{color:var(--text);margin:4px 0 6px;font-size:20px;font-weight:700}.exam-mode-card p,.config-heading p{color:var(--muted);margin:0;font-size:13px}.exam-facts{gap:16px;margin-top:14px;display:flex}.exam-facts span{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.exam-facts svg{color:var(--primary)}.practice-config,.attempt-history{background:var(--surface);border:1px solid var(--line);border-radius:0;margin-top:16px;padding:28px 32px}.config-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.part-picker{grid-template-columns:repeat(7,1fr);gap:8px;margin:20px 0;display:grid}@media (width<=992px){.part-picker{grid-template-columns:repeat(4,1fr)}}@media (width<=600px){.part-picker{grid-template-columns:repeat(2,1fr)}}.part-picker button{border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;border-radius:0;align-items:center;gap:8px;min-height:46px;padding:8px 28px 8px 10px;transition:all .15s;display:flex;position:relative}.part-picker button:hover{border-color:var(--primary)}.part-picker button>span{width:26px;height:26px;color:var(--muted);background:var(--surface-2);border-radius:0;flex-shrink:0;place-items:center;font-size:11px;font-weight:700;display:grid}.part-picker strong{color:var(--text);white-space:nowrap;font-size:13px;font-weight:600}.part-picker button.selected{border-color:var(--primary);background:var(--surface-2)}.part-picker button.selected strong,.part-picker button.selected>span{color:var(--primary)}.part-check-icon{color:var(--primary);position:absolute;top:50%;right:8px;transform:translateY(-50%)}.practice-settings{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:18px;display:flex}.practice-settings label{color:var(--muted);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.practice-settings select{border:1px solid var(--line);background:var(--surface);height:38px;color:var(--text);border-radius:0;padding:0 10px;font-size:13px}.practice-toggle-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.practice-toggle-btn i{background:var(--line);border-radius:10px;width:32px;height:18px;transition:background .15s;position:relative}.practice-toggle-btn i:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:left .15s;position:absolute;top:2px;left:2px}.practice-toggle-btn.on i{background:var(--primary)}.practice-toggle-btn.on i:after{left:16px}.attempt-history-list{margin-top:14px}.attempt-history-item{border-top:1px solid var(--line);grid-template-columns:24px 1fr auto auto;align-items:center;gap:14px;min-height:56px;padding:10px 0;transition:background .15s;display:grid}.attempt-history-item:hover{opacity:.85}.attempt-history-item svg{color:var(--muted)}.attempt-info strong{color:var(--text);font-size:13px;display:block}.attempt-info small{color:var(--muted);font-size:11px}.attempt-history-item b{color:var(--primary);font-size:16px;font-weight:700}.attempt-history-item em{color:var(--muted);font-size:12px;font-style:normal}.test-exam{background:var(--bg);flex-direction:column;height:100vh;max-height:100vh;display:flex;overflow:hidden}.exam-header{color:#fff;background:var(--navy,#0f172a);border-bottom:1px solid var(--line);z-index:10;flex-shrink:0;grid-template-columns:36px minmax(180px,1fr) auto auto auto;align-items:center;gap:16px;height:64px;padding:0 20px;display:grid}.exam-header>button:first-child{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff29;border-radius:0;place-items:center;width:36px;height:36px;display:grid}.exam-header-title{flex-direction:column;display:flex}.exam-header-title span{color:#6dd7bb;letter-spacing:.8px;font-size:10px;font-weight:800}.exam-header-title strong{color:#fff;white-space:nowrap;text-overflow:ellipsis;max-width:320px;font-size:14px;overflow:hidden}.exam-header-parts{gap:2px;height:100%;display:flex}.exam-header-parts button{color:#a7bbb4;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:0 10px;font-size:12px;font-weight:600;transition:all .15s}.exam-header-parts button:hover{color:#fff}.exam-header-parts button.active{color:#fff;border-color:#6ed8bc}.exam-timer{color:#75ddc2;align-items:center;gap:6px;min-width:90px;display:flex}.exam-timer strong{font-family:monospace;font-size:17px}.exam-timer.warning{color:#f0ad67;animation:1s infinite pulse}.submit-exam{color:#fff;background:var(--primary);cursor:pointer;border:none;border-radius:0;align-items:center;gap:6px;height:36px;padding:0 14px;font-size:13px;font-weight:600;transition:opacity .15s;display:flex}.submit-exam:hover{opacity:.9}.exam-layout{flex:1;grid-template-columns:1fr 320px;height:calc(100vh - 64px);min-height:0;display:grid;overflow:hidden}.exam-layout.sheet-closed{grid-template-columns:1fr}.exam-canvas{height:100%;padding:24px clamp(20px,4vw,60px);overflow-y:auto}.question-tools{color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:12px;display:flex}.question-tools button{color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.question-tools button.flagged{color:var(--amber,#f59e0b)}.exam-question{background:var(--surface);border:1px solid var(--line);border-radius:0;min-height:480px;padding:28px 32px;box-shadow:0 1px 3px #0000000d}.exam-question-title{border-bottom:1px solid var(--line);justify-content:space-between;gap:20px;margin-bottom:20px;padding-bottom:14px;display:flex}.exam-question-title>div>span{color:var(--primary);letter-spacing:.8px;font-size:11px;font-weight:800}.exam-question-title h2{color:var(--text);margin:4px 0 0;font-size:18px;font-weight:600;line-height:1.4}.exam-question-title>span{color:var(--muted);flex-shrink:0;font-size:12px;font-weight:600}.exam-photo{object-fit:contain;border:1px solid var(--line);border-radius:0;width:100%;max-width:480px;max-height:320px;margin:16px auto;display:block}.exam-audio-wrapper{margin:16px 0}.practice-audio-player{background:var(--surface-2);border:1px solid var(--line);align-items:center;gap:12px;padding:10px 16px;display:flex}.exam-audio-fulltest-bar{border:1px solid var(--line);background:var(--navy,#0f172a);color:#fff;-webkit-user-select:none;user-select:none;border-radius:0;align-items:center;gap:14px;width:100%;min-height:48px;padding:10px 16px;display:flex}.fulltest-audio-indicator{color:#6dd7bb;align-items:center;gap:8px;display:flex}.fulltest-audio-pulse{background:#6dd7bb;border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite pulse-glow}@keyframes pulse-glow{0%{opacity:.6;transform:scale(.85)}50%{opacity:1;transform:scale(1.25)}to{opacity:.6;transform:scale(.85)}}.fulltest-audio-info{flex:1;justify-content:space-between;align-items:center;display:flex}.fulltest-audio-info strong{color:#fff;font-size:13px;font-weight:600}.fulltest-audio-info small{color:#94a3b8;font-family:monospace;font-size:12px}.exam-audio-btn{border:1px solid var(--line);background:var(--navy,#0f172a);color:#fff;cursor:pointer;border-radius:0;align-items:center;gap:10px;width:100%;min-height:48px;padding:0 16px;font-size:13px;font-weight:600;display:flex}.exam-audio-btn svg{color:#6dd7bb}.exam-passage{background:var(--surface-2);max-height:320px;color:var(--text);border-radius:0;margin:18px 0;padding:18px;font-size:15.5px;line-height:1.75;overflow-y:auto}.exam-passages-container{flex-direction:column;gap:16px;max-height:480px;margin:18px 0;padding-right:4px;display:flex;overflow-y:auto}.exam-passage-card{background:var(--surface-2);border:1px solid var(--line);border-radius:0;padding:16px 20px;position:relative;box-shadow:0 1px 3px #0000000a}.exam-passage-card.image-card{background:var(--surface-2);padding:12px}.passage-card-content{color:var(--text);word-break:break-word;font-size:15.5px;line-height:1.75}.exam-options{grid-template-columns:1fr 1fr;gap:12px;margin-top:20px;display:grid}.exam-option-item{border:1px solid var(--line);background:var(--surface);cursor:pointer;text-align:left;border-radius:0;align-items:center;gap:14px;min-height:56px;padding:12px 16px;transition:all .15s;display:flex}.exam-option-item:hover{border-color:var(--primary);background:var(--surface-2)}.option-label{background:var(--surface-2);width:32px;height:32px;color:var(--text);border-radius:0;flex-shrink:0;place-items:center;font-size:14px;font-weight:700;display:grid}.option-text{color:var(--text);word-break:break-word;font-size:15.5px;font-weight:500;line-height:1.5}.exam-option-item.selected{border-color:var(--primary);background:var(--surface-2)}.exam-option-item.selected .option-label{background:var(--primary);color:#fff}.exam-option-item.correct{border-color:var(--green,#16a34a);background:var(--green-soft,#16a34a14)}.exam-option-item.wrong{border-color:var(--rose,#dc2626);background:var(--rose-soft,#dc262614)}.immediate-explanation{color:var(--green,#16a34a);background:var(--green-soft,#16a34a14);border-radius:0;gap:12px;margin-top:18px;padding:16px 18px;font-size:15px;line-height:1.65;display:flex}.immediate-explanation strong{font-size:15.5px;display:block}.immediate-explanation p{color:var(--text);margin:6px 0 0;font-size:15px;line-height:1.65}.exam-canvas.is-group-mode{flex-direction:column;height:100%;min-height:0;padding:16px clamp(16px,2.5vw,36px);display:flex;overflow:hidden}.exam-canvas.is-group-mode .question-tools{flex-shrink:0;margin-bottom:10px}.exam-canvas.is-group-mode .exam-group-split{flex:1;grid-template-columns:minmax(340px,1.15fr) minmax(320px,1fr);align-items:stretch;gap:20px;height:100%;min-height:0;display:grid;overflow:hidden}@media (width<=900px){.exam-canvas.is-group-mode{display:block;overflow-y:auto}.exam-canvas.is-group-mode .exam-group-split{flex-direction:column;height:auto;display:flex;overflow:visible}}.exam-group-stimulus{background:var(--surface);border:1px solid var(--line);border-radius:0;height:100%;min-height:0;padding:20px 24px;overflow-y:auto;box-shadow:0 1px 3px #0000000a}.exam-group-stimulus .exam-passages-container{max-height:none;margin-top:14px;margin-bottom:0;overflow:visible}.exam-group-questions-list{flex-direction:column;gap:16px;height:100%;min-height:0;padding-right:6px;display:flex;overflow-y:auto}.exam-canvas.is-group-mode .exam-navigation{flex-shrink:0;margin-top:10px;padding-top:6px}.exam-group-q-card{background:var(--surface);border:1px solid var(--line);border-radius:0;padding:20px 22px;box-shadow:0 1px 3px #0000000a}.exam-group-q-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;padding-bottom:8px;display:flex}.exam-group-q-header strong{color:var(--text);font-size:15px;font-weight:700;line-height:1.4}.exam-group-q-header .flag-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:0;place-items:center;padding:4px;display:grid}.exam-group-q-header .flag-btn:hover{color:var(--text)}.exam-group-q-header .flag-btn.flagged{color:var(--amber,#f59e0b)}.exam-group-q-header .q-num-badge{color:var(--primary);letter-spacing:.5px;margin-bottom:2px;font-size:11px;font-weight:800;display:block}.exam-group-q-card .exam-options{flex-direction:column;gap:8px;margin-top:12px;display:flex}.exam-group-q-card .exam-option-item{min-height:48px;padding:8px 14px}.exam-navigation{justify-content:space-between;align-items:center;margin-top:18px;display:flex}.exam-navigation button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:0;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:600;display:flex}.exam-navigation button:hover:not(:disabled){color:var(--text);background:var(--surface)}.exam-navigation button:disabled{opacity:.35;cursor:not-allowed}.exam-navigation.listening-mode{justify-content:flex-end}.exam-navigation button.exam-nav-switch-btn,.exam-nav-switch-btn{cursor:pointer;border-radius:4px;align-items:center;gap:8px;height:40px;padding:0 18px;font-size:13px;font-weight:700;transition:all .15s;display:inline-flex;background:var(--primary)!important;color:#fff!important;border:1px solid var(--primary)!important}.exam-navigation button.exam-nav-switch-btn:hover,.exam-nav-switch-btn:hover{opacity:.95;color:#fff!important;background:#0d8c6b!important}.answer-sheet{background:var(--surface);border-left:1px solid var(--line);height:100%;padding:18px;overflow-y:auto}.answer-sheet-head{justify-content:space-between;align-items:center;display:flex}.answer-sheet-head span{color:var(--primary);letter-spacing:.8px;font-size:10px;font-weight:800;display:block}.answer-sheet-head strong{color:var(--text);font-size:13px}.answer-sheet-head button{color:var(--muted);cursor:pointer;background:0 0;border:none}.answer-legend{color:var(--muted);gap:12px;margin:12px 0;font-size:11px;display:flex}.answer-legend span{align-items:center;gap:4px;display:flex}.answer-legend i{border:1px solid var(--line);border-radius:0;width:10px;height:10px}.answer-legend i.answered{background:var(--primary)}.answer-legend i.in-group{background:#10b98126;border-color:#10b981}.answer-legend i.flagged{background:var(--amber,#f59e0b)}.answer-part{border-top:1px solid var(--line);padding:12px 0}.answer-part>strong{color:var(--text);margin-bottom:8px;font-size:12px;display:block}.answer-part-grid{grid-template-columns:repeat(5,1fr);gap:5px;display:grid}.answer-q-btn{border:1px solid var(--line);background:var(--surface);height:32px;color:var(--text);cursor:pointer;border-radius:0;font-size:11px;font-weight:600;transition:all .15s;position:relative}.answer-q-btn:hover{border-color:var(--primary)}.answer-q-btn.in-group,.answer-q-btn.current{font-weight:700;color:#065f46!important;background:#10b9811f!important;border:1px solid #10b981!important}.answer-q-btn.answered{color:#fff!important;background:var(--primary)!important;border:1px solid var(--primary)!important}.answer-q-btn.answered.in-group,.answer-q-btn.answered.current{font-weight:800;box-shadow:0 0 0 1px #064e3b;background:var(--primary)!important;color:#fff!important;border:1px solid #064e3b!important}.answer-q-btn.flagged:after{content:"";background:var(--amber,#f59e0b);border-radius:50%;width:6px;height:6px;position:absolute;top:2px;right:2px}.answer-q-btn.exam-locked{cursor:not-allowed;height:32px!important;min-height:32px!important;max-height:32px!important}.answer-q-btn.exam-locked:hover{border-color:var(--line)!important}.answer-q-btn.answered.exam-locked:hover{border-color:var(--primary)!important}.answer-q-btn.in-group.exam-locked:hover{border-color:#0ea5e959!important}.exam-header-parts button.exam-locked{cursor:not-allowed;height:100%!important;min-height:unset!important;max-height:unset!important}.exam-header-parts button.exam-locked:hover{color:var(--ink-light)!important;background:0 0!important}.exam-option-item.exam-locked{cursor:not-allowed;opacity:.95}.open-sheet-btn{background:var(--navy,#0f172a);color:#fff;cursor:pointer;z-index:60;border:1px solid #ffffff26;border-radius:0;place-items:center;width:44px;height:44px;transition:all .15s;display:grid;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 14px #00000040}.open-sheet-btn:hover{background:var(--primary,#059669);color:#fff;transform:translateY(-2px);box-shadow:0 6px 18px #0000004d}.submit-counts{border:1px solid var(--line);border-radius:0;grid-template-columns:1fr 1fr;margin:16px 0;display:grid}.submit-counts>div{text-align:center;padding:14px}.submit-counts>div:first-child{border-right:1px solid var(--line)}.submit-counts strong{color:var(--primary);font-size:24px;display:block}.submit-counts span{color:var(--muted);font-size:12px}.test-result{background:var(--bg);min-height:100vh}.result-header{background:var(--surface);border-bottom:1px solid var(--line);grid-template-columns:160px 1fr 160px;align-items:center;height:64px;padding:0 24px;display:grid}.result-header-title{text-align:center;flex-direction:column;display:flex}.result-header-title span{color:var(--primary);letter-spacing:.8px;font-size:10px;font-weight:800}.result-header-title strong{color:var(--text);font-size:15px}.back-link-btn,.retry-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.retry-btn{color:var(--primary);justify-self:end}.result-main{width:min(1080px,100% - 40px);margin:0 auto;padding:32px 0 64px}.score-hero{color:#fff;background:var(--navy,#0f172a);border-radius:0;grid-template-columns:1.2fr repeat(3,1fr);min-height:200px;padding:24px 28px;display:grid}.score-hero>div{border-left:1px solid #ffffff1f;flex-direction:column;justify-content:center;padding:16px 20px;display:flex}.score-hero>div:first-child{border-left:0}.score-hero span{color:#a7bbb4;letter-spacing:.8px;font-size:10px;font-weight:800}.score-hero strong{color:#fff;margin-top:4px;font-size:26px}.score-hero strong small{color:#a7bbb4;font-size:13px}.score-hero p{color:#a7bbb4;margin:3px 0 0;font-size:12px}.total-score strong{color:#71d9bd;font-size:52px;line-height:1}.part-analysis,.review-section{background:var(--surface);border:1px solid var(--line);border-radius:0;margin-top:16px;padding:24px 28px}.result-section-title h2{color:var(--text);margin:4px 0 16px;font-size:20px;font-weight:700}.part-analysis-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}.part-analysis-card{background:var(--surface-2);border-radius:0;padding:12px}.part-analysis-card>span{color:var(--primary);font-size:11px;font-weight:800}.part-analysis-card strong{color:var(--text);margin-top:2px;font-size:12px;display:block}.part-analysis-card small{color:var(--muted);font-size:11px}.part-progress-bar{background:var(--line);border-radius:0;height:4px;margin:8px 0 4px;overflow:hidden}.part-progress-bar i{background:var(--primary);height:100%;display:block}.part-analysis-card>b{color:var(--primary);font-size:12px}.review-toolbar{flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:16px;display:flex}.review-tabs{flex-wrap:wrap;gap:4px;display:flex}.review-tabs button{border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:0;padding:6px 12px;font-size:12px;font-weight:600;transition:all .15s}.review-tabs button.active{color:#fff;background:var(--primary);border-color:var(--primary)}.review-part-select{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:0;padding:6px 10px;font-size:12px;font-weight:500}.review-list{gap:10px;display:grid}.review-item{border:1px solid var(--line);background:var(--surface);border-radius:0;grid-template-columns:36px 1fr auto;gap:16px;padding:16px 20px;display:grid}.review-number{border-radius:0;place-items:center;width:36px;height:36px;font-size:12px;font-weight:800;display:grid}.review-number.correct{color:var(--green,#16a34a);background:var(--green-soft,#16a34a14)}.review-number.wrong{color:var(--rose,#dc2626);background:var(--rose-soft,#dc262614)}.review-number.blank{color:var(--muted);background:var(--surface-2)}.review-part-tag{color:var(--primary);letter-spacing:.8px;font-size:10px;font-weight:800}.review-content h3{color:var(--text);margin:3px 0 6px;font-size:15.5px;font-weight:600;line-height:1.5}.review-answers-compare{color:var(--muted);align-items:center;gap:8px;font-size:14.5px;display:flex}.user-correct{color:var(--green,#16a34a);font-weight:700}.user-wrong{color:var(--rose,#dc2626);font-weight:700}.correct-badge{color:var(--primary);font-weight:700}.review-photo{border:1px solid var(--line);border-radius:4px;max-width:320px;margin:10px 0}.review-details-accordion{margin-top:10px;font-size:14px}.review-details-accordion summary{color:var(--primary);cursor:pointer;padding:4px 0;font-weight:600}.review-details-body{gap:8px;margin-top:8px;display:grid}.review-transcript-box,.review-translation-box,.review-explanation-box{background:var(--surface-2);border-radius:0;padding:14px 16px;font-size:15px;line-height:1.7}.review-transcript-box strong,.review-translation-box strong,.review-explanation-box strong{color:var(--primary);margin-bottom:4px;font-size:15px;display:block}.review-flag-icon{color:var(--amber,#f59e0b)}.load-review{margin:20px auto 0;display:block}@media (width<=768px){.test-hero{flex-direction:column;align-items:flex-start;padding:24px 20px}.test-stats,.test-grid{grid-template-columns:1fr}.exam-mode-card{flex-direction:column;align-items:flex-start}.exam-header{grid-template-columns:36px 1fr auto}.exam-header-parts{display:none}.exam-layout{grid-template-columns:1fr}.answer-sheet{display:none}.score-hero{grid-template-columns:1fr 1fr}}.login-notice-backdrop{z-index:9999;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a1411a6;place-items:center;padding:20px;animation:.2s fadeIn;display:grid;position:fixed;inset:0}.login-notice-card{background:var(--surface);border:1px solid var(--line);border-radius:6px;width:min(480px,100%);padding:24px;animation:.2s cubic-bezier(.16,1,.3,1) scaleUp;position:relative;box-shadow:0 12px 36px #0000002e}.login-notice-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.login-notice-header h3{color:var(--ink);margin:0;font-size:17px;font-weight:800}.login-notice-close{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;place-items:center;padding:4px;transition:all .15s;display:grid}.login-notice-close:hover{color:var(--ink);background:var(--surface-2)}.login-notice-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.login-notice-list li{color:var(--ink);text-align:left;align-items:flex-start;gap:10px;font-size:14.5px;line-height:1.6;display:flex}.login-notice-list li>span{flex:1;min-width:0}.login-notice-list li:before{content:"";background:var(--primary);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:8px}.login-notice-list li.login-notice-highlight{font-weight:600;color:var(--rose,#e11d48)!important}.login-notice-list li.login-notice-highlight:before{background:var(--rose,#e11d48)}.login-notice-list li strong{font-weight:800}.login-notice-actions{margin-top:22px}.login-notice-confirm-btn{justify-content:center;align-items:center;width:100%;padding:12px;font-size:14px;font-weight:700;display:flex}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@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-outline-style{syntax:"*";inherits:false;initial-value:solid}@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}
