@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..700;1,400..700&family=Plus+Jakarta+Sans:ital,wght@0,300..800;1,300..800&display=swap";@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..700;1,400..700&family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,500&display=swap";.practice-sidebar-menu{display:grid;gap:4px}.practice-sidebar-toggle{display:flex;min-height:46px;width:100%;align-items:center;gap:12px;padding:11px 14px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--brand-brown-sec);font:inherit;font-size:13px;font-weight:750;text-align:left;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease}.practice-sidebar-toggle:hover,.practice-sidebar-menu.is-active .practice-sidebar-toggle{border-color:#f0d78b;background:var(--brand-yellow-soft);color:var(--brand-coffee-dark)}.practice-sidebar-chevron{margin-left:auto;transition:transform .2s ease}.practice-sidebar-toggle[aria-expanded=true] .practice-sidebar-chevron{transform:rotate(180deg)}.practice-sidebar-children{display:grid;gap:3px;margin-left:23px;padding-left:10px;border-left:1px solid var(--brand-border)}.practice-sidebar-child{display:flex;min-height:38px;align-items:center;padding:8px 10px;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--brand-brown-sec);font-size:12px;font-weight:700;line-height:1.35;text-decoration:none;transition:background .2s ease,color .2s ease,border-color .2s ease}.practice-sidebar-child:hover,.practice-sidebar-child.active{border-color:var(--brand-border-light);background:#fffcf7;color:var(--brand-coffee-dark)}.practice-sidebar-child.active{border-color:#f0d78b;background:var(--brand-yellow-soft)}.practice-sidebar-toggle:focus-visible,.practice-sidebar-child:focus-visible{outline:3px solid rgba(231,179,47,.65);outline-offset:2px}.student-layout{min-height:100vh;display:flex;flex-direction:column;background:var(--brand-bg)}.student-header{position:sticky;top:0;z-index:1000;min-height:var(--header-height);background:#fffffff2;border-bottom:1px solid var(--brand-border);display:flex;align-items:center;justify-content:space-between;padding:0 2rem;box-shadow:0 2px 14px #4b40350d;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.header-brand,.brand-logo-text,.header-user-section{display:flex;align-items:center}.header-brand,.brand-logo-text{gap:12px}.brand-logo-text{color:inherit;text-decoration:none}.mobile-hamburger-btn{display:none;min-width:44px;min-height:44px;padding:8px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--brand-coffee)}.mobile-hamburger-btn:hover{background:var(--brand-yellow-soft)}.brand-monogram{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--brand-coffee);color:#fff;font-size:14px;font-weight:800;letter-spacing:.06em;box-shadow:0 6px 14px #4b40352e}.brand-title-text{color:var(--brand-coffee);font-family:var(--font-serif);font-size:22px;font-weight:650;letter-spacing:-.03em}.brand-dot{color:var(--brand-yellow-hover)}.header-user-section{position:relative;gap:12px}.user-profile-badge{display:flex;align-items:center;gap:10px;padding:6px 12px 6px 7px;border:1px solid var(--brand-border);border-radius:var(--radius-pill);background:#fffefc}.user-avatar-circle{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--brand-yellow);color:var(--brand-coffee-dark);font-size:13px;font-weight:800}.user-info-text{display:flex;flex-direction:column}.user-name{color:var(--brand-text);font-size:13px;font-weight:800;line-height:1.2}.user-role-tag{color:var(--brand-muted);font-size:11px;text-transform:capitalize}.btn-logout-icon{display:inline-flex;min-height:40px;align-items:center;gap:6px;padding:0 12px;border:1px solid #E8AAA5;border-radius:var(--radius-sm);background:#fff5f4;color:var(--brand-danger);font-size:12px;font-weight:800}.btn-logout-icon:hover{background:var(--brand-danger-bg)}.teacher-role-badge{padding:4px 9px;border:1px solid #B7D7BA;border-radius:var(--radius-pill);background:var(--brand-success-bg);color:var(--brand-success);font-size:10px;font-weight:800;letter-spacing:.06em}.teacher-header-nav{display:flex;align-items:center;gap:20px}.teacher-header-link{color:var(--brand-brown-sec);font-size:13px;font-weight:750;text-decoration:none;white-space:nowrap}.teacher-header-link:hover{color:var(--brand-coffee)}.teacher-user-name{color:var(--brand-muted);font-size:13px;font-weight:700;white-space:nowrap}.public-header-nav,.public-auth-actions{display:flex;align-items:center;gap:10px}.public-header-link{color:var(--brand-brown-sec);font-size:13px;font-weight:750;text-decoration:none}.public-header-link:hover{color:var(--brand-coffee)}.public-auth-link{display:inline-flex;min-height:38px;align-items:center;padding:0 15px;border:1px solid var(--brand-border);border-radius:var(--radius-pill);font-size:12px;font-weight:800;text-decoration:none}.public-auth-link--quiet{background:#fffcf7;color:var(--brand-coffee)}.public-auth-link--primary{background:var(--brand-yellow);color:var(--brand-text)}.student-container{display:flex;flex:1;position:relative}.student-layout--active-test .student-sidebar{display:none!important}.student-sidebar{position:sticky;top:var(--header-height);align-self:flex-start;width:264px;height:calc(100dvh - var(--header-height));overflow-y:auto;flex-shrink:0;display:flex;flex-direction:column;gap:8px;padding:20px 14px;border-right:1px solid var(--brand-border);background:#fffefc;transition:transform .3s ease}.sidebar-link{display:flex;min-height:46px;align-items:center;gap:12px;padding:11px 14px;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--brand-brown-sec);font-size:13px;font-weight:750;text-decoration:none;transition:background .2s ease,color .2s ease,border-color .2s ease}.sidebar-link:hover{background:#fffcf7;border-color:var(--brand-border-light);color:var(--brand-coffee)}.sidebar-link.active{border-color:#f0d78b;background:var(--brand-yellow-soft);color:var(--brand-coffee-dark)}.student-main-content{width:100%;max-width:1440px;flex:1;margin:0 auto;padding:34px 36px 56px}.active-attempt-resume-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5000;display:grid;place-items:center;padding:20px;background:#2a231d94}.active-attempt-resume-dialog{box-sizing:border-box;width:min(100%,440px);padding:24px 20px 20px;border:1px solid var(--brand-border);border-radius:20px;background:var(--brand-surface);box-shadow:0 18px 54px #2a231d33;text-align:center}.active-attempt-resume-icon{display:grid;width:52px;height:52px;margin:0 auto 14px;place-items:center;border-radius:50%;background:var(--brand-yellow-soft);color:var(--brand-coffee);font-size:1.65rem}.active-attempt-resume-dialog h2{margin:0;color:var(--brand-text);font-family:var(--font-serif);font-size:1.25rem;line-height:1.35}.active-attempt-resume-dialog p{margin:12px 0 20px;color:var(--brand-muted);font-size:.96rem;line-height:1.55}.active-attempt-resume-list{display:grid;gap:9px}.active-attempt-resume-primary,.active-attempt-resume-item{width:100%;min-height:48px;padding:12px 16px;border:0;border-radius:11px;background:var(--brand-yellow);color:var(--brand-text);font:inherit;font-weight:750;cursor:pointer}.active-attempt-resume-primary:hover,.active-attempt-resume-item:hover{background:var(--brand-yellow-hover)}.active-attempt-resume-item{display:flex;flex-direction:column;align-items:flex-start;gap:3px;border:1px solid var(--brand-border);background:var(--brand-bg-sub);text-align:left}.active-attempt-resume-item span{color:var(--brand-muted);font-size:.82rem;font-weight:500}.active-attempt-resume-dismiss{min-height:42px;margin-top:10px;padding:0 16px;border:0;background:transparent;color:var(--brand-muted);font:inherit;cursor:pointer}.active-attempt-resume-dismiss:hover{color:var(--brand-coffee);text-decoration:underline}@media(max-width:1023px){.student-header{padding:0 1rem}.mobile-hamburger-btn{display:inline-flex;align-items:center;justify-content:center}.student-sidebar{position:fixed;top:var(--header-height);left:0;bottom:0;z-index:1100;height:auto;box-shadow:8px 0 28px #4b403529;transform:translate(-100%);visibility:hidden}.student-sidebar.mobile-open{transform:translate(0);visibility:visible}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;top:var(--header-height);z-index:1050;border:0;padding:0;background:#302a256b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:pointer}.user-info-text{display:none}}@media(max-width:767px){.student-main-content{padding:24px 16px 40px}.brand-title-text{font-size:20px}.btn-logout-icon span{display:none}.teacher-header-nav{gap:10px}.teacher-header-link,.teacher-user-name{display:none}}.admin-layout{min-height:100vh;display:flex;flex-direction:column;background:var(--brand-bg)}.admin-header{position:sticky;top:0;z-index:1000;min-height:var(--header-height);display:flex;align-items:center;justify-content:space-between;padding:0 2rem;border-bottom:1px solid var(--brand-border);background:var(--brand-coffee);color:#fff;box-shadow:0 3px 16px #3d332a29}.admin-brand,.admin-logo-text,.admin-user-section{display:flex;align-items:center}.admin-brand,.admin-logo-text{gap:12px}.admin-logo-text{text-decoration:none}.admin-monogram{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:var(--brand-yellow);color:var(--brand-coffee-dark);font-size:14px;font-weight:900;letter-spacing:.06em}.admin-header .brand-title-text{color:#fff}.admin-badge{padding:4px 9px;border:1px solid rgba(243,199,79,.44);border-radius:var(--radius-pill);background:#f3c74f24;color:#f8da81;font-size:10px;font-weight:800;letter-spacing:.07em}.admin-user-section{gap:12px}.admin-user-info{color:#f4ede4;font-size:13px;font-weight:700}.btn-admin-logout{display:inline-flex;min-height:40px;align-items:center;gap:6px;padding:0 12px;border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-sm);background:#ffffff14;color:#fff;font-size:12px;font-weight:800}.btn-admin-logout:hover{background:#ffffff29;color:#fff}.admin-container{display:flex;flex:1;position:relative}.admin-sidebar{position:sticky;top:var(--header-height);align-self:flex-start;width:264px;height:calc(100dvh - var(--header-height));overflow-y:auto;flex-shrink:0;display:flex;flex-direction:column;gap:8px;padding:20px 14px;border-right:1px solid var(--brand-border);background:#fffefc;transition:transform .3s ease}.admin-sidebar-link{display:flex;min-height:46px;align-items:center;gap:12px;padding:11px 14px;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--brand-brown-sec);font-size:13px;font-weight:750;text-decoration:none;transition:background .2s ease,color .2s ease,border-color .2s ease}.admin-sidebar-link:hover{border-color:var(--brand-border-light);background:#fffcf7;color:var(--brand-coffee)}.admin-sidebar-link.active{border-color:#f0d78b;background:var(--brand-yellow-soft);color:var(--brand-coffee-dark)}.admin-main-content{width:100%;max-width:1560px;flex:1;margin:0 auto;padding:34px 36px 56px}@media(max-width:1023px){.admin-header{padding:0 1rem}.admin-sidebar{position:fixed;top:var(--header-height);left:0;bottom:0;z-index:1100;height:auto;box-shadow:8px 0 28px #4b403529;transform:translate(-100%)}.admin-sidebar.mobile-open{transform:translate(0)}.admin-sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;top:var(--header-height);z-index:1050;background:#302a257a;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.admin-user-info{display:none}}@media(max-width:767px){.admin-main-content{padding:24px 16px 40px}}.auth-page-wrapper{width:100%;min-height:100vh;background-color:var(--brand-bg, #F7F4EE);color:var(--brand-text, #302A25);font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,sans-serif;display:flex;align-items:stretch;overflow-x:hidden}.auth-split-container{display:flex;width:100%;min-height:100vh}.auth-visual-section{width:40%;min-height:100vh;padding:24px 0 24px 24px;display:flex;position:sticky;top:0;height:100vh;flex-shrink:0;box-sizing:border-box}.auth-visual-inner{position:relative;width:100%;height:100%;border-radius:24px;overflow:hidden;background-color:var(--brand-coffee, #4B4035);display:flex;flex-direction:column;justify-content:space-between}.auth-slideshow{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.auth-slide{background-image:var(--auth-slide-background);position:absolute;top:0;left:0;right:0;bottom:0;background-size:cover;background-position:center 35%;opacity:0;transition:opacity 1.2s ease-in-out;filter:brightness(.98) contrast(1.02)}.auth-slide.active{opacity:1}.auth-visual-overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:2;background:linear-gradient(180deg,#30251d05 52%,#30251d2e)}.auth-visual-content{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-end;box-sizing:border-box;padding:24px}.auth-eyebrow{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#f3efea}.auth-visual-title{font-family:Playfair Display,Georgia,serif;font-size:clamp(2.4rem,4vw,3.4rem);font-weight:400;line-height:1.12;color:#fff;margin:20px 0 16px;letter-spacing:-.02em;text-shadow:0 2px 10px rgba(0,0,0,.25)}.auth-visual-desc{font-size:15px;line-height:1.6;color:#efeae2;max-width:460px;margin:0 0 24px;text-shadow:0 1px 6px rgba(0,0,0,.25)}.auth-mini-info-row{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:500;color:#e2dbd0;margin-top:auto;margin-bottom:32px}.auth-mini-info-row .bullet{color:#ffc400;font-size:10px}.auth-visual-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:20px;border-top:1px solid rgba(255,255,255,.24)}.auth-quote{font-family:Playfair Display,Georgia,serif;font-style:italic;font-size:14px;color:#ffffffe0;max-width:55%}.auth-slide-controls{display:flex;align-items:center;flex:0 0 auto;gap:14px;padding:10px 14px;border:1px solid rgba(80,57,41,.16);border-radius:999px;background:#f9f2eaeb;color:#4c382b;box-shadow:0 8px 24px #31231929;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-slide-count{display:inline-flex;align-items:center;gap:6px;color:#725c4b;font-size:10px;font-weight:800;letter-spacing:.08em;line-height:1}.auth-slide-count i{display:block;width:12px;height:1px;background:#4c382b47}.auth-slide-dots{display:inline-flex;align-items:center;gap:5px}.auth-visual-content .auth-slide-dot{display:block;box-sizing:border-box;flex:0 0 auto;width:6px;min-width:6px;max-width:6px;height:6px;min-height:6px;max-height:6px;margin:0;border:0;border-radius:999px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#4c382b3d;border:none;padding:0;cursor:pointer;transition:width .25s ease,background .25s ease,transform .25s ease}.auth-visual-content .auth-slide-dot:hover,.auth-visual-content .auth-slide-dot:focus-visible{background:#4c382b;outline:none;transform:scale(1.15)}.auth-visual-content .auth-slide-dot.active{background:#4c382b;width:24px;min-width:24px;max-width:24px}.auth-form-section{width:60%;min-height:100vh;height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:40px clamp(36px,6vw,104px);box-sizing:border-box;overflow-y:auto}.auth-form-wrapper{width:100%;max-width:660px;margin:0 auto;display:flex;flex-direction:column}.auth-logo-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.auth-home-pill-link{font-size:12px;font-weight:600;color:var(--brand-coffee, #4B4035);text-decoration:none!important;padding:4px 12px;border-radius:9999px;background:var(--surface-soft, #F1ECE4);border:1px solid var(--brand-border, #E3DCD2);transition:all .2s ease}.auth-home-pill-link:hover{background:var(--brand-coffee, #4B4035);color:#fff}.auth-brand-logo{font-family:Playfair Display,Georgia,serif;font-size:28px;font-weight:700;color:var(--brand-coffee, #4B4035);text-decoration:none!important;letter-spacing:-.01em}.auth-brand-logo .brand-dot{color:var(--brand-yellow, #FFC400)}.auth-header-text{margin-bottom:24px}.auth-title{font-family:Playfair Display,Georgia,serif;font-size:clamp(30px,3vw,40px);font-weight:500;line-height:1.2;color:var(--brand-coffee, #4B4035);margin:0 0 10px}.auth-subtitle{font-size:16px;line-height:1.55;color:var(--brand-muted, #82796F);margin:0}.auth-tab-switcher{background:var(--surface-soft, #F1ECE4);padding:3px;border-radius:12px;display:flex;gap:4px;margin-bottom:24px;border:1px solid var(--brand-border, #E3DCD2)}.auth-tab-btn{flex:1;height:46px;border-radius:9px;border:none;background:transparent;font-size:14px;font-weight:600;color:var(--brand-muted, #82796F);text-decoration:none!important;display:flex;align-items:center;justify-content:center;transition:all .25s ease}.auth-tab-btn.active{background:#5a4a3c;color:#fff;box-shadow:0 3px 10px #4b403526}.auth-form-body{width:100%}.auth-form-group{margin-bottom:16px;display:flex;flex-direction:column}.auth-input-label{font-size:14px;font-weight:600;color:var(--brand-coffee, #4B4035);margin-bottom:7px;display:block}.auth-input-field{width:100%;height:54px;border-radius:12px;background:#faf8f4;border:1px solid #DED7CE;padding:0 16px;font-size:15px;color:var(--brand-text, #302A25);font-family:inherit;outline:none;transition:all .2s ease;box-sizing:border-box}.auth-input-field:focus{background:#fff;border-color:#806b58;box-shadow:0 0 0 3px #806b581f}.auth-input-field::placeholder{color:#aaa197;font-size:13px}.auth-input-field.input-error{border-color:#dc2626;background:#fef2f2}.auth-password-wrapper{position:relative;width:100%}.auth-password-toggle{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:none;border:none;color:#806b58;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}.auth-password-toggle:hover{color:#4b4035}.auth-field-error{font-size:11px;color:#dc2626;margin-top:3px;font-weight:500}.auth-global-error{background:#fef2f2;border:1px solid #FCA5A5;color:#991b1b;padding:8px 12px;border-radius:10px;font-size:12.5px;margin-bottom:12px}.auth-form-options{display:flex;align-items:center;justify-content:space-between;margin-top:-2px;margin-bottom:14px}.auth-checkbox-label{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--brand-muted, #82796F);cursor:pointer}.auth-checkbox-input{width:15px;height:15px;border-radius:4px;border:1px solid #DED7CE;accent-color:var(--brand-coffee, #4B4035);cursor:pointer}.auth-forgot-link{font-size:14px;font-weight:600;color:var(--brand-brown-sec, #806B58);text-decoration:none!important;transition:color .2s ease}.auth-forgot-link:hover{color:var(--brand-coffee, #4B4035)}.btn-auth-submit{width:100%;height:56px;border-radius:12px;background:#805a40;color:#fffdf9;font-size:16px;font-weight:700;border:none;cursor:pointer;transition:all .25s ease;box-shadow:0 6px 18px #4b40351a;display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:12px;margin-top:4px}.btn-auth-submit:hover:not(:disabled){background:#68452f;transform:translateY(-1px);box-shadow:0 8px 22px #4b403524}.btn-auth-submit:disabled{opacity:.65;cursor:not-allowed}.auth-button-spinner,.auth-session-loading span{width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:auth-spin .7s linear infinite}.auth-switch-text{text-align:center;font-size:12.5px;color:var(--brand-muted, #82796F);margin-bottom:12px}.auth-switch-text a{font-weight:700;color:var(--brand-coffee, #4B4035);text-decoration:none!important;margin-left:4px}.auth-switch-text a:hover{color:var(--brand-brown-sec, #806B58)}.auth-terms-note{font-size:11px;line-height:1.4;color:#aaa197;text-align:center;margin-top:4px}.auth-terms-note a{color:var(--brand-muted, #82796F);text-decoration:underline}.auth-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:2000;background:#302a2599;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:24px}.auth-modal-card{background:#fff;border-radius:20px;max-width:440px;width:100%;padding:40px 32px;text-align:center;box-shadow:0 24px 60px #302a2533;border:1px solid var(--brand-border, #E3DCD2)}.auth-modal-icon{width:60px;height:60px;border-radius:50%;background:#fef9c3;color:#854d0e;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;border:1px solid #FDE047}.auth-modal-title{font-family:Playfair Display,Georgia,serif;font-size:24px;font-weight:600;color:var(--brand-coffee, #4B4035);margin:0 0 12px}.auth-modal-desc{font-size:14px;line-height:1.6;color:var(--brand-muted, #82796F);margin:0 0 28px}.auth-status-card{padding:32px 28px;text-align:center;border:1px solid var(--brand-border, #E3DCD2);border-radius:18px;background:#fff;box-shadow:0 12px 32px #4b403514}.auth-status-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 18px;border:1px solid #f4d36d;border-radius:50%;background:#fff9df;color:#806000;font-size:26px;font-weight:700}.auth-status-card.is-locked .auth-status-icon{border-color:#f4b4b4;background:#fff1f1;color:#b42318}.auth-status-card h2{margin:0 0 10px;color:var(--brand-coffee, #4B4035);font-family:Playfair Display,Georgia,serif;font-size:25px}.auth-status-card p{margin:0 0 24px;color:var(--brand-muted, #82796F);font-size:14px;line-height:1.65}.auth-status-cta{margin-bottom:0;text-decoration:none}.auth-status-actions{display:grid;gap:12px}.auth-status-secondary{color:var(--brand-coffee, #4B4035);font-size:13px;font-weight:700;text-decoration:none}.auth-status-secondary:hover{color:var(--brand-brown-sec, #806B58);text-decoration:underline}.auth-session-loading{display:grid;min-height:100vh;place-items:center;background:var(--brand-bg, #F7F4EE);color:var(--brand-coffee, #4B4035)}@keyframes auth-spin{to{transform:rotate(360deg)}}@media(max-width:1024px){.auth-visual-section{width:40%;padding:16px 0 16px 16px}.auth-form-section{width:60%;padding:32px clamp(28px,4vw,56px)}}@media(max-width:768px){.auth-split-container{flex-direction:column}.auth-visual-section{display:none}.auth-form-section{width:100%;min-height:100vh;padding:32px 24px}.auth-form-wrapper{max-width:100%}.auth-logo-row{text-align:center;margin-bottom:24px}.auth-title{font-size:clamp(28px,8vw,36px)}}@media(max-height:720px)and (min-width:769px){.auth-form-section{justify-content:flex-start}.auth-form-wrapper{margin:auto}}.ds-auth-screen{background:var(--brand-bg);color:var(--brand-text)}.ds-auth-screen .auth-form-section,.ds-auth-screen .auth-form-wrapper{background:#f3e9de}.ds-auth-screen .auth-brand-logo,.ds-auth-screen .auth-title{color:var(--brand-coffee)}.ds-auth-screen .auth-title{font-family:var(--font-serif)}.ds-auth-screen .auth-subtitle,.ds-auth-screen .auth-terms-note{color:var(--brand-muted)}.ds-auth-screen .auth-home-pill-link{border-color:var(--brand-border);background:#fffcf7;color:var(--brand-coffee)}.ds-auth-screen .auth-tab-switcher{border-color:var(--brand-border);background:var(--brand-bg-sub)}.ds-auth-screen .auth-tab-btn{color:var(--brand-brown-sec)}.ds-auth-screen .auth-tab-btn.active{background:#805a40;color:#fffdf9;box-shadow:0 4px 12px #593e2b33}.ds-auth-screen .btn-auth-submit{background:#805a40;color:#fffdf9;box-shadow:0 8px 20px #593e2b2e}.ds-auth-screen .btn-auth-submit:hover:not(:disabled){background:#68452f}.ds-auth-screen input,.ds-auth-screen select,.ds-auth-screen textarea{border-color:var(--brand-border);color:var(--brand-text);font-family:var(--font-sans)}.ds-auth-screen input:focus,.ds-auth-screen select:focus,.ds-auth-screen textarea:focus{border-color:var(--brand-brown-sec);box-shadow:0 0 0 3px #806b581f}@media(prefers-reduced-motion:reduce){.auth-slide,.auth-tab-btn,.btn-auth-submit{transition-duration:.01ms}}:root{--brand-bg: #F7F4EE;--brand-bg-sub: #EFEAE1;--brand-coffee: #4B4035;--brand-coffee-dark: #3D332A;--brand-brown-sec: #806B58;--brand-text: #302A25;--brand-muted: #82796F;--brand-white: #FFFFFF;--brand-yellow: #F3C74F;--brand-yellow-hover: #E5B83B;--brand-border: #E5DED4;--brand-border-dark: rgba(255, 255, 255, .15);--font-serif: "Playfair Display", Georgia, serif;--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--radius-section: 24px;--radius-card: 20px;--radius-pill: 9999px;--shadow-subtle: 0 8px 24px rgba(75, 64, 53, .04);--shadow-hover: 0 12px 32px rgba(75, 64, 53, .08)}*{box-sizing:border-box}html{background-color:var(--brand-bg-sub)}body{margin:0;padding:0;background-color:var(--brand-bg);color:var(--brand-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}.home-page-wrapper{width:100%;min-height:100vh;background-color:var(--brand-bg);color:var(--brand-text);font-family:var(--font-sans);overflow-x:hidden}.section-container,.header-container,.footer-container{width:100%;max-width:1400px;margin-left:auto;margin-right:auto;padding-left:48px;padding-right:48px}@media(max-width:1024px){.section-container,.header-container,.footer-container{padding-left:24px;padding-right:24px}}@media(max-width:640px){.section-container,.header-container,.footer-container{padding-left:16px;padding-right:16px}}.section-eyebrow-badge,.dark-section-badge{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--brand-brown-sec);background:var(--brand-bg-sub);padding:6px 14px;border-radius:var(--radius-pill);border:1px solid var(--brand-border);margin-bottom:16px}.dark-section-badge{color:#e2dbd0;background:#ffffff14;border-color:#ffffff26}.section-title-serif{font-family:var(--font-serif);font-size:clamp(2rem,3.5vw,2.75rem);font-weight:500;line-height:1.2;color:var(--brand-text);margin:0 0 16px;letter-spacing:-.01em}.section-title-serif.uppercase{text-transform:uppercase}.dark-section-title{font-family:var(--font-serif);font-size:clamp(2.2rem,4vw,3rem);font-weight:400;line-height:1.15;color:var(--brand-white);margin:0 0 20px}.section-desc-text{font-size:15px;line-height:1.6;color:var(--brand-muted);max-width:580px;margin:0}.section-desc-text.center{margin-left:auto;margin-right:auto}.dark-section-desc{font-size:15px;line-height:1.6;color:#d4cdc3;margin-bottom:28px}.btn-cta-yellow{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border-radius:var(--radius-pill);background:var(--brand-yellow);color:var(--brand-text);font-family:var(--font-serif);font-size:15px;font-weight:600;text-decoration:none!important;border:none;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 14px #f3c74f4d}.btn-cta-yellow:hover{background:var(--brand-yellow-hover);transform:translateY(-2px);box-shadow:0 6px 18px #f3c74f66}.btn-cta-yellow-sm{display:inline-flex;align-items:center;justify-content:center;padding:9px 20px;border-radius:var(--radius-pill);background:var(--brand-yellow);color:var(--brand-text);font-family:var(--font-serif);font-size:14px;font-weight:600;text-decoration:none!important;transition:all .2s ease;border:none}.btn-cta-yellow-sm:hover{background:var(--brand-yellow-hover);transform:translateY(-1px)}.btn-login-pill{padding:9px 20px;border-radius:var(--radius-pill);border:1px solid var(--brand-border);background:var(--brand-white);color:var(--brand-text);font-family:var(--font-serif);font-size:14px;font-weight:600;text-decoration:none!important;transition:all .2s ease}.btn-login-pill:hover{background:var(--brand-bg-sub)}.btn-glass-hero{display:inline-flex;align-items:center;justify-content:center;padding:14px 28px;border-radius:var(--radius-pill);background:#ffffff1a;border:1px solid rgba(255,255,255,.3);color:var(--brand-white);font-family:var(--font-serif);font-size:15px;font-weight:600;text-decoration:none!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .25s ease}.btn-glass-hero:hover{background:#fff3;border-color:#fff9;transform:translateY(-2px)}.btn-register-link{display:inline-flex;align-items:center;padding:10px 22px;border-radius:var(--radius-pill);background:var(--brand-coffee);color:var(--brand-white);font-size:13px;font-weight:600;text-decoration:none!important;transition:all .25s ease}.btn-register-link:hover{background:var(--brand-coffee-dark);transform:translateY(-2px)}.btn-read-more-link{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;letter-spacing:.1em;color:var(--brand-coffee);text-decoration:none!important;margin-top:24px;border-bottom:1.5px solid var(--brand-coffee);padding-bottom:4px;transition:all .25s ease}.btn-read-more-link:hover{color:var(--brand-brown-sec);border-color:var(--brand-brown-sec);transform:translate(4px)}.btn-read-more-link.light{color:#e2dbd0;border-color:#fff6}.btn-read-more-link.light:hover{color:var(--brand-white);border-color:var(--brand-white)}.btn-cta-brown{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:var(--radius-pill);background:var(--brand-coffee);color:var(--brand-white);font-size:13px;font-weight:700;text-decoration:none!important;margin:24px 0 36px;transition:all .25s ease}.btn-cta-brown:hover{background:var(--brand-coffee-dark);transform:translateY(-2px)}.parroto-header{position:fixed;top:0;left:0;right:0;z-index:1000;height:80px;display:flex;align-items:center;background:#f7f4eef0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--brand-border);transition:all .3s ease}.parroto-header.scrolled{height:72px;box-shadow:0 4px 20px #302a250d}.header-container{display:flex;align-items:center;justify-content:space-between}.brand-logo{text-decoration:none!important}.brand-title-text{font-family:var(--font-serif);font-size:24px;font-weight:700;color:var(--brand-coffee);letter-spacing:-.01em}.brand-dot{color:var(--brand-yellow)}.nav-links{display:flex;align-items:center;gap:8px}.nav-links a{text-decoration:none!important;font-size:14px;font-weight:500;color:var(--brand-muted);padding:8px 18px;border-radius:var(--radius-pill);transition:all .2s ease}.nav-links a:hover,.nav-links a.active{color:var(--brand-coffee);background:var(--brand-bg-sub)}.header-actions{display:flex;align-items:center;gap:12px}.search-icon-btn{width:36px;height:36px;border-radius:50%;border:1px solid var(--brand-border);background:var(--brand-white);color:var(--brand-coffee);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.search-icon-btn:hover{background:var(--brand-bg-sub)}.auth-btns{display:flex;align-items:center;gap:10px}.user-menu-container{position:relative}.user-avatar-btn{display:flex;align-items:center;gap:10px;background:var(--brand-white);border:1px solid var(--brand-border);padding:4px 14px 4px 4px;border-radius:var(--radius-pill);cursor:pointer}.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--brand-coffee);color:var(--brand-white);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}.user-name-label{font-size:13px;font-weight:600;color:var(--brand-text)}.user-dropdown{position:absolute;top:calc(100% + 10px);right:0;width:230px;background:var(--brand-white);border-radius:16px;border:1px solid var(--brand-border);box-shadow:0 16px 36px #302a251a;padding:12px;z-index:1100}.user-dropdown-header{padding:6px 8px 10px}.user-dropdown-name{font-size:14px;font-weight:700;color:var(--brand-text)}.user-dropdown-email{font-size:12px;color:var(--brand-muted);margin-bottom:6px}.user-role-badge{display:inline-block;font-size:10px;font-weight:700;padding:2px 8px;border-radius:var(--radius-pill);background:var(--brand-bg-sub);color:var(--brand-brown-sec)}.user-dropdown-divider{height:1px;background:var(--brand-border);margin:6px 0}.user-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:13px;font-weight:600;color:var(--brand-text);text-decoration:none!important;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:background .2s ease}.user-dropdown-item:hover{background:var(--brand-bg-sub)}.mobile-hamburger{display:none;background:none;border:none;color:var(--brand-coffee);cursor:pointer}.warm-hero-section{position:relative;min-height:640px;padding-top:130px;padding-bottom:60px;margin-top:0;display:flex;align-items:center;background-color:var(--brand-coffee);overflow:hidden}.warm-hero-bg{position:absolute;top:0;left:0;right:0;bottom:0;background-size:cover;background-position:center 35%;z-index:1;filter:brightness(.95) contrast(1.02)}.warm-hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:2;background:radial-gradient(circle at 30% 50%,#4b403559,#3d332aa6),linear-gradient(180deg,#3d332a40,#302a25b8)}.warm-hero-container{position:relative;z-index:3;width:100%;max-width:1400px;margin-left:auto;margin-right:auto;padding-left:48px;padding-right:48px}.warm-hero-grid{display:grid;grid-template-columns:1fr 420px;gap:60px;align-items:center}.warm-hero-content{display:flex;flex-direction:column;align-items:flex-start}.hero-tag-light{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#f3efea;margin-bottom:20px}.warm-hero-title{font-family:var(--font-serif);font-size:clamp(3rem,5.5vw,4.5rem);font-weight:400;line-height:1.08;color:var(--brand-white);margin:0 0 16px;letter-spacing:-.02em;text-shadow:0 2px 10px rgba(0,0,0,.25)}.warm-hero-subheading{font-family:var(--font-serif);font-style:italic;font-size:clamp(1.2rem,2vw,1.5rem);font-weight:400;color:#f5efe6;margin:0 0 14px;text-shadow:0 2px 8px rgba(0,0,0,.25)}.warm-hero-description{font-size:15px;line-height:1.6;color:#efeae2;max-width:560px;margin:0 0 32px;text-shadow:0 1px 6px rgba(0,0,0,.25)}.warm-hero-actions{display:flex;align-items:center;gap:16px;margin-bottom:48px;flex-wrap:wrap}.hero-bottom-bar{width:100%;display:flex;align-items:center;justify-content:space-between;padding-top:24px;border-top:1px solid rgba(255,255,255,.22)}.hero-quote{font-family:var(--font-serif);font-style:italic;font-size:14px;color:#efeae2}.hero-slider-nav{display:flex;align-items:center;gap:12px;color:#efeae2;font-size:13px}.hero-slider-nav button{background:none;border:1px solid rgba(255,255,255,.4);color:var(--brand-white);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.hero-slider-nav button:hover{background:#ffffff40}.warm-hero-right-visual{display:flex;justify-content:flex-end}.hero-glass-card{width:100%;background:#4b403585;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.25);border-radius:var(--radius-card);padding:24px 28px;display:flex;flex-direction:column;gap:20px;box-shadow:0 16px 40px #0003}.glass-card-item{display:flex;align-items:flex-start;gap:16px}.glass-card-icon{width:42px;height:42px;min-width:42px;border-radius:12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:var(--brand-yellow);display:flex;align-items:center;justify-content:center}.glass-card-value{font-family:var(--font-serif);font-size:24px;font-weight:600;color:var(--brand-white);line-height:1.1;margin-bottom:2px}.glass-card-title{font-size:15px;font-weight:600;color:var(--brand-white);line-height:1.2;margin-bottom:2px}.glass-card-label{font-size:13px;color:#c8c0b5;line-height:1.3}.glass-card-divider{height:1px;background:#ffffff1f}.warm-benefits-bar{background:var(--brand-bg-sub);border-bottom:1px solid var(--brand-border);padding:36px 0}.benefits-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.benefit-item{display:flex;align-items:flex-start;gap:16px}.benefit-icon{width:42px;height:42px;min-width:42px;border-radius:50%;background:var(--brand-white);border:1px solid var(--brand-border);color:var(--brand-coffee);display:flex;align-items:center;justify-content:center}.benefit-title{font-family:var(--font-sans);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-coffee);margin:0 0 4px}.benefit-sub{font-size:13px;color:var(--brand-muted);margin:0;line-height:1.4}.meet-teacher-section{padding:96px 0;background:var(--brand-bg)}.meet-teacher-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.meet-teacher-sub{font-family:var(--font-serif);font-style:italic;font-size:18px;color:var(--brand-brown-sec);margin:0 0 20px}.editorial-img-box{width:100%;border-radius:var(--radius-card);overflow:hidden;border:1px solid var(--brand-border);box-shadow:var(--shadow-subtle);transition:transform .3s ease}.editorial-img-box:hover{transform:scale(1.015)}.editorial-img-box img{width:100%;height:100%;object-fit:cover;display:block}.about-course-section{padding:80px 0 96px;background:var(--brand-bg-sub);border-top:1px solid var(--brand-border);border-bottom:1px solid var(--brand-border)}.about-course-grid{display:grid;grid-template-columns:46% 50%;gap:4%;align-items:center}.about-course-visual .editorial-img-box{width:min(100%,480px);aspect-ratio:3 / 4;margin:0 auto;background:var(--brand-bg)}.about-course-visual .editorial-img-box img{height:100%}.about-course-grid .about-course-text{justify-content:center;align-items:center;text-align:center;padding:24px}.about-course-grid .about-course-quote{margin:0;color:var(--brand-coffee);font-family:var(--font-serif);font-size:clamp(2rem,3.15vw,3.4rem);font-weight:400;letter-spacing:-.035em;line-height:1.28}.about-course-grid .about-course-quote span{display:block}.about-course-grid .about-course-quote em{font-weight:400}.course-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-top:24px;border-top:1px solid var(--brand-border)}.stat-num{display:block;font-family:var(--font-serif);font-size:32px;font-weight:600;color:var(--brand-coffee);line-height:1.1;margin-bottom:4px}.stat-lbl{font-size:12px;color:var(--brand-muted);line-height:1.4}.classroom-gallery-section{padding:96px 0;background:var(--brand-bg)}.classroom-grid{display:grid;grid-template-columns:38% 58%;gap:4%;align-items:center}.classroom-gallery-grid{display:flex;flex-direction:column;gap:16px}.gallery-top-wide{width:100%;border-radius:16px;overflow:hidden;border:1px solid var(--brand-border);box-shadow:var(--shadow-subtle)}.gallery-top-wide img{width:100%;max-height:320px;object-fit:cover;display:block}.gallery-bottom-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.gallery-item-small{border-radius:16px;overflow:hidden;border:1px solid var(--brand-border);box-shadow:var(--shadow-subtle)}.gallery-item-small img{width:100%;height:200px;object-fit:cover;display:block}.how-it-works-section{padding:96px 0;background:var(--brand-bg)}.how-it-works-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:56px}.three-steps-grid{display:flex;align-items:center;gap:24px}.step-card{flex:1;background:var(--brand-white);border:1px solid var(--brand-border);border-radius:var(--radius-card);padding:36px 32px;transition:all .3s ease;box-shadow:var(--shadow-subtle)}.step-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.step-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.step-icon-bg{width:48px;height:48px;border-radius:14px;background:var(--brand-bg-sub);display:flex;align-items:center;justify-content:center}.step-number{font-family:var(--font-serif);font-size:28px;font-weight:600;color:var(--brand-border)}.step-title{font-size:18px;font-weight:700;color:var(--brand-coffee);margin:0 0 10px}.step-desc{font-size:14px;line-height:1.6;color:var(--brand-muted);margin:0}.step-arrow{font-size:24px;color:var(--brand-brown-sec);-webkit-user-select:none;user-select:none;opacity:.5}.toeic-showcase-section{padding:40px 0}.dark-coffee-container{background:var(--brand-coffee-dark);border-radius:var(--radius-section);padding:64px;box-shadow:0 20px 60px #302a2533}.toeic-showcase-grid{display:grid;grid-template-columns:38% 58%;gap:4%;align-items:center}.toeic-left-content{display:flex;flex-direction:column;align-items:flex-start}.toeic-checklist{display:flex;flex-direction:column;gap:14px;margin-bottom:36px}.check-item{display:flex;align-items:center;gap:12px;font-size:14px;color:#e2dbd0}.check-mark{color:var(--brand-yellow);font-weight:800;font-size:15px}.btn-toeic-cta{padding:16px 32px;font-size:14px}.browser-mockup-panel{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 24px 60px #00000059;border:1px solid rgba(255,255,255,.1)}.bmp-header{background:#f8f5f0;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--brand-border)}.bmp-title{font-family:var(--font-serif);font-weight:700;font-size:15px;color:var(--brand-coffee);margin-right:12px}.bmp-sub{font-size:12px;color:var(--brand-muted)}.bmp-right{display:flex;align-items:center;gap:14px}.bmp-timer{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#dc2626;background:#fef2f2;padding:4px 10px;border-radius:6px}.bmp-submit-btn{background:var(--brand-coffee);color:var(--brand-white);border:none;padding:6px 14px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer}.bmp-body{display:grid;grid-template-columns:200px 1fr;min-height:320px}.bmp-sidebar{background:#faf8f5;border-right:1px solid var(--brand-border);padding:16px}.bmp-part-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:12px;font-weight:700;color:var(--brand-coffee)}.bmp-q-count{font-weight:500;color:var(--brand-muted)}.bmp-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:16px}.bmp-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;border-radius:4px;background:var(--brand-white);border:1px solid var(--brand-border);color:var(--brand-text)}.bmp-cell.done{background:var(--brand-coffee);color:var(--brand-white);border-color:var(--brand-coffee)}.bmp-cell.active{background:var(--brand-yellow);color:var(--brand-text);border-color:var(--brand-yellow);font-weight:800}.bmp-legend{display:flex;flex-direction:column;gap:6px;font-size:11px;color:var(--brand-muted)}.bmp-legend span{display:flex;align-items:center;gap:6px}.bmp-legend .dot{width:8px;height:8px;border-radius:50%;background:var(--brand-border);display:inline-block}.bmp-legend .dot.done{background:var(--brand-coffee)}.bmp-legend .dot.active{background:var(--brand-yellow)}.bmp-content{padding:24px;display:flex;flex-direction:column;justify-content:space-between}.bmp-question-text{font-size:14px;line-height:1.6;color:var(--brand-text);font-weight:500;margin-bottom:20px}.bmp-options{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.bmp-opt{padding:10px 14px;border-radius:8px;border:1px solid var(--brand-border);background:#faf8f5;font-size:13px;color:var(--brand-text);display:flex;align-items:center;gap:8px}.bmp-opt-letter{font-weight:700;color:var(--brand-coffee)}.bmp-footer-nav{display:flex;align-items:center;justify-content:space-between}.bmp-btn-prev,.bmp-btn-next{padding:8px 16px;border-radius:8px;border:1px solid var(--brand-border);background:var(--brand-white);font-size:12px;font-weight:600;color:var(--brand-coffee);cursor:pointer}.bmp-btn-next{background:var(--brand-coffee);color:var(--brand-white);border-color:var(--brand-coffee)}.ecosystem-section{padding:96px 0;background:var(--brand-bg)}.ecosystem-header{text-align:center;margin-bottom:56px}.ecosystem-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.eco-card{background:var(--brand-white);border:1px solid var(--brand-border);border-radius:var(--radius-card);padding:32px;transition:all .3s ease;box-shadow:var(--shadow-subtle);display:flex;flex-direction:column}.eco-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.eco-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.eco-icon-badge{width:44px;height:44px;border-radius:12px;background:var(--brand-bg-sub);display:flex;align-items:center;justify-content:center}.eco-arrow-link{font-size:18px;color:var(--brand-coffee);text-decoration:none!important;width:32px;height:32px;border-radius:50%;border:1px solid var(--brand-border);display:flex;align-items:center;justify-content:center;transition:all .2s ease}.eco-card:hover .eco-arrow-link{background:var(--brand-coffee);color:var(--brand-white);border-color:var(--brand-coffee)}.eco-card-title{font-size:18px;font-weight:700;color:var(--brand-coffee);margin:0 0 8px}.eco-card-desc{font-size:14px;line-height:1.5;color:var(--brand-muted);margin:0 0 24px}.eco-mini-visual{background:var(--brand-bg);border:1px solid var(--brand-border);border-radius:12px;padding:16px;margin-top:auto}.doc-item{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--brand-white);border-radius:8px;border:1px solid var(--brand-border)}.doc-item+.doc-item{margin-top:8px}.doc-badge{font-size:10px;font-weight:800;padding:3px 6px;border-radius:4px}.doc-badge.pdf{background:#fee2e2;color:#dc2626}.doc-badge.docx{background:#dbeafe;color:#2563eb}.doc-info{display:flex;flex-direction:column;flex:1}.doc-title{font-size:12px;font-weight:600;color:var(--brand-text)}.doc-meta{font-size:10px;color:var(--brand-muted)}.doc-dl-icon{font-size:14px}.vocab-search-box{display:flex;align-items:center;gap:8px;background:var(--brand-white);border:1px solid var(--brand-border);padding:8px 12px;border-radius:8px;font-size:12px;color:var(--brand-muted);margin-bottom:12px}.vocab-card-preview{background:var(--brand-white);border-radius:8px;padding:12px;border:1px solid var(--brand-border)}.vocab-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.vocab-word{font-family:var(--font-serif);font-size:16px;font-weight:700;color:var(--brand-coffee)}.vocab-phonetic{font-size:11px;color:var(--brand-muted);margin-bottom:6px}.vocab-meaning{font-size:12px;color:var(--brand-text)}.quiz-row-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.q-label{font-size:12px;font-weight:700;color:var(--brand-coffee)}.q-badge-correct{font-size:10px;font-weight:700;background:#dcfce7;color:#166534;padding:2px 8px;border-radius:var(--radius-pill)}.quiz-option-selected{display:flex;justify-content:space-between;align-items:center;background:var(--brand-white);border:1px solid #86EFAC;padding:8px 12px;border-radius:8px;font-size:12px;font-weight:600;color:var(--brand-text);margin-bottom:8px}.check-icon-green{color:#16a34a;font-weight:800}.quiz-explanation{font-size:11px;color:var(--brand-muted);line-height:1.4}.progress-visual{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:110px;overflow:hidden}.progress-badge-float{display:flex;justify-content:space-between;align-items:center;background:var(--brand-white);padding:8px 12px;border-radius:8px;border:1px solid var(--brand-border);margin-bottom:12px}.progress-badge-float .lbl{font-size:11px;color:var(--brand-muted)}.progress-badge-float .val{font-family:var(--font-serif);font-size:16px;font-weight:700;color:var(--brand-coffee)}.progress-chart-svg{width:100%;max-width:100%;height:60px}.testimonials-dark-box{padding:56px 64px}.testimonials-dark-header{display:grid;grid-template-columns:40% 56%;gap:4%;align-items:center}.t-dark-right-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.score-card-editorial{background:#ffffff14;border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:24px 20px;display:flex;flex-direction:column;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.score-val{font-family:var(--font-serif);font-size:32px;font-weight:500;color:var(--brand-white);line-height:1.1;margin-bottom:2px}.score-lbl{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--brand-yellow);margin-bottom:12px}.score-quote{font-family:var(--font-serif);font-style:italic;font-size:13px;color:#e2dbd0;line-height:1.4;margin-top:auto}.fullwidth-feature-banner{position:relative;min-height:340px;display:flex;align-items:center;background-color:var(--brand-coffee-dark);overflow:hidden;margin:40px 0}.fw-banner-bg{position:absolute;top:0;left:0;right:0;bottom:0;background-size:cover;background-position:center;filter:brightness(.8) contrast(1.02)}.fw-banner-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,#3d332ae0,#3d332a99 60%,#3d332a66)}.fw-banner-content{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;width:100%}.fw-banner-title{font-family:var(--font-serif);font-size:clamp(2.2rem,4vw,3.2rem);font-weight:400;color:var(--brand-white);margin:8px 0 12px}.fw-banner-sub{font-size:15px;color:#e2dbd0;margin:0}.btn-large{padding:16px 36px;font-size:14px}.faq-section{padding:96px 0;background:var(--brand-bg)}.faq-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:48px}.btn-see-all{padding:8px 20px;border-radius:var(--radius-pill);border:1px solid var(--brand-border);background:var(--brand-white);font-size:12px;font-weight:700;letter-spacing:.05em;color:var(--brand-coffee);cursor:pointer;transition:all .2s ease}.btn-see-all:hover{background:var(--brand-coffee);color:var(--brand-white)}.faq-accordion-list{display:flex;flex-direction:column;gap:12px}.faq-accordion-item{background:var(--brand-white);border:1px solid var(--brand-border);border-radius:16px;overflow:hidden;transition:all .25s ease}.faq-accordion-item.open{box-shadow:var(--shadow-subtle);border-color:var(--brand-coffee)}.faq-question-btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:22px 28px;background:none;border:none;text-align:left;cursor:pointer}.faq-num{font-family:var(--font-serif);font-size:16px;color:var(--brand-muted);width:32px}.faq-question-text{flex:1;font-size:16px;font-weight:600;color:var(--brand-coffee)}.faq-plus-icon{font-size:20px;font-weight:400;color:var(--brand-coffee);width:24px;text-align:right}.faq-answer-content{padding:0 28px 24px 60px;font-size:14px;line-height:1.65;color:var(--brand-muted)}.warm-aesthetic-footer{background:var(--brand-bg-sub);border-top:1px solid var(--brand-border);padding:44px 0 28px}.footer-main-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:32px}.footer-brand-logo{font-family:var(--font-serif);font-size:22px;font-weight:700;color:var(--brand-coffee);text-decoration:none!important;display:inline-block;margin-bottom:6px}.footer-tagline-serif{font-family:var(--font-serif);font-style:italic;font-size:13px;color:var(--brand-muted);margin-bottom:20px}.footer-social-links{display:flex;gap:10px}.footer-social-links a{font-size:11px;font-weight:600;color:var(--brand-coffee);text-decoration:none!important;padding:5px 12px;border-radius:var(--radius-pill);border:1px solid var(--brand-border);background:var(--brand-white);transition:all .2s ease}.footer-social-links a:hover{background:var(--brand-coffee);color:var(--brand-white);border-color:var(--brand-coffee)}.footer-col-title{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--brand-coffee);margin:0 0 16px}.footer-link-list{list-style:none!important;padding:0!important;margin:0!important;display:flex;flex-direction:column;gap:10px}.footer-link-list li{list-style:none!important;padding:0!important;margin:0!important}.footer-link-list a,.footer-link-list a:visited,.footer-link-list a:link,.footer-link-list a:active{color:var(--brand-muted)!important;text-decoration:none!important;font-size:13px;transition:color .2s ease}.footer-link-list a:hover{color:var(--brand-coffee)!important}.footer-bottom-bar{display:flex;align-items:center;justify-content:space-between;padding-top:20px;border-top:1px solid var(--brand-border);font-size:11px;color:var(--brand-muted)}.footer-copyright{font-size:11px;font-weight:400;color:var(--brand-muted);opacity:.8;letter-spacing:.01em}.footer-bottom-quote{font-family:var(--font-serif);font-style:italic;font-size:11px;color:var(--brand-muted);opacity:.8}@media(max-width:1024px){.warm-hero-grid,.meet-teacher-grid,.about-course-grid,.classroom-grid,.testimonials-dark-header{grid-template-columns:1fr;gap:40px}.t-dark-right-cards{grid-template-columns:repeat(3,1fr)}.fw-banner-content{flex-direction:column;text-align:center;gap:24px}.benefits-grid{grid-template-columns:repeat(2,1fr)}.ecosystem-grid{grid-template-columns:1fr}.toeic-showcase-grid{grid-template-columns:1fr;gap:40px}.footer-main-grid{grid-template-columns:1fr 1fr}}@media(max-width:768px){.nav-links{display:none}.nav-links.mobile-show{display:flex;flex-direction:column;position:absolute;top:80px;left:0;right:0;background:var(--brand-bg);border-bottom:1px solid var(--brand-border);padding:20px;gap:16px}.mobile-hamburger{display:block}.benefits-grid,.t-dark-right-cards,.course-stats-row{grid-template-columns:1fr}.three-steps-grid{flex-direction:column}.step-arrow{transform:rotate(90deg);margin:-10px 0}.dark-coffee-container{padding:32px 24px}.footer-main-grid{grid-template-columns:1fr;gap:32px}.footer-bottom-bar{flex-direction:column;gap:12px;text-align:center}.bmp-body{grid-template-columns:1fr}.bmp-sidebar{border-right:none;border-bottom:1px solid var(--brand-border)}}.logout-item{color:#dc2626!important}.logout-item:hover{background:#fef2f2!important}.glass-card-text,.benefit-content,.meet-teacher-text,.about-course-text,.classroom-text,.header-left,.t-dark-left,.fw-banner-text,.faq-header-left,.brand-col,.stat-col{display:flex;flex-direction:column;align-items:flex-start}.header-right,.fw-banner-cta,.faq-header-right{display:flex;align-items:center}.meet-teacher-visual,.about-course-visual,.toeic-right-mockup{width:100%}.bmp-brand{display:flex;align-items:baseline}.bmp-part-name{font-weight:700;color:var(--brand-coffee)}.docs-visual,.vocab-visual,.quiz-visual{margin-top:auto}.vocab-audio-btn{cursor:pointer;font-size:14px}.testimonials-section{padding:40px 0}.learning-page{max-width:1180px;margin:0 auto;padding:42px 24px 72px;color:var(--brand-text)}.learning-heading,.course-hero{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:32px}.learning-eyebrow{margin:0 0 8px;color:var(--brand-coffee);font-size:11px;font-weight:800;letter-spacing:.14em}.learning-heading h1,.course-hero h1,.lesson-learning-head h1{font-family:var(--font-serif);font-size:clamp(30px,4vw,46px);margin:0 0 10px}.learning-heading p,.course-hero p,.lesson-learning-head p{color:var(--brand-muted);line-height:1.6;margin:0}.learning-search{display:grid;gap:6px;min-width:min(100%,330px);font-size:12px;font-weight:700}.learning-search input{height:44px;border:1px solid var(--brand-border);border-radius:10px;padding:0 13px;font:14px inherit}.learning-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.learning-card{overflow:hidden;background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:16px;box-shadow:var(--shadow-subtle);display:grid;place-items:center;position:relative;background:var(--brand-coffee);color:var(--brand-warning);font:700 48px Playfair Display,serif}.learning-card-cover img{width:100%;height:100%;object-fit:cover}.learning-card-cover small{position:absolute;right:12px;top:12px;background:var(--brand-surface);color:var(--brand-coffee);border-radius:999px;padding:5px 8px;font:700 11px inherit}.learning-card-body{padding:20px}.learning-card-meta{display:flex;justify-content:space-between;gap:8px;color:var(--brand-coffee);font-size:12px}.learning-card h2{font:600 22px var(--font-serif);margin:12px 0 8px}.learning-card p{color:var(--brand-muted);font-size:14px;line-height:1.55;min-height:65px}.learning-primary{border:0;border-radius:10px;background:var(--brand-yellow);color:var(--brand-text);padding:12px 16px;font:700 14px inherit;text-decoration:none;display:inline-flex;justify-content:center;gap:9px;cursor:pointer}.learning-primary:disabled{opacity:.6;cursor:not-allowed}.learning-empty,.learning-loading{padding:42px;text-align:center;border:1px dashed var(--brand-border);border-radius:16px;color:var(--brand-muted)}.learning-error{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid var(--brand-danger-border);border-radius:10px;background:var(--brand-danger-bg);color:var(--brand-danger);margin-bottom:18px}.learning-error button{border:0;background:transparent;color:inherit;font-weight:700;cursor:pointer}.learning-skeleton{height:310px;animation:learning-pulse 1.1s infinite;background:var(--brand-border-light)}.learning-back{display:inline-block;margin-bottom:22px;color:var(--brand-coffee);font-weight:700;text-decoration:none}.course-hero{align-items:center;padding:34px;background:var(--brand-bg-sub);border:1px solid var(--brand-border);border-radius:18px}.course-hero>div:first-child{max-width:720px}.course-teacher{display:block;margin-top:16px;font-size:14px;color:var(--brand-coffee)}.course-progress{min-width:230px;display:grid;gap:9px;padding:18px;background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:14px}.course-progress strong{font-size:27px}.course-progress>div{height:8px;background:var(--brand-border-light);border-radius:8px;overflow:hidden}.course-progress i{display:block;height:100%;background:var(--brand-yellow)}.lesson-list,.material-section{background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:16px;padding:24px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.section-title h2{margin:0;font:600 25px var(--font-serif)}.section-title span{color:var(--brand-muted);font-size:13px}.lesson-row,.material-row{display:flex;align-items:center;gap:15px;padding:18px 0;border-top:1px solid var(--brand-border-light)}.lesson-index{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--brand-border-light);font-weight:700}.lesson-row h3,.material-row h3{margin:0 0 5px;font-size:15px}.lesson-row p,.material-row p{margin:0;color:var(--brand-muted);font-size:13px}.lesson-row div,.material-row div{flex:1}.lesson-row>a,.material-row button{border:0;background:none;color:var(--brand-coffee);font:700 13px inherit;text-decoration:none;cursor:pointer}.lesson-lock{font-size:12px;color:var(--brand-muted)}.lesson-learning{max-width:900px}.lesson-learning-head{padding-bottom:24px;border-bottom:1px solid var(--brand-border)}.lesson-content{padding:28px 0;line-height:1.75;color:var(--brand-text)}.lesson-content img{max-width:100%;height:auto}.lesson-content table{display:block;max-width:100%;overflow:auto}.lesson-media,.lesson-audio{width:100%;margin:8px 0 24px}.material-section{margin-top:28px}.material-row>b{width:47px;height:38px;display:grid;place-items:center;border-radius:8px;background:var(--brand-yellow-soft);color:var(--brand-warning);font-size:10px}.material-row h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:500px}.material-row small{color:var(--brand-muted);font-size:11px}.learning-notice{margin:16px 0;padding:12px;border-radius:9px;background:var(--brand-success-bg);color:var(--brand-success);font-size:14px}.complete-button{margin-top:18px}@keyframes learning-pulse{50%{opacity:.5}}@media(max-width:760px){.learning-page{padding:28px 16px 54px}.learning-heading,.course-hero{align-items:stretch;flex-direction:column}.learning-grid{grid-template-columns:1fr}.learning-card p{min-height:0}.course-hero{padding:24px}.course-progress{min-width:0}.lesson-list,.material-section{padding:18px}.lesson-row,.material-row{align-items:flex-start}.lesson-row>a,.lesson-lock{white-space:nowrap}.material-row{flex-wrap:wrap}.material-row button{margin-left:auto}.learning-error{align-items:flex-start;flex-direction:column}}.course-hero-info{flex:1;max-width:700px}.course-desc-text{font-size:15px;line-height:1.6;color:var(--brand-muted);margin:12px 0 18px}.course-catalog{max-width:1200px;padding-top:48px}.course-catalog__header{align-items:flex-end;margin-bottom:20px}.course-catalog__intro{max-width:720px}.course-catalog__intro h1{max-width:680px;font-size:clamp(34px,4.2vw,52px);letter-spacing:-.035em}.course-catalog__search{min-width:290px;padding:11px;border:1px solid var(--brand-border);border-radius:13px;background:var(--brand-surface);box-shadow:var(--shadow-subtle)}.course-catalog__search span{color:var(--brand-coffee)}.course-catalog__search input{height:40px;border-radius:8px;background:#fffdfa;font-size:13px}.course-catalog__search input:focus{border-color:var(--brand-brown-sec);box-shadow:0 0 0 3px var(--brand-focus-ring);outline:0}.course-catalog__count{margin:0 0 14px;color:var(--brand-muted);font-size:13px;font-weight:700}.course-catalog .learning-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.course-catalog .learning-card{display:flex;min-width:0;flex-direction:column;place-items:normal;overflow:hidden;border:1px solid var(--brand-border);border-radius:16px;background:var(--brand-surface);color:var(--brand-text);font:inherit;box-shadow:var(--shadow-subtle);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.course-catalog .learning-card:hover{transform:translateY(-3px);border-color:#d5c09f;box-shadow:var(--shadow-hover)}.course-catalog .learning-card-cover{position:relative;display:grid;height:150px;place-items:center;overflow:hidden;background:linear-gradient(135deg,var(--brand-coffee),#766252);color:var(--brand-yellow);font-family:var(--font-serif);font-size:48px}.course-catalog .learning-card-cover:after{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 42%,rgba(38,30,24,.32));content:"";pointer-events:none}.course-catalog .learning-card-cover img{display:block;width:100%;height:100%;object-fit:cover}.course-catalog .learning-card-cover small{position:absolute;z-index:1;top:11px;right:11px;padding:5px 9px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:#fffffff0;color:var(--brand-coffee);font:800 10px var(--font-sans);letter-spacing:.03em}.course-catalog .learning-card-body{display:flex;flex:1;flex-direction:column;align-items:stretch;padding:18px}.course-catalog .learning-card-meta{justify-content:flex-start;gap:8px;min-height:19px;color:var(--brand-brown-sec);font-size:11px;font-weight:800}.course-catalog .learning-card-meta span+span{padding-left:8px;border-left:1px solid var(--brand-border);color:var(--brand-muted);font-weight:600}.course-catalog .learning-card h2{margin:9px 0 7px;color:var(--brand-text);font:600 21px/1.28 var(--font-serif);letter-spacing:-.015em}.course-catalog .learning-card p{display:-webkit-box;min-height:44px;margin:0 0 17px;overflow:hidden;color:var(--brand-muted);font-size:13px;line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:2}.course-catalog .learning-primary{width:100%;min-height:42px;margin-top:auto;box-sizing:border-box;border-radius:9px;background:var(--brand-yellow);color:var(--brand-text);font-size:13px;font-weight:800}.course-catalog .learning-primary:hover{background:var(--brand-yellow-hover)}.course-catalog-card__meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px;color:var(--brand-brown-sec);font-size:11px;font-weight:800}.course-catalog-card__meta span+span{padding-left:8px;border-left:1px solid var(--brand-border);color:var(--brand-muted);font-weight:600}.course-view-switch{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}.course-view-switch a{display:inline-flex;min-height:38px;align-items:center;justify-content:center;padding:0 14px;border:1px solid var(--brand-border);border-radius:999px;background:var(--brand-surface);color:var(--brand-muted);font-size:12px;font-weight:800;text-decoration:none}.course-view-switch a[aria-current=page]{border-color:var(--brand-coffee);background:var(--brand-coffee);color:#fff}.course-view-switch a:focus-visible{outline:3px solid var(--brand-focus-ring);outline-offset:2px}.lesson-difficulty-badge{display:inline-flex;align-items:center;min-height:22px;padding:2px 8px;border:1px solid var(--brand-border);border-radius:999px;background:var(--brand-bg);color:var(--brand-brown-sec);font-size:10px;font-weight:800;white-space:nowrap}.lesson-difficulty-badge--intermediate{border-color:#d9ccae;background:#fff8e9;color:#8a671f}.lesson-difficulty-badge--advanced{border-color:#e5c4c0;background:#fff3f2;color:#9b4a41}.course-catalog .learning-skeleton{min-height:310px;background:var(--brand-border-light)}@media(max-width:980px){.course-catalog .learning-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-catalog__header{align-items:stretch;flex-direction:column}.course-catalog__search{width:min(100%,420px)}}@media(max-width:620px){.course-catalog{padding-top:28px}.course-catalog .learning-grid{grid-template-columns:1fr}.course-catalog__intro h1{font-size:34px}.course-catalog__search{width:100%;box-sizing:border-box}.course-catalog .learning-card-cover{height:164px}}.course-meta-tags{display:flex;flex-wrap:wrap;gap:12px;align-items:center;font-size:13px}.course-lessons-count{color:var(--brand-coffee);font-weight:700;background:var(--brand-surface);padding:4px 10px;border-radius:6px;border:1px solid var(--brand-border)}.course-category-tag{color:var(--brand-muted);font-weight:600;background:var(--brand-bg-sub);padding:4px 10px;border-radius:6px}.course-action-card{min-width:280px;background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:16px;padding:22px;box-shadow:var(--shadow-subtle)}.course-enroll-card{display:flex;flex-direction:column;gap:14px}.price-tag-wrap{display:flex;flex-direction:column;gap:4px}.price-label{font-size:12px;color:var(--brand-muted);font-weight:600}.price-amount{font-family:var(--font-serif);font-size:32px;font-weight:700;color:var(--brand-coffee)}.enroll-note{font-size:12px;color:var(--brand-muted);text-align:center}.progress-score-wrap{display:flex;justify-content:space-between;align-items:baseline;margin:4px 0 10px}.progress-label{font-size:12px;color:var(--brand-muted);font-weight:600}.lesson-info-col{flex:1;display:flex;flex-direction:column;gap:4px}.lesson-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.lesson-topic-badge{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--brand-yellow-soft);color:var(--brand-coffee);font-size:11px;font-weight:700}.lesson-submeta{display:flex;gap:12px;font-size:12px;color:var(--brand-muted);margin-top:4px}.lesson-action-col{display:flex;align-items:center}.btn-open-lesson{display:inline-flex;align-items:center;padding:8px 16px;border-radius:8px;background:var(--brand-coffee);color:#fff;font-size:13px;font-weight:700;text-decoration:none;transition:background .2s}.btn-open-lesson:hover{background:var(--brand-brown-sec);color:#fff}.lesson-lock{display:inline-flex;align-items:center;padding:6px 12px;border-radius:8px;background:var(--brand-bg-sub);color:var(--brand-muted);font-size:12px;font-weight:600;border:1px solid var(--brand-border-light)}.course-detail-page{max-width:1200px;padding-top:36px}.course-detail-page .learning-back{margin-bottom:17px;font-size:13px}.course-detail-page .course-hero{position:relative;align-items:stretch;gap:38px;min-height:254px;margin-bottom:22px;padding:30px 34px;overflow:hidden;border-radius:18px;background:linear-gradient(118deg,#f3eee4,#eee6d8)}.course-detail-page .course-hero:after{position:absolute;right:-82px;bottom:-145px;width:350px;height:350px;border:55px solid rgba(243,199,79,.18);border-radius:50%;content:"";pointer-events:none}.course-detail-page .course-hero-info{position:relative;z-index:1;display:flex;flex:1;flex-direction:column;justify-content:center;max-width:720px}.course-detail-page .course-hero h1{max-width:730px;margin-bottom:9px;color:var(--brand-text);font-size:clamp(31px,3.6vw,45px);line-height:1.08;letter-spacing:-.035em}.course-detail-page .course-desc-text{max-width:630px;margin:0 0 17px;font-size:14px}.course-detail-page .course-meta-tags{gap:7px}.course-detail-page .course-teacher,.course-detail-page .course-lessons-count,.course-detail-page .course-category-tag{display:inline-flex;align-items:center;width:auto;margin:0;padding:6px 9px;border:1px solid var(--brand-border);border-radius:7px;background:#ffffffad;color:var(--brand-coffee);font-size:12px}.course-detail-page .course-category-tag{color:var(--brand-muted)}.course-detail-page .course-action-card{position:relative;z-index:1;align-self:center;min-width:282px;padding:22px;border-radius:14px;background:#fffffff5;box-shadow:0 14px 30px #4b40351a}.course-detail-page .course-enroll-card{gap:15px}.course-detail-page .price-tag-wrap{padding-bottom:14px;border-bottom:1px solid var(--brand-border-light)}.course-detail-page .price-label{font-size:12px}.course-detail-page .price-amount{margin-top:2px;font-size:29px}.course-detail-page .learning-primary{min-height:48px;border-radius:9px;font-size:14px}.course-detail-page .enroll-note{margin-top:-3px;font-size:11px}.course-detail-page .lesson-list{padding:26px 30px;border-radius:16px}.course-detail-page .section-title{margin-bottom:18px}.course-detail-page .section-title h2{color:var(--brand-text);font-size:27px;letter-spacing:-.02em}.course-detail-page .section-title span{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.course-detail-page .course-curriculum-empty{display:flex;align-items:center;justify-content:center;gap:13px;min-height:94px;padding:22px;border-style:dashed;border-radius:12px;background:#fffdfa;text-align:left}.course-detail-page .course-curriculum-empty>span{display:grid;width:34px;height:34px;place-items:center;border-radius:50%;background:var(--brand-yellow-soft);color:var(--brand-warning)}.course-detail-page .course-curriculum-empty strong{display:block;color:var(--brand-coffee);font-size:13px}.course-detail-page .course-curriculum-empty p{min-height:0;margin:4px 0 0;color:var(--brand-muted);font-size:12px}@media(max-width:760px){.course-detail-page{padding-top:28px}.course-detail-page .course-hero{gap:22px;min-height:0;padding:24px}.course-detail-page .course-hero h1{font-size:33px}.course-detail-page .course-action-card{width:100%;min-width:0;box-sizing:border-box}.course-detail-page .lesson-list{padding:20px}.course-detail-page .section-title{align-items:flex-start;flex-direction:column}.course-detail-page .course-curriculum-empty{align-items:flex-start;justify-content:flex-start}}.lesson-material-item,.material-row{min-width:0}.material-row>div:first-of-type{min-width:0}.material-actions{display:flex;flex:0 0 auto;align-items:center;justify-content:flex-end;gap:8px}.material-actions button{min-height:38px;margin:0;padding:0 12px;border:1px solid var(--brand-border);border-radius:8px;background:var(--brand-surface);color:var(--brand-coffee);font:700 12px var(--font-sans);cursor:pointer}.material-actions button:hover:not(:disabled){border-color:var(--brand-brown-sec);background:var(--brand-bg-sub)}.material-actions button:focus-visible,.material-pdf-preview button:focus-visible{outline:3px solid var(--brand-focus-ring);outline-offset:2px}.material-actions button:disabled{cursor:wait;opacity:.6}.material-pdf-preview{margin:0 0 18px 62px;overflow:hidden;border:1px solid var(--brand-border);border-radius:12px;background:var(--brand-bg-sub)}.material-pdf-preview__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;color:var(--brand-coffee);font-size:12px}.material-pdf-preview__header strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-pdf-preview__header button{flex:0 0 auto;min-height:32px;padding:0 10px;border:1px solid var(--brand-border);border-radius:7px;background:var(--brand-surface);color:var(--brand-text);font:700 11px var(--font-sans);cursor:pointer}.pdf-document-preview{display:flex;min-height:420px;max-height:min(72vh,760px);flex-direction:column;overflow:hidden;background:#f3f0eb}.pdf-document-preview__toolbar{display:flex;min-height:46px;align-items:center;justify-content:center;gap:12px;padding:6px 12px;border-top:1px solid var(--brand-border);background:var(--brand-surface);color:var(--brand-text);font-size:12px}.pdf-document-preview__toolbar button{min-height:32px;padding:0 10px;border:1px solid var(--brand-border);border-radius:7px;background:var(--brand-surface);color:var(--brand-text);font:700 11px var(--font-sans);cursor:pointer}.pdf-document-preview__toolbar button:disabled{cursor:not-allowed;opacity:.5}.pdf-document-preview__canvas-wrap{display:flex;min-height:360px;flex:1;justify-content:center;overflow:auto;padding:16px}.pdf-document-preview__canvas-wrap canvas{display:block;max-width:100%;height:auto;background:#fff;box-shadow:0 2px 12px #2d241924}.pdf-document-preview__canvas-wrap [role=status],.pdf-document-preview__canvas-wrap [role=alert]{align-self:center;color:var(--brand-text);font-size:13px}.learning-notice{border:1px solid transparent;line-height:1.55}.learning-notice--success{border-color:var(--brand-success-border);background:var(--brand-success-bg);color:var(--brand-success)}.learning-notice--error{border-color:var(--brand-danger-border);background:var(--brand-danger-bg);color:var(--brand-danger)}.learning-notice--warning{border-color:var(--brand-warning-border);background:var(--brand-warning-bg);color:var(--brand-warning)}.learning-notice--info{border-color:var(--brand-border);background:var(--brand-bg-sub);color:var(--brand-coffee)}.lesson-footer-nav{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--brand-border)}.lesson-footer-nav>a,.lesson-footer-nav>button{display:inline-flex;min-width:0;min-height:44px;align-items:center;justify-content:center;padding:0 14px;border:1px solid var(--brand-border);border-radius:9px;background:var(--brand-surface);color:var(--brand-text);font:700 12px var(--font-sans);text-align:center;text-decoration:none}.lesson-footer-nav>button{margin:0;border-color:var(--brand-yellow);background:var(--brand-yellow)}.lesson-footer-nav>button:disabled{opacity:.65;cursor:not-allowed}.lesson-footer-nav>.lesson-footer-nav__previous{justify-self:start}.lesson-footer-nav>.lesson-footer-nav__next{justify-self:end;border-color:var(--brand-coffee);background:var(--brand-coffee);color:#fff}.lesson-footer-nav>.lesson-footer-nav__course{border-color:var(--brand-border);background:var(--brand-surface);color:var(--brand-text)}.lesson-footer-nav__placeholder{min-width:0}@media(max-width:600px){.lesson-footer-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.lesson-footer-nav>a,.lesson-footer-nav>button{min-height:42px;padding:0 5px;font-size:10px;line-height:1.25}.lesson-footer-nav>.lesson-footer-nav__previous{justify-self:stretch}.lesson-footer-nav>.lesson-footer-nav__next{justify-self:stretch}}@media(max-width:760px){.material-row{gap:11px}.material-row>div:first-of-type{flex:1 1 calc(100% - 62px)}.material-actions{width:100%;justify-content:flex-start;padding-left:58px}.material-actions button{flex:1 1 auto}.material-pdf-preview{margin-left:0}.pdf-document-preview{min-height:320px;max-height:65vh}.pdf-document-preview__canvas-wrap{min-height:260px;padding:10px}}@media(prefers-reduced-motion:reduce){.material-actions button{scroll-behavior:auto}}.lesson-vocabulary-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}.lesson-vocabulary-toolbar .section-title{flex:1 1 260px;margin:0}.lesson-vocabulary-flashcard{flex:0 0 auto}.lesson-vocabulary-flashcard-summary{display:flex;align-items:center;gap:14px;padding:17px 18px;border:1px solid var(--brand-border-light);border-radius:12px;background:var(--brand-surface);box-shadow:var(--shadow-subtle)}.lesson-vocabulary-flashcard-summary__mark{display:grid;width:42px;height:42px;flex:none;place-items:center;border-radius:10px;background:var(--brand-yellow-soft);color:var(--brand-coffee);font:700 17px var(--font-serif)}.lesson-vocabulary-flashcard-summary>div{min-width:0;flex:1}.lesson-vocabulary-flashcard-summary strong{display:block;color:var(--brand-coffee);font-size:14px}.lesson-vocabulary-flashcard-summary p{margin:4px 0 0;color:var(--brand-muted);font-size:12px;line-height:1.5}.lesson-vocabulary-flashcard-summary__count{flex:none;color:var(--brand-muted);font-size:12px;font-weight:800}.lesson-vocabulary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px}.lesson-vocabulary-card{display:block;min-width:0;padding:17px;border:1px solid var(--brand-border-light);border-radius:12px;background:var(--brand-surface);box-shadow:var(--shadow-subtle);color:inherit;text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.lesson-vocabulary-card:hover{border-color:var(--brand-brown-sec);box-shadow:0 9px 22px #4b40351c;transform:translateY(-2px)}.lesson-vocabulary-card:focus-visible{outline:3px solid var(--brand-focus-ring);outline-offset:3px}.lesson-vocabulary-card__term{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:4px}.lesson-vocabulary-card__term strong{color:var(--brand-coffee);font-size:17px}.lesson-vocabulary-card__term em,.lesson-vocabulary-card__pronunciation{color:var(--brand-muted);font-size:12px}.lesson-vocabulary-card__pronunciation{margin-bottom:8px}.lesson-vocabulary-card__meaning{margin-bottom:8px;color:var(--brand-text);font-size:14px;font-weight:700;line-height:1.5}.lesson-vocabulary-card__example{margin:0;color:var(--brand-muted);font-size:12px;font-style:italic;line-height:1.5}.lesson-vocabulary-card__hint{display:block;margin-top:14px;color:var(--brand-coffee);font-size:11px;font-weight:800}@media(max-width:600px){.lesson-vocabulary-toolbar{align-items:stretch;flex-direction:column}.lesson-vocabulary-flashcard{width:100%;box-sizing:border-box}.lesson-vocabulary-flashcard-summary{align-items:flex-start;flex-wrap:wrap}.lesson-vocabulary-flashcard-summary__count{width:100%;padding-left:56px}}.lesson-vocabulary-title{margin-bottom:16px}.lesson-vocabulary-title .section-title{margin:0}.lesson-inline-flashcard{height:min(72vh,760px);min-height:520px;perspective:1200px}.lesson-inline-flashcard__inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .45s ease}.lesson-inline-flashcard.is-flipped .lesson-inline-flashcard__inner{transform:rotateY(180deg)}.lesson-inline-flashcard__face{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;min-width:0;flex-direction:column;border:1px solid var(--brand-border);border-radius:18px;box-shadow:0 12px 30px #4b40351a;backface-visibility:hidden}.lesson-inline-flashcard__front{align-items:center;justify-content:center;gap:15px;overflow:hidden;padding:36px;background:var(--brand-surface);color:inherit;cursor:pointer;text-align:center}.lesson-inline-flashcard__front:focus-visible{outline:3px solid var(--brand-focus-ring);outline-offset:3px}.lesson-inline-flashcard__eyebrow{color:var(--brand-coffee);font-size:11px;font-weight:800;letter-spacing:.14em}.lesson-inline-flashcard__front h3{max-width:800px;margin:0;color:var(--brand-text);font:600 clamp(30px,5vw,48px) var(--font-serif);overflow-wrap:anywhere}.lesson-inline-flashcard__front>p{max-width:700px;margin:0;color:var(--brand-muted);line-height:1.6}.lesson-inline-flashcard__count{display:inline-flex;min-height:34px;align-items:center;padding:0 14px;border-radius:999px;background:var(--brand-yellow-soft);color:var(--brand-warning);font-size:12px;font-weight:800}.lesson-inline-flashcard__flip-hint{display:inline-flex;min-height:40px;align-items:center;padding:0 14px;border:1px solid var(--brand-yellow);border-radius:9px;background:var(--brand-yellow);color:var(--brand-text);font:800 12px var(--font-sans)}.lesson-inline-flashcard__back-actions button:focus-visible{outline:3px solid var(--brand-focus-ring);outline-offset:2px}.lesson-inline-flashcard__back{transform:rotateY(180deg);gap:12px;overflow:hidden;padding:22px 26px;background:var(--brand-coffee);color:#fff}.lesson-inline-flashcard__back>header{display:flex;flex:none;align-items:center;justify-content:space-between;gap:14px;padding-bottom:13px;border-bottom:1px solid rgb(255 255 255 / 20%)}.lesson-inline-flashcard__back>header span{color:#e4d4be;font-size:10px;font-weight:800;letter-spacing:.12em}.lesson-inline-flashcard__back>header h3{margin:4px 0 0;color:var(--brand-yellow);font:600 24px var(--font-serif);overflow-wrap:anywhere}.lesson-inline-flashcard__back-actions{display:flex;flex:none;align-items:center;gap:8px}.lesson-inline-flashcard__back-actions strong{border:1px solid rgb(255 255 255 / 25%);border-radius:999px;padding:7px 10px;color:#fff;font-size:11px;white-space:nowrap}.lesson-inline-flashcard__back-actions button{min-height:34px;border-color:#ffffff4d;background:transparent;color:#fff}.lesson-inline-flashcard__word-list{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;margin:0;padding:0 8px 0 0;list-style:none;scrollbar-color:#C8B7A5 transparent}.lesson-inline-flashcard__word-list li{padding:13px 0;border-bottom:1px solid rgb(255 255 255 / 16%)}.lesson-inline-flashcard__term{display:grid;grid-template-columns:28px minmax(130px,1fr) minmax(140px,1.2fr);align-items:start;gap:10px}.lesson-inline-flashcard__term>span{color:var(--brand-yellow);font:600 16px var(--font-serif)}.lesson-inline-flashcard__term h4{margin:0;color:#fff;font-size:15px;line-height:1.35;overflow-wrap:anywhere}.lesson-inline-flashcard__term h4 em{color:#e4d4be;font-size:11px;font-weight:500}.lesson-inline-flashcard__term small{display:block;margin-top:4px;color:#e4d4be;font-size:11px}.lesson-inline-flashcard__term>p{margin:0;color:#fff;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.lesson-inline-flashcard__examples{margin:7px 0 0 38px;color:#e4d4be}.lesson-inline-flashcard__examples p{margin:3px 0 0;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.lesson-inline-flashcard__examples b{margin-right:5px;color:var(--brand-yellow);font-size:9px;letter-spacing:.08em}.lesson-material-preview{margin:0 0 18px 58px;overflow:hidden;border:1px solid var(--brand-border);border-radius:12px;background:var(--brand-bg-sub)}.lesson-material-preview__status,.lesson-material-preview__error{margin:0;padding:16px;color:var(--brand-muted);font-size:13px;line-height:1.5}.lesson-material-preview__error{color:var(--brand-danger)}.lesson-material-preview__image{display:block;width:100%;max-height:min(72vh,760px);object-fit:contain;background:#f4f1eb}.lesson-material-preview__audio{display:block;width:calc(100% - 32px);margin:16px}.lesson-material-preview__pdf-frame{display:block;width:100%;height:min(72vh,760px);min-height:420px;border:0;background:#f3f0eb}.lesson-material-preview__docx{max-height:min(72vh,760px);overflow:auto;padding:24px clamp(16px,4vw,42px);background:#fff;color:var(--brand-text);line-height:1.7}.lesson-material-preview__docx h1,.lesson-material-preview__docx h2,.lesson-material-preview__docx h3{color:var(--brand-coffee);font-family:var(--font-serif)}.lesson-material-preview__docx table{width:100%;border-collapse:collapse}.lesson-material-preview__docx th,.lesson-material-preview__docx td{padding:8px;border:1px solid var(--brand-border);text-align:left}.lesson-material-preview__docx img{max-width:100%;height:auto}@media(max-width:760px){.lesson-inline-flashcard{min-height:500px}.lesson-inline-flashcard__back{padding:18px}.lesson-inline-flashcard__term{grid-template-columns:24px minmax(0,1fr)}.lesson-inline-flashcard__term>p{grid-column:2}.lesson-inline-flashcard__examples{margin-left:34px}.lesson-material-preview{margin-left:0}.lesson-material-preview__pdf-frame{min-height:320px}}@media(max-width:600px){.lesson-inline-flashcard{height:68vh;min-height:460px}.lesson-inline-flashcard__front{padding:24px 16px}.lesson-inline-flashcard__back{padding:15px}.lesson-inline-flashcard__back>header{align-items:flex-start}.lesson-inline-flashcard__back>header h3{font-size:19px}.lesson-inline-flashcard__back-actions{flex-direction:column;align-items:flex-end}.lesson-inline-flashcard__back-actions button{padding:0 9px;font-size:10px}}@media(prefers-reduced-motion:reduce){.lesson-inline-flashcard__inner{transition:none}}.my-courses-page .my-course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:22px}.course-catalog .my-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.my-course-card{min-width:0;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--brand-border);border-radius:var(--radius-card);background:var(--brand-surface);color:var(--brand-text);box-shadow:var(--shadow-subtle);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.my-course-card:hover,.my-course-card:focus-within{transform:translateY(-3px);border-color:var(--brand-border-light);box-shadow:var(--shadow-hover)}.my-course-card__cover{position:relative;isolation:isolate;display:grid;flex:0 0 auto;width:100%;aspect-ratio:16 / 8.5;place-items:center;overflow:hidden;background:linear-gradient(135deg,var(--brand-yellow-soft),var(--brand-bg-sub) 68%,var(--brand-border-light))}.my-course-card__cover:before,.my-course-card__cover:after{position:absolute;z-index:-1;border:1px solid rgba(128,107,88,.16);border-radius:50%;content:"";pointer-events:none}.my-course-card__cover:before{top:-104px;right:-48px;width:220px;height:220px}.my-course-card__cover:after{top:-74px;right:-18px;width:160px;height:160px}.my-course-card__cover img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.my-course-card:hover .my-course-card__cover img{transform:scale(1.035)}.my-course-card__initial{display:grid;width:76px;height:76px;place-items:center;border:1px solid rgba(128,107,88,.18);border-radius:24px;background:#ffffffb8;color:var(--brand-coffee);font-family:var(--font-serif);font-size:42px;font-weight:600;box-shadow:0 8px 20px #4b403514}.my-course-card__cover-label{position:absolute;top:14px;left:14px;padding:6px 10px;border:1px solid rgba(229,222,212,.8);border-radius:var(--radius-pill);background:#ffffffe0;color:var(--brand-brown-sec);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.my-course-card__body{display:flex;flex:1;flex-direction:column;gap:18px;padding:20px}.my-course-card__copy h2{display:-webkit-box;min-height:2.6em;overflow:hidden;margin:0 0 7px;color:var(--brand-text);font-family:var(--font-serif);font-size:20px;font-weight:600;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2}.my-course-card__copy p{display:-webkit-box;min-height:3.9em;overflow:hidden;margin:0;color:var(--brand-muted);font-family:var(--font-sans);font-size:13px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}.my-course-progress{display:grid;min-width:0;gap:9px;margin-top:auto;padding:13px 14px;border:1px solid var(--brand-border-light);border-radius:var(--radius-md);background:var(--brand-bg)}.my-course-progress__header{display:flex;align-items:center;justify-content:space-between;gap:12px}.my-course-progress__header span{color:var(--brand-muted);font-size:12px;font-weight:700}.my-course-progress__header strong{color:var(--brand-coffee);font-family:var(--font-sans);font-size:17px;font-weight:800;line-height:1}.my-course-progress__bar{height:7px}.my-course-progress__bar>span{background:var(--brand-yellow)}.my-course-card__action{display:flex;min-height:46px;align-items:center;justify-content:space-between;padding:0 15px;border:1px solid var(--brand-yellow);border-radius:var(--radius-sm);background:var(--brand-yellow);color:var(--brand-text);font-family:var(--font-sans);font-size:13px;font-weight:800;line-height:1.2;text-decoration:none;transition:background .18s ease,border-color .18s ease,transform .18s ease}.my-course-card__action:hover{transform:translateY(-1px);border-color:var(--brand-yellow-hover);background:var(--brand-yellow-hover)}.my-course-card__action span:last-child{font-size:18px;line-height:1}@media(max-width:620px){.my-courses-page .my-course-grid,.course-catalog .my-course-grid{grid-template-columns:1fr}.my-courses-page .my-course-grid{gap:16px}.my-course-card__body{gap:15px;padding:17px}}@media(prefers-reduced-motion:reduce){.my-course-card,.my-course-card__cover img,.my-course-card__action{transition:none}.my-course-card:hover,.my-course-card:focus-within,.my-course-card__action:hover{transform:none}}.checkout-page-wrapper{position:relative;width:100%;min-height:100vh;background:#fff;margin:0;padding:0;overflow-x:hidden}.checkout-content{padding-top:70px;min-height:calc(100vh - 70px)}.checkout-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:20px}.spinner-large{width:56px;height:56px;border:4px solid rgba(73,187,189,.15);border-top:4px solid #49BBBD;border-radius:50%;animation:spin .9s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.checkout-container{max-width:1400px;margin:0 auto;padding:40px 80px;box-sizing:border-box}.checkout-header{margin-bottom:40px}.checkout-title{font-family:Poppins,sans-serif;font-weight:700;font-size:48px;line-height:72px;color:#2f327d;margin:0}.checkout-grid{display:grid;grid-template-columns:1fr 400px;gap:40px;align-items:start}.checkout-form-section{background:#fff;border-radius:20px;padding:40px;box-shadow:0 4px 20px #00000014}.form-section{margin-bottom:40px}.form-section:last-child{margin-bottom:0}.section-title{font-family:Poppins,sans-serif;font-weight:700;font-size:20px;color:#2f327d;margin:0 0 24px;text-transform:uppercase;letter-spacing:.5px;text-align:center}.payment-methods{display:grid;grid-template-columns:1fr 1fr;gap:20px}.payment-method{display:flex;align-items:center;gap:15px;padding:20px;border:2px solid #E5E5E5;border-radius:12px;background:#fff;cursor:pointer;transition:all .3s ease;font-family:Poppins,sans-serif;font-weight:600;font-size:16px;color:#2f327d}.payment-method:hover{border-color:#49bbbd;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.payment-method.active{border-color:#49bbbd;background:#f0f9ff}.payment-method.active.zalopay{border-color:#0068ff;background:#f0f9ff}.payment-method.active.momo{border-color:#d82d8b;background:#fdf2f8}.payment-logo{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:20px;flex-shrink:0}.payment-logo.zalopay{background:#0068ff}.payment-logo.momo{background:#d82d8b}.form-group{position:relative;margin-bottom:24px;width:100%}.form-group:last-child{margin-bottom:0}.form-group label{display:block;margin-bottom:10px;font-family:Poppins,sans-serif;font-weight:600;font-size:14px;color:#2f327d;text-transform:uppercase;letter-spacing:.5px;line-height:1.4}.modern-input{width:100%;height:54px;padding:0 18px;border:1.5px solid #E5E5E5;border-radius:12px;font-family:Poppins,sans-serif;font-weight:400;font-size:16px;color:#2f327d;background:#fff;transition:all .3s ease;box-sizing:border-box;appearance:none;-webkit-appearance:none;-moz-appearance:none}.modern-input:focus{outline:none;border-color:#49bbbd;box-shadow:0 0 0 3px #49bbbd1a}.modern-input::placeholder{color:#696984}.modern-input.error{border-color:#ef4444}.modern-input.error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.modern-input.valid{border-color:#10b981}.modern-input.valid:focus{border-color:#49bbbd;box-shadow:0 0 0 3px #49bbbd1a}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.modern-textarea{width:100%;height:120px;min-height:120px;max-height:200px;padding:12px 18px;border:1.5px solid #E5E5E5;border-radius:12px;font-family:Nunito Sans,sans-serif;font-weight:400;font-size:16px;color:#2f327d;background:#fff;transition:all .3s ease;box-sizing:border-box;resize:vertical;line-height:1.6;-moz-appearance:none;appearance:none;-webkit-appearance:none}.modern-textarea:focus{outline:none;border-color:#49bbbd;box-shadow:0 0 0 3px #49bbbd1a}.modern-textarea.error{border-color:#ef4444}.modern-textarea.error:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.modern-textarea.valid{border-color:#10b981}.modern-textarea.valid:focus{border-color:#49bbbd;box-shadow:0 0 0 3px #49bbbd1a}.modern-textarea::placeholder{color:#696984}.modern-input[type=select],.modern-input select,select.modern-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%232F327D' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;background-size:12px;padding-right:45px;cursor:pointer}.modern-input[type=select]:focus,.modern-input select:focus,select.modern-input:focus{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2349BBBD' d='M6 9L1 4h10z'/%3E%3C/svg%3E")}.checkbox-group{margin-top:10px}.error-message{color:#ef4444;font-family:Poppins,sans-serif;font-weight:400;font-size:14px;margin-top:8px}.instructor-selection{display:flex;flex-direction:column;gap:15px}.instructor-option{display:flex;align-items:center;gap:15px;padding:20px;border:2px solid #E5E5E5;border-radius:12px;background:#fff;cursor:pointer;transition:all .3s ease;position:relative}.instructor-option:hover{border-color:#49bbbd;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.instructor-option.selected{border-color:#49bbbd;background:#f0f9ff;box-shadow:0 4px 12px #49bbbd26}.instructor-option-avatar{width:60px;height:60px;border-radius:50%;background:#49bbbd;color:#fff;display:flex;align-items:center;justify-content:center;font-family:Poppins,sans-serif;font-weight:700;font-size:24px;flex-shrink:0}.instructor-option-info{flex:1;display:flex;flex-direction:column;gap:5px}.instructor-option-name{font-family:Poppins,sans-serif;font-weight:700;font-size:18px;color:#2f327d}.instructor-option-title{font-family:Poppins,sans-serif;font-weight:500;font-size:14px;color:#49bbbd}.instructor-option-specialization{font-family:Nunito Sans,sans-serif;font-weight:400;font-size:14px;color:#696984}.instructor-option-stats{display:flex;gap:15px;margin-top:5px;font-family:Nunito Sans,sans-serif;font-weight:400;font-size:13px;color:#696984}.instructor-option-check{width:30px;height:30px;border-radius:50%;background:#49bbbd;color:#fff;display:flex;align-items:center;justify-content:center;font-family:Poppins,sans-serif;font-weight:700;font-size:18px;flex-shrink:0}.checkbox-label{display:flex;align-items:center;gap:12px;cursor:pointer;font-family:Nunito Sans,sans-serif;font-weight:400;font-size:14px;color:#696984}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#49BBBD}.order-summary-section{position:sticky;top:90px}.order-summary-card{background:#fff;border-radius:20px;padding:30px;box-shadow:0 4px 20px #00000014;border:1px solid #E5E5E5}.order-summary-card h3{font-family:Poppins,sans-serif;font-weight:700;font-size:24px;color:#2f327d;margin:0 0 30px;text-align:center}.order-items{display:flex;flex-direction:column;gap:20px;margin-bottom:30px;padding-bottom:30px;border-bottom:1px solid #E5E5E5}.order-item{display:flex;gap:15px}.item-image{width:80px;height:80px;border-radius:12px;overflow:hidden;flex-shrink:0}.item-image img{width:100%;height:100%;object-fit:cover}.item-info{flex:1;display:flex;flex-direction:column;gap:5px}.item-info h4{font-family:Poppins,sans-serif;font-weight:600;font-size:16px;color:#2f327d;margin:0}.item-description{font-family:Nunito Sans,sans-serif;font-weight:400;font-size:14px;color:#696984;margin:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.item-price{font-family:Poppins,sans-serif;font-weight:700;font-size:18px;color:#49bbbd;margin:0}.order-breakdown{border-top:1px solid #E5E5E5;border-bottom:1px solid #E5E5E5;padding:20px 0;margin:30px 0;display:flex;flex-direction:column;gap:15px}.breakdown-item{display:flex;justify-content:space-between;align-items:center;font-family:Poppins,sans-serif;font-weight:400;font-size:16px;color:#696984}.breakdown-item span:last-child{font-weight:600;color:#2f327d}.order-total{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-top:2px solid #E5E5E5;margin-bottom:30px}.order-total span:first-child{font-family:Poppins,sans-serif;font-weight:700;font-size:20px;color:#2f327d}.total-amount{font-family:Poppins,sans-serif;font-weight:700;font-size:28px;color:#49bbbd}.premium-checkout-button{width:100%;height:56px;background:#49bbbd;color:#fff;border:none;border-radius:12px;font-family:Poppins,sans-serif;font-weight:600;font-size:18px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px;text-transform:uppercase;letter-spacing:.5px}.premium-checkout-button:hover:not(:disabled){background:#3aa8aa;transform:translateY(-2px);box-shadow:0 8px 20px #49bbbd4d}.premium-checkout-button:disabled{background:#e5e5e5;color:#696984;cursor:not-allowed;transform:none;box-shadow:none}.premium-checkout-button.active{background:#49bbbd;box-shadow:0 4px 15px #49bbbd33}.processing{display:flex;align-items:center;justify-content:center}.spinner-small{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid #FFFFFF;border-radius:50%;animation:spin .8s linear infinite}@media(max-width:1200px){.checkout-container{padding:40px}.checkout-grid{grid-template-columns:1fr 350px;gap:30px}}@media(max-width:1024px){.checkout-grid{grid-template-columns:1fr;gap:30px}.order-summary-section{position:static}.payment-methods{grid-template-columns:1fr}}@media(max-width:768px){.checkout-container{padding:30px 20px}.checkout-title{font-size:36px;line-height:54px}.checkout-form-section{padding:25px}.form-grid{grid-template-columns:1fr}.order-summary-card{padding:25px}}@media(max-width:480px){.checkout-title{font-size:28px;line-height:42px}.checkout-form-section{padding:20px}.section-title{font-size:16px}.payment-method{padding:15px;font-size:14px}.payment-logo{width:40px;height:40px;font-size:16px}}.test-taking-container{color:var(--brand-text)}.test-sticky-header,.test-navigator-column{background:var(--brand-surface);border-color:var(--brand-border);border-radius:var(--radius-card);box-shadow:var(--shadow-subtle);font-family:var(--font-serif)}.test-title-box p{color:var(--brand-muted)}.test-timer-badge{background:var(--brand-danger-bg);color:var(--brand-danger);border-color:var(--brand-danger-border)}.test-taking-container{width:100%;max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem}.test-sticky-header{position:sticky;top:64px;z-index:900;background:var(--brand-surface);border-radius:16px;padding:1rem 1.5rem;border:1px solid var(--brand-border);box-shadow:var(--shadow-subtle);display:flex;align-items:center;justify-content:space-between;gap:1rem}.test-title-box h2{font-size:1.25rem;font-weight:700;color:var(--brand-text);margin:0}.test-title-box p{font-size:.85rem;color:var(--brand-muted);margin:0}.test-progress{width:min(220px,100%);height:6px;margin-top:7px;overflow:hidden;border-radius:999px;background:var(--brand-border-light)}.test-progress__fill{height:100%;border-radius:inherit;background:var(--brand-coffee);transition:width .16s ease}.test-timer-badge{background:var(--brand-danger-bg);color:var(--brand-danger);border:1px solid var(--brand-danger-border);padding:6px 14px;border-radius:20px;font-weight:700;font-size:1.1rem;display:flex;align-items:center;gap:6px;flex-shrink:0}.test-main-split{display:flex;gap:1.5rem;align-items:flex-start}.test-questions-column{flex:1;min-width:0;display:flex;flex-direction:column;gap:1.5rem}.test-navigator-column{width:300px;flex-shrink:0;position:sticky;top:150px;background:var(--brand-surface);border-radius:16px;border:1px solid var(--brand-border);padding:1.25rem;box-shadow:var(--shadow-subtle)}.nav-grid-title{font-size:1rem;font-weight:600;color:var(--brand-text);margin-bottom:1rem}.nav-grid-matrix{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:1.25rem}.nav-tile{width:100%;height:40px;border-radius:8px;border:1px solid var(--brand-border);background:var(--brand-surface);color:var(--brand-muted);font-weight:600;font-size:.9rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;min-height:40px}.nav-tile.current{border-color:var(--brand-yellow);background:var(--brand-yellow-soft);color:var(--brand-coffee);font-weight:700}.nav-tile.answered{background:var(--brand-success);border-color:var(--brand-success-border);color:var(--brand-surface)}.nav-tile.unanswered{background:var(--brand-bg-sub);border-color:var(--brand-border);color:var(--brand-muted)}.btn-submit-exam{width:100%;background:var(--brand-success);color:var(--brand-surface);border:none;border-radius:12px;padding:.85rem;font-weight:700;font-size:1rem;cursor:pointer;transition:background .2s ease;min-height:44px}.btn-submit-exam:hover:not(:disabled){background:var(--brand-success)}.question-card{background:var(--brand-surface);border-radius:16px;border:1px solid var(--brand-border);padding:1.75rem;box-shadow:var(--shadow-subtle)}.question-number-tag{display:inline-block;background:var(--brand-yellow-soft);color:var(--brand-coffee);font-size:.85rem;font-weight:700;padding:4px 10px;border-radius:12px;margin-bottom:.75rem}.question-text{font-size:1.15rem;font-weight:600;color:var(--brand-text);line-height:1.5;margin-bottom:1.25rem}.options-list{display:flex;flex-direction:column;gap:10px;border:0;padding:0;margin:0;min-width:0}.option-card{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1.5px solid var(--brand-border);border-radius:12px;background:var(--brand-surface);cursor:pointer;transition:all .2s ease;min-height:48px;-webkit-user-select:none;user-select:none;position:relative}.option-card input{position:absolute;width:1px;height:1px;opacity:0}.option-card:focus-within{outline:3px solid var(--brand-brown-sec);outline-offset:2px}.option-card:hover,.option-card.selected{border-color:var(--brand-yellow);background:var(--brand-yellow-soft)}.option-radio-circle{width:20px;height:20px;border-radius:50%;border:2px solid var(--brand-border);display:flex;align-items:center;justify-content:center;flex-shrink:0}.option-card.selected .option-radio-circle{border-color:var(--brand-yellow);background:var(--brand-yellow)}.option-card.selected .option-radio-circle:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--brand-surface)}.option-radio-circle.option-check-square{border-radius:5px}.option-card.selected .option-check-square:after{content:"✓";width:auto;height:auto;border-radius:0;background:transparent;color:var(--brand-surface);font-size:14px;font-weight:800}.option-text-label{font-size:1rem;color:var(--brand-text);font-weight:500}.mobile-test-bottom-bar{display:none}@media(max-width:1023px){.test-screen--active{padding-bottom:calc(86px + env(safe-area-inset-bottom))}.test-navigator-column{display:none}.mobile-test-bottom-bar{position:fixed;inset-inline:0;bottom:0;z-index:1200;box-sizing:border-box;display:grid;grid-template-columns:minmax(72px,.9fr) minmax(108px,1.2fr) minmax(72px,.9fr);gap:6px;align-items:center;padding:8px calc(10px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(10px + env(safe-area-inset-left));border-top:1px solid var(--brand-border);background:var(--brand-surface);box-shadow:var(--shadow-raised)}.btn-mobile-nav,.btn-mobile-sheet-trigger{display:flex;width:100%;min-width:0;min-height:40px;align-items:center;justify-content:center;padding:6px 5px;border:1px solid var(--brand-border);border-radius:9px;font-size:.78rem;font-weight:650;line-height:1.15;text-align:center;white-space:normal;cursor:pointer}.btn-mobile-nav{background:var(--brand-bg-sub);color:var(--brand-coffee)}.btn-mobile-nav:disabled{opacity:.55;cursor:not-allowed}.btn-mobile-sheet-trigger{border-color:var(--brand-yellow);background:var(--brand-yellow);color:var(--brand-text)}}@media(max-width:360px){.mobile-test-bottom-bar{grid-template-columns:minmax(62px,.9fr) minmax(96px,1.2fr) minmax(62px,.9fr);gap:5px;padding-inline:7px}.btn-mobile-nav,.btn-mobile-sheet-trigger{font-size:.72rem}}.bottom-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2200;display:flex;align-items:flex-end;justify-content:center;padding-top:24px;background:#2a231d7a;overscroll-behavior:contain}.bottom-sheet-content{box-sizing:border-box;display:flex;width:min(100%,680px);max-height:min(82dvh,720px);flex-direction:column;overflow:hidden;padding:10px 18px calc(14px + env(safe-area-inset-bottom));border:1px solid var(--brand-border);border-bottom:0;border-radius:20px 20px 0 0;background:var(--brand-surface);box-shadow:0 -12px 36px #2a231d33;animation:question-sheet-enter .18s ease-out}.bottom-sheet-handle{width:38px;height:4px;flex:0 0 auto;margin:0 auto 12px;border-radius:99px;background:var(--brand-border)}.question-sheet-header{display:flex;flex:0 0 auto;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.question-sheet-header h3{margin:0;color:var(--brand-text);font-family:var(--font-serif);font-size:1.1rem}.question-sheet-header p{margin:4px 0 0;color:var(--brand-muted);font-size:.82rem}.question-sheet-legend{margin:4px 0 0;color:var(--brand-muted);font-size:.76rem;line-height:1.4}.bottom-sheet-close{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border:1px solid var(--brand-border);border-radius:50%;background:var(--brand-bg-sub);color:var(--brand-coffee);font-size:1.35rem;cursor:pointer}.question-sheet-filters{display:flex;flex:0 0 auto;gap:8px;margin-bottom:10px}.question-sheet-filters button{min-height:38px;padding:0 14px;border:1px solid var(--brand-border);border-radius:999px;background:var(--brand-bg-sub);color:var(--brand-muted);font:inherit;font-size:.84rem;cursor:pointer}.question-sheet-filters button.active{border-color:var(--brand-coffee);background:var(--brand-coffee);color:var(--brand-surface)}.bottom-sheet-content .nav-grid-matrix{grid-template-columns:repeat(5,minmax(0,1fr));flex:1 1 auto;min-height:0;max-height:50vh;overflow-y:auto;overscroll-behavior:contain;padding:2px 4px 6px 1px;scrollbar-gutter:stable}.bottom-sheet-content .nav-tile{min-width:0;min-height:42px}.question-sheet-empty{grid-column:1 / -1;margin:12px 0;color:var(--brand-muted);text-align:center}.question-sheet-submit{flex:0 0 auto;margin-top:10px}@keyframes question-sheet-enter{0%{transform:translateY(16px);opacity:.85}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){.bottom-sheet-content{animation:none}}.attempt-guard-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;display:grid;place-items:center;padding:20px;background:#2a231d94}.attempt-guard-overlay--duplicate{z-index:4000}.attempt-guard-dialog{box-sizing:border-box;width:min(100%,440px);padding:26px;border:1px solid var(--brand-border);border-radius:18px;background:var(--brand-surface);box-shadow:0 18px 54px #2a231d3d;text-align:center}.attempt-guard-icon{display:grid;width:44px;height:44px;place-items:center;margin:0 auto 12px;border-radius:50%;background:var(--brand-yellow-soft);color:var(--brand-coffee);font-size:1.5rem;font-weight:800}.attempt-guard-dialog h2{margin:0;color:var(--brand-text);font-family:var(--font-serif);font-size:1.25rem;line-height:1.35}.attempt-guard-dialog p{margin:10px 0 20px;color:var(--brand-muted);font-size:.95rem;line-height:1.55}.attempt-guard-primary,.attempt-guard-secondary{display:block;width:100%;min-height:44px;padding:10px 14px;border:1px solid transparent;border-radius:10px;font:inherit;font-weight:750;cursor:pointer}.attempt-guard-primary{background:var(--brand-yellow);color:var(--brand-text)}.attempt-guard-primary:hover{background:var(--brand-yellow-hover)}.attempt-guard-secondary{margin-top:8px;border-color:var(--brand-border);background:var(--brand-bg-sub);color:var(--brand-coffee)}@media(max-width:480px){.attempt-guard-dialog{padding:22px 18px}}.test-screen,.student-result-screen,.toeic-result-screen,.toeic-preview-screen{box-sizing:border-box;width:100%;max-width:1180px;margin:0 auto;padding:28px 20px 52px;color:var(--brand-text);font-family:var(--font-sans)}.test-screen--active,.test-screen--result{display:block}.test-screen--state,.student-result-screen--state,.toeic-result-screen--state,.toeic-preview-screen--state{display:grid;min-height:48vh;align-content:center;justify-items:center;gap:8px;text-align:center}.test-screen--loading,.student-result-screen--loading,.toeic-result-screen--loading,.toeic-preview-screen--loading{padding-block:5rem;color:var(--brand-muted)}.student-result-screen--detail{max-width:900px;display:flex;flex-direction:column;gap:1.5rem}.student-result-screen__overview,.toeic-result-screen__overview,.toeic-preview-screen__overview{padding:2rem;text-align:center}.toeic-result-screen__section{padding:1.5rem}.toeic-preview-screen__question-group{display:flex;flex-direction:column;gap:1.25rem;padding:1.75rem}.toeic-result-screen--report{max-width:1050px;display:flex;flex-direction:column;gap:1.5rem}.toeic-preview-screen--detail{max-width:1060px;display:flex;flex-direction:column;gap:1.5rem}.student-result-screen--error,.toeic-result-screen--error,.toeic-preview-screen--error{max-width:800px;margin:2rem auto;padding:1.5rem}.student-result-screen--error.student-result-screen--detail{max-width:900px}.toeic-result-screen--error{display:block;min-height:0}.toeic-preview-screen--error{display:flex;min-height:0;justify-content:center}.toeic-result-screen--error{max-width:600px;margin:4rem auto;border:1px solid var(--brand-danger-border);background:var(--brand-danger-bg);color:var(--brand-danger)}.toeic-result-screen--error a{font-weight:800;text-decoration:none}.student-result-screen__error-message,.toeic-preview-screen__error-message{padding:1.25rem;border:1px solid var(--brand-danger-border);border-radius:var(--radius-sm);background:var(--brand-danger-bg);color:var(--brand-danger)}.toeic-preview-screen__error-message{width:100%;box-sizing:border-box}.test-screen--error{padding-block:4rem}.test-screen--error h3{color:var(--brand-danger)}.test-screen__retry-button{margin-top:1rem}.test-screen__result-card{border:1px solid var(--brand-border);border-radius:var(--radius-card);background:var(--brand-surface);box-shadow:var(--shadow-subtle)}.test-screen--active .test-taking-container,.test-screen--result .test-taking-container{width:100%;max-width:100%;margin:0 auto}.test-screen--result .test-taking-container{max-width:850px}.test-screen h1,.test-screen h2,.test-screen h3,.student-result-screen h1,.student-result-screen h2,.student-result-screen h3,.toeic-result-screen h1,.toeic-result-screen h2,.toeic-result-screen h3,.toeic-preview-screen h1,.toeic-preview-screen h2,.toeic-preview-screen h3{color:var(--brand-text);font-family:var(--font-serif)}.test-screen a,.student-result-screen a,.toeic-result-screen a,.toeic-preview-screen a{color:var(--brand-coffee)}.test-screen button,.student-result-screen button,.toeic-result-screen button,.toeic-preview-screen button{border-radius:var(--radius-sm);font-family:var(--font-sans)}.student-result-screen .ds-card,.toeic-result-screen .ds-card,.toeic-preview-screen .ds-card{border-radius:var(--radius-card)}.test-screen .test-timer-badge{background:var(--brand-yellow-soft)!important;color:var(--brand-coffee)!important}.test-screen .test-sticky-header,.test-screen .test-navigator-column,.test-screen .question-card{background:var(--brand-surface)!important;border-color:var(--brand-border)!important;border-radius:var(--radius-card)!important;box-shadow:var(--shadow-subtle)}.test-screen--active .test-navigator-column{top:calc(var(--header-height) + 1rem);display:flex;flex-direction:column;max-height:calc(100dvh - var(--header-height) - 2rem);overflow:hidden}.test-screen--active .test-navigator-column .nav-grid-title{flex:0 0 auto}.test-screen--active .test-navigator-column .nav-grid-matrix{flex:1 1 auto;min-height:0;align-content:start;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;padding:1px 4px 4px 0}.test-screen--active .test-navigator-column .btn-submit-exam{flex:0 0 auto}.test-screen .test-title-box h2,.test-screen .nav-grid-title,.test-screen .question-text{color:var(--brand-text)!important;font-family:var(--font-serif)}.test-screen .test-title-box p{color:var(--brand-muted)!important}.test-screen .nav-tile{border-color:var(--brand-border)!important;border-radius:var(--radius-xs);background:var(--brand-surface)!important;color:var(--brand-brown-sec)!important}.test-screen .nav-tile.current{border-color:var(--brand-brown-sec)!important;background:var(--brand-yellow-soft)!important;color:var(--brand-coffee)!important}.test-screen .nav-tile.answered{border-color:var(--brand-success-border)!important;background:var(--brand-success-bg)!important;color:var(--brand-success)!important}.test-screen .nav-tile.unanswered{background:var(--brand-bg-sub)!important;color:var(--brand-muted)!important}.test-screen .question-number-tag{background:var(--brand-yellow-soft)!important;color:var(--brand-coffee)!important}.test-screen .option-card{border-color:var(--brand-border)!important;border-radius:var(--radius-sm);background:var(--brand-surface)!important}.test-screen .option-card:hover{border-color:var(--brand-brown-sec)!important;background:var(--brand-bg)!important}.test-screen .option-card.selected{border-color:var(--brand-brown-sec)!important;background:var(--brand-yellow-soft)!important}.test-screen .option-card.selected .option-radio-circle{border-color:var(--brand-brown-sec)!important;background:var(--brand-brown-sec)!important}.test-screen .option-text-label{color:var(--brand-text)!important}.test-screen .btn-submit-exam,.test-screen .ds-button--primary{border-color:var(--brand-yellow)!important;background:var(--brand-yellow)!important;color:var(--brand-text)!important;box-shadow:var(--shadow-subtle)}.test-screen .btn-submit-exam:hover:not(:disabled),.test-screen .ds-button--primary:hover:not(:disabled){background:var(--brand-yellow-hover)!important}.test-screen .btn-mobile-nav{border-color:var(--brand-border)!important;background:var(--brand-bg-sub)!important;color:var(--brand-coffee)!important}.test-screen .btn-mobile-sheet-trigger{border-color:var(--brand-yellow)!important;background:var(--brand-yellow)!important;color:var(--brand-text)!important}.test-screen .mobile-test-bottom-bar{background:var(--brand-surface)!important;border-color:var(--brand-border)!important}.assessment-review-list{display:flex;flex-direction:column;gap:1rem}.assessment-review-card{padding:1.15rem 1.25rem;border:1px solid var(--brand-border);border-radius:var(--radius-md);background:var(--brand-surface);box-shadow:var(--shadow-subtle)}.assessment-review-card--correct{border-color:var(--brand-success-border)}.assessment-review-card--incorrect{border-color:var(--brand-danger-border)}.assessment-review-card--unanswered{border-color:var(--brand-border)}.assessment-review-card--options.assessment-review-card--incorrect,.assessment-review-card--options.assessment-review-card--unanswered{background:var(--brand-danger-bg)}.assessment-review-card--options.assessment-review-card--correct{background:var(--brand-success-bg)}.assessment-review-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.assessment-review-card__heading{display:flex;min-width:0;flex:1;align-items:baseline;gap:.35rem;color:var(--brand-text);font-weight:700;line-height:1.55}.assessment-review-card__number{flex:0 0 auto;color:var(--brand-coffee)}.assessment-review-card--options .assessment-review-card__heading{align-items:flex-start;gap:.5rem}.assessment-review-card--options .assessment-review-card__number{padding:.2rem .5rem;border-radius:var(--radius-xs);background:var(--brand-danger);color:var(--brand-surface);font-size:.82rem;line-height:1.4}.assessment-review-card--options.assessment-review-card--correct .assessment-review-card__number{background:var(--brand-success)}.assessment-review-card__question{min-width:0;margin:0;color:var(--brand-text);font-size:.98rem;font-weight:650;line-height:1.55;overflow-wrap:anywhere}.assessment-review-card__meta{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.assessment-review-card__status,.assessment-review-card__score{padding:.25rem .55rem;border-radius:var(--radius-pill);background:var(--brand-bg-sub);color:var(--brand-brown-sec);font-size:.75rem;font-weight:750;white-space:nowrap}.assessment-review-card--correct .assessment-review-card__status{background:var(--brand-success-bg);color:var(--brand-success)}.assessment-review-card--incorrect .assessment-review-card__status,.assessment-review-card--options.assessment-review-card--unanswered .assessment-review-card__status{background:var(--brand-danger-bg);color:var(--brand-danger)}.assessment-review-card__details{display:grid;gap:.4rem}.assessment-review-card__student-answer,.assessment-review-card__correct-answer{margin:0;color:var(--brand-muted);font-size:.9rem;line-height:1.55;overflow-wrap:anywhere}.assessment-review-card__student-answer strong{color:var(--brand-text)}.assessment-review-card__correct-answer{color:var(--brand-success);font-weight:650}.assessment-review-card__explanation{margin-top:.7rem;padding:.65rem .8rem;border-radius:var(--radius-sm);background:var(--brand-bg-sub);color:var(--brand-muted);font-size:.85rem;font-style:italic;line-height:1.55;overflow-wrap:anywhere}.assessment-review-card__explanation strong{color:var(--brand-brown-sec);font-style:normal}.assessment-review-card__options-list{display:flex;flex-direction:column;gap:.35rem;margin-top:.5rem}.assessment-review-card__option{display:flex;align-items:center;gap:.6rem;min-width:0;padding:.55rem .7rem;border:1px solid transparent;border-radius:var(--radius-xs);color:var(--brand-muted);font-size:.9rem;line-height:1.45;overflow-wrap:anywhere}.assessment-review-card__option-marker{flex:0 0 1rem;color:currentColor;text-align:center}.assessment-review-card__option-text{min-width:0;flex:1}.assessment-review-card__option-note{flex:0 0 auto;color:inherit;font-size:.75rem;font-weight:750}.assessment-review-card__option--correct{border-color:var(--brand-success-border);background:var(--brand-success-bg);color:var(--brand-success);font-weight:700}.assessment-review-card__option--selected{border-color:var(--brand-danger-border);background:var(--brand-danger-bg);color:var(--brand-danger);font-weight:700}.assessment-review-card--options .assessment-review-card__explanation{border-top:1px dashed var(--brand-border);border-radius:0;background:transparent;padding:.65rem 0 0}@media(max-width:680px){.assessment-review-card{padding:1rem}.assessment-review-card__header{flex-direction:column}.assessment-review-card__meta{justify-content:flex-start}.assessment-review-card--options .assessment-review-card__header{flex-direction:row}.assessment-review-card--options .assessment-review-card__heading{flex-wrap:wrap}.assessment-review-card--options .assessment-review-card__status{flex:0 0 auto}.assessment-review-card__option{align-items:flex-start}.assessment-review-card__option-note{max-width:7.5rem;text-align:right}}.toeic-exam-screen{min-height:100vh;display:flex;flex-direction:column;background:var(--brand-bg-sub);color:var(--brand-text);font-family:var(--font-sans)}.toeic-exam-screen__sticky-shell{position:sticky;top:var(--header-height);z-index:950;display:flex;flex-direction:column;box-shadow:var(--shadow-raised)}.toeic-exam-screen__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.5rem;background:var(--brand-coffee);color:var(--brand-surface);border-bottom:1px solid var(--brand-coffee-divider)}.toeic-exam-screen__header-main,.toeic-exam-screen__header-actions{display:flex;align-items:center;gap:1rem}.toeic-exam-screen__header-actions{gap:.75rem}.toeic-exam-screen__part-nav{display:flex;gap:.5rem;overflow-x:auto;padding:.5rem 1.5rem;border-bottom:1px solid var(--brand-border);background:var(--brand-surface);scrollbar-width:thin}.toeic-exam-screen__part-button{flex:0 0 auto;padding:.45rem 1rem;border:0;border-radius:var(--radius-xs);background:var(--brand-bg-sub);color:var(--brand-muted);font-size:.85rem;font-weight:750;white-space:nowrap;cursor:pointer;transition:background .15s ease,color .15s ease}.toeic-exam-screen__part-button--active{background:var(--brand-yellow);color:var(--brand-text)}.toeic-exam-screen__timer{display:flex;align-items:center;gap:.5rem;padding:.4rem 1.25rem;border:1px solid var(--brand-warning-border);border-radius:var(--radius-pill);background:var(--brand-yellow-soft);color:var(--brand-coffee);font-size:1.15rem;font-weight:800}.toeic-exam-screen__timer--urgent{border-color:var(--brand-warning-border);background:var(--brand-warning-bg);color:var(--brand-warning)}.toeic-exam-screen__timer--expired{border-color:var(--brand-danger-border);background:var(--brand-danger-bg);color:var(--brand-danger)}.toeic-exam-screen__nav-button,.toeic-exam-screen__submit-button{border:0;border-radius:var(--radius-xs);padding:.55rem 1.25rem;font-weight:800;cursor:pointer}.toeic-exam-screen__nav-button{background:var(--brand-coffee);color:var(--brand-surface);font-size:.85rem}.toeic-exam-screen__submit-button{background:var(--brand-yellow);color:var(--brand-text);font-size:.95rem;box-shadow:var(--shadow-subtle);transition:background .15s ease}.toeic-exam-screen__submit-button:hover:not(:disabled){background:var(--brand-yellow-hover)}.toeic-exam-screen__submit-button:disabled{cursor:not-allowed;opacity:.6}.toeic-exam-screen__state-icon{margin-bottom:1rem;font-size:2.5rem}.toeic-exam-screen__state-title{margin:0;color:var(--brand-text);font-size:1.35rem;font-weight:800}.toeic-exam-screen__state-copy{margin:.5rem 0 0;font-size:.95rem}.toeic-exam-screen .toeic-exam-container{max-width:1480px}.toeic-exam-screen .toeic-passage-panel,.toeic-exam-screen .toeic-navigator-aside>div{border-color:var(--brand-border);border-radius:var(--radius-card);box-shadow:var(--shadow-subtle)}.toeic-exam-screen .toeic-questions-panel>div{border-color:var(--brand-border)}.toeic-exam-screen button{border-radius:var(--radius-xs);font-family:var(--font-sans)}.toeic-exam-screen .modal-overlay{z-index:3000}.toeic-exam-screen--state{display:grid;min-height:55vh;align-content:center;justify-items:center;gap:8px;padding:5rem 1rem;background:var(--brand-bg)!important;color:var(--brand-muted)!important;text-align:center}.toeic-exam-screen--loading{min-height:100vh;background:var(--brand-surface)!important}.toeic-exam-screen--error{width:min(600px,calc(100% - 2rem));min-height:0;margin:4rem auto;padding:2rem;border:1px solid var(--brand-danger-border);border-radius:var(--radius-card);background:var(--brand-danger-bg)!important;color:var(--brand-danger)!important}.toeic-exam-screen--error h3{margin:0 0 .5rem;font-size:1.2rem}.toeic-exam-screen--error p{margin:0 0 1.5rem;font-size:.95rem}.toeic-exam-screen__back-button{border:0;border-radius:var(--radius-xs);background:var(--brand-danger);color:var(--brand-surface);padding:.75rem 1.5rem;font-weight:800}.toeic-exam-screen__header-title{max-width:350px;overflow:hidden;margin:0;color:var(--brand-surface)!important;font-size:1.1rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.toeic-exam-screen__header-status{padding:.25rem .65rem;border-radius:6px;color:var(--brand-surface);font-size:.75rem;font-weight:700}.toeic-exam-screen__header-status--saved{background:var(--brand-success)}.toeic-exam-screen__header-status--saving{background:var(--brand-warning)}.toeic-exam-screen__header-status--error{background:var(--brand-danger)}.toeic-exam-screen__question-tile{width:100%;padding:.4rem 0;border:1px solid var(--brand-border);border-radius:6px;background:var(--brand-bg-sub);color:var(--brand-muted);font-size:.8rem;font-weight:700;cursor:pointer;transition:transform .1s ease}.toeic-exam-screen__question-tile--flagged{border-color:var(--brand-warning-border);background:var(--brand-warning-bg);color:var(--brand-warning)}.toeic-exam-screen__question-tile--answered{border-color:var(--brand-success-border);background:var(--brand-success-bg);color:var(--brand-success)}.toeic-exam-screen__question-tile--active{border-color:var(--brand-coffee);background:var(--brand-yellow-soft);color:var(--brand-coffee);box-shadow:inset 0 0 0 1px var(--brand-coffee)}.toeic-exam-room{overflow:hidden;border:1px solid var(--brand-border);border-radius:var(--radius-card);background:var(--brand-surface);box-shadow:var(--shadow-subtle)}.toeic-exam-room__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.35rem;border-bottom:1px solid var(--brand-border);background:linear-gradient(90deg,var(--brand-surface),var(--brand-bg-sub))}.toeic-exam-room__mode{display:inline-block;margin-bottom:.25rem;color:var(--brand-coffee);font-size:.68rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.toeic-exam-room__mode--reading{color:var(--brand-success)}.toeic-exam-room__header h2{margin:0;color:var(--brand-text);font-size:1.65rem;font-weight:850}.toeic-exam-room__header p{margin:.15rem 0 0;color:var(--brand-muted);font-size:.86rem}.toeic-exam-room__counter{display:grid;min-width:94px;gap:.12rem;padding:.6rem .85rem;border:1px solid var(--brand-border);border-radius:10px;background:var(--brand-surface);color:var(--brand-text);text-align:center}.toeic-exam-room__counter strong{font-size:.9rem}.toeic-exam-room__counter span{color:var(--brand-muted);font-size:.68rem;font-weight:700}.toeic-exam-room__stage{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);min-height:min(680px,calc(100vh - 220px))}.toeic-exam-room__stimulus{min-width:0;padding:1.35rem;border-right:1px solid var(--brand-border);background:var(--brand-bg-sub);overflow:auto}.toeic-exam-room__answer{display:flex;min-width:0;flex-direction:column;padding:1.35rem;background:var(--brand-surface)}.toeic-exam-room__group-title{margin:0 0 1rem;color:var(--brand-text);font-size:.88rem;font-weight:750}.toeic-exam-room__audio{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:.7rem .8rem;margin-bottom:1.25rem;padding:.8rem .9rem;border:1px solid var(--brand-warning-border);border-radius:10px;background:var(--brand-yellow-soft)}.toeic-exam-room__audio>span{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;background:var(--brand-yellow);color:var(--brand-coffee);font-size:1.1rem}.toeic-exam-room__audio strong,.toeic-exam-room__audio small{display:block}.toeic-exam-room__audio strong{color:var(--brand-coffee);font-size:.84rem}.toeic-exam-room__audio small{margin-top:.1rem;color:var(--brand-muted);font-size:.72rem;line-height:1.35}.toeic-exam-room__audio audio{grid-column:1 / -1;width:100%;height:36px}.toeic-exam-room__audio--tts{grid-template-columns:36px minmax(0,1fr) auto}.toeic-exam-room__audio--tts button{border:1px solid var(--brand-warning-border);background:var(--brand-surface);color:var(--brand-coffee);padding:.5rem .65rem;font-size:.76rem;font-weight:800;cursor:pointer}.toeic-exam-room__audio--empty{border-color:var(--brand-border);background:var(--brand-surface)}.toeic-exam-room__document{display:grid;gap:1rem}.toeic-exam-room__document>.toeic-stimulus-image{width:100%;max-height:min(62vh,680px);border-radius:6px;box-shadow:none}.toeic-exam-room__passage{padding:1.15rem;border:1px solid var(--brand-border);border-radius:8px;background:var(--brand-surface);color:var(--brand-text);font-size:.94rem;line-height:1.7;white-space:pre-wrap}.toeic-exam-room__passage h3{margin:0 0 .6rem;font-size:1rem}.toeic-exam-room__passage .toeic-stimulus-image{margin:0 0 .8rem;max-height:none;box-shadow:none}.toeic-exam-room__listening-placeholder{display:grid;min-height:360px;place-content:center;gap:.65rem;color:var(--brand-muted);text-align:center}.toeic-exam-room__listening-placeholder span{font-size:3.2rem}.toeic-exam-room__listening-placeholder p{max-width:240px;margin:0;font-size:.9rem;line-height:1.6}.toeic-exam-room__answer [id^=question-]{min-height:0;padding:0!important;border:0!important;box-shadow:none!important}.toeic-exam-room__question-nav{display:flex;align-items:center;justify-content:space-between;gap:.7rem;margin-top:auto;padding-top:1.25rem}.toeic-exam-room__question-nav button{min-height:40px;border:1px solid var(--brand-border);background:var(--brand-bg-sub);color:var(--brand-text);padding:.55rem .8rem;font-size:.8rem;font-weight:800;cursor:pointer}.toeic-exam-room__question-nav button:last-child{border-color:var(--brand-coffee);background:var(--brand-coffee);color:var(--brand-surface)}.toeic-exam-room__question-nav button:disabled{opacity:.45;cursor:not-allowed}.toeic-exam-room__question-nav span{color:var(--brand-muted);font-size:.72rem;font-weight:700;text-align:center}.toeic-question-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;margin-bottom:1rem}.toeic-question-card__heading{display:grid;gap:.35rem;min-width:0}.toeic-question-card__number{color:var(--brand-coffee);font-size:1.06rem;font-weight:850}.toeic-question-card__prompt{color:var(--brand-text);font-size:.98rem;font-weight:650;line-height:1.5}.toeic-result-screen__answer-option{border:1px solid transparent;border-radius:var(--radius-xs);font-size:.9rem;color:var(--brand-muted)}.toeic-result-screen__answer-option--correct{border-color:var(--brand-success-border)!important;background:var(--brand-success-bg)!important;color:var(--brand-success)!important}.toeic-result-screen__answer-option--incorrect{border-color:var(--brand-danger-border)!important;background:var(--brand-danger-bg)!important;color:var(--brand-danger)!important}.toeic-result-screen__score-highlight{background:linear-gradient(135deg,var(--brand-coffee) 0%,var(--brand-coffee-dark) 100%);color:var(--brand-surface);box-shadow:var(--shadow-raised)}.toeic-result-screen__score-highlight-label,.toeic-result-screen__score-highlight-note{color:var(--brand-bg-sub)}.toeic-result-screen__score-highlight-value,.toeic-result-screen__score-highlight-value span{color:var(--brand-surface)}@media(max-width:900px){.test-screen,.student-result-screen,.toeic-result-screen,.toeic-preview-screen{padding:22px 16px 38px}}@media(max-width:680px){.toeic-exam-screen__sticky-shell{top:var(--header-height)}.toeic-exam-screen__header{flex-wrap:wrap;padding:.7rem 1rem}.toeic-exam-screen__header-main{min-width:0;flex:1;gap:.6rem}.toeic-exam-screen__header-title{max-width:min(48vw,260px)}.toeic-exam-screen__header-actions{width:100%}.toeic-exam-screen__header-actions>button{flex:1}.toeic-exam-screen__timer{order:1;padding:.35rem .75rem;font-size:1rem}.toeic-exam-screen__part-nav{padding:.45rem .75rem}.toeic-exam-room__header{padding:1rem}.toeic-exam-room__stage{grid-template-columns:1fr;min-height:0}.toeic-exam-room__stimulus{border-right:0;border-bottom:1px solid var(--brand-border);padding:1rem}.toeic-exam-room__answer{padding:1rem}.toeic-exam-room__listening-placeholder{min-height:160px}.toeic-exam-room__question-nav span{display:none}.toeic-exam-room__question-nav button{flex:1}}@media(max-width:1023px){.test-screen--active .test-navigator-column{display:none}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.attempt-conflict-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 16px;padding:14px 16px;border:1px solid var(--brand-danger-border);border-radius:10px;background:var(--brand-danger-bg);color:var(--brand-text)}.attempt-conflict-banner button{flex-shrink:0;min-height:40px;padding:8px 12px;border:1px solid var(--brand-border);border-radius:8px;background:var(--brand-surface);color:var(--brand-text);font-weight:700;cursor:pointer}@media(max-width:600px){.attempt-conflict-banner{align-items:flex-start;flex-direction:column}}.create-lesson-page{width:100%;max-width:900px;margin:0 auto;padding:2rem 1.5rem 3rem;color:var(--brand-text)}.create-lesson-page .ds-page-header{margin-bottom:1.75rem}.lesson-form{display:flex;flex-direction:column;gap:1.25rem;padding:1.75rem;border:1px solid var(--brand-border);border-radius:var(--radius-card);background:var(--brand-surface);box-shadow:var(--shadow-subtle)}.lesson-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-group{display:flex;min-width:0;flex-direction:column;gap:.5rem}.form-label{color:var(--brand-coffee);font-size:.875rem;font-weight:700}.form-input,.form-textarea,.create-lesson-page .file-input{box-sizing:border-box;width:100%;min-height:44px;padding:.75rem .875rem;border:1px solid var(--brand-border);border-radius:var(--radius-sm);background:var(--surface-input);color:var(--brand-text);font:400 .875rem/1.5 var(--font-sans);transition:border-color .2s ease,box-shadow .2s ease}.form-textarea{min-height:150px;resize:vertical}.form-input:focus,.form-textarea:focus,.create-lesson-page .file-input:focus{border-color:var(--brand-brown-sec);box-shadow:0 0 0 3px var(--brand-focus-ring);outline:0}.file-count{color:var(--brand-muted);font-size:.8rem}.message{margin:0;padding:.875rem 1rem;border:1px solid transparent;border-radius:var(--radius-sm);font-size:.875rem}.message-success{border-color:var(--brand-success-border);background:var(--brand-success-bg);color:var(--brand-success)}.message-error{border-color:var(--brand-danger-border);background:var(--brand-danger-bg);color:var(--brand-danger)}.lesson-form>.ds-button{align-self:flex-start;min-width:180px}@media(max-width:640px){.create-lesson-page{padding:1.5rem 1rem 2.5rem}.lesson-form{padding:1.25rem}.lesson-form-grid{grid-template-columns:1fr}.lesson-form>.ds-button{width:100%}}.student-dashboard-page{display:flex;max-width:1280px;flex-direction:column;gap:24px;margin:0 auto}.dashboard-loading,.dashboard-error-card{padding:48px;border:1px solid var(--brand-border);border-radius:var(--radius-card);background:var(--brand-surface);color:var(--brand-muted);font-size:14px;font-weight:700;text-align:center;box-shadow:var(--shadow-subtle)}.dashboard-error-card{border-color:#f1b4af;background:#fff3f2;color:var(--brand-danger)}.dashboard-welcome-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:36px 40px;border:1px solid #5C4D40;border-radius:var(--radius-section);background:linear-gradient(122deg,var(--brand-coffee-dark),var(--brand-coffee) 62%,#695746);color:#fff;box-shadow:0 18px 34px #3d332a2e}.welcome-identity{display:flex;min-width:0;align-items:center;gap:16px}.dashboard-student-avatar{position:relative;display:grid;width:58px;height:58px;flex:0 0 auto;place-items:center;overflow:hidden;border:2px solid rgba(255,255,255,.65);border-radius:50%;background:var(--brand-yellow);color:var(--brand-coffee-dark);font-family:var(--font-serif);font-size:19px;font-weight:800}.dashboard-student-avatar img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.welcome-text h1{margin:0 0 8px;color:#fff;font-family:var(--font-serif);font-size:clamp(28px,3vw,38px);font-weight:600;line-height:1.18}.welcome-text p{margin:0;color:#f4ede4;font-size:14px}.quick-nav-pills{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}.quick-pill{padding:9px 14px;border:1px solid rgba(255,255,255,.24);border-radius:var(--radius-pill);background:#ffffff14;color:#fff;font-size:12px;font-weight:800;text-decoration:none;transition:background .2s ease,transform .2s ease}.quick-pill:hover{background:#f3c74f38;transform:translateY(-1px)}.dashboard-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-card{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--brand-border);border-radius:var(--radius-md);background:var(--brand-surface);box-shadow:var(--shadow-subtle);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.metric-card:hover{border-color:#d5c09f;box-shadow:var(--shadow-hover);transform:translateY(-2px)}.metric-icon{width:48px;height:48px;display:grid;flex:0 0 auto;place-items:center;border-radius:14px}.lesson-icon{background:var(--brand-yellow-soft);color:var(--brand-coffee)}.completed-icon{background:var(--brand-success-bg);color:var(--brand-success)}.progress-icon{background:var(--brand-warning-bg);color:var(--brand-warning)}.overall-icon{background:var(--brand-bg-sub);color:var(--brand-brown-sec)}.metric-value{color:var(--brand-text);font-family:var(--font-serif);font-size:30px;font-weight:650;line-height:1.1}.metric-label{color:var(--brand-muted);font-size:12px;font-weight:700}.continue-learning-card{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 30px;border:1px solid var(--brand-border);border-radius:var(--radius-card);background:var(--brand-surface);box-shadow:var(--shadow-subtle)}.continue-content{flex:1}.badge-continue{display:inline-flex;margin-bottom:8px;padding:5px 9px;border-radius:var(--radius-pill);background:var(--brand-yellow-soft);color:var(--brand-coffee);font-size:10px;font-weight:900;letter-spacing:.09em}.continue-content h2{margin:0 0 7px;color:var(--brand-text);font-family:var(--font-serif);font-size:25px;font-weight:600}.continue-content p{margin:0 0 18px;color:var(--brand-muted);font-size:14px}.progress-bar-outer{max-width:480px;height:8px;overflow:hidden;border-radius:var(--radius-pill);background:var(--brand-bg-sub)}.progress-bar-inner{height:100%;border-radius:inherit;background:var(--brand-yellow);transition:width .4s ease}.progress-text{margin-top:7px;color:var(--brand-muted);font-size:12px;font-weight:750}.btn-continue,.btn-start-test{display:inline-flex;min-height:42px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--radius-pill);background:var(--brand-yellow);color:var(--brand-text);font-size:12px;font-weight:800;text-decoration:none;box-shadow:0 7px 16px #806b5824;transition:background .2s ease,transform .2s ease}.btn-continue{padding:0 19px;white-space:nowrap}.btn-start-test{min-height:36px;padding:0 13px}.btn-continue:hover,.btn-start-test:hover{background:var(--brand-yellow-hover);transform:translateY(-1px)}.dashboard-two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.dashboard-section-card{padding:24px;border:1px solid var(--brand-border);border-radius:var(--radius-card);background:var(--brand-surface);box-shadow:var(--shadow-subtle)}.section-card-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.section-card-header h3{margin:0;color:var(--brand-text);font-family:var(--font-serif);font-size:22px;font-weight:600}.link-see-all{color:var(--brand-coffee);font-size:12px;font-weight:800;text-decoration:none}.link-see-all:hover{color:var(--brand-brown-sec)}.dashboard-discovery-list{display:flex;flex-direction:column;gap:8px}.dashboard-discovery-item{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--brand-border-light);border-radius:var(--radius-md);background:#fffcf7;color:var(--brand-text);text-decoration:none}.dashboard-discovery-item:hover{border-color:#d5c09f;background:var(--brand-bg-sub)}.dashboard-discovery-item>span:first-child{display:flex;min-width:0;flex-direction:column;gap:4px}.dashboard-discovery-item strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.dashboard-discovery-item small{color:var(--brand-muted);font-size:11px}.dashboard-discovery-progress,.dashboard-discovery-type{flex:0 0 auto;color:var(--brand-coffee);font-size:11px;font-weight:800}.dashboard-task-meta{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:4px}.dashboard-task-meta .meta-text{display:inline-flex}.assessment-list,.results-list{display:flex;flex-direction:column;gap:10px}.assessment-item,.result-item{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px;border:1px solid var(--brand-border-light);border-radius:var(--radius-md);background:#fffcf7}.assessment-item-info h4,.result-item-info h4{margin:3px 0 4px;color:var(--brand-text);font-size:14px;font-weight:800}.meta-text{color:var(--brand-muted);font-size:12px}.badge-type,.pass-badge{display:inline-flex;padding:4px 7px;border-radius:6px;font-size:10px;font-weight:850}.badge-type.exam,.pass-badge.fail{background:var(--brand-danger-bg);color:var(--brand-danger)}.badge-type.exercise,.pass-badge.pass{background:var(--brand-success-bg);color:var(--brand-success)}.result-score-tag{display:flex;align-items:center;gap:7px;color:var(--brand-muted);font-size:12px}.score-num{color:var(--brand-text);font-family:var(--font-serif);font-size:20px;font-weight:700}.empty-state-text{padding:16px 0;color:var(--brand-muted);font-size:13px;font-style:italic}@media(max-width:980px){.dashboard-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-welcome-banner,.continue-learning-card{align-items:flex-start;flex-direction:column}.quick-nav-pills{justify-content:flex-start}.dashboard-two-columns{grid-template-columns:1fr}}@media(max-width:600px){.dashboard-welcome-banner{padding:28px 22px}.dashboard-metrics-grid{grid-template-columns:1fr}.continue-learning-card,.dashboard-section-card{padding:20px}.btn-continue{width:100%}.assessment-item,.result-item{align-items:flex-start;flex-direction:column}.btn-start-test{width:100%}}.standalone-dashboard{max-width:1200px;margin:0 auto;padding:42px 26px 68px}.standalone-dashboard__welcome{padding:30px 34px;border:1px solid var(--brand-border);border-radius:18px;background:linear-gradient(120deg,var(--brand-bg-sub),#fff);box-shadow:var(--shadow-subtle)}.standalone-dashboard__welcome p{margin:0 0 8px;color:var(--brand-coffee);font-size:11px;font-weight:850;letter-spacing:.14em}.standalone-dashboard__welcome h1{margin:0;color:var(--brand-text);font:600 clamp(28px,4vw,40px) var(--font-serif)}.standalone-dashboard__welcome span{display:block;margin-top:8px;color:var(--brand-muted);font-size:14px}.standalone-dashboard__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:22px}.standalone-dashboard__card{display:flex;min-height:220px;flex-direction:column;align-items:flex-start;padding:22px;border:1px solid var(--brand-border);border-radius:15px;background:var(--brand-surface);box-shadow:var(--shadow-subtle);color:inherit;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.standalone-dashboard__card:hover{transform:translateY(-3px);border-color:#ccb58f;box-shadow:0 12px 30px #3a2a1414}.standalone-dashboard__icon{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:var(--brand-yellow-soft);color:var(--brand-coffee);font-size:16px;font-weight:850}.standalone-dashboard__card>small{margin-top:17px;color:var(--brand-muted);font-size:10px;font-weight:850;letter-spacing:.12em}.standalone-dashboard__card h2{margin:6px 0;color:var(--brand-text);font:600 20px var(--font-serif)}.standalone-dashboard__card p{margin:0 0 18px;color:var(--brand-muted);font-size:12px;line-height:1.55}.standalone-dashboard__card>strong{display:flex;justify-content:space-between;gap:16px;width:100%;margin-top:auto;color:var(--brand-coffee);font-size:12px}@media(max-width:600px){.standalone-dashboard{padding:24px 14px 48px}.standalone-dashboard__welcome{padding:23px}.standalone-dashboard__grid{grid-template-columns:1fr}.standalone-dashboard__card{min-height:190px}}.assessment-page{display:flex;max-width:1280px;flex-direction:column;gap:24px;margin:0 auto}.assessment-tabs{display:flex;gap:7px;padding:6px;border:1px solid var(--brand-border);border-radius:var(--radius-md);background:#fffcf7}.assessment-tabs button{min-height:34px;padding:0 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--brand-muted);font-size:12px;font-weight:800}.assessment-tabs button.active{border-color:#f0d78b;background:var(--brand-yellow-soft);color:var(--brand-coffee)}.assessment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.assessment-card{display:flex;min-height:260px;flex-direction:column;justify-content:space-between;gap:24px;padding:22px;border:1px solid var(--brand-border);border-radius:var(--radius-card);background:var(--brand-surface);box-shadow:var(--shadow-subtle)}.assessment-card:hover{border-color:#d5c09f;box-shadow:var(--shadow-hover)}.assessment-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.assessment-card-meta>span{color:var(--brand-brown-sec);font-size:11px;font-weight:800}.assessment-card h2{margin:0 0 8px;color:var(--brand-text);font-family:var(--font-serif);font-size:23px;font-weight:600}.assessment-card p{margin:0;color:var(--brand-muted);font-size:13px;line-height:1.65}.assessment-specs{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:18px;color:var(--brand-brown-sec);font-size:12px}.assessment-specs strong{color:var(--brand-text)}.assessment-last-result{display:flex;flex-direction:column;gap:4px;margin-top:14px;padding:10px 12px;border-radius:9px;background:var(--brand-bg-sub);color:var(--brand-text);font-size:12px}.assessment-last-result span{color:var(--brand-muted)}@media(max-width:900px){.assessment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.assessment-grid{grid-template-columns:1fr}.assessment-tabs{width:100%}.assessment-tabs button{flex:1}}.student-history-page{display:flex;max-width:1280px;flex-direction:column;gap:24px;margin:0 auto}.history-empty{gap:14px}.history-table strong{color:var(--brand-text)}.history-score{color:var(--brand-coffee);font-family:var(--font-serif);font-size:18px}.history-score--pass{color:var(--brand-success)}.history-score--fail{color:var(--brand-danger)}.history-subscore{margin-top:3px;color:var(--brand-muted);font-size:11px}.profile-page-container{max-width:1100px;margin:0 auto;padding:0;display:flex;flex-direction:column;gap:1.5rem}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1.5rem}.profile-card{background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:var(--radius-card);padding:1.75rem;box-shadow:var(--shadow-subtle)}.profile-card h2{font-size:1.25rem;font-weight:700;color:var(--brand-text);font-family:var(--font-serif);margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:1px solid var(--brand-border-light)}.account-info-box{background:#fffcf7;border:1px solid var(--brand-border-light);border-radius:10px;padding:1rem;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.75rem}.info-row{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.info-label{color:var(--brand-muted)}.info-value{color:var(--brand-text)}.badge-role{background:var(--brand-yellow-soft);color:var(--brand-coffee);font-weight:700;padding:.2rem .6rem;border-radius:6px;font-size:.8rem}.status-badge{font-weight:700;padding:.2rem .6rem;border-radius:6px;font-size:.8rem}.badge-active{background:#dcfce7;color:#166534}.badge-pending{background:#fef3c7;color:#d97706}.profile-form{display:flex;flex-direction:column;gap:1.25rem}.profile-form h3{font-size:1.05rem;font-weight:700;color:#0f172a}.form-group{display:flex;flex-direction:column;gap:.4rem}.form-group label{font-size:.875rem;font-weight:600;color:var(--brand-coffee)}.form-group input{padding:.75rem 1rem;border:1px solid var(--brand-border);border-radius:var(--radius-sm);font-size:.95rem;outline:none;transition:border-color .2s ease}.form-group input:focus{border-color:var(--brand-brown-sec);box-shadow:0 0 0 3px #806b581f}.form-alert{padding:.75rem 1rem;border-radius:8px;font-size:.875rem;font-weight:500}.form-alert.success{background:var(--brand-success-bg);border:1px solid #B7D7BA;color:var(--brand-success)}.form-alert.error{background:var(--brand-danger-bg);border:1px solid #F1B4AF;color:var(--brand-danger)}.vocab-page{max-width:900px;margin:0 auto;padding:34px 24px 64px;color:#302a25}.vocab-header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.vocab-header p,.flash-head p{margin:0 0 7px;color:#806b58;font-size:11px;font-weight:800;letter-spacing:.14em}.vocab-header h1,.flash-head h1{margin:0 0 8px;font:600 clamp(29px,4vw,42px) "Playfair Display",Georgia,serif}.vocab-header span{color:#82796f;font-size:14px}.vocab-primary{border:0;border-radius:10px;background:#f3c74f;color:#302a25;padding:12px 15px;font:700 14px inherit;text-decoration:none;white-space:nowrap}.topic-tabs{display:flex;gap:8px;overflow:auto;padding:3px 0 15px}.topic-tabs button{flex:none;border:1px solid #E3DCD2;background:#fff;color:#685f57;padding:8px 13px;border-radius:999px;font:700 13px inherit;cursor:pointer}.topic-tabs button.active{background:#4b4035;color:#fff;border-color:#4b4035}.vocab-list{background:#fff;border:1px solid #E3DCD2;border-radius:16px;padding:7px 24px}.vocab-entry{display:flex;gap:17px;padding:22px 0;border-bottom:1px solid #F1ECE4}.vocab-entry:last-child{border:0}.vocab-number{color:#806b58;font:600 18px Playfair Display,Georgia,serif}.vocab-entry h2{margin:0;font-size:21px}.vocab-entry h2 em{color:#806b58;font-size:14px;font-weight:500}.vocab-pronunciation{display:block;margin:4px 0;color:#82796f;font-size:13px}.vocab-entry h3{margin:10px 0;color:#4b4035;font-size:16px}.vocab-entry p{margin:6px 0;font-size:14px;line-height:1.55}.vocab-en{color:#3d3530}.vocab-vi{color:#82796f}.vocab-state,.vocab-error{padding:38px;text-align:center;border:1px dashed #D8CDC0;border-radius:16px;color:#82796f}.vocab-error{border-color:#f1b4af;background:#fff3f2;color:#9e342b}.vocab-error button{margin-left:10px;border:0;background:none;color:inherit;font-weight:700;cursor:pointer}.vocab-back{display:inline-block;margin-bottom:20px;color:#4b4035;font-weight:700;text-decoration:none}.flash-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:20px}.flashcard{position:relative;min-height:360px;border:1px solid #E3DCD2;border-radius:20px;box-shadow:0 12px 30px #4b40351a;cursor:pointer;perspective:1000px;outline:none}.flashcard:focus{box-shadow:0 0 0 4px #806b5833}.flash-front,.flash-back{position:absolute;top:0;right:0;bottom:0;left:0;padding:36px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;backface-visibility:hidden;transition:transform .35s ease;border-radius:20px}.flash-front{background:#fff}.flash-front strong{font:600 52px Playfair Display,Georgia,serif}.flash-front em{margin-top:9px;color:#806b58}.flash-front small{margin-top:10px;color:#82796f}.flash-front button{margin-top:20px;border:0;border-radius:50%;width:42px;height:42px;background:#fff5d8;cursor:pointer}.flash-front i{position:absolute;bottom:25px;color:#82796f;font-size:13px}.flash-back{background:#4b4035;color:#fff;transform:rotateY(180deg);align-items:flex-start;text-align:left}.flash-back strong{font-size:22px}.flash-back h2{color:#f3c74f;font:500 28px Playfair Display,Georgia,serif}.flash-back p{line-height:1.6;color:#f1ece4}.flashcard.flipped .flash-front{transform:rotateY(180deg)}.flashcard.flipped .flash-back{transform:rotateY(360deg)}.flash-nav{display:flex;justify-content:space-between;margin-top:18px}.flash-nav button{min-width:112px;border:1px solid #DED7CE;border-radius:9px;background:#fff;padding:11px 14px;color:#4b4035;font:700 14px inherit;cursor:pointer}.flash-nav button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:600px){.vocab-page{padding:26px 16px 50px}.vocab-header{align-items:stretch;flex-direction:column}.vocab-primary{text-align:center}.vocab-list{padding:7px 16px}.vocab-entry{gap:11px}.flashcard{min-height:330px}.flash-front strong{font-size:42px}.flash-front,.flash-back{padding:26px}.flash-back h2{font-size:24px}}.flashcard-page{max-width:980px}.flash-head{align-items:flex-end;gap:16px}.flashcard-view-controls{display:flex;gap:7px;padding:4px;border:1px solid var(--brand-border);border-radius:10px;background:var(--brand-bg-sub)}.flashcard-view-controls button{min-height:32px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:var(--brand-muted);font:800 12px var(--font-sans);cursor:pointer}.flashcard-view-controls button.active{background:var(--brand-surface);color:var(--brand-coffee);box-shadow:var(--shadow-subtle)}.flashcard-view-controls span{display:inline-grid;min-width:17px;height:17px;margin-left:4px;place-items:center;border-radius:999px;background:var(--brand-yellow-soft);color:var(--brand-warning);font-size:10px}.flashcard{overflow:hidden}.flashcard-bookmark{position:absolute;z-index:3;top:18px;right:18px;display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 11px;border:1px solid var(--brand-border);border-radius:999px;background:#fffffff0;color:var(--brand-muted);font:800 12px var(--font-sans);box-shadow:0 4px 14px #4b403514;cursor:pointer}.flashcard-bookmark:hover{border-color:#e8c26f;color:var(--brand-warning)}.flashcard-bookmark.is-marked{border-color:#e8c26f;background:var(--brand-yellow-soft);color:var(--brand-warning)}.flash-nav{align-items:center;gap:12px}.flash-nav span{color:var(--brand-muted);font-size:12px;font-weight:600;text-align:center}.flashcard-review-empty{padding:58px 24px;border:1px dashed var(--brand-border);border-radius:20px;background:var(--brand-surface);text-align:center}.flashcard-review-empty>span{display:grid;width:48px;height:48px;margin:0 auto 13px;place-items:center;border-radius:50%;background:var(--brand-yellow-soft);color:var(--brand-warning);font-size:28px}.flashcard-review-empty h2{margin:0 0 7px;color:var(--brand-coffee);font:600 25px var(--font-serif)}.flashcard-review-empty p{margin:0 0 20px;color:var(--brand-muted);font-size:13px}.flashcard-review-empty button{border:0;border-radius:9px;background:var(--brand-yellow);color:var(--brand-text);padding:11px 14px;font:800 13px var(--font-sans);cursor:pointer}@media(max-width:600px){.flash-head{align-items:stretch;flex-direction:column}.flashcard-view-controls{width:max-content}.flashcard-bookmark{top:12px;right:12px}.flashcard-bookmark span,.flash-nav span{display:none}.flash-nav button{flex:1;min-width:0}}.vocab-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(145px,190px);align-items:end;gap:12px;margin:0 0 18px}.vocab-search,.vocab-sort{display:grid;min-width:0;gap:6px;color:#4b4035;font-size:12px;font-weight:800}.vocab-search input,.vocab-sort select{width:100%;min-width:0;min-height:43px;box-sizing:border-box;padding:0 12px;border:1px solid #E3DCD2;border-radius:10px;background:#fff;color:#302a25;font:500 13px var(--font-sans)}.vocab-search input:focus-visible,.vocab-sort select:focus-visible{border-color:#806b58;outline:3px solid rgba(128,107,88,.2);outline-offset:1px}.vocab-clear-search{min-height:43px;padding:0 12px;border:1px solid #E3DCD2;border-radius:10px;background:#fff;color:#685f57;font:700 12px var(--font-sans);cursor:pointer}.vocab-result-summary{margin:0 0 12px;color:#82796f;font-size:12px;font-weight:700}.vocab-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));align-items:stretch;gap:14px;padding:0;border:0;background:transparent}.vocab-entry{min-width:0;gap:12px;padding:18px;border:1px solid #E3DCD2;border-radius:14px;background:#fff;box-shadow:0 5px 16px #4b40350b}.vocab-entry{color:inherit;text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.vocab-entry:hover{border-color:#c8b7a5;box-shadow:0 9px 22px #4b40351c;transform:translateY(-2px)}.vocab-entry:focus-visible{outline:3px solid rgba(128,107,88,.32);outline-offset:3px}.vocab-entry:last-child{border:1px solid #E3DCD2}.vocab-entry__content{min-width:0;overflow-wrap:anywhere}.vocab-entry__flashcard-hint{display:block;margin-top:12px;color:#806b58;font-size:11px;font-weight:800}.vocab-entry h2{font-size:19px;line-height:1.35}.vocab-entry h3{line-height:1.5}.vocab-entry p{overflow-wrap:anywhere}.vocab-pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:20px}.vocab-pagination button{min-height:40px;padding:0 13px;border:1px solid #DED7CE;border-radius:9px;background:#fff;color:#4b4035;font:700 12px var(--font-sans);cursor:pointer}.vocab-pagination button:disabled{opacity:.45;cursor:not-allowed}.vocab-pagination span{color:#82796f;font-size:12px;font-weight:700}.vocab-back-to-top{position:fixed;z-index:20;right:24px;bottom:24px;display:inline-flex;min-height:46px;align-items:center;gap:6px;padding:0 15px;border:1px solid #4B4035;border-radius:999px;background:#4b4035;color:#fff;box-shadow:0 8px 24px #302a2538;font:800 12px var(--font-sans);cursor:pointer}.vocab-back-to-top:hover{background:#665646}.vocab-back-to-top:focus-visible{outline:3px solid rgba(128,107,88,.35);outline-offset:3px}@media(max-width:650px){.vocab-toolbar{grid-template-columns:minmax(0,1fr) minmax(120px,145px);gap:10px}.vocab-search{grid-column:1 / -1}.vocab-clear-search{justify-self:start}.vocab-list{grid-template-columns:1fr}.vocab-entry{padding:16px}.vocab-pagination{justify-content:space-between;gap:8px}.vocab-pagination button{padding:0 9px}.vocab-back-to-top{right:14px;bottom:16px;min-height:42px;padding:0 12px}}@media(max-width:390px){.vocab-toolbar{grid-template-columns:1fr}.vocab-search{grid-column:auto}.vocab-clear-search{justify-self:stretch}.vocab-sort{grid-column:auto}}@media(prefers-reduced-motion:reduce){.vocab-back-to-top{scroll-behavior:auto}}.vocab-books-page{max-width:980px}.vocab-book-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;overflow:visible;padding:3px 0 18px}.vocab-book-tabs button{min-height:48px;padding:9px 14px;border-radius:12px;font-size:12px;line-height:1.35;white-space:normal}.vocab-chapter-toolbar{grid-template-columns:minmax(220px,1fr) auto}.vocab-chapter-toolbar .vocab-search{grid-column:auto}.vocab-chapter-toolbar .vocab-clear-search{justify-self:end}.chapter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.chapter-card{display:flex;min-height:170px;flex-direction:column;align-items:flex-start;padding:20px 21px;border:1px solid #E3DCD2;border-radius:15px;background:#fff;box-shadow:0 5px 16px #4b40350b;color:#302a25;text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.chapter-card:hover{transform:translateY(-2px);border-color:#c8b7a5;box-shadow:0 10px 24px #4b40351a}.chapter-card:focus-visible{outline:3px solid rgba(128,107,88,.32);outline-offset:3px}.chapter-card__eyebrow{color:#806b58;font:700 11px var(--font-sans);letter-spacing:.12em;text-transform:uppercase}.chapter-card h2{margin:8px 0 12px;color:#302a25;font:600 25px Playfair Display,Georgia,serif}.chapter-card__subtitle{margin:-6px 0 12px;color:#82796f;font-size:13px;line-height:1.45}.chapter-card__count{color:#82796f;font-size:13px}.chapter-card__hint{margin-top:auto;padding-top:17px;color:#806b58;font-size:12px;font-weight:800}.chapter-flashcard-page{max-width:1020px}.chapter-flashcard{height:min(72vh,760px);min-height:520px;box-sizing:border-box}.chapter-flash-front{gap:12px}.chapter-flash-kicker{max-width:100%;color:#806b58;font-size:11px;font-weight:800;letter-spacing:.12em;line-height:1.5;text-align:center}.chapter-flash-front h2{max-width:100%;margin:0;color:#302a25;font:600 clamp(38px,6vw,62px) "Playfair Display",Georgia,serif;overflow-wrap:anywhere}.chapter-flash-front p{margin:0;color:#82796f;font-size:14px}.chapter-flash-word-count{display:inline-flex;align-items:center;justify-content:center;min-height:32px;margin-top:4px;padding:0 13px;border-radius:999px;background:#fff5d8;color:#685f57;font-size:12px;font-weight:800}.chapter-flash-front i{color:#82796f;font-size:13px}.chapter-flash-back{align-items:stretch;justify-content:flex-start;gap:14px;overflow:hidden;padding:22px 26px;text-align:left}.chapter-flash-back--single .chapter-flash-back-head{position:relative;width:100%;justify-content:center;text-align:center}.chapter-flash-back--single .chapter-flash-back-head strong{position:absolute;top:22px;right:26px}.chapter-flash-back--single .chapter-flash-word-list--single{display:flex;width:min(100%,780px);box-sizing:border-box;flex-direction:column;align-items:center;justify-content:safe center;padding:0 14px;text-align:center}.chapter-flash-back--single .chapter-flash-word-term{display:flex;flex-direction:column;align-items:center;gap:9px}.chapter-flash-back--single .chapter-flash-word-term>span{display:none}.chapter-flash-back--single .chapter-flash-word-term h3{font-size:clamp(22px,3vw,32px);line-height:1.35}.chapter-flash-back--single .chapter-flash-word-term h3 em,.chapter-flash-back--single .chapter-flash-word-term small{font-size:14px}.chapter-flash-back--single .chapter-flash-word-term p{max-width:100%;font-size:clamp(38px,6vw,62px);font-weight:600;line-height:1.25;overflow-wrap:anywhere}.chapter-flash-back--single .chapter-flash-catalog-senses{width:100%;margin:0}.chapter-flash-back--single .chapter-flash-catalog-sense{padding:14px 0}.chapter-flash-back--single .chapter-flash-catalog-sense-heading{justify-content:center}.chapter-flash-back--single .chapter-flash-catalog-sense-heading span{font-size:12px}.chapter-flash-back--single .chapter-flash-catalog-sense-heading p{font-size:clamp(18px,2.2vw,24px);line-height:1.55}.chapter-flash-back--single .chapter-flash-catalog-usage,.chapter-flash-back--single .chapter-flash-catalog-note{font-size:14px;line-height:1.6}.chapter-flash-back--single .chapter-flash-word-examples{margin:11px 0 0}.chapter-flash-back--single .chapter-flash-word-examples p{font-size:14px;line-height:1.6}.chapter-flash-back-head{display:flex;flex:none;align-items:center;justify-content:space-between;gap:14px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.2)}.chapter-flash-back-head span{color:#e4d4be;font-size:10px;font-weight:800;letter-spacing:.12em}.chapter-flash-back-head h2{margin:4px 0 0;color:#f3c74f;font:600 25px Playfair Display,Georgia,serif}.chapter-flash-back-head strong{flex:none;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:7px 10px;color:#fff;font-size:11px}.chapter-flash-word-list{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;margin:0;padding:0 8px 0 0;list-style:none;scrollbar-color:#C8B7A5 transparent}.chapter-flash-word-list li{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.16)}.chapter-flash-word-term{display:grid;grid-template-columns:28px minmax(130px,1fr) minmax(140px,1.2fr);align-items:start;gap:10px}.chapter-flash-word-term>span{color:#f3c74f;font:600 16px Playfair Display,Georgia,serif}.chapter-flash-word-term h3{margin:0;color:#fff;font-size:15px;line-height:1.35;overflow-wrap:anywhere}.chapter-flash-word-term h3 em{color:#e4d4be;font-size:11px;font-weight:500}.chapter-flash-word-term small{display:block;margin-top:4px;color:#e4d4be;font-size:11px}.chapter-flash-word-term p{margin:0;color:#fff;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.chapter-flash-word-examples{margin:7px 0 0 38px;color:#e4d4be}.chapter-flash-word-examples p{margin:3px 0 0;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.chapter-flash-word-examples b{margin-right:5px;color:#f3c74f;font-size:9px;letter-spacing:.08em}.chapter-flash-catalog-senses{margin:8px 0 0 38px;color:#f1ece4}.chapter-flash-catalog-sense{padding:9px 0 11px;border-top:1px solid rgba(255,255,255,.12)}.chapter-flash-catalog-sense-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}.chapter-flash-catalog-sense-heading span{color:#f3c74f;font-size:10px;font-weight:800}.chapter-flash-catalog-sense-heading p{margin:0;color:#fff;font-size:13px;font-weight:700;line-height:1.5;overflow-wrap:anywhere}.chapter-flash-back--single .chapter-flash-catalog-sense-heading p{width:100%;max-width:100%;font-size:clamp(38px,6vw,62px);font-weight:600;line-height:1.25;overflow-wrap:anywhere}.chapter-flash-catalog-usage{margin:4px 0 0;color:#e4d4be;font-size:11px;line-height:1.5;overflow-wrap:anywhere}.chapter-flash-catalog-note{margin:6px 0 0;color:#e4d4be;font-size:11px;line-height:1.5;overflow-wrap:anywhere}.chapter-flash-catalog-note--chapter{padding:8px 0 0;border-top:1px dashed rgba(255,255,255,.2)}.chapter-flash-catalog-senses .chapter-flash-word-examples{margin-left:0}.chapter-flash-back-hint{flex:none;color:#e4d4be;font-size:10px;text-align:center}.chapter-bookmark-button{border:1px solid var(--brand-border)!important;background:var(--brand-surface)!important;color:var(--brand-coffee)!important}.chapter-bookmark-button[aria-pressed=true]{border-color:#e8c26f!important;background:var(--brand-yellow-soft)!important}@media(max-width:700px){.vocab-book-tabs{display:flex;overflow-x:auto}.vocab-book-tabs button{flex:0 0 210px}.chapter-grid{grid-template-columns:1fr}.chapter-flashcard{height:72vh;min-height:500px}.chapter-flash-back{padding:18px}.chapter-flash-word-term{grid-template-columns:24px minmax(0,1fr);gap:8px}.chapter-flash-word-term p{grid-column:2}.chapter-flash-word-examples{margin-left:32px}}@media(max-width:520px){.vocab-chapter-toolbar{grid-template-columns:1fr}.vocab-chapter-toolbar .vocab-search{grid-column:1}.vocab-chapter-toolbar .vocab-clear-search{justify-self:stretch}.chapter-flashcard{min-height:480px}.flash-head{align-items:stretch;flex-direction:column}.flashcard-view-controls{width:100%;flex-wrap:wrap;box-sizing:border-box}.flashcard-view-controls button{min-height:36px}.chapter-flash-back-head h2{font-size:22px}.chapter-flash-back--single .chapter-flash-back-head strong{top:18px;right:18px}.flash-nav span{display:none}.flash-nav button{flex:1}}@media(prefers-reduced-motion:reduce){.chapter-card,.flash-front,.flash-back{transition:none}}.part1-page{display:flex;max-width:1180px;flex-direction:column;gap:24px;margin:0 auto}.part1-workspace{display:grid;grid-template-columns:280px minmax(0,1fr);gap:18px;align-items:start}.part1-playlist,.part1-listening-card,.part1-admin-editor,.part1-admin-list{border:1px solid var(--brand-border);border-radius:var(--radius-card);background:var(--brand-surface);box-shadow:var(--shadow-subtle)}.part1-playlist{overflow:hidden;padding:9px}.part1-playlist__eyebrow{margin:0;color:var(--brand-brown-sec);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.part1-playlist>.part1-playlist__eyebrow{padding:10px 11px}.part1-playlist__item{display:grid;width:100%;grid-template-columns:28px 1fr;gap:2px 9px;padding:13px 11px;border:0;border-radius:10px;background:transparent;color:var(--brand-text);text-align:left;cursor:pointer}.part1-playlist__item:hover{background:var(--brand-bg-sub)}.part1-playlist__item.is-active{background:var(--brand-yellow-soft)}.part1-playlist__item>span{grid-row:span 2;color:var(--brand-brown-sec);font-size:11px;font-weight:800}.part1-playlist__item strong{font-size:13px;line-height:1.4}.part1-playlist__item small{color:var(--brand-muted);font-size:11px}.part1-listening-card{padding:28px}.part1-listening-card__header,.part1-list-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.part1-listening-card h2,.part1-admin-editor h2,.part1-admin-list h2{margin:7px 0 0;color:var(--brand-text);font-family:var(--font-serif);font-size:27px;font-weight:600}.part1-listening-card__header>span,.part1-list-head>span{padding:6px 9px;border-radius:999px;background:var(--brand-bg-sub);color:var(--brand-brown-sec);font-size:11px;font-weight:800}.part1-audio{display:flex;align-items:center;gap:13px;margin:26px 0;padding:14px 16px;border:1px solid #e5cf93;border-radius:12px;background:#fffaf0}.part1-audio>span{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:var(--brand-yellow);color:var(--brand-coffee);font-size:19px}.part1-audio audio{width:min(100%,540px)}.part1-audio__missing{margin:0;color:#755d45;font-size:14px;line-height:1.5}.part1-answer-form{display:grid;gap:13px}.part1-answer-form>p,.part1-admin-editor fieldset>p{margin:0;color:var(--brand-muted);font-size:13px;line-height:1.6}.part1-answer-row{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:10px}.part1-answer-row>span:not(.part1-answer-correction),.part1-admin-answer>span{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:var(--brand-bg-sub);color:var(--brand-brown-sec);font-size:12px;font-weight:800}.part1-answer-field{display:grid;min-width:0;gap:7px}.part1-answer-field__control{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px}.part1-answer-row input,.part1-admin-editor input{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid var(--brand-border);border-radius:9px;background:#fffefa;color:var(--brand-text);font:14px var(--font-sans)}.part1-answer-row.is-correct input{border-color:var(--brand-success)}.part1-answer-row.is-incorrect input{border-color:var(--brand-danger)}.part1-answer-status{display:inline-flex;min-height:34px;align-items:center;justify-content:center;padding:0 10px;border-radius:999px;background:var(--brand-danger-bg);color:var(--brand-danger);font-size:12px;white-space:nowrap}.part1-answer-row.is-correct .part1-answer-status{background:var(--brand-success-bg);color:var(--brand-success)}.part1-answer-correction{display:grid;grid-column:auto;gap:2px;padding:9px 12px;border:1px solid var(--brand-danger-border);border-radius:9px;background:var(--brand-danger-bg);color:var(--brand-text);font-size:13px;line-height:1.5}.part1-answer-correction strong{color:var(--brand-text)}.part1-answer-correction__text{display:block;color:var(--brand-danger);font-weight:750}.part1-answer-correction__translation{display:block;color:var(--brand-muted);font-size:12px}.part1-answer-correction.is-correct{border-color:var(--brand-success-border);background:var(--brand-success-bg)}.part1-answer-correction.is-correct .part1-answer-correction__text{color:var(--brand-success)}.part1-score{display:flex;align-items:baseline;gap:7px;padding:13px 15px;border-radius:10px;background:var(--brand-success-bg);color:var(--brand-success)}.part1-score strong{font-size:22px}.part1-score span{font-size:13px;font-weight:700}.part1-form-error,.part1-notice.error{margin:0;padding:11px 13px;border:1px solid var(--brand-danger-border);border-radius:9px;background:var(--brand-danger-bg);color:var(--brand-danger);font-size:13px}.part1-empty{padding:34px;border:1px dashed var(--brand-border);border-radius:var(--radius-card);background:var(--brand-bg-sub);color:var(--brand-muted);text-align:center}.part1-empty strong{display:block;color:var(--brand-text)}.part1-empty p{margin:7px 0 0}.part1-admin-page{max-width:1120px;margin:0 auto}.part1-notice.success{padding:11px 13px;border:1px solid var(--brand-success-border);border-radius:9px;background:var(--brand-success-bg);color:var(--brand-success);font-size:13px}.part1-admin-editor,.part1-admin-list{padding:24px}.part1-admin-editor{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);gap:36px}.part1-admin-editor form{display:grid;gap:15px}.part1-admin-editor form>label{display:grid;gap:7px;color:var(--brand-coffee);font-size:12px;font-weight:800}.part1-admin-editor small{color:var(--brand-muted);font-size:11px}.part1-admin-preview{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--brand-border-light);border-radius:10px;background:var(--brand-bg-sub);color:var(--brand-muted);font-size:12px}.part1-admin-preview audio{max-width:100%}.part1-admin-editor fieldset{display:grid;gap:10px;margin:0;padding:16px;border:1px solid var(--brand-border);border-radius:12px}.part1-admin-editor legend{padding:0 5px;color:var(--brand-coffee);font-size:13px;font-weight:800}.part1-admin-answer{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px}.part1-admin-answer__fields{display:grid;min-width:0;gap:7px}.part1-admin-answer button,.part1-add-answer{border:0;background:transparent;color:var(--brand-danger);font:700 12px var(--font-sans);cursor:pointer}.part1-add-answer{justify-self:start;color:var(--brand-coffee);padding:5px 0}.part1-visibility{display:flex!important;align-items:center;gap:9px;color:var(--brand-text)!important;font-size:13px!important}.part1-visibility input{width:16px;height:16px}.part1-editor-actions{display:flex;justify-content:flex-end;gap:9px}.part1-admin-list{display:grid;gap:18px}.part1-admin-items{display:grid;gap:10px}.part1-admin-items article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px;border:1px solid var(--brand-border-light);border-radius:12px;background:#fffdfa}.part1-admin-items h3{margin:8px 0 4px;color:var(--brand-text);font-size:15px}.part1-admin-items p{margin:0;color:var(--brand-muted);font-size:12px}.part1-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}.part1-status.visible{background:var(--brand-success-bg);color:var(--brand-success)}.part1-status.hidden{background:var(--brand-bg-sub);color:var(--brand-muted)}.part1-item-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.part1-page :is(button,input):focus-visible,.part1-admin-page :is(button,input):focus-visible{outline:3px solid var(--brand-yellow);outline-offset:2px}@media(max-width:800px){.part1-workspace,.part1-admin-editor{grid-template-columns:1fr}.part1-listening-card,.part1-admin-editor,.part1-admin-list{padding:18px}.part1-playlist{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:4px}.part1-playlist>.part1-playlist__eyebrow{grid-column:1/-1}.part1-admin-items article{align-items:stretch;flex-direction:column}.part1-item-actions{justify-content:stretch}.part1-item-actions button{flex:1}}@media(max-width:500px){.part1-answer-row{grid-template-columns:28px minmax(0,1fr)}.part1-answer-field__control{grid-template-columns:minmax(0,1fr)}.part1-answer-status{justify-self:start}.part1-admin-answer{grid-template-columns:28px minmax(0,1fr)}.part1-admin-answer button{grid-column:2;justify-self:start}.part1-editor-actions{flex-direction:column-reverse}.part1-editor-actions button{width:100%}}.dictation-import-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.72fr);align-items:center;gap:16px;padding:22px 24px;border:1px solid #e7d49d;border-radius:var(--radius-card);background:linear-gradient(135deg,#fffaf0,#fff)}.dictation-import-panel h2{margin:6px 0;color:var(--brand-text);font-family:var(--font-serif);font-size:23px;font-weight:600}.dictation-import-panel p:not(.part1-playlist__eyebrow){max-width:720px;margin:0;color:var(--brand-muted);font-size:13px;line-height:1.65}.dictation-import-panel small{display:block;margin-top:7px;color:var(--brand-muted);font-size:11px;line-height:1.5}.dictation-import-picker{display:grid;gap:8px;color:var(--brand-coffee);font-size:12px;font-weight:800}.dictation-import-picker input{max-width:100%;padding:10px;border:1px dashed var(--brand-border);border-radius:9px;background:#fffefa;color:var(--brand-muted);font-size:11px}.dictation-import-panel>.ds-button{grid-column:2;justify-self:end}.part1-admin-page .part1-item-actions .ds-button--danger{border:1px solid var(--brand-danger-border)}@media(max-width:700px){.dictation-import-panel{grid-template-columns:1fr;padding:18px}.dictation-import-panel>.ds-button{grid-column:1;justify-self:stretch}.dictation-import-panel>.ds-button{width:100%}}.road7-page{display:grid;max-width:1320px;gap:22px;margin:0 auto;padding-bottom:24px}.road7-workspace{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);align-items:start;gap:18px}.road7-library{position:sticky;top:18px;display:grid;max-height:calc(100vh - 150px);grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;padding:15px;border:1px solid var(--brand-border);border-radius:var(--radius-card);background:var(--brand-surface);box-shadow:var(--shadow-subtle)}.road7-library__heading{display:flex;align-items:center;justify-content:space-between;padding:4px 3px 12px}.road7-library__heading h2{margin:5px 0 0;color:var(--brand-text);font-family:var(--font-serif);font-size:20px;font-weight:600}.road7-search{display:grid;gap:6px;padding-bottom:12px;color:var(--brand-coffee);font-size:11px;font-weight:800}.road7-search input{box-sizing:border-box;width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--brand-border);border-radius:9px;background:#fffefa;color:var(--brand-text);font:13px var(--font-sans)}.road7-reading-list{display:grid;align-content:start;gap:5px;overflow:auto;padding-right:3px;overscroll-behavior:contain}.road7-reading-option{display:grid;grid-template-columns:31px minmax(0,1fr);gap:2px 9px;width:100%;padding:11px 9px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--brand-text);text-align:left;cursor:pointer}.road7-reading-option:hover,.road7-reading-option.is-active{border-color:#f0d78b;background:var(--brand-yellow-soft)}.road7-reading-option>span{grid-row:span 2;padding-top:2px;color:var(--brand-brown-sec);font-size:11px;font-weight:800}.road7-reading-option strong{font-size:12px;line-height:1.4}.road7-reading-option small{color:var(--brand-muted);font-size:10px}.road7-no-results{margin:8px;color:var(--brand-muted);font-size:12px}.road7-reader{display:grid;min-width:0;gap:14px}.road7-flashcard{width:100%;height:min(72vh,760px);min-height:520px;box-sizing:border-box}.road7-flash-front{align-items:stretch;justify-content:flex-start;gap:13px;min-height:0;overflow:hidden;padding:24px 30px}.road7-flash-front .chapter-flash-kicker,.road7-flash-front h2,.road7-flash-front .chapter-flash-word-count{align-self:center}.road7-flash-front h2{font-size:clamp(25px,3vw,35px);text-align:center}.road7-flash-front .chapter-flash-word-count{margin-top:0}.road7-flash-front i{flex:none;position:static;margin-top:0;font-size:clamp(10px,1vw,12px);line-height:1.45;text-align:center}.road7-flash-scroll{min-height:0;flex:1 1 0%;overscroll-behavior-y:contain;scrollbar-color:#c8b7a5 transparent;scrollbar-width:thin;-webkit-overflow-scrolling:touch;touch-action:pan-y}.road7-flash-english{width:min(100%,860px);min-height:0;flex:1 1 0%;box-sizing:border-box;overflow-x:hidden;overflow-y:auto;margin:0 auto;padding:8px 12px 14px;color:#4b4035;font-size:clamp(16px,1.25vw,19px);line-height:1.9;text-align:left;white-space:pre-wrap}.road7-flash-scroll::-webkit-scrollbar{width:6px}.road7-flash-scroll::-webkit-scrollbar-thumb{border-radius:999px;background:#c8b7a5}.road7-flash-scroll::-webkit-scrollbar-track{background:transparent}.road7-flash-back{min-height:0;gap:14px;padding:24px 30px}.road7-flash-pairs{display:grid;width:100%;min-height:0;flex:1 1 0%;align-content:start;overflow-x:hidden;overflow-y:auto;padding:0 12px 0 0;color:#f1ece4;font-size:clamp(15px,1.15vw,18px);line-height:1.85;text-align:left}.road7-flash-pairs p{margin:0;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.16)}.road7-flash-pairs p:first-child{padding-top:0}.road7-flash-pairs strong{color:#fff;font-weight:800}.road7-flash-pairs span{color:#e4d4be}.road7-flash-nav{display:grid;grid-template-columns:auto minmax(44px,1fr) auto auto;align-items:center;gap:9px;margin-top:0}.road7-flash-nav button{min-width:112px}.road7-flash-nav .road7-flip-button{border-color:#f3c74f;background:#f3c74f;color:#302a25}.road7-flash-nav .road7-flip-button:hover{background:#f6d36c}.road7-page :is(button,input):focus-visible{outline:3px solid var(--brand-yellow);outline-offset:2px}@media(max-width:900px){.road7-workspace{grid-template-columns:1fr}.road7-library{position:static;max-height:320px}.road7-reading-list{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}@media(max-width:700px){.road7-flashcard{height:72vh;min-height:500px}.road7-flash-front,.road7-flash-back{padding:18px}.road7-flash-back .chapter-flash-back-head h2{font-size:22px}.road7-flash-english{padding-right:5px;padding-left:5px}.road7-flash-pairs{font-size:15px}}@media(max-width:600px){.road7-page{gap:16px}.road7-library{max-height:280px;padding:11px}.road7-reading-list{grid-template-columns:1fr}.road7-flash-front h2{font-size:25px}.road7-flash-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.road7-flash-nav span{grid-column:1/-1;grid-row:1}.road7-flash-nav button{width:100%;min-width:0}}@media(prefers-reduced-motion:reduce){.road7-page .flash-front,.road7-page .flash-back{transition:none}}.student-catalog-page{max-width:1080px}.student-catalog-header{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.student-catalog-header h1{margin:0;color:var(--brand-text);font:600 clamp(32px,4.5vw,48px)/1.08 var(--font-serif);letter-spacing:-.025em}.student-catalog-eyebrow{margin:0 0 9px;color:var(--brand-brown-sec);font-size:10px;font-weight:800;letter-spacing:.14em}.student-catalog-intro{max-width:620px;margin:12px 0 0;color:var(--brand-muted);font-size:14px;line-height:1.65}.student-catalog-summary{flex:none;padding:9px 13px;border:1px solid var(--brand-border);border-radius:999px;background:var(--brand-surface);color:var(--brand-coffee);font-size:12px;font-weight:800}.student-catalog-tags{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:9px;margin:0 0 34px;padding:4px 0 12px}.student-catalog-tags button{display:grid;min-width:0;min-height:67px;align-content:center;gap:5px;padding:10px 15px;border:1px solid var(--brand-border);border-radius:13px;background:var(--brand-surface);color:var(--brand-coffee);text-align:left;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.student-catalog-tags button:hover{border-color:#c8b7a5;box-shadow:var(--shadow-subtle)}.student-catalog-tags button.is-selected{border-color:var(--brand-coffee);background:var(--brand-coffee);color:#fff;box-shadow:0 8px 18px #3d332a1f}.student-catalog-tags button span{overflow-wrap:anywhere;font-size:13px;font-weight:800;line-height:1.4}.student-catalog-tags button small{color:var(--brand-muted);font-size:10px;font-weight:700}.student-catalog-tags button.is-selected small{color:#e4d4be}.student-catalog-section-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:17px}.student-catalog-section-head h2{margin:0;color:var(--brand-text);font:600 clamp(24px,3.2vw,32px)/1.15 var(--font-serif)}.student-catalog-section-head>div>p:last-child{margin:8px 0 0;color:var(--brand-muted);font-size:13px;line-height:1.5}.student-catalog-section-head>span{flex:none;color:var(--brand-muted);font-size:11px;font-weight:700}.student-catalog-search{display:grid;max-width:520px;gap:7px;margin-bottom:17px;color:var(--brand-coffee);font-size:12px;font-weight:800}.student-catalog-search input{width:100%;min-height:44px;box-sizing:border-box;padding:0 13px;border:1px solid var(--brand-border);border-radius:10px;background:var(--surface-input);color:var(--brand-text);font:500 13px var(--font-sans)}.student-catalog-search input:focus-visible{border-color:var(--brand-brown-sec);outline:3px solid var(--brand-focus-ring);outline-offset:1px}.student-catalog-chapters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.student-catalog-chapter{position:relative;display:flex;min-width:0;min-height:192px;flex-direction:column;align-items:flex-start;padding:21px 22px 18px;overflow:hidden;border:1px solid var(--brand-border);border-radius:15px;background:var(--brand-surface);color:var(--brand-text);text-decoration:none;box-shadow:var(--shadow-subtle);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.student-catalog-chapter:before{position:absolute;inset:0 auto 0 0;width:4px;background:var(--brand-yellow);content:""}.student-catalog-chapter:hover{transform:translateY(-2px);border-color:#c8b7a5;box-shadow:var(--shadow-hover)}.student-catalog-chapter:focus-visible{outline:3px solid rgba(128,107,88,.32);outline-offset:3px}.student-catalog-chapter-order{color:var(--brand-brown-sec);font-size:10px;font-weight:800;letter-spacing:.12em}.student-catalog-chapter h3{max-width:100%;margin:10px 0 8px;color:var(--brand-coffee);font:600 clamp(21px,2.5vw,27px)/1.2 var(--font-serif);overflow-wrap:anywhere}.student-catalog-chapter-description{max-width:100%;margin:0 0 10px;color:var(--brand-muted);font-size:12px;line-height:1.5;overflow-wrap:anywhere}.student-catalog-chapter-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;color:var(--brand-muted);font-size:11px;font-weight:700}.student-catalog-chapter-action{display:flex;width:100%;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:1px solid var(--brand-border-light);color:var(--brand-coffee);font-size:12px;font-weight:800}.student-catalog-chapter-action span{color:var(--brand-warning);font-size:16px;line-height:1}.student-catalog-pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:22px}.student-catalog-pagination button{min-height:40px;padding:0 13px;border:1px solid var(--brand-border);border-radius:9px;background:var(--brand-surface);color:var(--brand-coffee);font-size:12px;font-weight:800;cursor:pointer}.student-catalog-pagination button:disabled{cursor:not-allowed;opacity:.45}.student-catalog-pagination span{color:var(--brand-muted);font-size:12px;font-weight:700}@media(max-width:680px){.student-catalog-header{align-items:flex-start;flex-direction:column;gap:14px}.student-catalog-tags{display:flex;overflow:auto;margin-bottom:26px;padding-bottom:12px;scroll-snap-type:x mandatory}.student-catalog-tags button{flex:0 0 min(76vw,290px);scroll-snap-align:start}.student-catalog-section-head{align-items:flex-start;flex-direction:column;gap:7px}.student-catalog-chapters{grid-template-columns:1fr}.student-catalog-chapter{min-height:172px;padding:19px 18px 16px}}@media(max-width:390px){.student-catalog-page{padding-right:15px;padding-left:15px}.student-catalog-summary{white-space:normal}.student-catalog-pagination{justify-content:space-between;gap:5px}.student-catalog-pagination button{padding:0 8px;font-size:11px}}@media(prefers-reduced-motion:reduce){.student-catalog-tags button,.student-catalog-chapter{transition:none}.student-catalog-chapter:hover{transform:none}}.vwi-page{--vwi-ink: var(--brand-text, #302A25);--vwi-coffee: var(--brand-coffee, #4B4035);--vwi-muted: var(--brand-muted, #82796F);--vwi-border: var(--brand-border, #E5DED4);--vwi-surface: var(--brand-surface, #FFFFFF);--vwi-paper: #FFFCF6;--vwi-mark: var(--brand-yellow, #F3C74F);--vwi-shadow: 0 12px 26px rgba(61, 51, 42, .06);width:100%;max-width:1520px;margin:0 auto;color:var(--vwi-ink);font-family:var(--font-sans, "Plus Jakarta Sans", sans-serif)}.vwi-page *,.vwi-page *:before,.vwi-page *:after{box-sizing:border-box}.vwi-page button,.vwi-page input,.vwi-page select,.vwi-page textarea{font:inherit}.vwi-page :focus-visible{outline:3px solid rgba(128,107,88,.56);outline-offset:3px}.vwi-page button:disabled{cursor:not-allowed;opacity:.55;transform:none}.vwi-page h1,.vwi-page h2,.vwi-page h3,.vwi-page h4,.vwi-page p{margin-top:0}.vwi-page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:24px}.vwi-page-header h1{margin:0;font-family:var(--font-serif, "Playfair Display", Georgia, serif);font-size:clamp(31px,4vw,43px);font-weight:600;letter-spacing:-.035em;line-height:1.12}.vwi-page-intro{max-width:760px;margin:10px 0 0;color:var(--vwi-muted);font-size:13px;line-height:1.7}.vwi-eyebrow{margin:0 0 7px;color:var(--brand-brown-sec, #806B58);font-size:10px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.vwi-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:0 0 19px}.vwi-section-heading h2{margin:0;color:var(--vwi-ink);font-family:var(--font-serif, Georgia, serif);font-size:clamp(23px,3vw,30px);font-weight:600;letter-spacing:-.025em}.vwi-review-bulk-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px}.vwi-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 15px;border:1px solid transparent;border-radius:10px;cursor:pointer;font-size:12px!important;font-weight:800!important;line-height:1.25;text-align:center;text-decoration:none;transition:background .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease}.vwi-button:hover:not(:disabled){transform:translateY(-1px)}.vwi-button--primary{border-color:#dfb53f;background:var(--vwi-mark);color:#3d332a;box-shadow:0 5px 13px #806b581f}.vwi-button--primary:hover:not(:disabled){background:#e9bb43}.vwi-button--secondary{border-color:var(--vwi-border);background:#fff;color:var(--vwi-coffee)}.vwi-button--secondary:hover:not(:disabled){background:#faf7f1;border-color:#cfc2b2}.vwi-button--quiet{border-color:transparent;background:transparent;color:var(--vwi-coffee)}.vwi-button--quiet:hover:not(:disabled){background:#f5f0e7}.vwi-button--danger{border-color:var(--brand-danger-border, #E8AAA5);background:var(--brand-danger-bg, #FFF0EF);color:var(--brand-danger, #A33B32)}.vwi-button--danger:hover:not(:disabled){background:#fbe5e2}.vwi-button--small{min-height:36px;padding:0 11px;font-size:11px!important}.vwi-button--wide{width:100%}.vwi-icon-button{min-width:38px;min-height:38px;display:inline-grid;place-items:center;border:1px solid var(--vwi-border);border-radius:10px;background:#fff;color:var(--vwi-coffee);cursor:pointer;font-size:19px!important;line-height:1}.vwi-copy-button{border:0;background:none;color:var(--vwi-coffee);cursor:pointer;font-size:10px!important;font-weight:800!important;text-decoration:underline;text-underline-offset:3px}.vwi-text-action{min-height:34px;border:0;background:none;color:var(--brand-danger, #A33B32);cursor:pointer;font-size:11px!important;font-weight:800!important}.vwi-stepper{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:22px;overflow:hidden;border:1px solid var(--vwi-border);border-radius:16px;background:#fff;box-shadow:var(--vwi-shadow)}.vwi-stepper__step{position:relative;display:flex;align-items:center;gap:12px;min-width:0;min-height:74px;padding:12px 18px;border:0;border-right:1px solid var(--brand-border-light, #F1ECE4);background:transparent;color:#9a9085;text-align:left}.vwi-stepper__step:last-child{border-right:0}.vwi-stepper__step:not(:disabled){cursor:pointer}.vwi-stepper__step.is-active{background:var(--vwi-paper);color:var(--vwi-ink)}.vwi-stepper__step.is-active:after{position:absolute;inset:auto 12px 0;height:3px;border-radius:4px 4px 0 0;background:var(--vwi-mark);content:""}.vwi-stepper__index{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border:1px solid #E7DFD3;border-radius:50%;background:#fff;color:var(--vwi-muted);font-size:10px;font-weight:850;letter-spacing:.04em}.vwi-stepper__step.is-active .vwi-stepper__index{border-color:var(--vwi-coffee);background:var(--vwi-coffee);color:#fff}.vwi-stepper__copy{min-width:0;display:grid;gap:4px}.vwi-stepper__copy strong{color:inherit;font-size:12px;font-weight:850}.vwi-stepper__copy small{overflow:hidden;color:var(--vwi-muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.vwi-notice{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 17px;padding:12px 14px;border:1px solid var(--brand-success-border, #C7E2CA);border-radius:11px;background:var(--brand-success-bg, #EDF7EE);color:var(--brand-success, #37683B);font-size:12px;font-weight:700;line-height:1.5}.vwi-notice button{flex:0 0 auto;border:0;background:transparent;color:inherit;cursor:pointer;font-size:18px}.vwi-upload-view{display:grid;grid-template-columns:minmax(0,1fr) minmax(270px,.36fr);align-items:start;gap:20px}.vwi-upload-main,.vwi-recovery-card{padding:clamp(19px,3vw,30px);border:1px solid var(--vwi-border);border-radius:18px;background:#fff;box-shadow:var(--vwi-shadow)}.vwi-limit-chip{flex:0 0 auto;padding:7px 10px;border:1px solid #E5D7B7;border-radius:99px;background:#fff8e7;color:#72581b;font-size:10px;font-weight:800}.vwi-dropzone{min-height:174px;display:flex;align-items:center;gap:18px;margin:10px 0 15px;padding:22px;border:1px dashed #BAAA94;border-radius:14px;background:linear-gradient(112deg,#fffcf6,#fbf8f1 68%,#f8f2e6);transition:border-color .15s ease,background .15s ease}.vwi-dropzone.is-dragging{border-color:var(--vwi-coffee);background:#fff5d8}.vwi-dropzone__glyph{width:54px;height:62px;flex:0 0 54px;display:grid;place-items:end center;padding-bottom:10px;border:1px solid #D7CBB7;border-radius:7px 7px 13px;background:#fff;color:#6f5b44;font-family:var(--font-serif, Georgia, serif);font-size:10px;font-weight:800;box-shadow:5px 5px #f2e8d5}.vwi-dropzone>div{min-width:0;flex:1;display:grid;gap:7px}.vwi-dropzone>div strong{color:var(--vwi-coffee);font-family:var(--font-serif, Georgia, serif);font-size:17px;font-weight:600}.vwi-dropzone>div span{max-width:430px;color:var(--vwi-muted);font-size:11px;line-height:1.6}.vwi-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.vwi-file-list{display:grid;gap:7px;margin:0 0 16px}.vwi-file-empty{margin:0;padding:13px 0;color:#8c8277;font-size:11px}.vwi-file-row{min-width:0;display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid var(--brand-border-light, #F1ECE4);border-radius:10px;background:#fff}.vwi-file-row__icon{width:31px;height:35px;flex:0 0 31px;display:grid;place-items:center;border-radius:7px;background:#eef3eb;color:#4f6c46;font-family:var(--font-serif, Georgia, serif);font-size:12px;font-weight:800}.vwi-file-row__name{min-width:0;flex:1;display:grid;gap:4px}.vwi-file-row__name strong{overflow:hidden;color:var(--vwi-coffee);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.vwi-file-row__name small{color:var(--vwi-muted);font-size:9px}.vwi-field{min-width:0;display:grid;gap:7px;color:var(--vwi-coffee);font-size:11px;font-weight:800}.vwi-field>span{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px}.vwi-field>span>b{color:var(--brand-danger, #A33B32)}.vwi-field>span small{color:var(--vwi-muted);font-size:9px;font-weight:600}.vwi-field input,.vwi-field select,.vwi-field textarea,.vwi-filters input,.vwi-filters select{width:100%;min-width:0;min-height:41px;padding:9px 11px;border:1px solid #DCD3C7;border-radius:9px;background:#fffefc;color:var(--vwi-ink);font-size:12px!important;font-weight:500!important}.vwi-field textarea{min-height:68px;resize:vertical;line-height:1.55}.vwi-field input:disabled,.vwi-field textarea:disabled{background:#f7f5f0;color:#766e65}.vwi-field small,.vwi-field [id]{color:var(--vwi-muted);font-size:10px;font-weight:500;line-height:1.55}.vwi-field--source{margin-top:8px}.vwi-upload-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px;padding-top:17px;border-top:1px solid var(--brand-border-light, #F1ECE4)}.vwi-upload-footer>span{color:var(--vwi-muted);font-size:10px;font-weight:700}.vwi-batch-sequence{display:flex;gap:11px;margin-top:18px;padding:13px 15px;border:1px solid #E9DEC9;border-radius:11px;background:#fff9ec}.vwi-sequence-mark{color:#8b6b24;font-family:var(--font-serif, Georgia, serif);font-size:19px}.vwi-batch-sequence p{margin:0;color:#70624b;font-size:10px;line-height:1.6}.vwi-batch-sequence strong{color:var(--vwi-coffee)}.vwi-recovery-card{background:#fdfbf7}.vwi-recovery-card h2{margin:0 0 8px;font-family:var(--font-serif, Georgia, serif);font-size:21px;font-weight:600}.vwi-recovery-card>p:not(.vwi-eyebrow){color:var(--vwi-muted);font-size:11px;line-height:1.65}.vwi-recovery-card form{display:grid;gap:12px;margin-top:20px}.vwi-recovery-hint{display:block;margin-top:11px;color:var(--vwi-muted);font-size:9px;line-height:1.5}.vwi-inline-error{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:8px 15px;margin:11px 0;padding:11px 12px;border:1px solid var(--brand-danger-border, #E8AAA5);border-radius:9px;background:var(--brand-danger-bg, #FFF0EF);color:#77352e;font-size:11px;line-height:1.55}.vwi-inline-error button:not(.vwi-button){border:0;background:transparent;color:inherit;cursor:pointer;font-size:11px;font-weight:800;text-decoration:underline}.vwi-recovery-alert{align-items:center;margin-top:0}.vwi-batch-card{margin-bottom:18px;padding:18px 20px 14px;border:1px solid var(--vwi-border);border-radius:16px;background:#fff;box-shadow:var(--vwi-shadow)}.vwi-batch-card__main{display:flex;align-items:center;justify-content:space-between;gap:20px}.vwi-batch-id{display:flex;align-items:center;gap:10px}.vwi-batch-id code{overflow:hidden;max-width:min(62vw,420px);color:var(--vwi-coffee);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;text-overflow:ellipsis}.vwi-batch-state{display:grid;justify-items:end;gap:7px}.vwi-batch-state small{color:var(--vwi-muted);font-size:10px}.vwi-batch-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:15px 0}.vwi-metric{min-width:0;display:grid;gap:4px;padding:10px 12px;border:1px solid var(--brand-border-light, #F1ECE4);border-radius:10px;background:#fdfbf8}.vwi-metric strong{color:var(--vwi-coffee);font-family:var(--font-serif, Georgia, serif);font-size:22px;font-weight:600;line-height:1}.vwi-metric span{color:var(--vwi-muted);font-size:9px;font-weight:700;line-height:1.35}.vwi-batch-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:11px;border-top:1px solid var(--brand-border-light, #F1ECE4);color:var(--vwi-muted);font-size:9px;line-height:1.6}.vwi-batch-footer>div{flex:0 0 auto;display:flex;gap:2px}.vwi-source-files{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.vwi-source-files>span{max-width:100%;display:inline-flex;align-items:center;gap:7px;padding:5px 8px;border:1px solid #E8DFD1;border-radius:7px;background:#fffcf6}.vwi-source-files strong{overflow:hidden;color:var(--vwi-coffee);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.vwi-source-files small{flex:0 0 auto;color:var(--vwi-muted);font-size:8px}.vwi-badge{max-width:100%;display:inline-flex;align-items:center;justify-content:center;padding:5px 8px;border-radius:99px;font-size:9px;font-weight:850;line-height:1.15;white-space:nowrap}.vwi-badge--success{background:var(--brand-success-bg, #EDF7EE);color:#37683b}.vwi-badge--warning{background:var(--brand-warning-bg, #FFF6D9);color:#805c00}.vwi-badge--danger{background:var(--brand-danger-bg, #FFF0EF);color:#963d36}.vwi-badge--neutral{background:#f0ece6;color:#665c50}.vwi-workspace{min-width:0}.vwi-filters{display:grid;grid-template-columns:minmax(210px,1.2fr) repeat(3,minmax(135px,.75fr));gap:9px;margin:0 0 13px;padding:11px;border:1px solid var(--vwi-border);border-radius:13px;background:#fff}.vwi-filters label{min-width:0;display:grid;gap:5px;color:var(--vwi-muted);font-size:9px;font-weight:800}.vwi-filters input,.vwi-filters select{min-height:37px;padding:7px 9px;font-size:10px!important}.vwi-candidate-list{min-width:0;border:1px solid var(--vwi-border);border-radius:14px;background:#fff;box-shadow:var(--vwi-shadow)}.vwi-candidate-list__heading{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:60px;padding:10px 13px;border-bottom:1px solid var(--brand-border-light, #F1ECE4)}.vwi-candidate-list__heading>div:first-child{display:grid;gap:4px}.vwi-candidate-list__heading strong{color:var(--vwi-coffee);font-size:11px}.vwi-candidate-list__heading span{color:var(--vwi-muted);font-size:9px}.vwi-pagination{display:flex;align-items:center;gap:6px}.vwi-pagination>span{min-width:73px;text-align:center}.vwi-pagination .vwi-icon-button{min-width:30px;min-height:30px;border-radius:8px;font-size:14px!important}.vwi-candidate-rows{max-height:680px;overflow:auto}.vwi-candidate-row{display:flex;align-items:stretch;min-width:0;border-bottom:1px solid var(--brand-border-light, #F1ECE4)}.vwi-candidate-row:last-child{border-bottom:0}.vwi-candidate-row.is-active{background:#fffaeb;box-shadow:inset 3px 0 var(--vwi-mark)}.vwi-candidate-check{width:42px;flex:0 0 42px;display:grid;place-items:center;border-right:1px solid #F5F1EA}.vwi-candidate-check input,.vwi-keep-separate input{width:17px;height:17px;accent-color:var(--vwi-coffee)}.vwi-candidate-open{min-width:0;flex:1;display:flex;align-items:center;gap:11px;padding:12px;border:0;background:transparent;color:inherit;cursor:pointer;text-align:left}.vwi-candidate-open:hover{background:#fff5d866}.vwi-candidate-index{width:31px;height:31px;flex:0 0 31px;display:grid;place-items:center;border:1px solid #E8E0D5;border-radius:9px;background:#faf7f1;color:#786d61;font-family:var(--font-serif, Georgia, serif);font-size:11px}.vwi-candidate-copy{min-width:0;flex:1;display:grid;gap:5px}.vwi-candidate-copy>strong{overflow:hidden;color:var(--vwi-coffee);font-size:12px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.vwi-candidate-copy>small{overflow:hidden;color:var(--vwi-muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.vwi-row-badges{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.vwi-candidate-arrow{flex:0 0 auto;color:#988b7a;font-size:16px}.vwi-loading-state,.vwi-empty-state{display:grid;justify-items:center;gap:8px;min-height:132px;place-content:center;padding:24px;color:var(--vwi-muted);font-size:11px;text-align:center}.vwi-empty-state strong{color:var(--vwi-coffee);font-family:var(--font-serif, Georgia, serif);font-size:16px;font-weight:600}.vwi-empty-state p{max-width:360px;margin:0;font-size:10px;line-height:1.6}.vwi-empty-mark{color:#b3975d;font-size:18px}.vwi-review-layout{display:grid;grid-template-columns:minmax(270px,.42fr) minmax(0,1fr);align-items:start;gap:14px}.vwi-review-layout>.vwi-candidate-list{position:sticky;top:calc(var(--header-height, 76px) + 12px)}.vwi-editor-stage{min-width:0}.vwi-editor-stage>.vwi-empty-state{min-height:300px;border:1px dashed #D7CCBD;border-radius:14px;background:#fdfbf7}.vwi-workbench{min-width:0;margin-top:15px;padding:clamp(15px,2.4vw,24px);border:1px solid var(--vwi-border);border-radius:16px;background:#fff;box-shadow:var(--vwi-shadow)}.vwi-editor-stage .vwi-workbench{margin-top:0}.vwi-workbench__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.vwi-workbench__head h3{margin:0 0 9px;font-family:var(--font-serif, Georgia, serif);font-size:22px;font-weight:600;letter-spacing:-.02em;overflow-wrap:anywhere}.vwi-compare-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.86fr);gap:9px}.vwi-compare-card{min-width:0;padding:13px;border:1px solid var(--vwi-border);border-radius:12px}.vwi-compare-card--source{border-color:#e8ddc9;background:#fffcf6}.vwi-compare-card--parsed{background:#f9f8f5}.vwi-compare-label,.vwi-editor-title>div{display:flex;align-items:center;gap:9px}.vwi-compare-step{width:28px;height:28px;flex:0 0 28px;display:grid;place-items:center;border:1px solid #E7D8B6;border-radius:8px;background:#fff4d6;color:#73591d;font-family:var(--font-serif, Georgia, serif);font-size:10px}.vwi-compare-label>div,.vwi-editor-title>div>div{min-width:0;display:grid;gap:4px}.vwi-compare-label strong,.vwi-editor-title strong{color:var(--vwi-coffee);font-size:10px;font-weight:850}.vwi-compare-label small,.vwi-editor-title small{color:var(--vwi-muted);font-size:9px;line-height:1.45}.vwi-source-location{margin:12px 0 8px;color:#7d6948;font-size:9px;font-weight:800;line-height:1.5}.vwi-source-text{min-height:115px;max-height:240px;overflow:auto;margin:0;padding:11px;border:1px solid #EFE6D7;border-radius:9px;background:#fffefa;color:#5c5041;font-family:var(--font-sans, sans-serif);font-size:10px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.vwi-raw-details{margin-top:9px;color:var(--vwi-muted);font-size:9px}.vwi-raw-details summary{width:fit-content;cursor:pointer;font-weight:800}.vwi-raw-details dl{display:grid;gap:5px;margin:10px 0 0}.vwi-raw-details dl>div{display:flex;justify-content:space-between;gap:10px}.vwi-raw-details dt{color:var(--vwi-muted)}.vwi-raw-details dd{margin:0;color:var(--vwi-coffee);text-align:right}.vwi-parsed-summary{display:grid;align-content:start;gap:10px;margin-top:12px}.vwi-parsed-summary>div{display:grid;gap:4px}.vwi-parsed-summary small{color:var(--vwi-muted);font-size:8px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.vwi-parsed-summary strong{color:var(--vwi-coffee);font-family:var(--font-serif, Georgia, serif);font-size:15px;font-weight:600;overflow-wrap:anywhere}.vwi-parsed-summary span{color:var(--vwi-coffee);font-size:10px;line-height:1.55;overflow-wrap:anywhere}.vwi-parsed-sense{padding-top:8px;border-top:1px solid #EAE5DC}.vwi-parsed-sense em{display:block;margin-top:4px;color:#776b5f;font-size:9px;line-height:1.55}.vwi-editor-form{display:grid;gap:13px;margin-top:12px;padding:15px;border:1px solid #DED3C2;border-radius:13px;background:#fffefc}.vwi-editor-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:11px;border-bottom:1px solid #EBE4D9}.vwi-editor-title .vwi-compare-step{width:32px;height:32px;flex-basis:32px;border-color:#b8a789;background:var(--vwi-coffee);color:#fff}.vwi-unsaved-tag{padding:6px 9px;border-radius:99px;background:#fff3d4;color:#73591d;font-size:9px;font-weight:800}.vwi-editor-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.72fr);gap:11px}.vwi-senses-heading,.vwi-example-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.vwi-senses-heading h4{margin:0;color:var(--vwi-coffee);font-family:var(--font-serif, Georgia, serif);font-size:16px;font-weight:600}.vwi-sense{min-width:0;display:grid;gap:11px;margin:0;padding:13px;border:1px solid #EAE3D8;border-radius:11px;background:#fff}.vwi-sense legend{padding:0 6px;color:#78684f;font-size:9px;font-weight:850}.vwi-example-heading{margin-top:1px;color:var(--vwi-coffee);font-size:10px}.vwi-example{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:11px;border:1px solid #F0ECE5;border-radius:9px;background:#fcfbf8}.vwi-remove-example{grid-column:1 / -1;justify-self:end}.vwi-validation-panel{padding:11px 13px;border:1px solid var(--brand-warning-border, #E8D69D);border-radius:10px;background:var(--brand-warning-bg, #FFF6D9);color:#664d10;font-size:10px;line-height:1.55}.vwi-validation-panel ul{display:grid;gap:4px;margin:7px 0 0;padding-left:18px}.vwi-validation-panel b{color:var(--vwi-coffee)}.vwi-editor-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-top:2px}.vwi-editor-actions>span{color:var(--vwi-muted);font-size:9px}.vwi-conflict-panel{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:13px;border:1px solid #D8B56F;border-radius:10px;background:#fff7e4;color:#5c4922}.vwi-conflict-panel strong{font-size:11px}.vwi-conflict-panel p{margin:5px 0 0;font-size:9px;line-height:1.55}.vwi-conflict-copy{min-width:0;flex:1}.vwi-conflict-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.vwi-conflict-compare>div{min-width:0;display:grid;align-content:start;gap:4px;padding:9px;border:1px solid rgba(92,73,34,.18);border-radius:8px;background:#ffffffb8}.vwi-conflict-compare small{color:#75664d;font-size:8px;font-weight:800}.vwi-conflict-compare strong{color:var(--vwi-coffee);overflow-wrap:anywhere}.vwi-conflict-compare span{font-size:8px;line-height:1.5}.vwi-conflict-compare details{font-size:8px}.vwi-conflict-compare summary{width:fit-content;margin-top:4px;cursor:pointer;font-weight:800}.vwi-conflict-compare .vwi-parsed-summary{gap:6px;max-height:180px;overflow:auto;margin-top:8px}.vwi-conflict-compare .vwi-parsed-summary strong{font-size:11px}.vwi-duplicate-notice{margin-bottom:12px;padding:13px 15px;border:1px solid #D9B96F;border-radius:11px;background:#fff8e5;color:#654f22;font-size:10px;line-height:1.55}.vwi-duplicate-notice strong{color:#5b471e;font-size:11px}.vwi-duplicate-notice ul{display:grid;gap:4px;margin:7px 0;padding-left:18px}.vwi-duplicate-notice p{margin:0}.vwi-review-panel{display:grid;gap:12px;margin-top:12px;padding:16px;border:1px solid var(--vwi-border);border-radius:13px;background:#fdfbf7}.vwi-review-panel__top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.vwi-review-panel__top h4{margin:0;color:var(--vwi-coffee);font-family:var(--font-serif, Georgia, serif);font-size:17px;font-weight:600}.vwi-keep-separate{display:flex;align-items:flex-start;gap:9px;padding:11px;border:1px solid #E7D9BC;border-radius:9px;background:#fff8e6;color:var(--vwi-coffee);cursor:pointer}.vwi-keep-separate input{flex:0 0 auto;margin-top:2px}.vwi-keep-separate span{display:grid;gap:4px}.vwi-keep-separate strong{font-size:10px}.vwi-keep-separate small{color:#75664d;font-size:9px;line-height:1.55}.vwi-review-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px}.vwi-helper-warning,.vwi-approved-note{margin:0;padding:9px 11px;border-radius:8px;background:#fff5d8;color:#725a23;font-size:9px;line-height:1.5}.vwi-approved-note{border:1px solid var(--brand-success-border, #C7E2CA);background:var(--brand-success-bg, #EDF7EE);color:#37683b}.vwi-audit{margin-top:12px;padding:15px;border:1px solid var(--vwi-border);border-radius:13px;background:#fff}.vwi-audit-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid #EFEAE2}.vwi-audit-heading h4{margin:0;color:var(--vwi-coffee);font-family:var(--font-serif, Georgia, serif);font-size:16px;font-weight:600}.vwi-audit-heading>span{color:var(--vwi-muted);font-size:9px}.vwi-audit-empty{margin:12px 0 0;color:var(--vwi-muted);font-size:10px}.vwi-audit ol{display:grid;gap:0;margin:0;padding:12px 0 0;list-style:none}.vwi-audit li{position:relative;display:grid;grid-template-columns:13px minmax(0,1fr);gap:8px;padding-bottom:12px}.vwi-audit li:not(:last-child):after{position:absolute;top:13px;bottom:-1px;left:5px;width:1px;background:#e7dccb;content:""}.vwi-audit-dot{z-index:1;width:11px;height:11px;margin-top:3px;border:2px solid #B69D6F;border-radius:50%;background:#fff}.vwi-audit-entry{min-width:0;display:grid;gap:4px;color:#655a4d;font-size:9px;line-height:1.5}.vwi-audit-entry>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.vwi-audit-entry strong{color:var(--vwi-coffee);font-size:10px}.vwi-audit-entry time,.vwi-audit-entry small{color:var(--vwi-muted);font-size:8px}.vwi-audit-entry p{margin:0;overflow-wrap:anywhere}.vwi-imported-ref{display:grid;gap:5px;margin-top:12px;padding:13px;border:1px solid var(--brand-success-border, #C7E2CA);border-radius:11px;background:var(--brand-success-bg, #EDF7EE);color:#37683b;font-size:9px}.vwi-imported-ref strong{font-size:11px}.vwi-imported-ref>span{overflow-wrap:anywhere}.vwi-confirm-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(255px,.35fr);align-items:start;gap:14px}.vwi-confirm-panel{min-width:0;padding:15px;border:1px solid var(--vwi-border);border-radius:14px;background:#fff;box-shadow:var(--vwi-shadow)}.vwi-confirm-panel__heading{display:flex;align-items:center;gap:11px;margin-bottom:14px}.vwi-confirm-mark{width:35px;height:35px;display:grid;place-items:center;border:1px solid #C7DEC5;border-radius:10px;background:#edf7ee;color:#3f6e43;font-size:15px;font-weight:900}.vwi-confirm-panel__heading h3{margin:0 0 4px;color:var(--vwi-coffee);font-family:var(--font-serif, Georgia, serif);font-size:17px;font-weight:600}.vwi-confirm-panel__heading p{margin:0;color:var(--vwi-muted);font-size:9px;line-height:1.55}.vwi-confirm-aside{position:sticky;top:calc(var(--header-height, 76px) + 15px);display:grid;gap:12px;padding:18px;border:1px solid #DCD0BD;border-radius:14px;background:#fffcf6;box-shadow:var(--vwi-shadow)}.vwi-selected-total{display:flex;align-items:baseline;gap:8px;padding-bottom:12px;border-bottom:1px solid #EAE1D3}.vwi-selected-total strong{color:var(--vwi-coffee);font-family:var(--font-serif, Georgia, serif);font-size:38px;font-weight:600;line-height:1}.vwi-selected-total span{color:var(--vwi-muted);font-size:10px;font-weight:750}.vwi-confirm-counts{display:grid;gap:8px;margin:0}.vwi-confirm-counts>div{display:flex;justify-content:space-between;gap:10px;color:#71675d;font-size:9px}.vwi-confirm-counts dd{margin:0;color:var(--vwi-coffee);font-size:10px;font-weight:850}.vwi-publication-guard{display:flex;gap:8px;margin:0;padding:10px;border:1px solid #E8DDAF;border-radius:9px;background:#fff7de;color:#695621;font-size:9px;line-height:1.55}.vwi-publication-guard span{flex:0 0 auto;font-size:15px}.vwi-results,.vwi-row-errors{display:grid;gap:7px;padding:11px;border:1px solid var(--brand-success-border, #C7E2CA);border-radius:9px;background:#fff;color:var(--vwi-coffee);font-size:9px}.vwi-results>div{display:grid;gap:3px;padding-top:6px;border-top:1px solid #EEF0E8}.vwi-results small{color:var(--vwi-muted);overflow-wrap:anywhere}.vwi-row-errors{border-color:var(--brand-warning-border, #E8D69D);background:#fff8e6}.vwi-row-errors p{margin:0;color:#66552f;font-size:8px;overflow-wrap:anywhere}.vwi-dialog{position:fixed;inset:50% auto auto 50%;width:min(550px,calc(100vw - 28px));max-width:100%;max-height:min(86vh,760px);margin:0;overflow:auto;padding:23px;border:1px solid var(--vwi-border);border-radius:18px;background:#fffefc;color:var(--vwi-ink);box-shadow:0 24px 65px #302a2547;transform:translate(-50%,-50%)}.vwi-dialog::backdrop{background:#302a2594;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.vwi-dialog__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}.vwi-dialog__heading h2{margin:0;font-family:var(--font-serif, Georgia, serif);font-size:23px;font-weight:600}.vwi-confirm-dialog-copy{color:#655a4d;font-size:11px;line-height:1.7}.vwi-confirm-dialog-copy p{margin:0 0 10px}.vwi-confirm-dialog-copy p:first-child{color:var(--vwi-coffee)}.vwi-dialog__actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:18px}@media(max-width:1080px){.vwi-upload-view{grid-template-columns:minmax(0,1fr) minmax(240px,.45fr)}.vwi-batch-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.vwi-review-layout{grid-template-columns:minmax(230px,.4fr) minmax(0,1fr)}.vwi-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.vwi-confirm-grid{grid-template-columns:minmax(0,1fr) minmax(225px,.4fr)}}@media(max-width:760px){.vwi-page-header{align-items:flex-start}.vwi-page-header>.vwi-button{flex:0 0 auto}.vwi-review-bulk-actions{justify-content:flex-start}.vwi-stepper{grid-template-columns:repeat(2,minmax(0,1fr))}.vwi-stepper__step{min-height:63px;border-bottom:1px solid var(--brand-border-light, #F1ECE4)}.vwi-stepper__step:nth-child(2){border-right:0}.vwi-stepper__step:nth-child(n+3){border-bottom:0}.vwi-upload-view{grid-template-columns:minmax(0,1fr)}.vwi-recovery-card{order:-1}.vwi-recovery-card form{grid-template-columns:minmax(0,1fr) auto;align-items:end}.vwi-recovery-card .vwi-field{min-width:0}.vwi-batch-card__main{align-items:flex-start}.vwi-batch-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.vwi-batch-footer{align-items:flex-start;flex-direction:column}.vwi-batch-footer>div{align-self:flex-end}.vwi-review-layout{grid-template-columns:minmax(0,1fr)}.vwi-review-layout>.vwi-candidate-list{position:static}.vwi-confirm-grid{grid-template-columns:minmax(0,1fr)}.vwi-confirm-aside{position:static;order:-1}.vwi-confirm-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.vwi-workbench{padding:14px}}@media(max-width:540px){.vwi-page-header{flex-direction:column;gap:12px}.vwi-page-header>.vwi-button{min-height:36px}.vwi-page-intro{font-size:11px}.vwi-stepper{margin-bottom:14px;border-radius:12px}.vwi-stepper__step{gap:8px;padding:10px}.vwi-stepper__index{width:29px;height:29px;flex-basis:29px;font-size:9px}.vwi-stepper__copy strong{font-size:10px}.vwi-stepper__copy small{font-size:8px}.vwi-section-heading{align-items:flex-start;flex-direction:column;gap:10px}.vwi-section-heading>.vwi-button{align-self:stretch}.vwi-upload-main,.vwi-recovery-card{padding:16px;border-radius:14px}.vwi-upload-view .vwi-section-heading{flex-direction:row;align-items:flex-end}.vwi-limit-chip{padding:6px 7px;font-size:8px}.vwi-dropzone{min-height:0;flex-wrap:wrap;gap:11px;padding:15px}.vwi-dropzone__glyph{width:42px;height:49px;flex-basis:42px;font-size:9px}.vwi-dropzone>div{flex-basis:calc(100% - 60px)}.vwi-dropzone>div strong{font-size:14px}.vwi-dropzone>.vwi-button{width:100%}.vwi-file-row{gap:7px;padding:9px}.vwi-file-row .vwi-badge{display:none}.vwi-upload-footer{align-items:stretch;flex-direction:column}.vwi-upload-footer .vwi-button{width:100%}.vwi-recovery-card form{grid-template-columns:minmax(0,1fr)}.vwi-batch-card{padding:14px}.vwi-batch-card__main{flex-direction:column;gap:10px}.vwi-batch-state{justify-items:start}.vwi-batch-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.vwi-batch-id code{max-width:calc(100vw - 160px);font-size:9px}.vwi-batch-footer>div{align-self:stretch;justify-content:space-between}.vwi-filters{grid-template-columns:minmax(0,1fr);padding:9px}.vwi-candidate-list__heading{align-items:flex-start;flex-direction:column}.vwi-pagination{align-self:flex-end}.vwi-candidate-open{gap:8px;padding:10px 8px}.vwi-candidate-index{width:27px;height:27px;flex-basis:27px}.vwi-candidate-copy>strong{font-size:10px}.vwi-candidate-copy>small{max-width:calc(100vw - 105px);font-size:8px}.vwi-row-badges{gap:3px}.vwi-badge{padding:4px 6px;font-size:8px}.vwi-candidate-check{width:34px;flex-basis:34px}.vwi-compare-grid{grid-template-columns:minmax(0,1fr)}.vwi-compare-card--parsed{order:-1}.vwi-editor-fields,.vwi-example,.vwi-conflict-compare{grid-template-columns:minmax(0,1fr)}.vwi-editor-form{padding:12px}.vwi-review-actions{justify-content:stretch}.vwi-review-actions .vwi-button{flex:1}.vwi-audit-entry>div{align-items:flex-start;flex-direction:column}.vwi-confirm-panel{padding:10px}.vwi-confirm-counts{grid-template-columns:minmax(0,1fr)}.vwi-dialog{width:min(550px,calc(100vw - 24px));max-width:none;max-height:88dvh;padding:19px 16px calc(17px + env(safe-area-inset-bottom));border-radius:17px}.vwi-dialog__actions{flex-direction:column-reverse}.vwi-dialog__actions .vwi-button{width:100%}}@media(prefers-reduced-motion:reduce){.vwi-page *,.vwi-page *:before,.vwi-page *:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.vpub-page{--vpub-ink:#302A25;--vpub-brown:#4B4035;--vpub-muted:#82796F;--vpub-line:#E5DED4;--vpub-gold:#F3C74F;--vpub-soft:#FFF5D8;--vpub-green:#37683B;--vpub-red:#A33B32;width:min(1160px,100%);margin:0 auto;padding:clamp(18px,3vw,38px);color:var(--vpub-ink)}.vpub-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:5px 0 24px}.vpub-header h1{margin:0;font:600 clamp(30px,4.2vw,46px)/1.06 var(--font-serif,Georgia,serif);letter-spacing:-.035em}.vpub-header p:not(.vpub-eyebrow){max-width:740px;margin:12px 0 0;color:var(--vpub-muted);font-size:14px;line-height:1.65}.vpub-eyebrow,.vpub-kicker{margin:0 0 7px;color:#806b58;font-size:10px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.vpub-policy{display:grid;grid-template-columns:auto auto;align-items:center;gap:2px 9px;min-width:144px;padding:12px 14px;border:1px solid #E8D69D;border-radius:12px;background:#fff6d9;color:#805c00}.vpub-policy span{grid-row:span 2;font-size:16px}.vpub-policy strong{font:800 11px/1.2 ui-monospace,Consolas,monospace;letter-spacing:.06em}.vpub-policy small{font-size:10px}.vpub-rail{display:flex;align-items:center;gap:12px;margin:0 0 20px;padding:15px 18px;border:1px solid var(--vpub-line);border-radius:15px;background:#fffefc}.vpub-rail__node{display:grid;gap:3px;min-width:0;color:var(--vpub-brown);font-size:12px;font-weight:850}.vpub-rail__node small{color:var(--vpub-muted);font-size:10px;font-weight:600}.vpub-rail i{flex:1 1 28px;min-width:18px;height:1px;background:linear-gradient(90deg,#D7CABC,var(--vpub-gold))}.vpub-control-bar{display:grid;grid-template-columns:minmax(200px,1fr) minmax(220px,2fr) auto;align-items:end;gap:12px;padding:15px;border:1px solid var(--vpub-line);border-radius:15px;background:#fff}.vpub-select,.vpub-review-note{display:grid;min-width:0;gap:6px;color:#6b5b4c;font-size:11px;font-weight:800}.vpub-select select,.vpub-review-note input{box-sizing:border-box;width:100%;min-height:40px;min-width:0;padding:0 11px;border:1px solid var(--vpub-line);border-radius:9px;background:#fffefc;color:var(--vpub-ink);font-size:12px}.vpub-button{display:inline-flex;min-height:39px;align-items:center;justify-content:center;padding:0 13px;border:1px solid transparent;border-radius:9px;color:var(--vpub-ink);font-size:11px;font-weight:850;cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease}.vpub-button:hover:not(:disabled){transform:translateY(-1px)}.vpub-button:disabled{cursor:not-allowed;opacity:.55}.vpub-button--primary{background:var(--vpub-gold)}.vpub-button--primary:hover:not(:disabled){background:#e5b83b}.vpub-button--secondary{border-color:var(--vpub-line);background:#fff;color:var(--vpub-brown)}.vpub-button--quiet{min-width:85px;border-color:var(--vpub-line);background:#f7f4ee;color:var(--vpub-brown)}.vpub-button--danger{border-color:#e8aaa5;background:#fff0ef;color:var(--vpub-red)}.vpub-button--small{min-height:32px;padding-inline:10px}.vpub-notice,.vpub-error{margin:13px 0 0;padding:11px 14px;border:1px solid #C7E2CA;border-radius:10px;background:#edf7ee;color:var(--vpub-green);font-size:12px;font-weight:750}.vpub-error{display:flex;align-items:center;justify-content:space-between;gap:12px;border-color:#e8aaa5;background:#fff0ef;color:var(--vpub-red)}.vpub-error button{border:0;background:none;color:inherit;font-weight:800;cursor:pointer}.vpub-statebox{margin-top:14px;padding:22px;border:1px dashed var(--vpub-line);border-radius:12px;color:var(--vpub-muted);font-size:13px;text-align:center}.vpub-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:15px 0}.vpub-metric{display:grid;gap:4px;min-height:76px;align-content:center;padding:11px 14px;border:1px solid var(--vpub-line);border-radius:12px;background:#fff}.vpub-metric strong{font:650 25px/1 var(--font-serif,Georgia,serif)}.vpub-metric span{color:var(--vpub-muted);font-size:10px;font-weight:750}.vpub-metric--ready{border-color:#c7e2ca;background:#f7fbf7}.vpub-metric--blocked{border-color:#e8d69d;background:#fffcf2}.vpub-entity,.vpub-chapter,.vpub-audit{margin-top:14px;padding:19px;border:1px solid var(--vpub-line);border-radius:15px;background:#fff}.vpub-entity--tag{border-left:4px solid var(--vpub-gold)}.vpub-entity__heading,.vpub-chapter__head,.vpub-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.vpub-entity h2,.vpub-section-heading h2{margin:0;font:600 23px/1.15 var(--font-serif,Georgia,serif)}.vpub-entity__heading small,.vpub-chapter__head small{display:block;margin-top:6px;color:var(--vpub-muted);font-size:10px;overflow-wrap:anywhere}.vpub-status-stack{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.vpub-state{display:inline-flex;align-items:center;max-width:100%;padding:5px 8px;border-radius:999px;background:#f1ece4;color:#6b5b4c;font-size:9px;font-weight:850;line-height:1.2;white-space:nowrap}.vpub-state--good{background:#edf7ee;color:var(--vpub-green)}.vpub-state--pending{background:#fff6d9;color:#805c00}.vpub-state--quiet{background:#f1ece4;color:#6b5b4c}.vpub-blockers{display:flex;flex-wrap:wrap;gap:6px 18px;margin:13px 0 0;padding:10px 12px 10px 28px;border-left:2px solid #E8D69D;background:#fffcf4;color:#72561a;font-size:11px;line-height:1.5}.vpub-clear{margin:12px 0 0;color:var(--vpub-green);font-size:11px;font-weight:750}.vpub-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.vpub-section-heading{align-items:end;margin:25px 0 10px}.vpub-section-heading>span{color:var(--vpub-muted);font-size:11px;font-weight:750}.vpub-chapter{padding:0;overflow:hidden}.vpub-chapter__head{padding:17px 18px 12px;background:linear-gradient(90deg,#f7f4ee 0,#fff 72%)}.vpub-chapter__head h3{margin:0;font:600 20px/1.2 var(--font-serif,Georgia,serif)}.vpub-chapter .vpub-blockers{margin:0 18px}.vpub-chapter .vpub-actions{margin:12px 18px}.vpub-chapter-stats{display:flex;flex-wrap:wrap;gap:8px 18px;padding:10px 18px;border-top:1px solid var(--vpub-line);border-bottom:1px solid var(--vpub-line);color:var(--vpub-muted);font-size:10px}.vpub-chapter-stats b{color:var(--vpub-brown)}.vpub-word-list{border-top:1px solid var(--vpub-line)}.vpub-word{display:grid;grid-template-columns:4px minmax(0,1fr);border-bottom:1px solid #F1ECE4}.vpub-word:before{content:"";background:#ded6cb}.vpub-word:has(.vpub-state--good):before{background:#74a97a}.vpub-word__main{min-width:0;padding:13px 16px}.vpub-word__main>strong{display:block;margin-bottom:7px;color:var(--vpub-ink);font-size:14px;overflow-wrap:anywhere}.vpub-word__main .vpub-blockers{margin-top:8px;padding-block:7px;font-size:10px}.vpub-word__actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.vpub-link-button{padding:0;border:0;background:none;color:#6b573e;font-size:10px;font-weight:850;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.vpub-empty-words,.vpub-audit-empty{margin:0;padding:17px 18px;color:var(--vpub-muted);font-size:12px}.vpub-audit ol{display:grid;gap:0;margin:14px 0 0;padding:0;list-style:none}.vpub-audit li{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:10px;padding:12px 0;border-top:1px solid #F1ECE4}.vpub-audit-dot{width:8px;height:8px;margin-top:4px;border-radius:50%;background:#b39b79}.vpub-audit-dot--published{background:#5e9564}.vpub-audit-dot--archived,.vpub-audit-dot--hidden{background:#a33b32}.vpub-audit li strong{display:block;font-size:11px}.vpub-audit li small,.vpub-audit li p,.vpub-audit li time{color:var(--vpub-muted);font-size:9px;overflow-wrap:anywhere}.vpub-audit li small{display:block;margin-top:4px}.vpub-audit li p{margin:5px 0 0}.vpub-audit li time{max-width:150px;text-align:right}.vpub-modal-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1500;display:grid;place-items:center;padding:16px;background:#302a2594}.vpub-candidate-dialog{position:relative;width:min(620px,100%);max-height:min(86vh,760px);overflow:auto;padding:24px;border:1px solid var(--vpub-line);border-radius:16px;background:#fffefc;box-shadow:0 24px 60px #302a2540}.vpub-candidate-dialog h2{max-width:90%;margin:0;font:600 26px/1.15 var(--font-serif,Georgia,serif)}.vpub-dialog-close{position:absolute;top:13px;right:13px;width:34px;height:34px;border:1px solid var(--vpub-line);border-radius:50%;background:#fff;color:var(--vpub-brown);font-size:20px;cursor:pointer}.vpub-candidate-dialog dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;margin:18px 0}.vpub-candidate-dialog dl div{padding:10px 0;border-top:1px solid var(--vpub-line);min-width:0}.vpub-candidate-dialog dt{margin-bottom:4px;color:var(--vpub-muted);font-size:9px;font-weight:800;text-transform:uppercase}.vpub-candidate-dialog dd{margin:0;color:var(--vpub-ink);font-size:11px;overflow-wrap:anywhere}.vpub-page button:focus-visible,.vpub-page input:focus-visible,.vpub-page select:focus-visible{outline:3px solid rgba(243,199,79,.7);outline-offset:2px}@media(max-width:760px){.vpub-page{padding:17px 13px 28px}.vpub-header{align-items:flex-start;flex-direction:column;gap:12px}.vpub-policy{min-width:0}.vpub-rail{gap:8px;padding:12px 10px}.vpub-rail__node{font-size:10px}.vpub-rail__node small{max-width:100px;font-size:8px}.vpub-control-bar{grid-template-columns:1fr}.vpub-control-bar>.vpub-button{width:100%}.vpub-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.vpub-metric:last-child{grid-column:span 2}.vpub-entity,.vpub-audit{padding:15px}.vpub-entity__heading,.vpub-chapter__head{flex-direction:column}.vpub-status-stack{justify-content:flex-start}.vpub-chapter__head{padding:15px}.vpub-chapter .vpub-actions,.vpub-chapter .vpub-blockers{margin-inline:15px}.vpub-chapter-stats{gap:7px 11px;padding-inline:15px}.vpub-audit li{grid-template-columns:10px minmax(0,1fr)}.vpub-audit li time{grid-column:2;text-align:left}.vpub-candidate-dialog{padding:21px 16px}.vpub-candidate-dialog dl{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.vpub-button{transition:none}.vpub-button:hover:not(:disabled){transform:none}}.vcm-page{--vcm-ink: var(--brand-text, #302A25);--vcm-coffee: var(--brand-coffee, #4B4035);--vcm-muted: var(--brand-muted, #82796F);--vcm-line: var(--brand-border, #E5DED4);--vcm-paper: #FFFCF6;--vcm-yellow: var(--brand-yellow, #F3C74F);width:100%;max-width:1560px;margin:0 auto;color:var(--vcm-ink);font-family:var(--font-sans, "Plus Jakarta Sans", sans-serif)}.vcm-page *,.vcm-page *:before,.vcm-page *:after{box-sizing:border-box}.vcm-page button,.vcm-page input,.vcm-page select,.vcm-page textarea{font:inherit}.vcm-page :focus-visible{outline:3px solid rgba(128,107,88,.58);outline-offset:3px}.vcm-page h1,.vcm-page h2,.vcm-page h3,.vcm-page p{margin-top:0}.vcm-kicker{display:block;margin:0 0 7px;color:var(--brand-brown-sec,#806B58);font-size:10px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.vcm-hero{position:relative;min-height:190px;display:flex;align-items:center;justify-content:space-between;gap:24px;overflow:hidden;margin-bottom:20px;padding:clamp(24px,4vw,42px);border:1px solid #D9CFBE;border-radius:20px;background:linear-gradient(112deg,#fffcf6,#fbf7ef 66%,#f3e9d4);box-shadow:0 14px 34px #3d332a12}.vcm-hero:after{position:absolute;top:-60px;right:130px;width:270px;height:270px;border:1px solid rgba(128,107,88,.15);border-radius:50%;box-shadow:0 0 0 25px #ffffff3d,0 0 0 55px #806b580d;content:"";pointer-events:none}.vcm-hero>div:first-child{position:relative;z-index:1;max-width:820px}.vcm-hero h1{margin:0;font-family:var(--font-serif,"Playfair Display",Georgia,serif);font-size:clamp(32px,4vw,46px);font-weight:600;letter-spacing:-.04em;line-height:1.08}.vcm-hero p{max-width:720px;margin:11px 0 0;color:#74695b;font-size:13px;line-height:1.7}.vcm-hero-stamp{position:relative;z-index:1;width:122px;min-width:122px;height:122px;display:grid;align-content:center;justify-items:center;border:1px solid #CDBA92;border-radius:50%;background:#ffffffa1;color:var(--vcm-coffee);transform:rotate(5deg)}.vcm-hero-stamp span{font-size:8px;font-weight:900;letter-spacing:.19em}.vcm-hero-stamp strong{margin:2px 0;font-family:var(--font-serif,Georgia,serif);font-size:36px;font-weight:600;line-height:1}.vcm-hero-stamp small{color:var(--vcm-muted);font-size:8px;font-weight:800}.vcm-tabs{display:flex;align-items:center;gap:8px;margin-bottom:18px;padding:7px;border:1px solid var(--vcm-line);border-radius:14px;background:#fff;box-shadow:0 8px 22px #3d332a0a}.vcm-tabs>button{min-height:58px;display:flex;align-items:center;gap:11px;padding:8px 13px;border:1px solid transparent;border-radius:10px;background:transparent;color:#766c61;cursor:pointer;text-align:left}.vcm-tabs>button.is-active{border-color:#e8d7a8;background:#fff9e9;color:var(--vcm-coffee)}.vcm-tabs>button>span:last-child{display:grid;gap:3px}.vcm-tabs strong{font-size:11px;font-weight:850}.vcm-tabs small{color:var(--vcm-muted);font-size:9px}.vcm-tab-mark{width:32px;height:32px;display:grid;place-items:center;border:1px solid #E5DCCF;border-radius:9px;background:#fff;color:#826b4c;font-family:var(--font-serif,Georgia,serif);font-size:14px}.vcm-policy{display:inline-flex;align-items:center;gap:8px;margin-left:auto;padding:8px 11px;border:1px solid #E8D7A8;border-radius:99px;background:#fff9e9;color:#765c1c;font-size:9px;font-weight:850}.vcm-policy i{width:7px;height:7px;border-radius:50%;background:#b77a2f;box-shadow:0 0 0 3px #b77a2f21}.vcm-notice,.vcm-error{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 14px;padding:11px 13px;border:1px solid #C7E2CA;border-radius:10px;background:#edf7ee;color:#37683b;font-size:11px;line-height:1.55}.vcm-notice button,.vcm-error button{min-height:28px;border:0;background:none;color:inherit;cursor:pointer;font-size:10px;font-weight:850;text-decoration:underline;text-underline-offset:3px}.vcm-error{align-items:center;border-color:#e8aaa5;background:#fff0ef;color:#77352e}.vcm-button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;border:1px solid transparent;border-radius:9px;cursor:pointer;font-size:11px!important;font-weight:850!important;line-height:1.3;text-decoration:none;transition:background .16s ease,border-color .16s ease,transform .16s ease}.vcm-button:hover:not(:disabled){transform:translateY(-1px)}.vcm-button:disabled{cursor:not-allowed;opacity:.53}.vcm-button--primary{border-color:#dfb53f;background:var(--vcm-yellow);color:#3d332a;box-shadow:0 4px 12px #806b581a}.vcm-button--primary:hover:not(:disabled){background:#e9bb43}.vcm-button--secondary{border-color:var(--vcm-line);background:#fff;color:var(--vcm-coffee)}.vcm-button--secondary:hover:not(:disabled){border-color:#cfc2b2;background:#faf7f1}.vcm-button--quiet{border-color:transparent;background:transparent;color:var(--vcm-coffee)}.vcm-button--quiet:hover:not(:disabled){background:#f5f0e7}.vcm-button--danger{border-color:#e8aaa5;background:#fff0ef;color:#a33b32}.vcm-button--danger:hover:not(:disabled){background:#fbe5e2}.vcm-button--small{min-height:34px;padding:0 10px;font-size:10px!important}.vcm-icon-button{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--vcm-line);border-radius:10px;background:#fff;color:var(--vcm-coffee);cursor:pointer;font-size:20px!important}.vcm-catalog-grid{display:grid;grid-template-columns:minmax(245px,.7fr) minmax(0,2fr);align-items:start;gap:18px}.vcm-tag-panel,.vcm-tag-detail,.vcm-chapters-section,.vcm-membership-panel,.vcm-tag-vocabulary,.vcm-history-section{min-width:0;border:1px solid var(--vcm-line);border-radius:15px;background:#fff;box-shadow:0 8px 22px #3d332a0b}.vcm-tag-panel{position:static;padding:16px}.vcm-panel-heading,.vcm-section-head,.vcm-membership-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.vcm-panel-heading{margin-bottom:15px}.vcm-panel-heading h2,.vcm-section-head h2,.vcm-membership-head h2{margin:0;color:var(--vcm-coffee);font-family:var(--font-serif,Georgia,serif);font-size:23px;font-weight:600;letter-spacing:-.02em}.vcm-filter-stack,.vcm-filter-row{display:flex;align-items:center;gap:9px}.vcm-filter-stack{flex-direction:column;align-items:stretch;margin-bottom:10px}.vcm-search{min-width:0;display:block;flex:1}.vcm-search input,.vcm-filter-stack select,.vcm-filter-row select,.vcm-field input,.vcm-field select,.vcm-field textarea,.vcm-add-membership select{width:100%;min-width:0;min-height:39px;padding:9px 10px;border:1px solid #DCD3C7;border-radius:8px;background:#fffefc;color:var(--vcm-ink);font-size:11px!important;font-weight:550!important}.vcm-field textarea{min-height:76px;resize:vertical;line-height:1.55}.vcm-field input:disabled,.vcm-field select:disabled{background:#f4f1eb;color:#82796f}.vcm-filter-stack select,.vcm-filter-row select{max-width:100%;color:#6f655a}.vcm-tag-list{display:grid;gap:6px}.vcm-tag-row{width:100%;min-height:70px;display:flex;align-items:center;gap:10px;padding:9px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--vcm-coffee);cursor:pointer;text-align:left}.vcm-tag-row:hover{background:#fbf8f2}.vcm-tag-row.is-selected{border-color:#e7d4a2;background:#fff9e9;box-shadow:inset 3px 0 #d3a93d}.vcm-tag-index{width:26px;height:26px;flex:0 0 26px;display:grid;place-items:center;border:1px solid #E7DFD3;border-radius:8px;background:#fff;color:#816d50;font-family:var(--font-serif,Georgia,serif);font-size:10px}.vcm-tag-copy{min-width:0;flex:1;display:grid;gap:4px}.vcm-tag-copy strong{overflow:hidden;font-size:10px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.vcm-tag-copy small{overflow:hidden;color:var(--vcm-muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.vcm-tag-count{display:grid;justify-items:end;gap:2px;color:#70675e}.vcm-tag-count b{font-family:var(--font-serif,Georgia,serif);font-size:18px;font-weight:600;line-height:1}.vcm-tag-count small{color:var(--vcm-muted);font-size:8px}.vcm-chapter-area{min-width:0;display:grid;gap:15px}.vcm-tag-detail{position:relative;overflow:hidden;padding:20px 22px 16px;background:linear-gradient(118deg,#fff,#fff 75%,#fffcf6)}.vcm-tag-detail:before{position:absolute;inset:0 auto 0 0;width:4px;background:var(--vcm-yellow);content:""}.vcm-tag-detail__head{display:flex;justify-content:space-between;gap:15px}.vcm-tag-detail__head h2{margin:0;color:var(--vcm-coffee);font-family:var(--font-serif,Georgia,serif);font-size:clamp(24px,3vw,32px);font-weight:600;letter-spacing:-.03em}.vcm-tag-detail__head p{max-width:680px;margin:7px 0 0;color:var(--vcm-muted);font-size:10px;line-height:1.6}.vcm-tag-metrics{display:flex;flex-wrap:wrap;gap:8px 20px;margin:15px 0 13px;padding:12px 0;border-top:1px solid #F1ECE4;border-bottom:1px solid #F1ECE4;color:#776d61;font-size:9px}.vcm-tag-metrics b{margin-right:4px;color:var(--vcm-coffee);font-family:var(--font-serif,Georgia,serif);font-size:16px;font-weight:600}.vcm-tag-actions{display:flex;flex-wrap:wrap;gap:8px}.vcm-status{max-width:100%;display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid #E8DFD1;border-radius:99px;background:#fbf8f2;color:#6f6254;font-size:8px;font-weight:900;line-height:1.2;white-space:nowrap}.vcm-status--draft{border-color:#e6d6aa;background:#fff8e6;color:#715b1d}.vcm-status--review{border-color:#d8dccb;background:#f1f4e9;color:#536143}.vcm-status--good{border-color:#c7e2ca;background:#edf7ee;color:#37683b}.vcm-status--muted{border-color:#e0dcd5;background:#f1efeb;color:#706a62}.vcm-chapters-section{padding:18px}.vcm-section-head{margin-bottom:14px}.vcm-section-head h2 small{display:inline-grid;min-width:25px;height:24px;place-items:center;margin-left:4px;border:1px solid #E6D9BC;border-radius:7px;background:#fffaef;color:#775f33;font-family:var(--font-sans,sans-serif);font-size:9px;font-weight:800;vertical-align:3px}.vcm-section-head p{max-width:760px;margin:7px 0 0;color:var(--vcm-muted);font-size:10px;line-height:1.6}.vcm-filter-row{margin-bottom:12px}.vcm-filter-row select{max-width:190px}.vcm-chapter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.vcm-chapter-card{min-width:0;overflow:hidden;border:1px solid #E8E0D4;border-radius:12px;background:#fffefc;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.vcm-chapter-card:hover{border-color:#d9c48e;box-shadow:0 8px 18px #3d332a0f;transform:translateY(-1px)}.vcm-chapter-card.is-selected{border-color:#c3a34c;box-shadow:0 0 0 2px #d3a93d24}.vcm-chapter-open{width:100%;min-height:112px;display:flex;align-items:flex-start;gap:11px;padding:13px;border:0;background:transparent;color:var(--vcm-coffee);cursor:pointer;text-align:left}.vcm-chapter-number{width:40px;height:48px;flex:0 0 40px;display:grid;place-items:center;border-right:1px solid #E8DDC7;color:#8b7041;font-family:var(--font-serif,Georgia,serif);font-size:20px;font-weight:600}.vcm-chapter-card__body{min-width:0;flex:1;display:grid;justify-items:start;gap:7px}.vcm-chapter-card__body strong{width:100%;overflow:hidden;color:#493f34;font-family:var(--font-serif,Georgia,serif);font-size:16px;font-weight:600;line-height:1.25;text-overflow:ellipsis}.vcm-chapter-card__body small{color:var(--vcm-muted);font-size:9px}.vcm-card-arrow{margin-left:auto;color:#947a4f;font-size:14px}.vcm-chapter-actions{display:flex;gap:13px;padding:8px 13px;border-top:1px solid #F0EBE3}.vcm-link-button{min-height:24px;padding:0;border:0;background:none;color:#66513b;cursor:pointer;font-size:9px;font-weight:850;text-decoration:underline;text-underline-offset:3px}.vcm-link-button:disabled{opacity:.45;cursor:not-allowed}.vcm-link-button--danger{color:#a33b32}.vcm-membership-panel{grid-column:1 / -1;padding:18px 20px}.vcm-tag-vocabulary{padding:18px 20px}.vcm-tag-vocabulary .vcm-section-head{margin-bottom:12px}.vcm-tag-vocabulary .vcm-section-head p{max-width:620px;margin:5px 0 0;color:var(--vcm-muted);font-size:10px;line-height:1.55}.vcm-tag-vocabulary-chapter{min-width:0;color:#756651;font-size:9px;line-height:1.45;overflow-wrap:anywhere}.vcm-membership-head{align-items:flex-start;margin-bottom:14px}.vcm-membership-head p{margin:6px 0 0;color:var(--vcm-muted);font-size:9px}.vcm-add-membership{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,1fr) auto auto;align-items:end;gap:8px;margin-bottom:14px;padding:12px;border:1px solid #E6DBC5;border-radius:10px;background:#fffcf6}.vcm-add-membership select{max-width:none}.vcm-reorder-hint,.vcm-count-note{color:#766c61;font-size:9px}.vcm-membership-filter{justify-content:space-between}.vcm-membership-list{display:grid;gap:5px;margin:0;padding:0;list-style:none}.vcm-membership-list li{min-width:0;display:flex;align-items:center;gap:11px;min-height:54px;padding:7px 9px;border-bottom:1px solid #F0EBE3}.vcm-membership-order{width:28px;flex:0 0 28px;color:#8c7856;font-family:var(--font-serif,Georgia,serif);font-size:15px;text-align:center}.vcm-membership-copy{min-width:0;flex:1;display:grid;gap:4px}.vcm-membership-copy strong{overflow:hidden;color:var(--vcm-coffee);font-size:10px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.vcm-membership-copy small{overflow:hidden;color:var(--vcm-muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.vcm-reorder-controls{display:flex;gap:4px}.vcm-reorder-controls button{width:32px;height:32px;border:1px solid #E4DBCF;border-radius:8px;background:#fff;color:#68553d;cursor:pointer;font-size:16px}.vcm-reorder-controls button:hover:not(:disabled){border-color:#cdb879;background:#fffaeb}.vcm-reorder-controls button:disabled{opacity:.42;cursor:not-allowed}.vcm-empty,.vcm-state{min-height:125px;display:grid;align-content:center;justify-items:center;gap:7px;padding:20px;color:#7c7268;text-align:center}.vcm-empty--large{min-height:230px;border:1px dashed #D9CFBE;border-radius:14px;background:#fffcf6}.vcm-empty--compact{min-height:86px;border:1px dashed #E0D8CA;border-radius:10px;background:#fffcf8}.vcm-empty-mark{width:34px;height:34px;display:grid;place-items:center;border:1px solid #E1D2B1;border-radius:50%;background:#fff9e9;color:#896f3d;font-family:var(--font-serif,Georgia,serif);font-size:15px}.vcm-empty strong,.vcm-state{color:var(--vcm-coffee);font-size:11px;font-weight:850}.vcm-empty small{max-width:400px;color:var(--vcm-muted);font-size:9px;line-height:1.6}.vcm-pager{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;color:var(--vcm-muted);font-size:9px}.vcm-history-section{padding:clamp(17px,3vw,26px)}.vcm-batch-list{display:grid;gap:9px}.vcm-batch-row{min-width:0;display:grid;grid-template-columns:minmax(180px,1.15fr) minmax(250px,1.2fr) minmax(125px,.55fr) minmax(150px,.75fr);align-items:center;gap:14px;padding:14px;border:1px solid #E8E0D4;border-radius:12px;background:#fffefc}.vcm-batch-row__main{min-width:0;display:grid;gap:5px}.vcm-batch-row__main code{overflow:hidden;color:#5a4c39;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;text-overflow:ellipsis}.vcm-batch-row__main>span{overflow:hidden;color:var(--vcm-coffee);font-size:9px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.vcm-batch-row__main small,.vcm-batch-row__state small{color:var(--vcm-muted);font-size:8px;line-height:1.45}.vcm-batch-row__counts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.vcm-batch-row__counts span{display:grid;justify-items:center;gap:3px;padding:6px 3px;border:1px solid #F0EBE3;border-radius:7px;background:#fff}.vcm-batch-row__counts b{color:#594a35;font-family:var(--font-serif,Georgia,serif);font-size:15px;font-weight:600}.vcm-batch-row__counts small{color:var(--vcm-muted);font-size:7px;text-align:center}.vcm-batch-row__state,.vcm-batch-row__actions{display:grid;justify-items:start;gap:6px}.vcm-batch-row__actions{align-content:center}.vcm-batch-row__actions .vcm-button{width:100%}.vcm-mapping-form{display:grid;gap:12px}.vcm-mapping-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:1px solid #E6DBC5;border-radius:10px;background:#fffcf6}.vcm-mapping-banner p{margin:0;color:var(--vcm-muted);font-size:10px}.vcm-mapping-rule{margin:0;padding:10px 12px;border-left:3px solid #D0AD50;background:#fff9e9;color:#695a40;font-size:9px;line-height:1.6}.vcm-map-chapter-search{margin-bottom:-3px}.vcm-source-map-list{display:grid;gap:9px}.vcm-source-map-card{min-width:0;display:grid;grid-template-columns:minmax(180px,.85fr) minmax(0,1.5fr);gap:16px;padding:13px;border:1px solid #E7DFD3;border-radius:11px;background:#fff}.vcm-source-map-source{min-width:0;display:flex;align-items:flex-start;gap:10px}.vcm-source-map-index{width:30px;height:36px;flex:0 0 30px;display:grid;place-items:center;border-right:1px solid #E1D4BC;color:#856c41;font-family:var(--font-serif,Georgia,serif);font-size:15px}.vcm-source-map-source>div{min-width:0;display:grid;gap:4px}.vcm-source-map-source strong{overflow-wrap:anywhere;color:var(--vcm-coffee);font-size:10px}.vcm-source-map-source small{overflow-wrap:anywhere;color:var(--vcm-muted);font-size:8px;line-height:1.45}.vcm-source-map-target{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:9px}.vcm-source-map-target>.vcm-field:only-child{grid-column:1 / -1}.vcm-field{min-width:0;display:grid;gap:6px;color:#605448;font-size:9px;font-weight:850}.vcm-field>span{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}.vcm-field>span small{color:var(--vcm-muted);font-size:8px;font-weight:550}.vcm-field.has-error input,.vcm-field.has-error select,.vcm-field.has-error textarea{border-color:#aa5147}.vcm-field em{color:#a33b32;font-size:8px;font-style:normal}.vcm-create-chapter-grid{display:grid;grid-column:1 / -1;grid-template-columns:minmax(0,1fr) 150px;gap:9px}.vcm-mapping-locked{margin:0;padding:10px;border:1px solid #C7E2CA;border-radius:9px;background:#edf7ee;color:#37683b;font-size:9px}.vcm-dialog{position:fixed;inset:50% auto auto 50%;width:min(550px,calc(100vw - 28px));max-height:min(88dvh,900px);margin:0;overflow:auto;padding:0;border:1px solid #D9CFBE;border-radius:16px;background:#fffefc;color:var(--vcm-ink);box-shadow:0 28px 90px #261f1847;transform:translate(-50%,-50%)}.vcm-dialog::backdrop{background:#302a257a;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.vcm-dialog--wide{width:min(920px,calc(100vw - 28px))}.vcm-dialog__head{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:19px 20px 14px;border-bottom:1px solid #EEE8DE;background:#fffefcf7}.vcm-dialog__head h2{margin:0;color:var(--vcm-coffee);font-family:var(--font-serif,Georgia,serif);font-size:24px;font-weight:600}.vcm-dialog__head .vcm-kicker{margin-bottom:4px}.vcm-form{display:grid;gap:14px;padding:18px 20px 20px}.vcm-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.vcm-dialog-actions{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:8px;margin-top:4px;padding:12px 0 0;border-top:1px solid #EEE8DE;background:#fffefc}.vcm-review-shell{max-width:none}.vcm-review-back{display:flex;align-items:center;justify-content:space-between;margin:0 auto 12px;max-width:1560px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:1180px){.vcm-catalog-grid{grid-template-columns:minmax(220px,.72fr) minmax(0,1.6fr)}.vcm-batch-row{grid-template-columns:minmax(160px,1fr) minmax(210px,1fr)}.vcm-batch-row__actions{grid-column:2;grid-row:1 / span 2}}@media(max-width:860px){.vcm-catalog-grid{grid-template-columns:1fr}.vcm-tag-panel{position:static}.vcm-tag-list{grid-template-columns:repeat(2,minmax(0,1fr))}.vcm-membership-panel{grid-column:auto}.vcm-batch-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.vcm-batch-row__actions{grid-column:auto;grid-row:auto}.vcm-source-map-card{grid-template-columns:minmax(145px,.8fr) minmax(0,1.2fr);gap:10px}}@media(max-width:600px){.vcm-hero{min-height:auto;align-items:flex-start;padding:22px 18px}.vcm-hero:after{top:-100px;right:-120px}.vcm-hero h1{max-width:300px;font-size:32px}.vcm-hero p{max-width:360px;font-size:11px}.vcm-hero-stamp{width:74px;min-width:74px;height:74px;margin-top:13px}.vcm-hero-stamp strong{font-size:23px}.vcm-hero-stamp span,.vcm-hero-stamp small{font-size:6px}.vcm-tabs{flex-wrap:wrap}.vcm-tabs>button{flex:1;min-width:140px;min-height:52px;padding:6px}.vcm-policy{width:100%;justify-content:center;margin:2px 0 0}.vcm-panel-heading,.vcm-section-head,.vcm-membership-head{align-items:flex-start}.vcm-tag-panel,.vcm-chapters-section,.vcm-membership-panel,.vcm-tag-vocabulary{padding:14px}.vcm-tag-list{grid-template-columns:1fr}.vcm-tag-detail{padding:17px 15px 14px 18px}.vcm-tag-detail__head{align-items:flex-start}.vcm-tag-detail__head h2{font-size:25px}.vcm-tag-metrics{gap:8px 14px}.vcm-chapter-grid{grid-template-columns:1fr}.vcm-filter-row{align-items:stretch;flex-direction:column}.vcm-filter-row select{max-width:none}.vcm-membership-head{flex-direction:column}.vcm-add-membership{grid-template-columns:1fr 1fr}.vcm-add-membership .vcm-search,.vcm-add-membership select{grid-column:1 / -1}.vcm-membership-list li{gap:7px;padding-inline:4px}.vcm-tag-vocabulary-list li{flex-wrap:wrap}.vcm-tag-vocabulary-list .vcm-tag-vocabulary-chapter{width:calc(100% - 35px);margin-left:35px}.vcm-membership-list .vcm-status{display:none}.vcm-reorder-controls button{width:34px;height:34px}.vcm-batch-row{grid-template-columns:1fr}.vcm-batch-row__counts{grid-template-columns:repeat(3,minmax(0,1fr))}.vcm-source-map-card,.vcm-source-map-target,.vcm-create-chapter-grid{grid-template-columns:1fr}.vcm-dialog__head{padding:16px 16px 12px}.vcm-form{padding:15px 16px 16px}.vcm-form-grid{grid-template-columns:1fr}.vcm-pager{flex-wrap:wrap;justify-content:center}}@media(prefers-reduced-motion:reduce){.vcm-page *,.vcm-page *:before,.vcm-page *:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.vocab-quick-page{display:grid;gap:20px}.vocab-quick-header{display:flex;justify-content:space-between;gap:20px}.vocab-quick-panel{padding:24px;border:1px solid var(--brand-border);border-radius:16px;background:var(--brand-surface);box-shadow:var(--shadow-subtle)}.vocab-quick-panel__heading{display:flex;align-items:flex-start;gap:13px;margin-bottom:20px}.vocab-quick-panel__heading>span{display:grid;flex:0 0 34px;height:34px;place-items:center;border-radius:10px;background:var(--brand-yellow-soft);color:var(--brand-coffee);font-size:12px;font-weight:850}.vocab-quick-panel__heading h2{margin:0;color:var(--brand-coffee);font-size:19px}.vocab-quick-panel__heading p{margin:5px 0 0;color:var(--brand-muted);font-size:13px;line-height:1.5}.vocab-quick-file{display:flex;align-items:end;gap:12px}.vocab-quick-file label,.vocab-quick-fields label{display:grid;flex:1;gap:7px;color:var(--brand-text);font-size:12px;font-weight:750}.vocab-quick-file input,.vocab-quick-fields input,.vocab-quick-fields select{width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--brand-border);border-radius:9px;background:#fff;color:var(--brand-text);font:inherit}.vocab-quick-file input[type=file]{padding:7px}.vocab-quick-preview{margin-top:20px}.vocab-quick-counts{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:12px;color:var(--brand-muted);font-size:12px}.vocab-quick-counts strong{color:var(--brand-success)}.vocab-quick-counts span{padding:5px 9px;border-radius:999px;background:var(--brand-bg-sub)}.vocab-quick-warnings{margin:8px 0 14px;padding:12px 14px;border-radius:10px;background:var(--brand-warning-bg);color:var(--brand-warning);font-size:12px}.vocab-quick-table-wrap{max-height:400px;overflow:auto;border:1px solid var(--brand-border-light);border-radius:10px}.vocab-quick-table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}.vocab-quick-table th{position:sticky;top:0;background:var(--brand-bg-sub);color:var(--brand-muted);font-weight:800}.vocab-quick-table th,.vocab-quick-table td{padding:10px 12px;border-bottom:1px solid var(--brand-border-light);vertical-align:top}.vocab-quick-table td:last-child{min-width:150px;color:var(--brand-success)}.vocab-quick-table tr.is-invalid td:last-child{color:var(--brand-danger)}.vocab-quick-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.vocab-quick-publish-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding-top:16px;border-top:1px solid var(--brand-border-light)}.vocab-quick-publish-row p{margin:0;color:var(--brand-muted);font-size:12px;line-height:1.5}.vocab-quick-visibility{display:grid;gap:12px}.vocab-quick-tag{overflow:hidden;border:1px solid var(--brand-border-light);border-radius:12px}.vocab-quick-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px}.vocab-quick-toggle-row>div{display:grid;gap:4px}.vocab-quick-toggle-row strong{font-size:13px;color:var(--brand-text)}.vocab-quick-toggle-row small{font-size:11px;color:var(--brand-muted)}.vocab-quick-toggle{min-width:105px;padding:8px 11px;border:1px solid var(--brand-border);border-radius:999px;background:var(--brand-bg-sub);color:var(--brand-muted);font-size:11px;font-weight:800;cursor:pointer}.vocab-quick-toggle.is-on{border-color:var(--brand-success);background:var(--brand-success-bg);color:var(--brand-success)}.vocab-quick-chapters{border-top:1px solid var(--brand-border-light);background:#fff}.vocab-quick-chapters .vocab-quick-toggle-row{padding-left:34px}.vocab-quick-message{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 15px;border:1px solid;border-radius:10px;font-size:13px}.vocab-quick-message button{border:0;background:transparent;color:inherit;font-weight:800;cursor:pointer}.vocab-quick-message.is-error{border-color:var(--brand-danger-border);background:var(--brand-danger-bg);color:var(--brand-danger)}.vocab-quick-message.is-success{border-color:var(--brand-success-border);background:var(--brand-success-bg);color:var(--brand-success)}.vocab-quick-muted{color:var(--brand-muted);font-size:13px}@media(max-width:680px){.vocab-quick-panel{padding:18px}.vocab-quick-file,.vocab-quick-publish-row{align-items:stretch;flex-direction:column}.vocab-quick-fields{grid-template-columns:1fr}.vocab-quick-counts{align-items:flex-start;flex-direction:column}.vocab-quick-table{min-width:650px}}.admin-page-container{width:100%;display:flex;flex-direction:column;gap:24px;color:var(--brand-text)}.admin-eyebrow{margin:0 0 5px;color:var(--brand-coffee);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.admin-page-title{margin:0;font-family:var(--font-serif);font-size:30px;font-weight:600}.admin-page-sub{margin:7px 0 0;color:var(--brand-muted);font-size:14px}.admin-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.admin-summary-card,.admin-panel,.admin-table-container,.admin-student-card{background:var(--brand-surface);border:1px solid var(--brand-border);border-radius:14px;box-shadow:var(--shadow-subtle);color:var(--brand-muted);font-size:13px}.admin-summary-card strong{display:block;margin-top:8px;font-family:var(--font-serif);font-size:32px;color:var(--brand-coffee)}.is-skeleton{height:38px;width:55px;background:var(--brand-border-light);border-radius:6px;animation:pulse 1.2s infinite}.admin-panel{padding:22px}.admin-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.admin-panel h2{margin:0;font-size:18px}.admin-panel-head p{margin:5px 0 0;color:var(--brand-muted);font-size:13px}.admin-text-link,.admin-row-link{color:var(--brand-coffee);font-size:13px;font-weight:700;text-decoration:none}.admin-pending-row{display:grid;grid-template-columns:minmax(180px,2fr) 120px 110px 40px;gap:14px;align-items:center;border-top:1px solid var(--brand-border-light);padding:13px 0;color:var(--brand-muted);font-size:13px}.admin-pending-row strong,.admin-pending-row span{display:block}.admin-pending-row strong{color:var(--brand-text);margin-bottom:3px}.admin-filter-tabs{display:flex;gap:8px;flex-wrap:wrap}.admin-filter-tabs button{border:1px solid var(--brand-border);background:var(--brand-surface);color:var(--brand-muted);border-radius:999px;padding:8px 14px;font:600 13px inherit;cursor:pointer}.admin-filter-tabs button.active{background:var(--brand-coffee);border-color:var(--brand-coffee);color:var(--brand-surface)}.admin-search-bar{position:relative;display:flex;gap:10px;max-width:620px}.admin-search-bar input{flex:1;min-width:0;height:44px;padding:0 38px 0 14px;border:1px solid var(--brand-border);border-radius:10px;background:var(--brand-surface);font:14px inherit;color:var(--brand-text)}.admin-search-bar input:focus,.admin-modal-label textarea:focus{outline:0;border-color:var(--brand-brown-sec);box-shadow:0 0 0 3px var(--brand-focus-ring)}.admin-clear-search{position:absolute;right:102px;top:8px;border:0;background:transparent;color:var(--brand-muted);font-size:22px;cursor:pointer}.admin-primary-button,.admin-danger-button,.admin-quiet-button{min-height:40px;border-radius:9px;padding:0 13px;border:1px solid transparent;font:700 13px inherit;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.admin-primary-button{background:var(--brand-yellow);color:var(--brand-text)}.admin-primary-button:hover{background:var(--brand-yellow-hover)}.admin-primary-button.small{min-height:34px}.admin-danger-button{background:var(--brand-danger-bg);border-color:var(--brand-danger-border);color:var(--brand-danger)}.admin-quiet-button{background:var(--brand-surface);border-color:var(--brand-border);color:var(--brand-coffee)}.admin-data-table{width:100%;border-collapse:collapse;text-align:left}.admin-data-table th{padding:13px 16px;background:var(--brand-bg-sub);border-bottom:1px solid var(--brand-border);color:var(--brand-muted);font-size:11px;text-transform:uppercase;letter-spacing:.04em}.admin-data-table td{padding:15px 16px;border-bottom:1px solid var(--brand-border-light);font-size:13px;color:var(--brand-text)}.admin-data-table tr:last-child td{border-bottom:0}.student-identity b,.admin-student-card b{color:var(--brand-text)}.status-badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700}.status-badge.pending{background:var(--brand-warning-bg);color:var(--brand-warning)}.status-badge.active{background:var(--brand-success-bg);color:var(--brand-success)}.status-badge.suspended{background:var(--brand-danger-bg);color:var(--brand-danger)}.status-badge.rejected{background:var(--brand-bg-sub);color:var(--brand-muted)}.student-actions{display:flex;gap:7px;justify-content:flex-end}.admin-empty{text-align:center;padding:28px;color:var(--brand-muted);font-size:14px}.admin-table-skeleton{padding:18px;display:grid;gap:12px}.admin-table-skeleton i{display:block;height:43px;background:var(--brand-border-light);border-radius:7px;animation:pulse 1.2s infinite}.admin-error{padding:12px 14px;border:1px solid var(--brand-danger-border);border-radius:10px;background:var(--brand-danger-bg);color:var(--brand-danger);font-size:13px}.admin-pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;font-size:13px;color:var(--brand-muted)}.admin-pagination button{padding:7px 11px;border:1px solid var(--brand-border);border-radius:8px;background:var(--brand-surface);color:var(--brand-coffee);cursor:pointer}.admin-pagination button:disabled{opacity:.45;cursor:not-allowed}.admin-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:var(--overlay-scrim);display:grid;place-items:center;padding:20px}.admin-confirm-modal{position:relative;width:min(440px,100%);max-height:calc(100vh - 40px);overflow:auto;padding:28px;border-radius:16px;background:var(--brand-surface);box-shadow:var(--shadow-raised);font-family:var(--font-serif);font-size:24px}.admin-confirm-modal p{color:var(--brand-coffee);line-height:1.55;font-size:14px}.admin-modal-label{display:grid;gap:7px;margin-top:16px;color:var(--brand-coffee);font-size:13px;font-weight:700}.admin-modal-label span{color:var(--brand-muted);font-weight:400}.admin-modal-label textarea{width:100%;resize:vertical;box-sizing:border-box;border:1px solid var(--brand-border);border-radius:9px;padding:10px;font:13px inherit;color:var(--brand-text)}.modal-close{position:absolute;right:14px;top:12px;border:0;background:transparent;color:var(--brand-muted);font-size:26px;cursor:pointer}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.admin-toast{position:fixed;right:22px;bottom:22px;z-index:2100;background:var(--brand-coffee);color:var(--brand-surface);padding:13px 16px;border-radius:10px;font-size:13px;box-shadow:var(--shadow-raised);gap:7px}.admin-pending-row>span:not(.status-badge){display:none}.admin-data-table{display:table}.admin-student-card{padding:16px;display:flex;flex-direction:column;gap:12px}.admin-student-card>div:first-child span{display:block;color:var(--brand-muted);font-size:13px;margin-top:4px}.student-card-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;color:var(--brand-muted);font-size:12px}.student-actions{justify-content:stretch;flex-wrap:wrap}.student-actions>*{flex:1}.admin-search-bar{max-width:none}.admin-clear-search{right:105px}.admin-panel{padding:17px}.admin-panel-head{align-items:center}.admin-panel-head p{display:none}.admin-pagination{justify-content:center}.admin-confirm-modal{padding:24px 20px}.admin-toast{left:18px;right:18px;bottom:18px;text-align:center}.table-responsive{overflow-x:auto;border:1px solid var(--brand-border);border-radius:16px;background:var(--brand-surface);box-shadow:var(--shadow-subtle);min-width:760px;border-collapse:collapse;text-align:left;color:var(--brand-text)}.admin-table th{padding:13px 16px;background:var(--brand-bg-sub);border-bottom:1px solid var(--brand-border);color:var(--brand-muted);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.admin-table td{padding:15px 16px;border-bottom:1px solid var(--brand-border-light);font-size:13px;vertical-align:middle}.admin-table tbody tr:hover{background:var(--brand-surface)}.admin-table tbody tr:last-child td{border-bottom:0}.admin-page-container input:not([type=checkbox]):not([type=radio]),.admin-page-container select,.admin-page-container textarea{border-color:var(--brand-border);color:var(--brand-text)}.admin-page-container input:focus,.admin-page-container select:focus,.admin-page-container textarea:focus{border-color:var(--brand-brown-sec)!important;box-shadow:0 0 0 3px var(--brand-focus-ring)!important;outline:0}.admin-page-container button{font-family:inherit}.assessment-table-sub{display:block;margin-top:3px;color:var(--brand-muted);font-size:11px;font-weight:500}.admin-summary-card small{display:block;margin-top:7px;color:var(--brand-muted);font-size:12px;line-height:1.5}.admin-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:900px){.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.admin-stat-grid{grid-template-columns:1fr}}.admin-page-container{width:100%;color:var(--brand-text);font-family:var(--font-sans)}.admin-page-container .ds-page-header{align-items:end;margin-bottom:0}.admin-page-container .ds-page-title,.admin-page-container .admin-page-title{color:var(--brand-text);font-family:var(--font-serif);font-size:clamp(28px,3vw,38px);font-weight:600;line-height:1.16}.admin-page-container .ds-page-description,.admin-page-container .admin-page-sub{color:var(--brand-muted);line-height:1.65}.admin-page-container .admin-page-header{border-color:var(--brand-border)!important}.admin-page-container .table-responsive,.admin-page-container .admin-table-container{border:1px solid var(--brand-border);border-radius:var(--radius-card);background:var(--brand-surface);box-shadow:var(--shadow-subtle)}.admin-page-container .admin-table{color:var(--brand-text);font-family:var(--font-sans)}.admin-page-container .admin-table th{border-color:var(--brand-border);background:var(--brand-bg-sub);color:var(--brand-brown-sec);font-family:var(--font-sans);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.admin-page-container .admin-table td{border-color:var(--brand-border-light);color:var(--brand-text);font-family:var(--font-sans);font-size:13px}.admin-page-container .admin-table tbody tr:hover{background:var(--brand-surface)}.admin-page-container input:not([type=checkbox]):not([type=radio]),.admin-page-container select,.admin-page-container textarea{border-color:var(--brand-border)!important;border-radius:var(--radius-sm)!important;color:var(--brand-text);font-family:var(--font-sans)}.admin-page-container input:focus,.admin-page-container select:focus,.admin-page-container textarea:focus{border-color:var(--brand-brown-sec)!important;box-shadow:0 0 0 3px var(--brand-focus-ring);outline:0}.admin-page-container .admin-confirm-modal{border:1px solid var(--brand-border);border-radius:var(--radius-card)}.admin-page-container button{min-height:34px;border-radius:var(--radius-xs)!important;font-family:var(--font-sans);font-weight:700;transition:background .18s ease,border-color .18s ease,transform .18s ease}.admin-page-container button:hover:not(:disabled){transform:translateY(-1px)}.admin-page-container a{border-radius:var(--radius-xs);color:var(--brand-coffee);font-family:var(--font-sans)}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.admin-form-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.admin-form-grid>div,.admin-form-grid-3>div{min-width:0}.admin-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1rem;border-top:1px solid var(--brand-border);padding-top:1rem}.admin-student-detail-page{max-width:1040px;margin:0 auto;gap:18px}.student-status-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:21px 24px;border:1px solid #ead49a;border-radius:var(--radius-card);background:linear-gradient(108deg,#fff9e7 0%,var(--brand-surface) 67%);box-shadow:var(--shadow-subtle)}.student-status-card__eyebrow{display:block;margin-bottom:8px;color:var(--brand-brown-sec);font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.student-status-card__summary{display:flex;align-items:center;gap:12px}.student-status-card__summary p{margin:0;color:var(--brand-muted);font-size:13px;line-height:1.5}.student-status-card__actions{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:9px}.student-status-card__actions .ds-button{min-height:42px;padding-inline:16px}.student-detail-panel{padding:24px}.student-detail-panel .admin-panel-head{margin-bottom:20px}.student-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;overflow:hidden;border:1px solid var(--brand-border-light);border-radius:12px}.student-detail-grid>div{min-width:0;padding:15px 17px;border-right:1px solid var(--brand-border-light);border-bottom:1px solid var(--brand-border-light);background:#fffdfa}.student-detail-grid>div:nth-child(3n){border-right:0}.student-detail-grid>div:nth-last-child(-n+3){border-bottom:0}.student-detail-grid dt{margin-bottom:6px;color:var(--brand-muted);font-size:11px;font-weight:700}.student-detail-grid dd{overflow:hidden;margin:0;color:var(--brand-text);font-size:13px;font-weight:750;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.student-progress-empty{display:flex;align-items:center;justify-content:center;gap:13px;min-height:112px;border:1px dashed var(--brand-border);border-radius:12px;background:var(--brand-bg-sub);text-align:left}.student-progress-empty>span{display:grid;width:32px;height:32px;place-items:center;border-radius:50%;background:var(--brand-yellow-soft);color:var(--brand-warning);font-size:22px}.student-progress-empty strong{display:block;color:var(--brand-coffee);font-size:13px}.student-progress-empty p{margin:4px 0 0;color:var(--brand-muted);font-size:12px}@media(max-width:760px){.student-status-card{align-items:stretch;flex-direction:column;padding:19px}.student-status-card__summary{align-items:flex-start;flex-direction:column;gap:8px}.student-status-card__actions{justify-content:stretch}.student-status-card__actions .ds-button{flex:1}.student-detail-panel{padding:18px}.student-detail-grid{grid-template-columns:1fr}.student-detail-grid>div,.student-detail-grid>div:nth-child(3n){border-right:0;border-bottom:1px solid var(--brand-border-light)}.student-detail-grid>div:last-child{border-bottom:0}.student-progress-empty{padding:18px;justify-content:flex-start}}.admin-courses-page{gap:20px}.course-filter-bar{display:flex;align-items:end;gap:18px;padding:17px;border:1px solid var(--brand-border);border-radius:var(--radius-card);background:var(--brand-surface);box-shadow:var(--shadow-subtle)}.course-search-form{display:flex;flex:1 1 360px;gap:8px}.course-search-form input{min-width:0;height:42px;flex:1;box-sizing:border-box;padding:0 13px;border:1px solid var(--brand-border);border-radius:9px;color:var(--brand-text);font:13px var(--font-sans);outline:0}.course-search-form input:focus,.course-filter-field select:focus{border-color:var(--brand-brown-sec);box-shadow:0 0 0 3px var(--brand-focus-ring)}.course-search-submit{min-width:94px;border:1px solid var(--brand-border);border-radius:9px;background:var(--brand-bg-sub);color:var(--brand-coffee);font:800 13px var(--font-sans)}.course-filter-controls{display:flex;flex:0 0 auto;align-items:center;gap:12px}.course-filter-field{display:grid;gap:5px;color:var(--brand-muted);font-size:11px;font-weight:800}.course-filter-field select{height:42px;min-width:148px;padding:0 30px 0 11px;border:1px solid var(--brand-border);border-radius:9px;background:#fffdfa;color:var(--brand-text);font:13px var(--font-sans);outline:0}.course-table-shell{border-radius:var(--radius-card);box-shadow:var(--shadow-subtle)}.course-admin-table th{padding-block:14px;background:var(--brand-bg-sub);color:var(--brand-brown-sec);font-size:10px}.course-admin-table td{padding-block:14px}.course-title-cell{display:flex;align-items:center;gap:12px;min-width:270px}.course-thumbnail{width:46px;height:46px;flex:0 0 46px;border-radius:10px;object-fit:cover}.course-thumbnail--fallback{display:grid;place-items:center;background:var(--brand-yellow-soft);color:var(--brand-coffee);font-size:19px}.course-title-copy{min-width:0}.course-title-copy strong{display:block;overflow:hidden;color:var(--brand-text);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.course-title-copy div{overflow:hidden;max-width:290px;margin-top:4px;color:var(--brand-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.course-level-cell{display:grid;gap:3px}.course-level-cell span:first-child{color:var(--brand-text);font-size:12px;font-weight:800}.course-level-cell span:last-child{color:var(--brand-muted);font-size:11px}.course-action-menu{position:relative;display:grid;place-items:center}.course-action-menu summary{display:grid;width:34px;height:34px;place-items:center;border:1px solid var(--brand-border);border-radius:8px;background:var(--brand-surface);color:var(--brand-coffee);cursor:pointer;font-size:16px;font-weight:900;letter-spacing:1px;list-style:none}.course-action-menu summary::-webkit-details-marker{display:none}.course-action-menu[open] summary{border-color:#e0ba53;background:var(--brand-yellow-soft)}.course-action-menu__items{position:absolute;z-index:20;top:40px;right:0;display:grid;width:174px;padding:6px;border:1px solid var(--brand-border);border-radius:10px;background:var(--brand-surface);box-shadow:var(--shadow-raised)}.course-action-menu__items button{min-height:34px!important;padding:0 9px;border:0;border-radius:7px!important;background:transparent;color:var(--brand-text);font-size:12px;text-align:left}.course-action-menu__items button:hover{background:var(--brand-bg-sub)}.course-action-menu__items .course-action-menu__delete{color:var(--brand-danger)}.course-action-menu__items .course-action-menu__delete:hover{background:var(--brand-danger-bg)}@media(max-width:1040px){.course-filter-bar{align-items:stretch;flex-direction:column}.course-filter-controls{justify-content:flex-end}.course-title-cell{min-width:230px}}@media(max-width:620px){.course-filter-bar{padding:13px}.course-search-form{flex-direction:column}.course-search-submit{min-height:40px}.course-filter-controls{align-items:stretch;flex-direction:column;gap:9px}.course-filter-field select{width:100%}.course-title-copy div{max-width:190px}}@media(max-width:900px){.admin-page-container .ds-page-header{align-items:stretch}.admin-form-grid,.admin-form-grid-3{grid-template-columns:1fr}.admin-modal-actions{flex-direction:column-reverse}.admin-modal-actions button{width:100%;min-height:44px}}.admin-table-container{overflow-x:auto;overscroll-behavior-x:contain}.admin-data-table{display:table;min-width:760px}.admin-mobile-card-list{display:none}.admin-summary-card{display:flex;box-sizing:border-box;min-width:0;min-height:148px;flex-direction:column;padding:20px}.admin-summary-card>span{display:block;line-height:1.45}.admin-summary-card strong{margin-top:10px;line-height:1.05}.admin-summary-card small{margin-top:auto;padding-top:12px;line-height:1.5}.student-create-modal{width:min(560px,100%)}.student-create-modal h2{margin:0 32px 8px 0;font-size:24px}.student-create-modal form{display:grid;gap:14px}.student-create-field{display:grid;gap:6px;color:var(--brand-coffee);font:700 13px var(--font-sans)}.student-create-field input{box-sizing:border-box;width:100%;min-height:42px;padding:9px 11px;border:1px solid var(--brand-border);border-radius:9px;background:var(--brand-surface);color:var(--brand-text);font:14px var(--font-sans)}.student-create-field input[aria-invalid=true]{border-color:var(--brand-danger)!important}.student-create-field small{color:var(--brand-danger);font-size:12px;font-weight:500;line-height:1.45}.student-create-modal .modal-actions{margin-top:4px}.student-learning-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.student-detail-table{min-width:860px}.student-history-filter,.student-history-filters label{display:grid;gap:5px;color:var(--brand-muted);font-size:11px;font-weight:800}.student-history-filter select,.student-history-filters select{min-width:145px;min-height:38px;padding:0 30px 0 10px;border:1px solid var(--brand-border);border-radius:8px;background:var(--brand-surface);color:var(--brand-text);font:12px var(--font-sans)}.student-history-filters{display:flex;flex-wrap:wrap;gap:9px}.student-learning-state,.student-attempt-state{display:inline-flex;max-width:190px;padding:5px 8px;border-radius:999px;background:var(--brand-bg-sub);color:var(--brand-muted);font-size:11px;font-weight:750;line-height:1.4}.student-learning-state.completed,.student-attempt-state.completed_scored{background:var(--brand-success-bg);color:var(--brand-success)}.student-learning-state.in_progress,.student-attempt-state.in_progress{background:var(--brand-warning-bg);color:var(--brand-warning)}.student-attempt-state.expired_pending_finalization{background:var(--brand-danger-bg);color:var(--brand-danger)}.student-detail-page .admin-summary-card{min-height:128px}@media(max-width:900px){.student-learning-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.student-learning-summary{grid-template-columns:1fr}.student-learning-summary .admin-summary-card{min-height:0}.student-detail-panel .admin-panel-head,.student-history-filters{align-items:stretch;flex-direction:column}.student-history-filters select,.student-history-filter select{width:100%}.student-create-modal{padding:23px 18px}.student-create-modal .modal-actions{flex-direction:column-reverse}.student-create-modal .modal-actions button{width:100%;min-height:44px}}.admin-toast{top:50%;right:auto;bottom:auto;left:50%;transform:translate(-50%,-50%);text-align:center}@media(max-width:767px){.admin-toast{right:auto;bottom:auto;left:50%;width:calc(100vw - 36px)}}.docx-import-modal{width:min(1040px,95vw);max-height:90vh;display:flex;flex-direction:column;background:var(--brand-surface, #fff);border-radius:16px;box-shadow:0 20px 45px #0003;overflow:hidden;position:relative;font-family:var(--font-sans, system-ui, sans-serif);color:var(--brand-text, #302A25)}.docx-import-header{padding:20px 24px;border-bottom:1px solid var(--brand-border-light, #eee);display:flex;justify-content:space-between;align-items:center;background:var(--brand-bg-sub, #faf8f5)}.docx-import-title-group h2{margin:0;font-size:20px;font-family:var(--font-serif, serif);color:var(--brand-text, #302A25)}.docx-import-title-group p{margin:4px 0 0;font-size:13px;color:var(--brand-muted, #82796F)}.docx-import-close-btn{background:transparent;border:none;font-size:24px;cursor:pointer;color:var(--brand-muted, #82796F);padding:4px 8px;line-height:1;border-radius:6px}.docx-import-close-btn:hover{background:var(--brand-border-light, #eee);color:var(--brand-text, #302A25)}.docx-import-steps{display:flex;border-bottom:1px solid var(--brand-border-light, #eee);background:#fff}.docx-step-item{flex:1;padding:12px 16px;font-size:13px;font-weight:600;color:var(--brand-muted, #82796F);display:flex;align-items:center;gap:8px;border-bottom:2px solid transparent}.docx-step-item.active{color:var(--brand-coffee, #533B27);border-bottom-color:var(--brand-coffee, #533B27);background:var(--brand-bg-sub, #faf8f5)}.docx-step-item.completed{color:#10b981}.docx-step-num{width:22px;height:22px;border-radius:50%;background:var(--brand-border-light, #eee);display:flex;align-items:center;justify-content:center;font-size:11px}.docx-step-item.active .docx-step-num{background:var(--brand-coffee, #533B27);color:#fff}.docx-step-item.completed .docx-step-num{background:#10b981;color:#fff}.docx-import-body{padding:24px;overflow-y:auto;flex:1}.docx-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.docx-field{display:flex;flex-direction:column;gap:6px}.docx-field label{font-size:13px;font-weight:700;color:var(--brand-text, #302A25)}.docx-field select,.docx-field input,.docx-field textarea{padding:10px 12px;border:1px solid var(--brand-border, #DED7CE);border-radius:8px;font-size:14px;background:#fff}.docx-input-mode-tabs{display:flex;gap:8px;margin-bottom:14px;border-bottom:1px solid var(--brand-border-light, #eee);padding-bottom:8px}.docx-input-tab-btn{background:transparent;border:1px solid transparent;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:600;cursor:pointer;color:var(--brand-muted, #82796F)}.docx-input-tab-btn.active{background:var(--brand-bg-sub, #faf8f5);border-color:var(--brand-border, #DED7CE);color:var(--brand-coffee, #533B27)}.docx-dropzone{border:2px dashed var(--brand-border, #DED7CE);border-radius:12px;padding:32px 20px;text-align:center;background:var(--brand-bg-sub, #faf8f5);cursor:pointer;transition:all .2s ease;position:relative}.docx-dropzone:hover,.docx-dropzone.dragover{border-color:var(--brand-coffee, #533B27);background:#f4ede4}.docx-dropzone input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%}.docx-dropzone-icon{font-size:40px;margin-bottom:8px}.docx-dropzone-text strong{display:block;font-size:14px;color:var(--brand-coffee, #533B27);margin-bottom:4px}.docx-dropzone-text span{font-size:12px;color:var(--brand-muted, #82796F)}.docx-selected-file{margin-top:14px;padding:10px 14px;background:#fff;border:1px solid var(--brand-border, #DED7CE);border-radius:8px;display:flex;align-items:center;justify-content:space-between}.docx-file-meta{display:flex;align-items:center;gap:10px;font-size:13px}.docx-file-meta strong{color:var(--brand-text, #302A25)}.docx-file-meta small{color:var(--brand-muted, #82796F)}.docx-preview-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--brand-border-light, #eee)}.docx-metrics-badges{display:flex;gap:8px;flex-wrap:wrap}.docx-metric-pill{padding:5px 12px;border-radius:999px;font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:5px}.docx-metric-pill.total{background:#f3f4f6;color:#374151}.docx-metric-pill.valid{background:#ecfdf5;color:#065f46}.docx-metric-pill.duplicate{background:#fffbeb;color:#92400e}.docx-metric-pill.invalid{background:#fef2f2;color:#991b1b}.docx-duplicate-control{display:flex;align-items:center;gap:8px;font-size:13px}.docx-duplicate-control select{padding:6px 10px;border:1px solid var(--brand-border, #DED7CE);border-radius:6px;font-size:13px;background:#fff}.docx-table-wrap{overflow-x:auto;border:1px solid var(--brand-border, #DED7CE);border-radius:10px;max-height:420px;background:#fff}.docx-preview-table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.docx-preview-table th{position:sticky;top:0;background:var(--brand-bg-sub, #faf8f5);border-bottom:1px solid var(--brand-border, #DED7CE);padding:10px 12px;font-size:11px;text-transform:uppercase;color:var(--brand-muted, #82796F);z-index:10}.docx-preview-table td{padding:10px 12px;border-bottom:1px solid var(--brand-border-light, #eee);vertical-align:top}.docx-preview-table tr.is-duplicate{background:#fffef5}.docx-preview-table tr.is-invalid{background:#fff5f5}.docx-col-check{width:36px;text-align:center}.docx-col-stt{width:44px;text-align:center;font-weight:700}.docx-col-topic{width:85px;font-weight:600;color:var(--brand-coffee, #533B27)}.docx-col-word{width:140px}.docx-col-pos{width:80px}.docx-col-meaning{min-width:180px}.docx-col-example{min-width:200px;font-size:12px}.docx-col-notes{min-width:160px;font-size:12px;color:#555}.docx-col-status{width:95px}.docx-col-action{width:60px;text-align:center}.docx-status-tag{display:inline-block;padding:3px 7px;border-radius:4px;font-size:11px;font-weight:700}.docx-status-tag.ok{background:#d1fae5;color:#065f46}.docx-status-tag.dup{background:#fef3c7;color:#92400e}.docx-status-tag.err{background:#fee2e2;color:#991b1b}.docx-warnings-box{margin-top:14px;padding:12px;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;font-size:12px;color:#92400e}.docx-warnings-box ul{margin:6px 0 0 16px;padding:0}.docx-import-footer{padding:16px 24px;border-top:1px solid var(--brand-border-light, #eee);display:flex;justify-content:space-between;align-items:center;background:var(--brand-bg-sub, #faf8f5)}.docx-btn-group{display:flex;gap:10px}.docx-btn-primary{background:var(--brand-yellow, #E5A93C);color:#302a25;border:none;border-radius:8px;padding:8px 18px;font-weight:700;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .15s}.docx-btn-primary:hover:not(:disabled){background:#d49528}.docx-btn-primary:disabled{opacity:.5;cursor:not-allowed}.docx-btn-secondary{background:#fff;border:1px solid var(--brand-border, #DED7CE);color:var(--brand-coffee, #533B27);border-radius:8px;padding:8px 16px;font-weight:600;font-size:13px;cursor:pointer}.docx-btn-secondary:hover:not(:disabled){background:#f5f0ea}.docx-result-screen{text-align:center;padding:30px 20px}.docx-result-icon{font-size:54px;margin-bottom:12px}.docx-result-screen h3{font-size:20px;margin:0 0 8px;color:#065f46}.docx-result-stats{display:flex;justify-content:center;gap:18px;margin:20px 0}.docx-result-stat-box{padding:14px 20px;background:var(--brand-bg-sub, #faf8f5);border:1px solid var(--brand-border, #DED7CE);border-radius:10px;min-width:110px}.docx-result-stat-box strong{display:block;font-size:24px;color:var(--brand-coffee, #533B27)}.docx-result-stat-box span{font-size:12px;color:var(--brand-muted, #82796F)}@media(max-width:768px){.docx-upload-grid{grid-template-columns:1fr}.docx-preview-toolbar{flex-direction:column;align-items:flex-start}.docx-metrics-badges{width:100%}}.admin-vocab-toolbar{display:flex;gap:10px;flex-wrap:wrap}.admin-vocab-toolbar input,.admin-vocab-toolbar select{min-height:42px;border:1px solid #DED7CE;border-radius:9px;padding:0 12px;font:14px inherit;color:#302a25;background:#fff}.admin-vocab-toolbar input{min-width:260px;flex:1}.vocab-admin-table small{display:block;margin-top:4px;color:#82796f;font-size:11px}.vocab-form{width:min(720px,100%)}.vocab-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.vocab-form-grid label{display:grid;gap:6px;color:#4b4035;font-size:12px;font-weight:700}.vocab-form-grid input,.vocab-form-grid select,.vocab-form-grid textarea{min-width:0;box-sizing:border-box;border:1px solid #DED7CE;border-radius:8px;padding:9px;font:14px inherit;color:#302a25;background:#fff}.vocab-form-grid textarea{resize:vertical;min-height:70px}.vocab-form-grid .wide{grid-column:1/-1}.vocab-form-grid audio{width:100%;height:32px}.vocab-form-grid small{color:#82796f;font-weight:400}@media(max-width:767px){.admin-vocab-toolbar{display:grid;grid-template-columns:1fr}.admin-vocab-toolbar input{min-width:0}.vocab-admin-table th:nth-child(4),.vocab-admin-table td:nth-child(4),.vocab-admin-table th:nth-child(5),.vocab-admin-table td:nth-child(5){display:none}.vocab-form-grid{grid-template-columns:1fr}.vocab-form-grid .wide{grid-column:auto}}.assessment-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:24px 0 18px}.assessment-toolbar input,.assessment-toolbar select{min-height:42px;border:1px solid #d9e1ec;border-radius:9px;padding:0 12px;background:#fff;color:#24324a}.assessment-toolbar input{min-width:min(100%,280px);flex:1}.assessment-table-sub{display:block;color:#718096;font-size:.78rem;font-weight:400;margin-top:3px;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assessment-form{width:min(880px,calc(100vw - 28px));max-height:min(88vh,900px);overflow-y:auto}.assessment-form label{display:grid;gap:7px;color:#34445e;font-size:.88rem;font-weight:700;margin:14px 0}.assessment-form input,.assessment-form select,.assessment-form textarea{box-sizing:border-box;width:100%;border:1px solid #d7e0ed;border-radius:9px;background:#fff;color:#1f2937;padding:10px 11px;font:inherit;font-weight:400}.assessment-form textarea{min-height:78px;resize:vertical}.assessment-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.assessment-checkbox{display:flex!important;grid-template-columns:18px 1fr;align-items:center;gap:9px!important}.assessment-checkbox input{width:16px;height:16px}.option-builder{border-top:1px solid #e7edf5;margin-top:18px;padding-top:4px}.option-builder h3,.question-selector h3{color:#263650;font-size:.95rem;margin:14px 0 10px}.option-edit{display:flex;align-items:center;gap:8px;margin:8px 0}.option-edit input[type=radio],.option-edit input[type=checkbox]{width:17px;height:17px;flex:0 0 auto}.option-edit input:not([type=radio]):not([type=checkbox]){flex:1}.option-edit button,.assigned-question button{border:0;background:#fff0f0;border-radius:7px;color:#c83e4d;cursor:pointer;font-size:1.1rem;min-width:30px;min-height:30px}.question-selector{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;border-top:1px solid #e7edf5;margin-top:18px;padding-top:4px}.question-selector>div{min-width:0}.question-selector>div:last-child{background:#f7f9fc;border-radius:10px;padding:0 11px 11px;max-height:350px;overflow-y:auto}.question-selector>div:last-child>input{margin-bottom:9px}.question-pick{display:grid;width:100%;text-align:left;gap:3px;border:1px solid #e1e8f1;background:#fff;border-radius:8px;color:#2c3e59;cursor:pointer;margin:7px 0;padding:9px}.question-pick:hover{border-color:#4a8dd8;background:#f1f7ff}.question-pick b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.question-pick small{color:#718096}.assigned-question{align-items:center;background:#f8fafc;border:1px solid #e4eaf2;border-radius:8px;display:grid;gap:8px;grid-template-columns:1fr 65px 30px 30px 30px;margin:7px 0;padding:8px}.assigned-question span{font-size:.84rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assigned-question input{padding:6px}.assigned-question .order-button{background:#edf4fc;color:#346da8;font-size:.9rem}.assessment-summary{background:#edf6ff;border:1px solid #cee4fb;border-radius:9px;color:#295b8e;font-size:.88rem;font-weight:700;margin:20px 0 4px;padding:11px}@media(max-width:700px){.assessment-form-grid,.question-selector{grid-template-columns:1fr}.assessment-form{width:calc(100vw - 16px)}.assigned-question{grid-template-columns:1fr 58px 30px 30px 30px}.assessment-toolbar>*{width:100%}.assessment-toolbar .admin-primary-button{width:auto}}.admin-qb-filter-note{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;padding:10px 13px;border:1px solid var(--brand-border,#e5ded4);border-radius:10px;background:var(--brand-yellow-soft,#fff5d8);color:var(--brand-coffee,#4b4035);font-size:12px;font-weight:750}.admin-qb-filter-note .admin-quiet-button{min-height:30px;padding:0 8px;border:0;background:transparent;color:var(--brand-coffee,#4b4035);font-size:11px;font-weight:850;cursor:pointer}.admin-qb-import-link{text-decoration:none;white-space:nowrap}@media(max-width:680px){.admin-qb-filter-note{align-items:flex-start;flex-direction:column}.assessment-toolbar .admin-qb-import-link{width:100%}}.admin-p5-heading{margin-bottom:20px}.admin-p5-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 12px}.admin-p5-toolbar>*{min-height:40px}.admin-p5-search{flex:1 1 260px}.admin-p5-search input,.admin-p5-toolbar select{width:100%;min-height:40px;padding:0 12px;border:1px solid var(--brand-border,#e5ded4);border-radius:10px;background:var(--surface,#fff);color:var(--text-primary,#302a24);font:inherit}.admin-p5-scope-note{margin:0 0 14px;padding:10px 13px;border:1px solid var(--brand-border,#e5ded4);border-radius:10px;background:var(--brand-yellow-soft,#fff5d8);color:var(--brand-coffee,#4b4035);font-size:12px;line-height:1.5}.admin-p5-table-meta{display:flex;align-items:center;gap:9px;margin:12px 0 8px;color:var(--text-secondary,#766b60);font-size:12px;font-weight:700}.admin-p5-active-filter{padding:3px 8px;border-radius:999px;background:#f0ece6;color:#51483e}.admin-p5-table-wrap{overflow-x:auto}.admin-p5-table{min-width:1050px;table-layout:fixed}.admin-p5-table th:nth-child(1){width:31%}.admin-p5-table th:nth-child(2){width:15%}.admin-p5-table th:nth-child(3){width:19%}.admin-p5-table th:nth-child(4){width:11%}.admin-p5-table th:nth-child(5){width:13%}.admin-p5-table th:nth-child(6){width:11%}.admin-p5-stem{display:block;line-height:1.5;overflow-wrap:anywhere}.admin-p5-options,.admin-p5-view-options{margin:8px 0 0;padding-left:24px;color:var(--text-secondary,#766b60);font-size:12px;line-height:1.55}.admin-p5-options li,.admin-p5-view-options li{padding-left:3px;overflow-wrap:anywhere}.admin-p5-missing{color:#9b3f25;font-weight:750}.admin-part5-bank .status-badge.inactive{background:#f0ece6;color:#5f554a}.admin-p5-legacy-warning{display:inline-block;margin-top:8px;padding:4px 7px;border-radius:7px;background:#fff0df;color:#8a431f;font-size:11px;font-weight:750;line-height:1.45}.admin-p5-actions{display:flex;flex-wrap:wrap;gap:5px}.admin-p5-actions button{min-height:30px;padding:0 8px;font-size:11px}.admin-p5-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;color:var(--text-secondary,#766b60);font-size:13px}.admin-p5-pagination>div{display:flex;gap:8px}.admin-p5-pagination button:disabled{opacity:.45;cursor:not-allowed}.admin-p5-modal{width:min(760px,calc(100vw - 28px));max-height:calc(100vh - 30px);overflow:auto}.admin-p5-modal h2{margin-right:28px}.admin-p5-modal .admin-eyebrow{margin:0 0 6px}.admin-p5-modal label.has-error textarea,.admin-p5-modal label.has-error input{border-color:#bd4f39}.admin-p5-field-error{display:block;margin:-8px 0 10px;color:#a73f2e;font-size:12px;font-weight:700}.admin-p5-option-editor{display:grid;gap:8px;margin:4px 0 12px}.admin-p5-option-editor h3{margin:0 0 2px;font-size:14px}.admin-p5-option-row{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:8px}.admin-p5-answer-choice{display:flex;align-items:center;gap:7px;font-weight:800}.admin-p5-answer-choice input{accent-color:var(--brand-coffee,#4b4035)}.admin-p5-option-input{min-width:0}.admin-p5-option-input input{width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--brand-border,#e5ded4);border-radius:9px;font:inherit}.admin-p5-option-editor>small{color:var(--text-secondary,#766b60);font-size:11px}.admin-p5-legacy-notice{margin:0 0 14px;padding:11px 13px;border:1px solid #e9be91;border-radius:9px;background:#fff5e8;color:#77451f;font-size:12px;line-height:1.55}.admin-p5-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end}.admin-p5-default-status{margin:0;padding-bottom:8px;font-size:12px}.admin-p5-view-stem{font-size:16px;font-weight:750;line-height:1.55}.admin-p5-view-options{margin:12px 0 18px;font-size:14px}@media(max-width:760px){.admin-p5-toolbar{align-items:stretch}.admin-p5-toolbar>*{flex:1 1 100%;width:100%}.admin-p5-table{min-width:0;table-layout:auto}.admin-p5-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.admin-p5-table,.admin-p5-table tbody,.admin-p5-table tr,.admin-p5-table td{display:block;width:100%}.admin-p5-table tbody tr{margin:0 0 12px;padding:4px 12px;border:1px solid var(--brand-border,#e5ded4);border-radius:12px;background:var(--surface,#fff)}.admin-p5-table td{display:grid;grid-template-columns:minmax(92px,28%) minmax(0,1fr);gap:10px;padding:9px 0;border:0;border-bottom:1px solid #f0ece6;overflow-wrap:anywhere}.admin-p5-table td:last-child{border-bottom:0}.admin-p5-table td:before{content:attr(data-label);color:var(--text-secondary,#766b60);font-size:11px;font-weight:800}.admin-p5-table td:first-child{display:block;padding-top:12px}.admin-p5-table td:first-child:before{display:block;margin-bottom:7px}.admin-p5-actions{align-items:center}.admin-p5-pagination{align-items:flex-start;flex-direction:column}.admin-p5-form-grid{grid-template-columns:1fr}.admin-p5-modal{padding:22px 17px}}.admin-results-page{max-width:1440px;margin:0 auto}.report-selector-panel,.report-filters-panel{padding:21px}.report-assessment-search,.report-student-search{display:flex;align-items:center;gap:9px;margin-bottom:13px}.report-assessment-search label,.report-student-search label,.report-assessment-select label{flex:0 0 auto;color:var(--brand-coffee);font-size:12px;font-weight:800}.report-assessment-search input,.report-student-search input{box-sizing:border-box;min-width:0;min-height:40px;flex:1;padding:8px 11px;border:1px solid var(--brand-border);border-radius:8px;background:var(--brand-surface);color:var(--brand-text);font:13px var(--font-sans)}.report-assessment-select{display:grid;grid-template-columns:100px minmax(0,1fr) auto;align-items:center;gap:10px}.report-assessment-select select,.report-filter-field select,.report-filter-field input{box-sizing:border-box;width:100%;min-height:40px;padding:7px 10px;border:1px solid var(--brand-border);border-radius:8px;background:var(--brand-surface);color:var(--brand-text);font:13px var(--font-sans)}.report-assessment-select span{color:var(--brand-muted);font-size:11px}.report-selector-panel .admin-pagination{margin-top:13px}.report-student-search{max-width:760px}.report-filter-field{display:grid;min-width:0;gap:6px;color:var(--brand-muted);font-size:11px;font-weight:800}.report-filter-field small{font-weight:500}.report-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.report-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.report-summary-grid .admin-summary-card{min-height:132px}.report-summary-grid .admin-summary-card strong{font-size:clamp(23px,2.5vw,30px);overflow-wrap:anywhere}.report-results-table{min-width:1220px}.report-results-table td strong{color:var(--brand-text)}.report-results-table td{vertical-align:middle}.report-empty{border:1px dashed var(--brand-border);border-radius:var(--radius-card);background:var(--brand-surface)}@media(max-width:980px){.report-filter-grid,.report-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.report-selector-panel,.report-filters-panel{padding:15px}.report-assessment-search,.report-student-search{align-items:stretch;flex-direction:column}.report-assessment-search label,.report-student-search label{flex:auto}.report-assessment-select{grid-template-columns:1fr}.report-assessment-select span{text-align:right}.report-filter-grid,.report-summary-grid{grid-template-columns:1fr}.report-summary-grid .admin-summary-card{min-height:108px}}.toeic-page{display:flex;max-width:1280px;flex-direction:column;gap:24px;margin:0 auto}.toeic-mode-tabs{display:flex;flex-wrap:wrap;gap:7px;padding:6px;border:1px solid var(--brand-border);border-radius:var(--radius-md);background:#fffcf7}.toeic-mode-tabs button{min-height:34px;padding:0 11px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--brand-muted);font-size:11px;font-weight:800}.toeic-mode-tabs button:hover{background:var(--brand-bg-sub);color:var(--brand-coffee)}.toeic-mode-tabs button.active{border-color:#f0d78b;background:var(--brand-yellow-soft);color:var(--brand-coffee)}.toeic-error{gap:14px}.toeic-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.toeic-test-card{display:flex;min-height:270px;flex-direction:column;justify-content:space-between;gap:24px;padding:22px;border:1px solid var(--brand-border);border-radius:var(--radius-card);background:var(--brand-surface);box-shadow:var(--shadow-subtle)}.toeic-test-card:hover{border-color:#d5c09f;box-shadow:var(--shadow-hover)}.toeic-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.toeic-card-meta>span{color:var(--brand-success);font-size:11px;font-weight:800}.toeic-test-card h2{margin:0 0 8px;color:var(--brand-text);font-family:var(--font-serif);font-size:23px;font-weight:600;line-height:1.3}.toeic-test-card p{margin:0;color:var(--brand-muted);font-size:13px;line-height:1.65}.toeic-specs{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:18px;color:var(--brand-brown-sec);font-size:12px}.toeic-specs strong{color:var(--brand-text)}.toeic-resume{border-color:#e8c26f;background:var(--brand-warning-bg);color:var(--brand-warning)}@media(max-width:1050px){.toeic-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.toeic-overview{display:flex;max-width:980px;flex-direction:column;gap:22px;margin:0 auto}.toeic-overview-hero{padding:32px;border:1px solid #5C4D40;border-radius:var(--radius-section);background:linear-gradient(122deg,var(--brand-coffee-dark),var(--brand-coffee));color:#fff;box-shadow:0 18px 34px #3d332a2e}.toeic-overview-hero h1{margin:12px 0;color:#fff;font-family:var(--font-serif);font-size:clamp(30px,3.6vw,42px);font-weight:600}.toeic-overview-hero p{margin:0 0 18px;color:#f4ede4;font-size:14px;line-height:1.7}.toeic-overview-facts{display:flex;flex-wrap:wrap;gap:10px 22px;padding-top:16px;border-top:1px solid rgba(255,255,255,.2);color:#f4ede4;font-size:13px}.toeic-overview-panel{padding:26px;border:1px solid var(--brand-border);border-radius:var(--radius-card);background:var(--brand-surface);box-shadow:var(--shadow-subtle)}.toeic-overview-panel h2{margin:0 0 18px;color:var(--brand-text);font-family:var(--font-serif);font-size:25px;font-weight:600}.toeic-section{margin-top:22px}.toeic-section:first-of-type{margin-top:0}.toeic-section h3{margin:0 0 10px;color:var(--brand-coffee);font-size:13px;letter-spacing:.04em}.toeic-part-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.toeic-part-card{padding:13px 14px;border:1px solid var(--brand-border-light);border-radius:var(--radius-sm);background:#fffcf7}.toeic-part-card strong{display:block;color:var(--brand-text);font-size:13px}.toeic-part-card span{display:block;margin-top:4px;color:var(--brand-muted);font-size:11px}.toeic-notice{padding:18px 20px;border:1px solid #E8D28C;border-radius:var(--radius-md);background:var(--brand-yellow-soft);color:var(--brand-coffee);font-size:13px;line-height:1.65}.toeic-notice ul{margin:8px 0 0 18px}.toeic-action{display:flex;justify-content:center}.toeic-action .ds-button{min-height:50px;padding-inline:28px;font-size:14px}@media(max-width:767px){.toeic-library-grid{grid-template-columns:1fr}.toeic-mode-tabs{width:100%}.toeic-mode-tabs button{flex:1}.toeic-overview-hero,.toeic-overview-panel{padding:22px}}.assessment-search{display:flex;max-width:620px;flex-direction:column;gap:7px;color:var(--brand-text);font-size:12px;font-weight:800}.assessment-search input{min-height:44px;padding:0 14px;border:1px solid var(--brand-border);border-radius:10px;background:var(--brand-surface);color:var(--brand-text);font-size:14px}.assessment-search input:focus-visible{outline:3px solid var(--brand-yellow);outline-offset:2px}.ds-button--disabled{display:flex;min-height:42px;align-items:center;justify-content:center;border:1px solid var(--brand-border);border-radius:9px;background:var(--brand-bg-sub);color:var(--brand-muted);font-weight:700;cursor:not-allowed}.toeic-p5-container{display:flex;flex-direction:column;gap:1.5rem;max-width:1100px;margin:0 auto;padding-bottom:3rem}.toeic-p5-stats-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;background:var(--brand-surface, #ffffff);border:1px solid var(--brand-border, #e5e0d8);border-radius:16px;padding:1.25rem 1.5rem;box-shadow:0 4px 18px #00000008}.toeic-p5-stat-item{display:flex;flex-direction:column;gap:.25rem}.toeic-p5-stat-label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--brand-muted, #7c7267)}.toeic-p5-stat-value{font-size:1.75rem;font-weight:800;color:var(--brand-coffee, #2c1a0e);line-height:1.1}.toeic-p5-stat-value--success{color:#15803d}.toeic-p5-stat-value--error{color:#b91c1c}.toeic-p5-stat-action{display:flex;align-items:center;justify-content:flex-end}.toeic-p5-reset-btn{background:none;border:1px solid var(--brand-border, #e5e0d8);border-radius:8px;padding:.5rem .9rem;font-size:.85rem;font-weight:600;color:var(--brand-muted, #666);cursor:pointer;transition:all .2s ease}.toeic-p5-reset-btn:hover{background:var(--brand-bg, #faf8f5);color:#b91c1c;border-color:#fca5a5}.toeic-p5-toolbar{display:flex;flex-direction:column;gap:1rem;background:var(--brand-surface, #ffffff);border:1px solid var(--brand-border, #e5e0d8);border-radius:14px;padding:1rem 1.25rem}.toeic-p5-search-row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}.toeic-p5-search-input-wrap{flex:1;min-width:260px;position:relative}.toeic-p5-search-input{width:100%;padding:.65rem 1rem .65rem 2.4rem;border:1px solid var(--brand-border, #e5e0d8);border-radius:10px;background:var(--brand-bg, #faf8f5);font-size:.92rem;color:var(--brand-text, #2c1a0e);transition:border-color .2s ease,box-shadow .2s ease}.toeic-p5-search-input:focus{outline:none;border-color:var(--brand-yellow, #eb8324);box-shadow:0 0 0 3px #eb832426;background:#fff}.toeic-p5-search-icon{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:var(--brand-muted, #999);pointer-events:none}.toeic-p5-mode-switch{display:flex;background:var(--brand-bg, #faf8f5);border:1px solid var(--brand-border, #e5e0d8);border-radius:10px;padding:3px;gap:3px}.toeic-p5-mode-btn{border:none;background:none;padding:.45rem .85rem;font-size:.85rem;font-weight:600;color:var(--brand-muted, #7c7267);border-radius:7px;cursor:pointer;transition:all .2s ease;white-space:nowrap}.toeic-p5-mode-btn.active{background:#fff;color:var(--brand-coffee, #2c1a0e);box-shadow:0 1px 4px #00000014}.toeic-p5-filter-tabs{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;border-top:1px solid var(--brand-border, #f0ece6);padding-top:.85rem}.toeic-p5-filter-chip{background:none;border:1px solid var(--brand-border, #e5e0d8);border-radius:20px;padding:.35rem .85rem;font-size:.82rem;font-weight:600;color:var(--brand-muted, #666);cursor:pointer;transition:all .2s ease}.toeic-p5-filter-chip:hover{background:var(--brand-bg, #faf8f5);color:var(--brand-coffee, #2c1a0e)}.toeic-p5-filter-chip.active{background:var(--brand-coffee, #2c1a0e);color:#fff;border-color:var(--brand-coffee, #2c1a0e)}.toeic-p5-question-list{display:flex;flex-direction:column;gap:1.25rem}.toeic-p5-card{background:var(--brand-surface, #ffffff);border:1px solid var(--brand-border, #e5e0d8);border-radius:16px;padding:1.5rem;box-shadow:0 2px 10px #00000005;transition:box-shadow .25s ease,border-color .25s ease;display:flex;flex-direction:column;gap:1rem}.toeic-p5-card:hover{box-shadow:0 6px 20px #0000000d}.toeic-p5-card-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.toeic-p5-card-tags{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.toeic-p5-number-badge{background:var(--brand-bg, #f4efe9);color:var(--brand-coffee, #2c1a0e);font-size:.8rem;font-weight:800;padding:.25rem .65rem;border-radius:8px;letter-spacing:.02em}.toeic-p5-topic-badge{background:#eb83241a;color:#c25e00;font-size:.78rem;font-weight:700;padding:.25rem .65rem;border-radius:8px}.toeic-p5-status-pill{font-size:.78rem;font-weight:700;padding:.25rem .65rem;border-radius:8px}.toeic-p5-status-pill--correct{background:#dcfce7;color:#15803d;border:1px solid #bbf7d0}.toeic-p5-status-pill--incorrect{background:#fee2e2;color:#b91c1c;border:1px solid #fecaca}.toeic-p5-status-pill--unanswered{background:var(--brand-bg, #f3f0ea);color:var(--brand-muted, #7c7267)}.toeic-p5-stem{font-size:1.08rem;line-height:1.6;font-weight:600;color:var(--brand-text, #2c1a0e);letter-spacing:-.01em}.toeic-p5-blank{display:inline-block;min-width:60px;border-bottom:2px solid var(--brand-coffee, #2c1a0e);margin:0 4px;text-align:center;font-weight:700;color:#c25e00}.toeic-p5-options-grid{display:grid;grid-template-columns:1fr;gap:.65rem}@media(min-width:640px){.toeic-p5-options-grid{grid-template-columns:repeat(2,1fr)}}.toeic-p5-option-btn{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;border:1.5px solid var(--brand-border, #e5e0d8);border-radius:12px;background:#fff;color:var(--brand-text, #2c1a0e);font-size:.95rem;text-align:left;cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.toeic-p5-option-btn:hover:not(:disabled){border-color:var(--brand-yellow, #eb8324);background:#eb83240a;transform:translateY(-1px)}.toeic-p5-option-letter{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--brand-bg, #f4efe9);color:var(--brand-coffee, #2c1a0e);font-weight:800;font-size:.85rem;flex-shrink:0;transition:all .2s ease}.toeic-p5-option-btn.selected{border-color:var(--brand-coffee, #2c1a0e);background:#2c1a0e0a}.toeic-p5-option-btn.selected .toeic-p5-option-letter{background:var(--brand-coffee, #2c1a0e);color:#fff}.toeic-p5-option-btn.correct-eval{border-color:#22c55e!important;background:#f0fdf4!important;color:#15803d!important}.toeic-p5-option-btn.correct-eval .toeic-p5-option-letter{background:#22c55e!important;color:#fff!important}.toeic-p5-option-btn.wrong-eval{border-color:#ef4444!important;background:#fef2f2!important;color:#b91c1c!important}.toeic-p5-option-btn.wrong-eval .toeic-p5-option-letter{background:#ef4444!important;color:#fff!important}.toeic-p5-card-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding-top:.5rem;border-top:1px dashed var(--brand-border, #eee)}.toeic-p5-btn-check{background:var(--brand-coffee, #2c1a0e);color:#fff;border:none;border-radius:9px;padding:.55rem 1.1rem;font-size:.88rem;font-weight:700;cursor:pointer;transition:all .2s ease}.toeic-p5-btn-check:hover:not(:disabled){background:#432818;transform:translateY(-1px)}.toeic-p5-btn-check:disabled{opacity:.5;cursor:not-allowed}.toeic-p5-btn-toggle-exp{background:none;border:1px solid var(--brand-border, #e5e0d8);border-radius:9px;padding:.55rem .95rem;font-size:.85rem;font-weight:600;color:var(--brand-coffee, #2c1a0e);cursor:pointer;transition:all .2s ease}.toeic-p5-btn-toggle-exp:hover{background:var(--brand-bg, #faf8f5);border-color:var(--brand-coffee, #2c1a0e)}.toeic-p5-btn-retry{background:none;border:none;color:var(--brand-muted, #7c7267);font-size:.85rem;font-weight:600;cursor:pointer;padding:.4rem .6rem;border-radius:6px;transition:all .2s ease}.toeic-p5-btn-retry:hover{background:var(--brand-bg, #f4efe9);color:var(--brand-coffee, #2c1a0e)}.toeic-p5-explanation-box{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fde68a;border-radius:12px;padding:1.15rem 1.35rem;display:flex;flex-direction:column;gap:.6rem;animation:p5FadeIn .25s ease-out}@keyframes p5FadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.toeic-p5-exp-title{display:flex;align-items:center;gap:.45rem;font-size:.88rem;font-weight:800;color:#92400e;text-transform:uppercase;letter-spacing:.03em}.toeic-p5-exp-content{font-size:.92rem;line-height:1.65;color:#78350f;white-space:pre-line}.toeic-p5-pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem;flex-wrap:wrap}.toeic-p5-page-btn{background:#fff;border:1px solid var(--brand-border, #e5e0d8);border-radius:8px;padding:.5rem .85rem;font-size:.88rem;font-weight:600;color:var(--brand-coffee, #2c1a0e);cursor:pointer;transition:all .2s ease}.toeic-p5-page-btn:hover:not(:disabled){border-color:var(--brand-coffee, #2c1a0e);background:var(--brand-bg, #faf8f5)}.toeic-p5-page-btn:disabled{opacity:.4;cursor:not-allowed}.toeic-p5-page-btn.active{background:var(--brand-coffee, #2c1a0e);color:#fff;border-color:var(--brand-coffee, #2c1a0e)}.toeic-image-with-brand-overlay{position:relative;display:inline-block;max-width:100%;line-height:0;vertical-align:top}.toeic-image-with-brand-overlay>img{display:block}.toeic-image-with-brand-overlay__label{position:absolute;z-index:1;display:flex;box-sizing:border-box;align-items:center;justify-content:center;overflow:hidden;padding:0 .08em;border-radius:.12em;background:#fffffff0;color:#3c2517;font-family:var(--font-sans, Arial, sans-serif);font-size:clamp(6px,1.15cqw,15px);font-weight:800;line-height:1;letter-spacing:-.04em;text-align:center;white-space:nowrap;pointer-events:none;box-shadow:0 0 0 1px #ffffff94}@supports not (font-size: 1cqw){.toeic-image-with-brand-overlay__label{font-size:clamp(6px,1.1vw,15px)}}.toeic-exam-room__document>.toeic-image-with-brand-overlay{width:100%;max-width:960px;max-height:min(62vh,680px);margin:0 auto}.toeic-exam-room__document>.toeic-image-with-brand-overlay>.toeic-stimulus-image{width:100%;max-height:min(62vh,680px);border-radius:6px;box-shadow:none}.toeic-exam-room__passage .toeic-image-with-brand-overlay{margin:0 0 .8rem}.toeic-exam-room__passage .toeic-image-with-brand-overlay>.toeic-stimulus-image{margin:0;max-height:none;box-shadow:none}.p5-bank-open-button,.p5-bank-confirm,.p5-bank-cancel,.p5-bank-pages button,.p5-bank-close{font:inherit}.p5-bank-open-button{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .9rem;border:1px solid #d4a527;border-radius:8px;background:#fff7dc;color:#533c0d;font-size:.85rem;font-weight:750;cursor:pointer}.p5-bank-open-button:hover{background:#ffefb7}.p5-bank-open-button:focus-visible,.p5-bank-dialog button:focus-visible,.p5-bank-dialog input:focus-visible,.p5-bank-dialog select:focus-visible{outline:3px solid #326b65;outline-offset:2px}.p5-bank-locked-note{margin:0 0 1rem;padding:.7rem .85rem;border-left:3px solid #a86b30;background:#fbf3e8;color:#604523;font-size:.85rem}.p5-bank-backdrop{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:1.25rem;background:#161c1b94}.p5-bank-dialog{display:flex;width:min(920px,100%);max-height:min(92vh,940px);flex-direction:column;overflow:hidden;border:1px solid #ded8c8;border-radius:16px;background:#fbfaf6;box-shadow:0 28px 90px #00000040;color:#252824}.p5-bank-dialog__header{display:flex;justify-content:space-between;gap:1rem;padding:1.4rem 1.55rem 1.15rem;border-bottom:1px solid #e7e1d4;background:linear-gradient(90deg,#f5edda 0,#fbfaf6 74%)}.p5-bank-eyebrow{color:#896f35;font-size:.68rem;font-weight:850;letter-spacing:.14em}.p5-bank-dialog__header h3{margin:.35rem 0 .3rem;font-size:clamp(1.1rem,2vw,1.45rem);letter-spacing:-.025em}.p5-bank-dialog__header p{margin:0;color:#6b706a;font-size:.83rem}.p5-bank-close{align-self:flex-start;width:2.2rem;height:2.2rem;border:1px solid #d8d3c7;border-radius:50%;background:#fff;color:#4a514b;font-size:1.4rem;line-height:1;cursor:pointer}.p5-bank-toolbar{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(220px,1fr);gap:.8rem;padding:1rem 1.55rem .75rem}.p5-bank-search,.p5-bank-target{display:grid;gap:.35rem}.p5-bank-search span,.p5-bank-target span{color:#555d57;font-size:.75rem;font-weight:750}.p5-bank-search input,.p5-bank-target select{min-width:0;padding:.62rem .72rem;border:1px solid #d7d8cf;border-radius:8px;background:#fff;color:#252824;font:inherit;font-size:.86rem}.p5-bank-selection-summary{display:flex;justify-content:space-between;gap:1rem;margin:0 1.55rem;padding:.55rem 0;border-bottom:1px solid #e7e1d4;color:#677069;font-size:.78rem}.p5-bank-selection-summary strong{color:#326b65}.p5-bank-error{margin:.75rem 1.55rem 0;padding:.65rem .8rem;border:1px solid #dfb7aa;border-radius:8px;background:#fff1ed;color:#8c3523;font-size:.82rem}.p5-bank-results{display:grid;gap:.35rem;margin:.75rem 1.55rem 0;padding:.65rem .8rem;border:1px solid #d5e0d6;border-radius:8px;background:#f1f6f0;font-size:.75rem}.p5-bank-results>strong{color:#354d42}.p5-bank-results>div{display:grid;grid-template-columns:8.5rem 1fr;gap:.5rem;color:#5b665e}.p5-bank-results .is-added>span:first-child{color:#286b50;font-weight:800}.p5-bank-results .is-skipped>span:first-child{color:#8b5d24;font-weight:800}.p5-bank-list{display:grid;gap:.7rem;overflow:auto;padding:.85rem 1.55rem 1rem}.p5-bank-card{padding:.85rem .95rem .8rem;border:1px solid #deded5;border-radius:10px;background:#fff}.p5-bank-card.is-selected{border-color:#69978d;box-shadow:inset 3px 0 #326b65}.p5-bank-card.is-added{background:#f3f4ef;border-style:dashed}.p5-bank-card__select{display:flex;align-items:center;gap:.45rem;color:#52615a;font-size:.72rem;font-weight:750}.p5-bank-card__select input{accent-color:#326b65}.p5-bank-card__stem{margin:.55rem 0 .6rem;font-size:.96rem;font-weight:720;line-height:1.45}.p5-bank-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.p5-bank-options>div{display:flex;min-width:0;align-items:flex-start;gap:.48rem;padding:.44rem .52rem;border-radius:7px;background:#f5f5f0;color:#4f5650;font-size:.78rem;line-height:1.35}.p5-bank-options>div b{flex:0 0 auto;color:#777354}.p5-bank-options>div span{overflow-wrap:anywhere}.p5-bank-options>div em{margin-left:auto;color:#326b65;font-size:.65rem;font-style:normal;font-weight:850;text-transform:uppercase}.p5-bank-options>div.is-correct{background:#e9f3ee;color:#234c42}.p5-bank-explanation{display:flex;gap:.45rem;margin:.62rem 0 0;color:#687069;font-size:.76rem;line-height:1.45}.p5-bank-explanation b{flex:0 0 auto;color:#514b35}.p5-bank-empty{padding:2.3rem 1rem;color:#69716b;text-align:center;font-size:.9rem}.p5-bank-dialog__footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1.55rem;border-top:1px solid #e7e1d4;background:#f4f2eb}.p5-bank-pages,.p5-bank-actions{display:flex;align-items:center;gap:.55rem}.p5-bank-pages{color:#626a64;font-size:.76rem}.p5-bank-pages button,.p5-bank-cancel,.p5-bank-confirm{padding:.55rem .78rem;border:1px solid #d3d4cc;border-radius:7px;background:#fff;color:#3b423d;font-size:.8rem;font-weight:700;cursor:pointer}.p5-bank-pages button:disabled,.p5-bank-confirm:disabled{cursor:not-allowed;opacity:.5}.p5-bank-confirm{border-color:#285b52;background:#326b65;color:#fff}@media(max-width:640px){.p5-bank-backdrop{align-items:end;padding:0}.p5-bank-dialog{width:100%;max-height:95dvh;border-radius:16px 16px 0 0}.p5-bank-dialog__header,.p5-bank-toolbar{padding-right:1rem;padding-left:1rem}.p5-bank-toolbar{grid-template-columns:1fr}.p5-bank-selection-summary,.p5-bank-results{margin-right:1rem;margin-left:1rem}.p5-bank-list{padding-right:1rem;padding-left:1rem}.p5-bank-options{grid-template-columns:1fr}.p5-bank-dialog__footer{align-items:stretch;flex-direction:column;padding-right:1rem;padding-left:1rem}.p5-bank-pages,.p5-bank-actions{justify-content:space-between}.p5-bank-confirm{flex:1}}@media(prefers-reduced-motion:reduce){.p5-bank-dialog *,.p5-bank-dialog *:before,.p5-bank-dialog *:after{scroll-behavior:auto!important;animation-duration:.01ms!important}}.file-operation-dialog{width:min(460px,calc(100vw - 32px));max-width:none;border:1px solid var(--brand-border, #dfd3c6);border-radius:20px;padding:32px;color:var(--brand-text, #302a25);background:#fcf7f0;box-shadow:0 24px 80px #261b1347;text-align:center}.file-operation-dialog::backdrop{background:#221a148f;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.file-operation-dialog__icon{display:grid;width:56px;height:56px;margin:0 auto 18px;place-items:center;border-radius:50%;font-size:28px;font-weight:700}.file-operation-dialog.is-success .file-operation-dialog__icon{color:#315b43;background:#e7f0e8}.file-operation-dialog.is-error .file-operation-dialog__icon{color:#8f332c;background:#f8e9e5}.file-operation-dialog h2{margin:0 0 10px;color:#4c382b;font-family:var(--font-serif, Georgia, serif);font-size:26px;line-height:1.2}.file-operation-dialog p{margin:0;color:#65594e;font-size:15px;line-height:1.6;overflow-wrap:anywhere}.file-operation-dialog__code{display:inline-block;margin-top:14px;color:#725c4b;font-size:12px}.file-operation-dialog button{min-width:132px;min-height:46px;margin-top:24px;padding:0 22px;border:0;border-radius:11px;color:#fffdf9;background:#805a40;font:inherit;font-weight:700;cursor:pointer}.file-operation-dialog button:hover{background:#68452f}.file-operation-dialog button:focus-visible{outline:3px solid rgba(128,90,64,.34);outline-offset:3px}@media(prefers-reduced-motion:reduce){.file-operation-dialog,.file-operation-dialog::backdrop{scroll-behavior:auto}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: var(--brand-yellow);--primary-hover: var(--brand-yellow-hover);--primary-active: #D8A321;--primary-soft: var(--brand-yellow-soft);--primary-light: #FFFCF4;--primary-badge: #F8DB83;--primary-text-dark: var(--brand-text);--secondary: var(--brand-brown-sec);--secondary-hover: var(--brand-coffee);--secondary-soft: var(--brand-bg-sub);--secondary-border: var(--brand-border);--success: var(--brand-success);--success-soft: var(--brand-success-bg);--warning: var(--brand-warning);--warning-soft: var(--brand-warning-bg);--danger: var(--brand-danger);--danger-soft: var(--brand-danger-bg);--background: var(--brand-bg);--surface: var(--brand-surface);--surface-secondary: var(--brand-bg-sub);--text-primary: var(--brand-text);--text-secondary: var(--brand-brown-sec);--text-muted: var(--brand-muted);--border: var(--brand-border);--border-strong: #D7CABC;--shadow-sm: var(--shadow-subtle);--shadow-md: var(--shadow-hover);--shadow-lg: 0 20px 44px rgba(75,64,53,.16);--radius-lg: var(--radius-card);--radius-xl: var(--radius-section);--touch-min-height: 44px;--font-main: var(--font-sans)}body{font-family:var(--font-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--background);color:var(--text-primary);line-height:1.6;font-size:16px}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}h1,.h1{font-size:clamp(1.75rem,4vw,2.5rem);line-height:1.25;font-weight:800;color:var(--text-primary);letter-spacing:-.02em}h2,.h2{font-size:clamp(1.35rem,3vw,1.85rem);line-height:1.3;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}h3,.h3{font-size:clamp(1.1rem,2.5vw,1.4rem);line-height:1.35;font-weight:700;color:var(--text-primary)}p,.body-text{font-size:clamp(.925rem,1.5vw,1rem);line-height:1.6;color:var(--text-secondary)}button,input,select,textarea,a.btn{min-height:var(--touch-min-height);font-family:inherit}button{cursor:pointer}.table-responsive-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:1rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface)}.table-responsive-wrapper table{width:100%;border-collapse:collapse;min-width:600px}.line-clamp-1{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;word-break:break-word}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0f172a99;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:16px}.modal-content{background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:540px;max-height:calc(100vh - 32px);display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden;animation:modalSlideUp .25s ease-out}.modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border);display:flex;gap:12px;justify-content:flex-end}@keyframes modalSlideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:480px){.modal-footer{flex-direction:column}.modal-footer button{width:100%}}.toeic-exam-container{display:flex;max-width:1440px;margin:0 auto;width:100%;gap:1.5rem;padding:1.25rem;box-sizing:border-box}.toeic-exam-main{flex:1;min-width:0}.toeic-navigator-aside{width:320px;flex-shrink:0}.toeic-mobile-nav-btn{display:none}.toeic-split-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:1.5rem;align-items:start}.toeic-passage-panel{background:#fff;border:1px solid #CBD5E1;border-radius:12px;padding:1.5rem;position:sticky;top:90px;max-height:calc(100vh - 110px);overflow-y:auto;box-shadow:0 2px 4px #00000005}.toeic-questions-panel{display:flex;flex-direction:column;gap:1.5rem}.toeic-stimulus-image{width:100%;max-width:960px;max-height:min(70vh,720px);object-fit:contain;border-radius:8px;box-shadow:0 2px 8px #0000000f;display:block;margin:0 auto}@media(max-width:1024px){.toeic-split-layout{grid-template-columns:1fr}.toeic-passage-panel{position:static;max-height:none}}@media(max-width:900px){.toeic-navigator-aside{display:none}.toeic-mobile-nav-btn{display:inline-flex}.toeic-exam-container{padding:.75rem;gap:0}}:root{--brand-bg: #F7F4EE;--brand-bg-sub: #EFEAE1;--brand-surface: #FFFFFF;--brand-coffee: #4B4035;--brand-coffee-dark: #3D332A;--brand-brown-sec: #806B58;--brand-text: #302A25;--brand-muted: #82796F;--brand-yellow: #F3C74F;--brand-yellow-hover: #E5B83B;--brand-yellow-soft: #FFF5D8;--brand-border: #E5DED4;--brand-border-light: #F1ECE4;--brand-success: #37683B;--brand-success-bg: #EDF7EE;--brand-success-border: #C7E2CA;--brand-warning: #805C00;--brand-warning-bg: #FFF6D9;--brand-warning-border: #E8D69D;--brand-danger: #A33B32;--brand-danger-bg: #FFF0EF;--brand-danger-border: #E8AAA5;--brand-focus-ring: rgba(128, 107, 88, .14);--overlay-scrim: rgba(48, 42, 37, .56);--shadow-raised: 0 16px 32px rgba(61, 51, 42, .16);--shadow-modal: 0 24px 60px rgba(48, 42, 37, .22);--surface-input: #FFFEFC;--brand-coffee-divider: rgba(255, 255, 255, .12);--font-serif: "Playfair Display", Georgia, serif;--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--radius-xs: 8px;--radius-sm: 10px;--radius-md: 14px;--radius-card: 20px;--radius-section: 24px;--shadow-subtle: 0 8px 24px rgba(75, 64, 53, .04);--shadow-hover: 0 14px 34px rgba(75, 64, 53, .1);--header-height: 76px;--content-max-width: 1400px}html{background:var(--brand-bg-sub)}body{background:var(--brand-bg);color:var(--brand-text);font-family:var(--font-sans)}button,input,select,textarea{font-family:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(243,199,79,.55);outline-offset:2px}.ds-page{width:100%;max-width:var(--content-max-width);margin:0 auto;color:var(--brand-text)}.ds-page-header{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.ds-page-header__content{min-width:0}.ds-eyebrow{margin:0 0 7px;color:var(--brand-brown-sec);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.ds-page-title{margin:0;color:var(--brand-text);font-family:var(--font-serif);font-size:clamp(30px,4vw,44px);font-weight:600;letter-spacing:-.025em;line-height:1.12}.ds-page-description{max-width:720px;margin:9px 0 0;color:var(--brand-muted);font-size:14px;line-height:1.65}.ds-page-header__actions{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:10px}.ds-back-link,.ds-text-link{display:inline-flex;align-items:center;gap:8px;color:var(--brand-coffee);font-size:13px;font-weight:800;text-decoration:none}.ds-back-link{width:fit-content;min-height:40px;padding:0 13px;border:1px solid var(--brand-border);border-radius:var(--radius-pill);background:var(--brand-surface);box-shadow:var(--shadow-subtle)}.ds-back-link:hover,.ds-text-link:hover{color:var(--brand-coffee-dark);background:var(--brand-yellow-soft)}.ds-button{display:inline-flex;min-height:42px;align-items:center;justify-content:center;gap:8px;padding:0 15px;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--brand-text);font-size:13px;font-weight:800;line-height:1;text-decoration:none;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}.ds-button:hover:not(:disabled){transform:translateY(-1px)}.ds-button:disabled{cursor:not-allowed;opacity:.55}.ds-button--primary{background:var(--brand-yellow);box-shadow:0 7px 16px #806b5821}.ds-button--primary:hover:not(:disabled){background:var(--brand-yellow-hover);box-shadow:0 10px 20px #806b582e}.ds-button--secondary{border-color:var(--brand-border);background:var(--brand-surface);color:var(--brand-coffee)}.ds-button--secondary:hover:not(:disabled){border-color:var(--brand-border);background:var(--brand-bg)}.ds-button--danger{border-color:var(--brand-danger-border);background:var(--brand-danger-bg);color:var(--brand-danger)}.ds-button--quiet{background:transparent;color:var(--brand-brown-sec)}.ds-button--small{min-height:34px;padding-inline:11px;font-size:12px}.ds-card,.ds-panel,.ds-table-shell{border:1px solid var(--brand-border);border-radius:var(--radius-card);background:var(--brand-surface);box-shadow:var(--shadow-subtle)}.ds-panel{padding:24px}.ds-status-badge{display:inline-flex;max-width:100%;align-items:center;gap:6px;padding:6px 10px;border-radius:var(--radius-pill);font-size:11px;font-weight:800;line-height:1.1;white-space:nowrap}.ds-status-badge--success{background:var(--brand-success-bg);color:var(--brand-success)}.ds-status-badge--warning{background:var(--brand-warning-bg);color:var(--brand-warning)}.ds-status-badge--danger{background:var(--brand-danger-bg);color:var(--brand-danger)}.ds-status-badge--neutral{background:var(--brand-bg-sub);color:var(--brand-brown-sec)}.ds-table-shell{overflow:hidden}.ds-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.ds-data-table{width:100%;min-width:720px;border-collapse:collapse;color:var(--brand-text);text-align:left}.ds-data-table th{padding:14px 16px;border-bottom:1px solid var(--brand-border);background:var(--brand-bg);color:var(--brand-brown-sec);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.ds-data-table td{padding:15px 16px;border-bottom:1px solid var(--brand-border-light);color:var(--brand-coffee);font-size:13px;vertical-align:middle}.ds-data-table tbody tr{transition:background .18s ease}.ds-data-table tbody tr:hover{background:var(--brand-bg)}.ds-data-table tbody tr:last-child td{border-bottom:0}.ds-table-action,.ds-table-action-header{width:1%;min-width:172px;text-align:center!important;white-space:nowrap}.ds-action-group{display:flex;justify-content:center;gap:7px}.ds-filter-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px;border:1px solid var(--brand-border);border-radius:var(--radius-md);background:var(--brand-surface);box-shadow:var(--shadow-subtle)}.ds-input,.ds-select{min-height:42px;min-width:0;border:1px solid var(--brand-border);border-radius:var(--radius-sm);background:var(--surface-input);color:var(--brand-text);padding:0 13px;font-size:13px}.ds-input:focus,.ds-select:focus{border-color:var(--brand-brown-sec);box-shadow:0 0 0 3px #806b581f;outline:0}.ds-toast{position:fixed;top:50%;left:50%;z-index:2100;width:min(420px,calc(100vw - 36px));max-width:none;border:1px solid var(--brand-border);border-radius:var(--radius-md);background:var(--brand-coffee);color:#fff;padding:13px 16px;font-size:13px;font-weight:700;box-shadow:0 16px 32px #3d332a3d;text-align:center;transform:translate(-50%,-50%)}.ds-empty-state,.ds-loading-state,.ds-error-state{display:grid;min-height:132px;place-items:center;padding:26px;border:1px dashed var(--brand-border);border-radius:var(--radius-md);color:var(--brand-muted);font-size:14px;text-align:center}.ds-error-state{border-color:var(--brand-danger-border);background:var(--brand-danger-bg);color:var(--brand-danger)}.ds-progress{height:8px;overflow:hidden;border-radius:var(--radius-pill);background:var(--brand-bg-sub)}.ds-progress>span{display:block;height:100%;border-radius:inherit;background:var(--brand-yellow);transition:width .35s ease}.ds-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--overlay-scrim);overflow-y:auto;-webkit-overflow-scrolling:touch}.ds-modal-overlay--scroll{overflow-y:auto;align-items:flex-start}.ds-modal-content{box-sizing:border-box;width:100%;max-height:90vh;overflow-y:auto;padding:1.75rem;border:1px solid var(--brand-border);border-radius:var(--radius-card);background:var(--brand-surface);box-shadow:var(--shadow-modal);margin:auto}.ds-modal-content--sm{max-width:460px}.ds-modal-content--md{max-width:560px}.ds-modal-content--lg{max-width:650px}.ds-modal-content--xl{max-width:680px}.ds-modal-content input,.ds-modal-content select,.ds-modal-content textarea{box-sizing:border-box;max-width:100%;min-width:0}@media(max-width:767px){:root{--header-height: 68px}.ds-page-header{align-items:stretch;flex-direction:column;gap:15px}.ds-page-header__actions>*{flex:1}.ds-panel{padding:18px}.ds-modal-overlay{padding:.5rem;align-items:flex-start}.ds-modal-content{padding:1.25rem 1rem;max-height:calc(100vh - 1rem);margin:.5rem auto;border-radius:14px;max-width:100%}.ds-table-action,.ds-table-action-header{min-width:148px}.ds-toast{width:calc(100vw - 36px)}}.modal-overlay{background:var(--overlay-scrim)}.modal-content{border:1px solid var(--brand-border);border-radius:var(--radius-card);box-shadow:var(--shadow-modal)}.modal-header,.modal-footer{border-color:var(--brand-border)}.modal-content input,.modal-content select,.modal-content textarea{border-color:var(--brand-border);color:var(--brand-text)}.modal-content input:focus,.modal-content select:focus,.modal-content textarea:focus{border-color:var(--brand-brown-sec);box-shadow:0 0 0 3px #806b581f}
