:root{--primary-color: #8B7355;--primary-dark: #5D4037;--primary-light: #A9927D;--accent-gold: #C5A065;--success-color: #4E6E58;--error-color: #8B3A3A;--text-primary: #3E2723;--text-secondary: #795548;--bg-primary: #FFFFFF;--bg-secondary: #F9F7F2;--bg-body: #EFEBE9;--border-color: #D7CCC8;--shadow: 0 10px 30px -10px rgba(62, 39, 35, .15);--shadow-sm: 0 1px 2px 0 rgba(62, 39, 35, .05);--transition: all .3s ease;--radius-sm: 2px;--radius-md: 2px;--radius-lg: 2px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,Helvetica Neue,Helvetica,Arial,sans-serif;background:linear-gradient(135deg,#f5f0eb,#e0d6cc);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;color:var(--text-primary);line-height:1.6}.container{width:100%;max-width:420px}.auth-card{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:48px 40px;animation:slideUp .6s cubic-bezier(.22,1,.36,1);border-top:4px solid var(--primary-color)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.logo{text-align:center;margin-bottom:36px}.logo a{text-decoration:none;display:inline-flex;align-items:center}.navbar .logo{text-align:left;margin-bottom:0;display:flex;align-items:center}.logo h1{font-size:28px;font-weight:600;color:var(--primary-dark);letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.logo p{color:var(--text-secondary);font-size:13px;letter-spacing:.5px;text-transform:uppercase}.brand-logo{width:30px;height:30px;object-fit:contain;display:block}.navbar .brand-logo{margin:0}.form-group{margin-bottom:24px}label{display:block;margin-bottom:8px;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}input,select,textarea{width:100%;padding:14px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:15px;transition:var(--transition);font-family:inherit;background:var(--bg-secondary);color:var(--text-primary)}input:focus{outline:none;border-color:var(--primary-color);background:#fff;box-shadow:0 0 0 1px var(--primary-color)}select:focus,textarea:focus{outline:none;border-color:var(--primary-color);background:#fff;box-shadow:0 0 0 1px var(--primary-color)}input::placeholder{color:#bcaaa4}textarea{resize:vertical;min-height:120px}.btn{width:100%;padding:16px;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:var(--transition);font-family:inherit;position:relative;overflow:hidden}.btn-primary{background:var(--primary-color);color:#fff;box-shadow:0 4px 10px #8b735533}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:0 6px 15px #8b73554d}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--primary-light);color:var(--primary-dark)}.btn:disabled{opacity:.7;cursor:not-allowed;transform:none!important;background:#d7ccc8}.btn-sm{padding:8px 16px;font-size:12px;width:auto}.toggle-form{text-align:center;margin-top:30px;font-size:13px;color:var(--text-secondary)}.toggle-form a{color:var(--primary-color);text-decoration:none;font-weight:600;transition:var(--transition);border-bottom:1px solid transparent}.toggle-form a:hover{color:var(--primary-dark);border-bottom-color:var(--primary-dark)}.alert{padding:14px 16px;border-radius:var(--radius-md);margin-bottom:24px;font-size:13px;line-height:1.5;animation:slideDown .4s ease-out;border-left:4px solid transparent}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert-error{background:#ffebee;color:var(--error-color);border-left-color:var(--error-color)}.alert-success{background:#e8f5e9;color:var(--success-color);border-left-color:var(--success-color)}.alert-info{background:#efebe9;color:var(--primary-dark);border-left-color:var(--primary-color)}.hidden{display:none!important}.dashboard{width:100%;text-align:left;background:#fff;min-height:100vh;position:absolute;top:0;left:0;z-index:10;padding-top:40px}.navbar{background:#3e2723;border-bottom:none;padding:0 24px;position:fixed;top:0;left:0;width:100%;z-index:100;height:40px;display:flex;align-items:center}.nav-content{width:100%;max-width:100%;height:100%;display:flex;align-items:center;justify-content:flex-start;gap:30px}.nav-user{display:flex;align-items:center;gap:6px;color:#ccc;font-size:14px;cursor:pointer;margin-right:10px}#navUserName{color:#ccc;font-weight:400}.dropdown-arrow{font-size:10px;color:#999}.nav-links{display:flex;gap:24px}.nav-link{color:#ccc;text-decoration:none;font-size:14px;font-weight:400;padding:0;border:none;transition:color .2s;text-transform:lowercase}.nav-link:hover,.nav-link.active{color:#fff;border:none}.nav-right{margin-left:auto}.hero-section{display:none}.course-container{width:65%;max-width:1000px;margin:40px auto;padding:0}.course-grid{display:flex;flex-direction:column;gap:0}.course-card{background:transparent;border-radius:0;box-shadow:none;border:none;border-bottom:1px solid #ccc;display:flex;flex-direction:row;padding:20px 0;min-height:160px;position:relative}.course-card:hover{transform:none;box-shadow:none;border-color:#ccc}.course-thumbnail{width:240px;height:135px;flex-shrink:0;margin-right:20px;background:#000;position:relative;padding-top:0}.course-thumbnail img{width:100%;height:100%;object-fit:cover}.play-icon{width:40px;height:40px;font-size:16px;background:red;border:none;border-radius:2px;opacity:.9}.course-card:hover .play-icon{background:red;opacity:1;border:none}.course-content{padding:0;flex:1;display:flex;flex-direction:column;position:relative}.course-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}.course-title{font-size:14px;font-weight:700;color:#36c;margin:0;cursor:pointer}.course-title:hover{text-decoration:underline}.course-meta-top{font-size:11px;color:#999}.course-instructor{font-size:11px;color:#36c;text-align:right}.course-description{font-size:13px;color:#333;margin-top:8px;line-height:1.4;max-width:90%}.course-actions{position:absolute;bottom:0;right:0;display:flex;gap:6px}.btn-action{background:#fcfcfc;border:1px solid #ccc;border-radius:2px;padding:2px 8px;font-size:11px;color:#36c;cursor:pointer;display:flex;align-items:center;gap:4px;box-shadow:0 1px 2px #0000000d;background:linear-gradient(to bottom,#fff,#f0f0f0)}.btn-action:hover{background:#e6e6e6}.btn-action i{font-style:normal}@media(max-width:768px){.course-container{width:95%}.course-card{flex-direction:column}.course-thumbnail{width:100%;height:auto;aspect-ratio:16/9;margin-bottom:12px}.course-actions{position:relative;margin-top:16px;justify-content:flex-end}.create-course-layout{grid-template-columns:1fr}.edit-course-row{flex-direction:column;align-items:flex-start}.edit-course-actions{width:100%;justify-content:flex-start}}.loading{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite;margin-right:10px;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.password-requirements{font-size:12px;color:var(--text-secondary);margin-top:12px;padding:16px;background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color)}.password-requirements ul{margin-left:20px;margin-top:8px}.password-requirements li{margin:4px 0}@media(max-width:480px){.auth-card{padding:32px 24px}.logo h1{font-size:24px}.btn-group{flex-direction:column}.create-course-shell{padding:10px}}.nav-dropdown{position:relative;display:inline-block}.dropdown-menu{visibility:hidden;opacity:0;position:absolute;top:100%;left:0;background-color:#3e2723;min-width:160px;box-shadow:0 8px 16px #0003;z-index:101;border-radius:2px;padding:8px 0;margin-top:8px;transition:visibility 0s .3s,opacity .3s linear .3s}.dropdown-menu:before{content:"";position:absolute;top:-8px;left:0;width:100%;height:8px}.nav-dropdown:hover .dropdown-menu{visibility:visible;opacity:1;transition-delay:0s}.dropdown-item{color:#ccc;padding:12px 16px;text-decoration:none;display:block;font-size:14px;transition:background-color .2s,color .2s}.dropdown-item:hover{background-color:#4e342e;color:#fff}.dropdown-trigger{cursor:pointer;color:#ccc;text-decoration:none;font-size:14px;transition:color .2s}.dropdown-trigger:hover{color:#fff}.create-course-shell{max-width:1100px;margin-top:36px;padding:24px}.create-course-card{max-width:100%}.create-course-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}.create-course-layout .form-group{margin-bottom:0}.create-course-full{grid-column:1 / -1}.create-course-section-title{grid-column:1 / -1;margin-top:6px;margin-bottom:-2px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--primary-dark);font-weight:700;border-top:1px solid var(--border-color);padding-top:14px}.create-course-section-title:first-child{margin-top:0}.helper-text{font-size:12px;color:var(--text-secondary);margin-top:6px}.edit-course-list{display:flex;flex-direction:column;gap:0;background:transparent}.edit-course-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 0;background:transparent;border-bottom:1px solid #e0e0e0}.edit-course-row.inactive{opacity:.72}.edit-course-info{flex:1;min-width:0}.edit-course-title{font-size:14px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.edit-course-subject{color:#c62828;font-weight:600}.edit-course-name{color:#444;font-weight:500}.edit-course-term{color:#888;font-size:12px}.edit-course-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.edit-course-meta{font-size:12px;color:#666;margin-right:2px}.btn-text{background:#f7f7f7;border:1px solid #d2d2d2;border-radius:2px;color:#4b4b4b;text-decoration:none;cursor:pointer;padding:4px 8px;font-size:12px;line-height:1.2;display:inline-flex;align-items:center;gap:4px}.btn-text:hover{background:#ececec;color:#1f1f1f}.btn-text.danger{border-color:#f0c0c0;color:#8b2c2c;background:#fff6f6}.btn-text.danger:hover{background:#ffecec}.course-page-body{display:block;padding:0;min-height:100vh}.course-page{background:transparent;padding-top:56px}.course-shell{max-width:1260px;margin:28px auto;padding:0 18px 30px}.course-hero{display:flex;justify-content:space-between;gap:20px;background:#ffffffb8;border:1px solid rgba(93,64,55,.18);border-radius:2px;padding:20px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.course-hero-main h1{margin:6px 0;font-size:28px;line-height:1.2;color:var(--primary-dark)}.course-hero-main p{color:var(--text-secondary)}.course-hero-chip-row{display:none;gap:8px;flex-wrap:wrap}.course-chip{display:inline-flex;align-items:center;border:1px solid rgba(93,64,55,.25);border-radius:2px;padding:4px 10px;font-size:12px;font-weight:600;color:var(--primary-dark);background:#fff}.course-chip.muted{color:#7a7a7a}.course-hero-meta{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:10px;font-size:13px;color:var(--text-secondary)}.course-hero-actions{display:flex;flex-direction:column;gap:8px;min-width:180px;align-items:stretch}.btn-disabled-link{pointer-events:none;opacity:.55}.course-layout{margin-top:16px;display:grid;grid-template-columns:420px minmax(0,1fr);gap:16px}.course-sidebar{display:flex;flex-direction:column;gap:16px}.course-panel{background:#ffffffd6;border:1px solid rgba(93,64,55,.16);border-radius:2px;padding:14px;display:flex;flex-direction:column;gap:8px}.course-panel h3{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--primary-dark)}.course-link-list{display:flex;flex-direction:column;gap:0}.course-link-item{width:100%;border:1px solid #b2b2b2;border-bottom:0;background:transparent;color:#1f1f1f;padding:10px 12px;text-decoration:none;text-transform:lowercase;letter-spacing:.26em;font-size:12px;line-height:1.2;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.course-link-list .course-link-item:first-child{border-top-left-radius:6px;border-top-right-radius:6px}.course-link-list .course-link-item:last-child{border-bottom-left-radius:6px;border-bottom-right-radius:6px;border-bottom:1px solid #b2b2b2}.course-link-item:hover{background:#ffffff61}.course-link-item.has-caret:after{content:"▾";font-size:14px;letter-spacing:normal;transform:rotate(0);transition:transform .2s ease}.course-link-item.has-caret[aria-expanded=true]:after{transform:rotate(180deg)}.faq-content{border-left:1px solid #b2b2b2;border-right:1px solid #b2b2b2;border-bottom:1px solid #b2b2b2;border-bottom-left-radius:6px;border-bottom-right-radius:6px;padding:10px 12px;background:#ffffff73;color:var(--text-secondary);font-size:12px}.chapter-nav-list{list-style:none;display:flex;flex-direction:column;gap:8px}.chapter-nav-btn{width:100%;text-align:left;border:1px solid var(--border-color);border-radius:2px;background:#fff;padding:8px 10px;font-size:13px;color:var(--text-primary);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px}.chapter-nav-btn:hover{border-color:var(--primary-light);background:#fdf9f4}.chapter-nav-count{font-size:11px;color:var(--text-secondary)}.empty-note{font-size:12px;color:var(--text-secondary);padding:6px 2px}.course-main{background:#ffffffd1;border:1px solid rgba(93,64,55,.16);border-radius:2px;padding:12px}.course-tabs{display:flex;gap:8px;margin-bottom:12px}.course-tab{border:1px solid var(--border-color);background:#fff;border-radius:2px;padding:7px 12px;font-size:12px;cursor:pointer;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.course-tab.active{background:var(--primary-dark);color:#fff;border-color:var(--primary-dark)}.course-tab-panel{min-height:180px}.chapter-list{display:flex;flex-direction:column;gap:12px}.chapter-card{border:1px solid rgba(93,64,55,.2);border-radius:2px;background:#fffffff0;overflow:hidden}.chapter-header{display:flex;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid #ece3dc}.chapter-card:not(.expanded) .chapter-header{border-bottom:0}.chapter-header-main{min-width:0;flex:1}.chapter-toggle-btn{border:0;background:transparent;padding:0;margin:0;display:flex;align-items:center;gap:8px;cursor:pointer;text-align:left;color:var(--primary-dark)}.chapter-toggle-icon{font-size:12px;width:14px;text-align:center}.chapter-toggle-title{font-size:17px;font-weight:700}.chapter-header-controls{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap}.chapter-default-star{border:1px solid #d2c8be;background:#fff;color:#8f7a65;border-radius:2px;width:30px;height:30px;font-size:16px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.chapter-default-star:hover{background:#f8f2ea}.chapter-default-star.active{color:#b3832f;border-color:#d8b25f;background:#fff8e6}.chapter-header p{margin-top:4px;color:var(--text-secondary);font-size:13px}.chapter-actions,.section-actions,.assignment-actions,.announcement-actions,.discussion-actions{display:flex;align-items:flex-start;flex-wrap:wrap;gap:6px}.discussion-actions{margin-top:8px;align-items:center;justify-content:space-between;width:100%}.discussion-icon-btn{border:0;background:transparent;box-shadow:none;padding:2px 4px;cursor:pointer;font-size:23px;line-height:1}.discussion-icon-btn.reply{color:#0f41ff;margin-left:auto}.discussion-icon-btn.delete{color:#e31b23}.discussion-icon-btn:hover{opacity:.8}.section-list{padding:10px;display:flex;flex-direction:column;gap:10px}.section-card{border:1px solid #e8dfd6;border-radius:2px;background:#fff;padding:10px}.section-header{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.section-header h4{font-size:15px;color:var(--text-primary)}.section-header p{margin-top:3px;color:var(--text-secondary);font-size:13px}.assignment-list{list-style:none;display:flex;flex-direction:column;gap:8px}.assignment-item{border:1px solid #efe7de;border-radius:2px;background:#fbfaf8;padding:8px;display:flex;justify-content:space-between;gap:8px}.assignment-main{min-width:0}.assignment-header-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.assignment-header-row h5{font-size:14px}.assignment-type{border:1px solid #c9b8a7;border-radius:2px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;color:#704f39;background:#fff}.assignment-main p{margin-top:4px;font-size:13px;color:var(--text-secondary)}.assignment-meta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px;font-size:12px;color:#7e6a5b}.mini-action{border:1px solid #d2c8be;background:#fff;color:#5f4b3e;border-radius:2px;padding:3px 8px;font-size:11px;cursor:pointer;text-decoration:none;line-height:1.5}.mini-action:hover{background:#f2ece6}.mini-action:disabled{opacity:.45;cursor:not-allowed}.mini-action.danger{color:#8b2c2c;border-color:#f0bcbc;background:#fff6f6}.mini-action.danger:hover{background:#ffecec}.section-empty{font-size:12px;color:var(--text-secondary);padding:5px}.announcement-list,.discussion-list{display:flex;flex-direction:column;gap:10px}.announcement-card,.discussion-card{border:1px solid #e4dbd2;border-radius:2px;background:#fff;padding:10px 12px}.announcement-head,.discussion-card header{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px;font-size:12px;color:var(--text-secondary)}.announcement-card p,.discussion-card p{font-size:14px;color:var(--text-primary);white-space:pre-wrap}.discussion-composer{border:1px solid #e4dbd2;border-radius:2px;background:#fff;padding:10px;margin-bottom:10px}.discussion-composer textarea{min-height:85px}.discussion-composer .btn{margin-top:8px}.classmates-block{border:1px solid #dbcaa4;border-radius:2px;background:#faf7e2a6;padding:8px;margin-bottom:8px}.classmates-block h4{margin:0 0 6px;font-size:15px;color:#111}.classmates-list{display:flex;flex-wrap:wrap;gap:6px;max-height:135px;overflow:auto}.classmate-chip{border:1px solid #c7beb4;border-radius:2px;background:#d1d1d1;color:#7477b9;padding:6px 8px;font-size:12px;display:inline-flex;align-items:center;gap:7px;box-shadow:0 1px 4px #1e1e1e33;cursor:pointer}.classmate-chip .classmate-icon{color:#8b8ff5}.classmate-chip.active{opacity:1}.classmate-chip.inactive{opacity:.45}.classmate-chip.self{background:#f8f8d5;color:#1f1f1f;cursor:default}.classmate-chip.self .classmate-icon{color:#de1f1f}.classmate-chip.selected{outline:1px solid #9e7f57}.private-message-panel{margin-top:8px;border:1px solid #d9ccb6;border-radius:2px;background:#fffbe6;padding:8px}.private-message-head{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#5f4b3e;font-size:12px}.private-message-list{margin-top:8px;display:flex;flex-direction:column;gap:6px;max-height:180px;overflow:auto}.private-message-item{border:1px solid #e5d8c0;border-radius:2px;padding:7px 8px;background:#fff}.private-message-item.theirs{border-left:3px solid #c8ab6d}.private-message-item.mine{border-left:3px solid #6d8dff;background:#f9fbff}.private-message-item header{display:flex;justify-content:space-between;gap:6px;font-size:11px;color:#796457;margin-bottom:4px}.private-message-item p{font-size:13px;color:#3c2f28;white-space:pre-wrap}.private-message-composer{margin-top:8px;display:flex;flex-direction:column;gap:6px}.private-message-composer textarea{min-height:58px}.discussion-replies{margin-top:8px;margin-left:12px;padding-left:10px;border-left:1px solid #e1d4c6;display:flex;flex-direction:column;gap:8px}.discussion-reply-card{background:#ffffffc7}.discussion-reply-form{margin-top:8px;display:flex;flex-direction:column;gap:6px}.discussion-reply-form textarea{min-height:58px}.discussion-reply-actions{display:flex;gap:6px}.discussion-composer.compact{margin-bottom:8px;padding:8px;background:#ffffffa6}.discussion-composer.compact label{font-size:10px;letter-spacing:.08em;margin-bottom:4px}.discussion-composer.compact textarea{min-height:60px}.discussion-list.compact{max-height:420px;overflow:auto;padding-right:2px}.discussion-list.compact .discussion-card{background:linear-gradient(175deg,#fffbe8,#f8f0c9);border:1px solid #dfd3a5;border-left:5px solid #cfbb72;box-shadow:0 4px 10px #3f2e1414}.discussion-list.compact .discussion-card:nth-child(2n){background:linear-gradient(175deg,#fff8dd,#f2e6b5)}.discussion-list.compact .discussion-reply-card{background:linear-gradient(175deg,#fff9e5,#f5eac1)}.discussion-list.compact .discussion-card header{color:#7c6541}.empty-state{border:1px dashed #ccb9ab;border-radius:2px;background:#ffffff8c;text-align:center;padding:28px 18px;color:var(--text-secondary)}.empty-state h3{color:var(--primary-dark);margin-bottom:6px}.empty-state.compact{padding:18px 14px}.course-editor-dialog{border:1px solid rgba(93,64,55,.4);border-radius:2px;padding:0;width:min(680px,92vw);max-height:86vh}.course-editor-dialog::backdrop{background:#00000073}.course-editor-form{padding:16px;display:flex;flex-direction:column;gap:12px}.course-editor-form h3{color:var(--primary-dark)}.editor-field{display:flex;flex-direction:column;gap:6px}.editor-field label{margin:0}.course-editor-actions{display:flex;justify-content:flex-end;gap:8px}@media(max-width:960px){.course-layout{grid-template-columns:1fr}.course-sidebar{order:2}}@media(max-width:680px){.course-shell{padding:0 10px 20px}.course-hero{flex-direction:column}.course-hero-main h1{font-size:24px}.chapter-header,.section-header,.assignment-item{flex-direction:column}}.tex-shell{max-width:1440px;margin:0 auto;padding:12px 16px 16px;height:calc(100vh - 56px);display:flex;flex-direction:column;gap:12px;overflow:hidden}.tex-layout{display:grid;grid-template-columns:380px minmax(0,1fr);gap:14px;flex:1;min-height:0;overflow:hidden}.tex-docs-panel,.tex-editor-panel{background:#ffffffdb;border:1px solid rgba(93,64,55,.16);border-radius:2px}.tex-docs-panel{padding:12px;display:flex;flex-direction:column;gap:10px;min-height:0;overflow:hidden}.tex-panel-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.tex-panel-header h2{font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--primary-dark)}.tex-filters{display:flex;flex-direction:column;gap:8px}.tex-filters input,.tex-filters select{width:100%}.tex-doc-count{font-size:12px;color:var(--text-secondary)}.tex-docs-list{display:flex;flex-direction:column;gap:8px;overflow:auto;padding-right:2px;flex:1;min-height:0}.tex-doc-row{border:1px solid #dfd3c7;border-radius:2px;background:#fff;padding:6px 8px;display:flex;align-items:center;gap:8px}.tex-doc-row.active{border-color:#b58f63;box-shadow:0 0 0 1px #b58f6326}.tex-doc-open{border:0;background:transparent;text-align:left;cursor:pointer;padding:0;display:flex;flex:1;min-width:0;align-items:center}.tex-doc-title{font-size:14px;color:var(--text-primary);font-weight:600}.tex-doc-sub{display:none}.tex-doc-actions{margin-left:auto;display:flex;align-items:center;gap:6px;flex-shrink:0}.tex-doc-action{width:22px;height:22px;min-width:22px;padding:0;display:inline-flex;align-items:center;justify-content:center}.tex-doc-action i{font-size:12px;line-height:1}.tex-doc-action img{width:14px;height:14px;object-fit:contain;display:block}.tex-editor-panel{padding:12px;display:flex;flex-direction:column;gap:12px;min-height:0;overflow:auto}.tex-editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #e5ddd4;padding:6px 0}.tex-toolbar-meta{display:flex;align-items:baseline;gap:10px;min-width:0}.tex-editor-toolbar h2{color:var(--primary-dark);font-size:13px;line-height:1;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tex-current-doc-meta{margin:0;font-size:11px;line-height:1;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tex-toolbar-actions{display:flex;align-items:center;flex-wrap:nowrap;justify-content:flex-end;gap:6px;white-space:nowrap;overflow-x:auto;max-width:62%}.tex-engine-label{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.tex-engine-select{border:1px solid #c7b6a8;border-radius:2px;background:#fff;color:var(--text-primary);font-size:11px;height:28px;padding:0 8px}.tex-editor-form{display:flex;flex-direction:column;gap:10px}.tex-grid-fields{display:grid;grid-template-columns:170px minmax(220px,1fr) 200px 140px;gap:8px;align-items:center}.tex-grid-fields .editor-field{gap:0;min-width:0;position:relative}.tex-grid-fields .editor-field label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tex-grid-fields input,.tex-grid-fields select{height:28px;padding:4px 10px;font-size:12px;border-radius:2px}.tex-grid-fields input[readonly]{background:#fbf8f4cc}.tex-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tex-source-area{min-height:360px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px;line-height:1.45;white-space:pre}.tex-assets-panel{border:1px solid #e5ddd4;border-radius:2px;padding:10px;background:#fbf8f499;display:flex;flex-direction:column;gap:10px}.tex-assets-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.tex-assets-head h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--primary-dark)}.tex-assets-hint{margin:0;font-size:12px;color:var(--text-secondary);line-height:1.4}.tex-assets-hint code{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:12px;background:#ffffffe6;border:1px solid rgba(93,64,55,.18);border-radius:2px;padding:1px 4px}.tex-dropzone{border:1px dashed rgba(93,64,55,.35);border-radius:2px;padding:14px;background:#ffffffb3;color:var(--text-primary);font-size:12px;cursor:pointer;-webkit-user-select:none;user-select:none}.tex-dropzone.dragover{background:#b58f6326;border-color:#b58f63a6}.tex-dropzone.disabled{opacity:.55;cursor:not-allowed}.tex-dropzone.busy{opacity:.85;cursor:wait}.tex-assets-list{display:flex;flex-direction:column;gap:8px}.tex-asset-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;border:1px solid rgba(93,64,55,.16);border-radius:2px;background:#ffffffbf}.tex-asset-name{font-size:13px;font-weight:600;color:var(--text-primary)}.tex-asset-sub{font-size:11px;color:var(--text-secondary);margin-top:2px}.tex-asset-actions{display:flex;gap:6px}.tex-versions-panel{border:1px solid #e5ddd4;border-radius:2px;padding:10px;background:#fbf8f499;display:flex;flex-direction:column;gap:8px}.tex-versions-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.tex-versions-head h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--primary-dark)}.tex-versions-actions{display:flex;gap:6px}.tex-versions-list{display:flex;flex-direction:column;gap:6px;max-height:190px;overflow:auto}.tex-version-row{border:1px solid rgba(93,64,55,.16);border-radius:2px;background:#ffffffbf;padding:8px 10px;display:flex;justify-content:space-between;align-items:center;gap:10px}.tex-version-main{min-width:0;display:flex;flex-direction:column;gap:2px}.tex-version-id{font-size:11px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;color:var(--text-primary);word-break:break-all}.tex-version-sub{font-size:11px;color:var(--text-secondary)}.tex-version-actions{display:flex;gap:6px;flex-wrap:wrap}.tex-render-panel{border-top:1px solid #e5ddd4;padding-top:12px;display:flex;flex-direction:column;gap:8px}.tex-render-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.tex-render-head h3{font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--primary-dark)}.tex-render-actions{display:flex;gap:6px;flex-wrap:wrap}.tex-render-meta{font-size:12px;color:var(--text-secondary)}.tex-pdf-frame{width:100%;min-height:420px;border:1px solid #d9cbbf;border-radius:2px;background:#fff}.tex-compile-log{margin:0;border:1px solid #d9cbbf;border-radius:2px;background:#fbf8f4;color:#47352d;padding:10px;max-height:220px;overflow:auto;white-space:pre-wrap;font-size:12px;line-height:1.4}@media(max-width:1120px){.tex-layout{grid-template-columns:1fr}.tex-docs-panel{min-height:0}}@media(max-width:760px){.tex-grid-fields,.tex-two-col{grid-template-columns:1fr}.tex-toolbar-actions{justify-content:flex-start}.tex-pdf-frame{min-height:300px}}
