:root{--color-primary:#236e59;--color-primary-dark:#185440;--color-primary-light:#7aa58e;--color-secondary:#82906a;--color-secondary-dark:#236e59;--color-secondary-light:#236e59;--color-success:#27ae60;--color-success-light:#2ecc71;--color-success-dark:#1e8449;--color-warning:#f39c12;--color-warning-dark:#e67e22;--color-warning-light:#f5b041;--color-error:#e74c3c;--color-error-dark:#c0392b;--color-error-light:#ec7063;--color-info:#3498db;--color-info-dark:#2980b9;--color-info-light:#5dade2;--color-text-primary:#294238;--color-text-secondary:#77877d;--color-text-light:#95a5a6;--color-text-white:#fff;--color-text-muted:#bdc3c7;--color-bg-primary:#f7f9f8;--color-bg-secondary:#edf3ee;--color-bg-white:#fff;--color-bg-dark:#2c3e50;--color-bg-overlay:#00000080;--gradient-primary:#236e59;--gradient-secondary:#f7f9f8;--gradient-success:linear-gradient(135deg,#27ae60,#2ecc71);--gradient-warning:linear-gradient(135deg,#f39c12,#e67e22);--gradient-info:linear-gradient(135deg,#3498db,#2980b9);--gradient-accent:#e4efe6;--gradient-error:linear-gradient(135deg,#e74c3c,#c0392b);--space-2xs:clamp(2px,0.5vw,4px);--space-xs:clamp(4px,1vw,8px);--space-sm:clamp(8px,2vw,12px);--space-md:clamp(12px,3vw,20px);--space-lg:clamp(16px,4vw,30px);--space-xl:clamp(20px,5vw,40px);--space-2xl:clamp(30px,6vw,60px);--space-3xl:clamp(40px,8vw,80px);--font-2xs:clamp(8px,2vw,10px);--font-xs:clamp(10px,2.5vw,12px);--font-sm:clamp(12px,3vw,14px);--font-md:clamp(14px,3.5vw,16px);--font-lg:clamp(16px,4vw,18px);--font-xl:clamp(18px,4.5vw,22px);--font-2xl:clamp(20px,5vw,28px);--font-3xl:clamp(24px,6vw,36px);--font-4xl:clamp(28px,7vw,48px);--font-5xl:clamp(32px,8vw,60px);--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.75;--line-height-loose:2;--radius-xs:2px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-3xl:24px;--radius-full:9999px;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 2px 4px #0000001a;--shadow-md:0 3px 15px #233e290f;--shadow-lg:0 6px 24px #233e2914;--shadow-xl:0 12px 40px #233e2917;--shadow-2xl:0 20px 50px #00000040;--shadow-inner:inset 0 2px 4px #0000001a;--shadow-primary:0 4px 15px #236e594d;--shadow-success:0 4px 15px #27ae604d;--shadow-error:0 4px 15px #e74c3c4d;--transition-fast:0.15s ease;--transition-normal:0.3s ease;--transition-slow:0.5s ease;--transition-slower:0.8s ease;--z-base:0;--z-dropdown:100;--z-sticky:200;--z-fixed:500;--z-overlay:800;--z-modal-backdrop:900;--z-modal:1000;--z-popover:1100;--z-tooltip:1200;--z-max:9999;--container-xs:320px;--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1200px;--container-2xl:1440px;--video-height-mobile:35dvh;--video-height-mobile-playing:30dvh;--video-height-tablet-portrait:45dvh;--video-width-landscape:60%;--subtitles-width-landscape:40%;--card-width:clamp(280px,85vw,400px);--card-aspect-ratio:10/7;--card-break-width:clamp(320px,90vw,600px);--card-break-aspect-ratio:4/3;--input-height:clamp(40px,10vw,48px);--button-height:clamp(36px,9vw,44px);--input-padding-x:var(--space-md);--input-padding-y:var(--space-sm);--safe-area-top:env(safe-area-inset-top,0px);--safe-area-right:env(safe-area-inset-right,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px)}@media (prefers-reduced-motion:reduce){:root{--transition-fast:0s;--transition-normal:0s;--transition-slow:0s;--transition-slower:0s}}@media (prefers-contrast:high){:root{--color-text-primary:#294238;--color-text-secondary:#77877d;--shadow-sm:0 2px 4px #0000004d;--shadow-md:0 3px 15px #233e290f}}@media (orientation:portrait){:root{--layout-direction:column;--video-aspect-ratio:16/9}}@media (orientation:landscape){:root{--layout-direction:row;--video-aspect-ratio:16/9}}@media (min-width:768px) and (orientation:portrait){:root{--card-width:clamp(350px,60vw,500px);--card-break-width:clamp(400px,70vw,700px)}}@media (min-width:768px) and (orientation:landscape){:root{--card-width:clamp(350px,40vw,450px);--card-break-width:clamp(450px,55vw,700px)}}@media (min-width:1024px){:root{--card-width:450px;--card-break-width:700px}}.safe-top{padding-top:var(--safe-area-top)}.safe-bottom{padding-bottom:var(--safe-area-bottom)}.safe-left{padding-left:var(--safe-area-left)}.safe-right{padding-right:var(--safe-area-right)}.safe-all{padding:var(--safe-area-top) var(--safe-area-right) var(--safe-area-bottom) var(--safe-area-left)}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{-webkit-font-smoothing:antialiased;background:#f7f9f8;color:#203c38;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:15px;line-height:1.6;margin:0}button,input,select,textarea{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:#146f60;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #53a794;outline-offset:4px}img,video{max-width:100%}::selection{background:#d1e9de;color:#173c31}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation:none!important;transition:none!important}}.library-page{margin:0 auto;max-width:1240px;padding:42px 0 28px;width:90%}.eyebrow{align-items:center;color:#66836c;display:flex;font-size:10px;font-weight:650;gap:9px;letter-spacing:2.4px;margin:0 0 16px}.eyebrow>span{background:#6d9273;border-radius:50%;height:5px;width:5px}.course-library{padding-top:48px;scroll-margin-top:20px}.library-heading{align-items:center;display:flex;gap:20px;justify-content:space-between}.library-heading .eyebrow{color:#95a29a;font-size:9px;letter-spacing:1.8px;margin-bottom:8px}.library-heading h1{align-items:center;display:flex;font-size:23px;font-weight:600;gap:12px;letter-spacing:.5px;margin:0}.count-pill{background:#edf1eb;border-radius:5px;color:#71886f;display:inline-block;font-size:12px;font-weight:500;padding:1px 9px}.course-search{align-items:center;background:#fff;border:1px solid #e0e6df;border-radius:8px;color:#96a29a;display:flex;gap:10px;padding:10px 13px;width:246px}.course-search input{background:#0000;border:0;color:#355347;font-size:12px;min-width:0;outline:none;width:100%}.course-search:focus-within{border-color:#6fa18b;box-shadow:0 0 0 3px #d4e7dc}.library-toolbar{align-items:center;display:flex;gap:10px;justify-content:space-between;margin:23px 0 22px}.filter-tabs{display:flex;gap:5px}.filter-tabs button{background:#0000;border:1px solid #0000;border-radius:6px;color:#7a8980;font-size:12px;padding:8px 16px}.filter-tabs button.active{background:#e8f0e9;border-color:#dce8dc;color:#386c50;font-weight:600}.library-hint{color:#758470;font-size:11px}.course-grid{display:grid;gap:23px}.course-card{background:#fff;border:1px solid #e1e8df;border-radius:12px;color:inherit;overflow:hidden;padding:0;text-align:left;transition:transform .18s,box-shadow .18s}.course-card:hover{border-color:#b2c9b8;box-shadow:0 10px 24px #22462e0c;transform:translateY(-4px)}.cover-1{background:#e9e2d4;color:#817458}.cover-2{background:#dce6e7;color:#5e7d80}.course-card-body{padding:17px 20px 21px}.course-card-meta{align-items:center;color:#b0bdb0;display:flex;justify-content:space-between}.access-badge{background:#f5f0e6;border-radius:4px;color:#9c8758;font-size:9px;padding:3px 7px}.access-badge.public{background:#f0f5ef;color:#6f896c}.course-card h3{color:#344a3d;font-size:16px;font-weight:600;margin:12px 0 9px;overflow-wrap:anywhere}.course-card p{color:#768271;font-size:11px;margin:0}.course-card p span{padding:0 5px}.course-skeleton{animation:breathe 1.4s infinite alternate;background:#e9eeea;border-radius:12px;height:279px}@keyframes breathe{to{opacity:.45}}.library-support{align-items:center;color:#72816f;display:flex;font-size:11px;gap:20px;justify-content:space-between;margin:27px 0 5px}.library-support a{color:#5f846a;margin-left:10px}.library-support details{position:relative;white-space:nowrap}.library-support summary{cursor:pointer}.contact-popover{background:#fff;border:1px solid #e4eae0;border-radius:10px;bottom:35px;box-shadow:0 8px 35px #203c3820;padding:18px;position:absolute;right:0;z-index:10}@media (min-width:1450px){.library-page{padding-top:48px}}@media (max-width:1000px){.course-grid{gap:16px}}@media (max-width:760px){.library-page{padding-top:23px}.eyebrow{font-size:8px;letter-spacing:1.6px}.library-heading{flex-wrap:wrap;gap:17px}.library-heading h1{font-size:21px}.course-search{width:100%}.course-library{padding-top:30px}.library-hint{display:none}.library-toolbar{margin:15px 0}.filter-tabs button{padding:8px 13px}.course-grid{gap:13px;grid-template-columns:repeat(2,minmax(0,1fr))}.course-card-body{padding:14px}.course-card h3{font-size:14px}.course-card p{font-size:9px;line-height:1.8}.course-card p span{padding:0 2px}.library-support{align-items:flex-start;flex-direction:column;gap:0;margin-top:19px}.contact-popover{left:0;right:auto}.primary-button{font-size:12px;padding:11px 17px}}@media (max-width:380px){.course-grid{grid-template-columns:1fr}}.course-library{padding-top:0}.library-support{align-items:flex-start;flex-direction:column;font-size:13px;gap:6px}.library-support p{margin:0}.library-support details{white-space:normal}.library-support summary{line-height:1.8}.contact-popover{margin-top:10px;position:static;width:fit-content}.course-grid{gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.course-card{align-items:center;border-radius:9px;display:flex;gap:14px;min-height:100px;padding:16px}.course-card:hover{box-shadow:0 3px 12px #22462e08;transform:translateY(-1px)}.course-cover{background:#e9f1ec;border-radius:7px;color:#4a7861;display:grid;flex:0 0 48px;height:58px;padding:0;place-items:center;width:48px}.course-cover.cover-1{background:#f2eee4;color:#887a58}.course-cover.cover-2{background:#e9f0f2;color:#547982}.course-card-body{flex:1 1;min-width:0;padding:0}.course-card h3{font-size:15px;line-height:1.5;margin:7px 0 0}.course-skeleton{height:100px}@media (max-width:1000px){.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.course-grid{gap:10px;grid-template-columns:1fr}.course-card{min-height:86px;padding:13px}.course-cover{height:48px}}.course-expand{align-items:center;background:#f4f7f2;border:1px solid #dce8dc;border-radius:8px;color:#386c50;display:flex;font-size:13px;gap:10px;justify-content:center;margin:18px auto 0;min-height:40px;padding:9px 20px}.course-expand:hover{background:#e8f0e9}.user-profile{flex-shrink:0;position:relative}.profile-login{background:#fcfdfb;border:1px solid #d5e2d8;border-radius:7px;color:#5c7e64;display:inline-flex;gap:8px;padding:9px 16px;white-space:nowrap}.profile-login,.profile-trigger{align-items:center;font-size:12px}.profile-trigger{background:#0000;border:0;color:#52705a;display:flex;gap:9px;padding:4px}.profile-avatar{background:#e9f1e5;border:1px solid #dbe8d4;border-radius:50%;color:#685;display:grid;font-size:13px;height:33px;place-items:center;width:33px}.profile-name{max-width:100px;overflow:hidden;text-overflow:ellipsis}.profile-chevron{color:#97a58d}.profile-panel{background:#fff;border:1px solid #e0e8dc;border-radius:12px;box-shadow:0 14px 50px #203c3820;max-height:75dvh;max-width:90vw;overflow-y:auto;padding:12px;position:absolute;right:0;top:calc(100% + 15px);width:270px;z-index:1000}.profile-intro{border-bottom:1px solid #edf1e9;margin-bottom:6px;padding:8px 10px 14px}.profile-intro b{color:#46613e;display:block;font-size:14px}.profile-intro span{color:#91a184;display:block;font-size:11px;overflow-wrap:anywhere}.profile-panel>a,.profile-panel>button{align-items:center;background:#0000;border:0;border-radius:5px;color:#687e5b;display:flex;font-size:12px;gap:10px;padding:11px 10px;text-align:left;width:100%}.profile-panel>a:hover,.profile-panel>button:hover{background:#f1f6eb}.profile-panel .profile-logout{border-radius:0;border-top:1px solid #edf1e9;color:#a57656;margin-top:5px}.profile-language{color:#819473;display:flex;font-size:11px;gap:10px;justify-content:space-between;padding:9px 10px}.profile-language select{background:#fff;border:1px solid #dbe5d2;border-radius:4px;color:#607d4f;font-size:11px;max-width:115px;padding:3px}.profile-settings{background:#f5f8ef;border-radius:7px;font-size:11px;padding:10px}.profile-settings input{border:1px solid #d6e1c9;border-radius:4px;display:block;font-size:16px;margin:5px 0 10px;padding:8px;width:100%}.profile-settings button{background:#527646;border:0;border-radius:4px;color:#fff;padding:7px 12px}.profile-help{color:#7c9069;font-size:11px;padding:10px}.profile-help img{display:block;margin-top:9px}@media (max-width:760px){.profile-login{font-size:11px;padding:8px 11px}.profile-panel{top:calc(100% + 12px)}.profile-name{max-width:70px}}.desktop-options{position:relative}.desktop-options-trigger{background:#fcfdfb;border:1px solid #d5e2d8;border-radius:7px;color:#52705a;font-size:12px;padding:9px 12px;white-space:nowrap}.desktop-options-panel{background:#fff;border:1px solid #dce5df;border-radius:12px;box-shadow:0 14px 50px #203c3820;max-height:75dvh;max-width:90vw;overflow:auto;padding:12px;position:absolute;right:0;top:calc(100% + 12px);width:280px;z-index:1000}.desktop-options-panel>p{color:#7b8d80;font-size:12px;margin:8px 10px}.desktop-options-panel>button{background:#fff;border:0;border-radius:6px;color:#385c45;display:block;font-size:13px;padding:11px 10px;text-align:left;width:100%}.desktop-options-panel>button:hover,.desktop-options-panel>button[aria-pressed=true]{background:#edf5ef}.desktop-options-panel>button:disabled{opacity:.45}.desktop-options-panel>small{color:#7b8d80;display:block;font-size:11px;line-height:1.6;padding:5px 10px}.desktop-options-panel>[role=alert]{color:#975f37}.header-account-options{align-items:center;display:flex;gap:12px}@media (pointer:coarse) and (max-width:1024px){.desktop-options{display:none}}.App{display:flex;flex-direction:column;min-height:100dvh}.app-header{background:#fff;border-bottom:1px solid #e4eae6;gap:24px;justify-content:space-between;min-height:88px;padding:14px max(5vw,calc(50vw - 620px));position:relative;z-index:600}.app-header,.brand{align-items:center;display:flex}.brand{color:#203c38;flex-shrink:0;font-size:23px;font-weight:750;gap:11px;letter-spacing:-.8px}.brand-mark{background:#216f5c;border-radius:13px;color:#fff;display:grid;height:43px;place-items:center;width:43px}.primary-nav,.primary-nav a{align-items:center;display:flex;gap:8px}.primary-nav a{border-radius:8px;color:#6d7b75;font-size:14px;padding:11px 17px;white-space:nowrap}.primary-nav a.active{background:#edf5ef;color:#236e59;font-weight:650}.primary-nav a:hover{background:#f3f7f4;color:#236e59}.app-content{flex:1 1;min-width:0}.app-footer{border-top:1px solid #e0e7e2;color:#86938d;display:flex;font-size:12px;gap:15px;justify-content:space-between;margin:0 auto;max-width:1240px;padding:24px 0;width:90%}.footer-dot{margin:0 8px}.skip-link{background:#fff;left:20px;padding:12px;position:fixed;top:-80px;z-index:10000}.skip-link:focus{top:12px}.primary-button{align-items:center;background:#236e59;border:1px solid #236e59;border-radius:8px;color:#fff;display:inline-flex;font-size:14px;font-weight:600;gap:18px;padding:13px 22px}.primary-button:hover{background:#175640}.empty-state{background:#fff;border:1px dashed #d5e0d8;border-radius:12px;color:#79867f;min-height:220px;padding:45px 24px;text-align:center}.empty-state h2,.empty-state h3{color:#344e42;margin:12px 0 8px}.empty-state p{margin:8px 0 20px}.empty-state button{background:#edf4ef;border:1px solid #cddbd3;border-radius:7px;color:#236e59;padding:10px 20px}@media (max-width:760px){.app-header{flex-wrap:wrap;gap:12px;min-height:116px;padding:14px 5vw 0}.brand{font-size:21px}.brand-mark{height:38px;width:38px}.primary-nav{border-top:1px solid #edf1ed;gap:0;justify-content:space-between;order:3;padding:5px 0;width:100%}.primary-nav a{flex:1 1;font-size:13px;justify-content:center;padding:10px 12px}.app-footer{flex-direction:column;font-size:11px;gap:5px;padding:22px 0}}.App .admin-panel,.App .aiword-page,.App .flashcard-page,.App .subtitle-global-page{background:#0000;margin:0 auto;max-width:1240px;min-height:calc(100dvh - 175px);padding:32px 0 48px;width:90%}.App .subtitle-global-page{max-width:860px}.App .admin-header,.App .flashcard-header,.App .page-header,.App .subtitle-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0000;border:0;border-bottom:1px solid #e1e8dc;border-radius:0;box-shadow:none;color:#354e3c;padding:0 0 22px}.App .admin-header h1,.App .page-header h1,.App .page-title,.App .subtitle-header h1{color:#354e3c;font-size:clamp(20px,2.5vw,28px);font-weight:600;text-shadow:none}.App .card-counter,.App .flashcard-header p,.App .keyboard-hints,.App .page-subtitle,.App .progress-text,.App .source-text{color:#84977b;text-shadow:none}.App .back-btn,.App .back-to-home-btn,.App .mode-btn,.App .nav-btn{background:#edf3e8;border:1px solid #d6e2cb;box-shadow:none;color:#607f50}.App .export-btn,.App .flashcard-btn,.App .login-btn,.App .mode-btn.active,.App .refresh-btn,.App .register-submit-btn,.App .submit-btn{background:#236e59;border-color:#236e59;box-shadow:none;color:#fff}.App .auth-required-card,.App .controls-section,.App .model-config-section,.App .output-selection,.App .stats-section,.App .upload-zone,.App .usage-info-card,.App .users-section,.App .words-container{background:#fff;border:1px solid #e0e7d9;border-radius:12px;box-shadow:none}.App .break-card,.App .flashcard-back,.App .flashcard-front,.App .stat-card,.App .word-card{border:1px solid #dfe8d4;box-shadow:0 5px 18px #3d5d2d08}.App .flashcard-back,.App .flashcard-front{background:#fffef9;color:#456037}.App .flashcard-back .word-text,.App .flashcard-front .word-text,.App .word-display,.App .word-main{color:#385b32;text-shadow:none}.App .upload-zone{border-color:#b9cfa6;border-style:dashed}.App .register-wrapper{background:#0000;min-height:calc(100dvh - 160px);padding:40px 5%}.App .register-card{background:#fff;border:1px solid #dfe7d9;box-shadow:0 12px 35px #3d5d2d08;max-width:510px}.App .register-header h2{color:#37572f}.App .register-form input{background:#fafcf7;border-color:#d9e4cf;font-size:16px}.App .register-form .form-group label{color:#6d855d}.App .users-table{overflow-x:auto}.App .table-header,.App .table-row{min-width:680px}.App .modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1e332888}.App .auth-required{background:#fff;border:1px solid #dce7d2;border-radius:12px;color:#506c3f;padding:45px 25px}@media (max-width:760px){.App .admin-panel,.App .aiword-page,.App .flashcard-page,.App .subtitle-global-page{padding-top:24px}.App .page-header{display:block}.App .stats-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.App .controls-section{flex-wrap:wrap}.App .source-info{max-width:100%;white-space:normal}.App .flashcard{max-width:100%}.App .register-wrapper{padding-top:24px}}.service-notice{background:#f1f6eb;border:1px solid #dce7d1;border-radius:8px;color:#728963;font-size:12px;padding:13px 17px}.App .flip-btn,.App .flip-btn:hover{background:#236e59;box-shadow:none;color:#fff}.App .progress-section{background:#edf3e8}.App .progress-section:after{display:none}.App .export-btn,.App .flashcard-btn,.App .flip-btn,.App .nav-btn{min-height:44px}@media (max-width:600px){.App .words-table,.App .words-table tbody{display:block;width:100%}.App .words-table thead{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;width:1px}.App .words-table .word-row{border-bottom:1px solid #e0e7dc;display:grid;gap:10px;grid-template-areas:"word action" "phonetic action" "meaning meaning";grid-template-columns:minmax(0,1fr) 44px;padding:18px 4px}.App .words-table td{border:0;display:block;font-size:15px;min-width:0;overflow-wrap:anywhere;padding:0;white-space:normal}.App .words-table .word-cell{font-size:18px;grid-area:word}.App .words-table .phonetic-cell{font-size:15px;grid-area:phonetic}.App .words-table .meaning-cell{grid-area:meaning}.App .words-table .action-cell{align-self:start;grid-area:action}.App .words-table .delete-btn{border-color:#e9ded8;font-size:15px;min-height:44px;min-width:44px}.App .words-table .phonetic-text{color:#647963}}.App .admin-header p,.App .admin-header strong{color:#637b6a;text-shadow:none}
/*# sourceMappingURL=main.1b0eb1d1.css.map*/