:root{--color-primary:#141414;--color-primary-hover:#000;--color-primary-rgb:20, 20, 20;--color-secondary:#575757;--color-secondary-hover:#3d3d3d;--color-secondary-rgb:87, 87, 87;--color-bg-default:#f7f7f7;--color-bg-paper:#fff;--color-bg-paper-alt:#efefef;--color-text-primary:#141414;--color-text-primary-rgb:20, 20, 20;--color-text-secondary:#575757;--color-text-secondary-rgb:87, 87, 87;--color-text-disabled:#9a9a9a;--color-on-primary:#fff;--color-on-primary-rgb:255, 255, 255;--color-on-secondary:#fff;--color-overlay-black:#000;--color-overlay-black-rgb:0, 0, 0;--color-overlay-white:#fff;--color-overlay-white-rgb:255, 255, 255;--color-youtube:red;--color-youtube-rgb:255, 0, 0;--color-border:#1414141f;--color-border-strong:#14141447;--color-success:#15803d;--color-success-rgb:21, 128, 61;--color-warning:#b45309;--color-warning-rgb:180, 83, 9;--color-error:#b91c1c;--color-error-rgb:185, 28, 28;--color-code-bg:#141414;--color-code-text:#efefef;--radius:0px;--font-sans:"IBM Plex Sans", "Noto Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sidebar-width:264px;--primary:var(--color-primary);--primary-hover:var(--color-primary-hover);--secondary:var(--color-secondary);--bg-dark:var(--color-bg-default);--bg-darker:var(--color-bg-paper-alt);--bg-card:var(--color-bg-paper);--text-primary:var(--color-text-primary);--text-secondary:var(--color-text-secondary);--border-color:var(--color-border);--danger:var(--color-error);--success:var(--color-success)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;font-family:var(--font-sans);background-color:var(--color-bg-default);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;font-family:inherit}ul{list-style:none}code,pre,kbd{font-family:var(--font-mono)}::selection{background:var(--color-primary);color:var(--color-on-primary)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:rgba(var(--color-text-primary-rgb), .22);border:2px solid var(--color-bg-default)}::-webkit-scrollbar-thumb:hover{background:rgba(var(--color-text-primary-rgb), .4)}.admin-layout{width:100%;height:100vh;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--color-bg-paper);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;display:flex}.sidebar-header{border-bottom:1px solid var(--color-border);flex-direction:column;justify-content:center;gap:2px;height:68px;padding:0 20px;display:flex}.brand{color:var(--color-primary);align-items:center;gap:10px;display:flex}.brand-name{letter-spacing:-.02em;font-size:20px;font-weight:700}.brand-tag{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary);margin-left:40px;font-size:11px;font-weight:600}.sidebar-nav{flex:1;padding:12px 12px 20px;overflow-y:auto}.nav-section{padding-top:10px}.nav-section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-disabled);padding:0 12px 6px;font-size:11px;font-weight:700}.nav-item{color:var(--color-text-secondary);align-items:center;gap:12px;padding:7px 12px;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:flex;position:relative}.nav-item:hover{background:var(--color-bg-paper-alt);color:var(--color-text-primary)}.nav-item.active{background:var(--color-primary);color:var(--color-on-primary);font-weight:600}.sidebar-footer{border-top:1px solid var(--color-border);padding:12px}.logout-btn{width:100%;color:var(--color-text-secondary);background:0 0;align-items:center;gap:12px;padding:9px 12px;font-size:14px;font-weight:500;display:flex}.logout-btn:hover{background:rgba(var(--color-error-rgb), .08);color:var(--color-error)}.main-content{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.content-area{flex:1;overflow:hidden auto}.sidebar-toggle,.sidebar-scrim{display:none}@media (width<=992px){.sidebar{z-index:1000;transition:transform .25s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-scrim{z-index:999;background:rgba(var(--color-overlay-black-rgb), .4);display:block;position:fixed;inset:0}.sidebar-toggle.floating{z-index:1001;background:var(--color-bg-paper);width:40px;height:40px;color:var(--color-text-primary);border:1px solid var(--color-border-strong);justify-content:center;align-items:center;display:flex;position:fixed;top:12px;left:12px}.content-area{padding-top:56px}}.page-header{justify-content:space-between;align-items:flex-start;margin-bottom:28px;display:flex}.header-actions{gap:12px;display:flex}.page-header h1{letter-spacing:-.02em;margin-bottom:4px;font-size:26px;font-weight:700}.page-header p{color:var(--color-text-secondary)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.stat-card{background:var(--color-bg-paper);border:1px solid var(--color-border);padding:22px}.stat-number{letter-spacing:-.02em;margin:8px 0;font-size:34px;font-weight:700}.stat-increase{color:var(--color-success);font-size:13px;font-weight:500}.table-container{background:var(--color-bg-paper);border:1px solid var(--color-border);margin-bottom:28px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%}.admin-table th{text-align:left;background:var(--color-bg-paper-alt);color:var(--color-text-primary);letter-spacing:.04em;text-transform:uppercase;border-bottom:1px solid var(--color-border-strong);padding:12px 16px;font-size:12px;font-weight:700}.admin-table td{border-bottom:1px solid var(--color-border);padding:14px 16px;font-size:14px}.admin-table tr:hover td{background:rgba(var(--color-text-primary-rgb), .025)}.title-cell{align-items:center;gap:12px;display:flex}.text-truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.table-thumb{object-fit:cover;border:1px solid var(--color-border);width:56px;height:36px}.tag,.level-badge,.status-pill{border:1px solid var(--color-border-strong);color:var(--color-text-primary);background:0 0;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.level-badge{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.status-pill.active{color:var(--color-success);border-color:var(--color-success)}.status-pill.inactive{color:var(--color-text-secondary)}.btn-primary{background:var(--color-primary);color:var(--color-on-primary);border:1px solid var(--color-primary);align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;transition:background .15s;display:inline-flex}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-secondary{background:var(--color-bg-paper);color:var(--color-text-primary);border:1px solid var(--color-border-strong);align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;transition:background .15s;display:inline-flex}.btn-secondary:hover{background:var(--color-bg-paper-alt)}.table-filters{gap:15px;margin-bottom:20px;display:flex}.search-box{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:0;flex:1;align-items:center;gap:10px;padding:0 15px;display:flex}.search-box input{color:var(--text-primary);background:0 0;border:none;outline:none;width:100%;height:40px}.actions{gap:8px;display:flex}.icon-btn{color:var(--text-secondary);background:0 0;border-radius:0;padding:8px}.icon-btn:hover{background:rgba(var(--color-text-primary-rgb), .05)}.icon-btn.edit:hover{color:var(--primary)}.icon-btn.delete:hover{color:var(--danger)}.loading-spinner{text-align:center;color:var(--primary);padding:60px;font-weight:600}.pagination-footer{background-color:var(--bg-darker);border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:15px 25px;display:flex}.pagination-info{color:var(--text-secondary);font-size:13px}.pagination-btns{align-items:center;gap:12px;display:flex}.p-btn{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:0;justify-content:center;align-items:center;width:34px;height:34px;transition:all .2s;display:flex}.p-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.p-btn:disabled{opacity:.3;cursor:not-allowed}.p-pages{gap:5px;display:flex}.p-page{width:34px;height:34px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:0;font-size:13px;font-weight:600;transition:all .2s}.p-page.active{background:var(--primary);color:var(--color-on-primary)}.youtube-link-btn{background:rgba(var(--color-youtube-rgb), .05);border:1px solid rgba(var(--color-youtube-rgb), .2);color:var(--text-primary);border-radius:0;align-items:center;gap:6px;width:fit-content;padding:6px 10px;font-size:13px;transition:all .2s;display:flex}.youtube-link-btn:hover{background:rgba(var(--color-youtube-rgb), .15);border-color:rgba(var(--color-youtube-rgb), .4)}.no-link{color:var(--text-secondary);font-size:12px}.modal-overlay{background-color:rgba(var(--color-overlay-black-rgb), .8);z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:0;width:100%;max-width:500px;animation:.3s ease-out modalIn;overflow:hidden}@keyframes modalIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:20px 25px;display:flex}.modal-header h2{color:var(--primary);font-size:20px}.close-btn{color:var(--text-secondary);background:0 0}.close-btn:hover{color:var(--text-primary)}form{padding:25px}.form-group{margin-bottom:20px}.form-group label{color:var(--text-secondary);margin-bottom:8px;font-size:14px;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{background-color:var(--bg-darker);border:1px solid var(--border-color);width:100%;color:var(--text-primary);border-radius:0;outline:none;padding:12px 15px;font-size:14px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary)}.modal-footer{justify-content:flex-end;gap:12px;margin-top:30px;display:flex}.import-box{background-color:var(--bg-card);border:1px solid var(--border-color);border-radius:0;margin-bottom:30px;padding:25px}.import-box h3{color:var(--primary);align-items:center;gap:10px;margin-bottom:20px;font-size:16px;display:flex}.import-form-row{gap:15px;display:flex}.import-form-row input{background-color:var(--bg-darker);border:1px solid var(--border-color);color:var(--text-primary);border-radius:0;outline:none;flex:1;padding:12px 15px;font-size:14px}.import-lang-select{background-color:var(--bg-darker);border:1px solid var(--border-color);width:160px;color:var(--text-primary);cursor:pointer;border-radius:0;padding:12px 15px;font-size:14px}.gen-form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;display:grid}.suggested-prompt-box{background-color:rgba(var(--color-primary-rgb), .05);border:1px dashed var(--primary);color:var(--text-primary);border-radius:0;min-height:80px;padding:15px;font-size:13px;line-height:1.6}.gen-btn{justify-content:center;width:300px;margin-top:20px}.ai-thumb{background-color:rgba(var(--color-primary-rgb), .1);color:var(--primary)}.expanded-row td{background-color:rgba(var(--color-text-primary-rgb), .03);padding:0!important}.item-detail-view{flex-direction:column;gap:25px;padding:30px;display:flex}.detail-tabs{grid-template-columns:1fr 1fr;gap:30px;display:grid}.detail-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:0;padding:20px}.detail-section h4{color:var(--primary);border-bottom:1px solid var(--border-color);align-items:center;gap:8px;margin-bottom:15px;padding-bottom:10px;font-size:15px;display:flex}.dialog-preview-list{flex-direction:column;gap:10px;display:flex}.dialog-line{background:var(--bg-darker);border-radius:0;gap:10px;padding:10px;font-size:14px;display:flex}.role-label{color:var(--text-secondary);width:25px;font-weight:800}.voca-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.voca-item{background:var(--bg-darker);border-radius:0;justify-content:space-between;padding:10px;display:flex}.v-word{font-weight:600}.v-level{color:var(--primary);font-size:11px}.grammar-box{background:var(--bg-darker);border-radius:0;margin-bottom:15px;padding:15px}.grammar-box strong{color:var(--primary);margin-bottom:5px;display:block}.quiz-preview-box h5{color:var(--text-secondary);margin-bottom:5px;font-size:13px}.preview-actions{justify-content:flex-end;display:flex}.component-badges{gap:8px;display:flex}.badge-item{background:rgba(var(--color-text-primary-rgb), .05);border-radius:0;align-items:center;gap:4px;padding:4px 8px;font-size:11px;display:flex}.info-badge{color:var(--text-secondary);font-size:11px;font-style:italic}.animate-spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.auto-gen-box{margin-top:30px;background-color:rgba(var(--color-success-rgb), .03)!important}.flex-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.auto-pulse-badge{background:rgba(var(--color-success-rgb), .1);color:var(--color-success);letter-spacing:.5px;border-radius:0;align-items:center;gap:8px;padding:6px 12px;font-size:11px;font-weight:700;display:flex}.pulse-dot{background-color:var(--color-success);border-radius:50%;width:8px;height:8px;animation:1.5s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(var(--color-success-rgb), .7);transform:scale(.95)}70%{box-shadow:0 0 0 10px rgba(var(--color-success-rgb), 0);transform:scale(1)}to{box-shadow:0 0 0 0 rgba(var(--color-success-rgb), 0);transform:scale(.95)}}.checkbox-group{background:var(--bg-darker);border:1px solid var(--border-color);border-radius:0;grid-template-columns:repeat(3,1fr);gap:10px;padding:10px;display:grid}.checkbox-item{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.checkbox-item input{width:16px!important;height:16px!important}.auto-progress-bar{background:var(--bg-darker);border:1px solid var(--border-color);border-radius:0;margin:20px 0;padding:15px}.progress-info{color:var(--text-secondary);justify-content:space-between;margin-bottom:8px;font-size:12px;display:flex}.progress-track{background:var(--border-color);border-radius:0;height:8px;margin-bottom:10px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--color-success), var(--color-primary));height:100%;transition:width .3s}.progress-status{color:var(--color-success);font-size:12px;font-style:italic;font-weight:500}.checkbox-scroll-grid{background:var(--bg-darker);border:1px solid var(--border-color);border-radius:0;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;max-height:250px;padding:12px;display:grid;overflow-y:auto}.checkbox-item.compact{padding:4px;font-size:12px}.action-link-btn{color:var(--primary);text-underline-offset:3px;background:0 0;padding:0;font-size:11px;font-weight:600;text-decoration:underline}.action-link-btn:hover{filter:brightness(1.2)}.action-link-btn.danger{color:var(--color-error)}.data-indicator-cell{flex-direction:column;align-items:center;gap:6px;padding:8px 0;display:flex}.status-icon-area{align-items:center;gap:4px;display:flex}.mini-count{color:var(--text-secondary);background:rgba(var(--color-text-primary-rgb), .06);border-radius:0;padding:1px 4px;font-size:10px;font-weight:700}.icon-success{color:var(--color-success)}.icon-error{color:var(--text-secondary);opacity:.3}.prompt-trigger-small{opacity:0;justify-content:center;align-items:center;width:24px;height:24px;transition:all .2s;display:flex;transform:translateY(2px);background:rgba(var(--color-primary-rgb), .1)!important;color:var(--primary)!important}tr:hover .prompt-trigger-small{opacity:1;transform:translateY(0)}.prompt-modal{max-width:800px!important}.prompt-label{color:var(--text-secondary);margin-bottom:15px;font-size:14px}.prompt-content-view{background:var(--color-code-bg);border:1px solid var(--border-color);border-radius:0;max-height:500px;padding:20px;position:relative;overflow-y:auto}.prompt-content-view pre{color:var(--color-code-text);white-space:pre-wrap;font-family:JetBrains Mono,Fira Code,monospace;font-size:13px;line-height:1.6}.copy-btn-floating{background:var(--primary);color:var(--color-on-primary);box-shadow:0 4px 12px rgba(var(--color-overlay-black-rgb), .5);border-radius:0;align-items:center;gap:8px;padding:8px 15px;font-size:12px;font-weight:700;display:flex;position:absolute;top:15px;right:15px}.copy-btn-floating:hover{transform:scale(1.05)}.copy-btn-floating:active{transform:scale(.95)}.modal-overlay.fullscreen{background:rgba(var(--color-overlay-black-rgb), .85);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);z-index:1500;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content.fullscreen-content{border:1px solid var(--border-color);background:var(--color-bg-paper);width:95vw;max-width:1400px;height:90vh;box-shadow:0 50px 100px rgba(var(--color-text-primary-rgb), .25);border-radius:0;flex-direction:column;padding:0;display:flex;overflow:hidden}.modal-content.fullscreen-content .modal-header{background:var(--bg-darker);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:20px 30px;display:flex}.header-title-area h2{color:var(--text-primary);margin:0 0 8px;font-size:24px}.header-meta{gap:10px;display:flex}.header-meta .tag{background:rgba(var(--color-text-primary-rgb), .05);text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:0;padding:4px 12px;font-size:11px}.detail-tabs-nav{background:var(--bg-darker);border-bottom:1px solid var(--border-color);gap:5px;padding:0 20px;display:flex}.tab-item{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:10px;padding:15px 25px;font-size:14px;font-weight:600;transition:all .3s;display:flex}.tab-item:hover{color:var(--text-primary)}.tab-item.active{color:var(--primary);border-bottom-color:var(--primary);background:rgba(var(--color-primary-rgb), .06)}.scrollable-body{flex:1;padding:40px;overflow-y:auto}.tab-content-area{animation:.4s fadeInModal}@keyframes fadeInModal{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.dialog-line-big{background:var(--bg-darker);border:1px solid var(--border-color);border-radius:0;gap:20px;max-width:900px;margin-bottom:15px;margin-left:auto;margin-right:auto;padding:20px;display:flex}.role-avatar{background:var(--primary);width:45px;height:45px;color:var(--color-on-primary);border-radius:0;flex-shrink:0;justify-content:center;align-items:center;font-weight:900;display:flex}.role-B .role-avatar{background:var(--color-secondary);color:var(--color-on-secondary)}.line-content .txt{margin:0 0 8px;font-size:17px;line-height:1.6}.line-content .time{color:var(--text-secondary);font-size:12px}.vocab-tab-content{max-width:1000px;margin:0 auto}.word-tag{background:var(--bg-darker);border:1px solid var(--border-color);border-radius:0;padding:8px 18px;font-size:15px}.quiz-card{background:var(--bg-darker);border:1px solid var(--border-color);border-radius:0;margin-bottom:20px;padding:25px}.q-badge.true{background:var(--color-success);color:var(--color-on-primary);border-radius:0;padding:5px 15px;font-weight:800}.q-badge.false{background:var(--color-error);color:var(--color-on-primary);border-radius:0;padding:5px 15px;font-weight:800}.q-footer-info{border-top:1px solid var(--border-color);margin-top:15px;padding-top:10px}.q-answer-label{color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.q-answer-label strong{color:var(--success)}
