:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;padding:1rem;color-scheme:dark only;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}select,input{padding:.75rem .85rem;border-radius:10px;border:1px solid #343434;background:#141414;color:#f4f4f4;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;box-shadow:inset 0 1px #ffffff05}.app-header{display:flex;justify-content:center;align-items:center;padding:1.5rem 1rem;width:95vw}.header-row{display:flex;align-items:center;gap:1rem;font-size:2rem}.logo{height:64px;width:auto}.app-container{width:95vw}.login-container{margin:40px auto 0;width:min(460px,calc(100% - 2rem));min-width:320px;max-width:460px;z-index:99;position:relative;box-sizing:border-box}.login-header{font-size:1.5em;font-weight:700;text-align:center}.login-form{width:100%;display:flex;flex-direction:column;gap:1rem;background-color:#282c34;padding:3rem 2rem 2rem;border-radius:8px;border:1px solid #ccc;box-shadow:0 4px 8px #0000004d;box-sizing:border-box;-webkit-border-radius:8px;-moz-border-radius:8px;-ms-border-radius:8px;-o-border-radius:8px;z-index:98;position:relative}.form-group{display:flex;flex-direction:column;margin-bottom:1rem}.form-group-button{display:flex;flex-direction:column;margin-top:20px}.assessment-tags{display:inline-flex;flex-wrap:wrap;gap:.4rem;align-items:center}.assessment-tag{display:inline-flex;flex-wrap:wrap;background:#243447;border:1px solid #3a516b;padding:.25rem .65rem;border-radius:999px;font-size:.7rem;color:#f0f0f0;white-space:normal;max-width:100%;overflow-wrap:anywhere}.assessment-tag :hover{border-color:#646cff}.assessment-tag a{color:inherit;text-decoration:none}.yellow{color:#f0ff6b}.red{color:#ff6b6b}.green{color:#6bff8c}.topgap{margin-top:5px}.biggertopgap{margin-top:15px}.biggergap{margin-left:20px}.leftgap{margin-left:5px}.normal{font-weight:400;margin-left:15px}.nogap{margin:0}.central-overlay-spinner{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;z-index:9999;background-color:#00000080}.central-overlay-spinner .spinner-content{padding:20px;border-radius:10px;background-color:#fffc}.motd{padding-top:20px;width:min(460px,calc(100% - 2rem));max-width:460px;min-width:auto}.menu-block{display:flex;align-items:center;gap:1rem;padding:.85rem 1.1rem;margin:1rem 0;border:1px solid #3a3a3a;border-radius:12px;background:linear-gradient(145deg,#1f1f1f,#232323);box-shadow:0 12px 24px #00000059}.menu-info{display:flex;flex-direction:column;gap:.2rem}.menu-title{font-weight:700;letter-spacing:.02em}.menu-user{font-size:.9rem;color:#cfcfcf}.menu-user-inline{display:inline-flex;align-items:center;gap:.4rem;vertical-align:middle}.menu-actions{display:flex;gap:.6rem;margin-left:auto;flex-wrap:wrap}.menu-toggle{border-radius:10px;padding:.45rem .9rem;background:#1f1f1f;border:1px solid #3a3a3a;color:#f0f0f0}.menu-toggle.active{border-color:#4fa3ff;background:#243447}.menu-actions button[disabled]{opacity:.55;cursor:not-allowed;border-color:#4a4a4a}.report-table,th,td{font-size:14px;border:.5px solid #313131;border-collapse:collapse;padding:10px}.student-table{list-style:none;padding:0;margin:1rem 0;border:1px solid #3a3a3a;border-radius:10px;overflow:hidden;background:#1e1e1e;box-shadow:0 8px 20px #00000059}.student-row{display:flex;align-items:center;padding:.75rem 1rem;border-top:1px solid #2f2f2f;color:#f3f3f3;letter-spacing:.01em}.student-row:first-child{border-top:none}.student-row:nth-child(2n){background-color:#252525}.student-row:hover{background-color:#2e2e2e}.roster-header{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.roster-header .biggergap{margin-left:0}.roster-header .admin-filter-input{flex:1 1 220px;min-width:180px}.file-input-wrapper{position:relative;display:inline-block}.file-input-hidden{position:absolute;opacity:0;width:0;height:0}.file-input-button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;color:#fff;cursor:pointer;transition:border-color .25s;display:inline-block;text-align:center;text-decoration:none}.file-input-button:hover{border-color:#646cff}.file-input-button:focus,.file-input-button:focus-visible{outline:4px auto -webkit-focus-ring-color}.admin-panel{margin-top:1rem;width:95vw;max-width:1200px}.admin-nav{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.admin-nav-button{border-radius:10px;padding:.5rem 1rem;background:#1f1f1f;border:1px solid #3a3a3a;color:#f0f0f0}.admin-nav-button.active{border-color:#646cff;background:linear-gradient(145deg,#2a2a2a,#202020)}.admin-section{margin-top:.5rem;padding:1rem;border:1px solid #2f2f2f;border-radius:12px;background:#181818;box-shadow:0 10px 20px #00000059}.admin-editor{max-height:0;opacity:0;overflow:hidden;pointer-events:none;visibility:hidden;transition:max-height .35s ease,opacity .2s ease}.admin-editor.is-open{max-height:1400px;opacity:1;pointer-events:auto;visibility:visible}.admin-section-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.admin-section-title{font-weight:700;letter-spacing:.02em}.admin-section-subtitle{color:#b5b5b5;font-size:.9rem}.admin-form{margin-top:.75rem;display:flex;flex-direction:column;gap:.75rem}.admin-form-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.admin-filters{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;margin-top:.75rem}.admin-filter-input{min-width:220px;max-width:360px;flex:1 1 220px}.admin-filter-check{display:inline-flex;gap:.4rem;align-items:center;color:#e6e6e6;font-size:.95rem}.admin-filter-check input[type=checkbox]{accent-color:#646cff}.admin-label{display:flex;flex-direction:column;gap:.25rem;color:#e6e6e6}.admin-form input,.admin-form select,.admin-form textarea,.admin-filter-input,.admin-filter-select{padding:.75rem .85rem;border-radius:10px;border:1px solid #343434;background:#141414;color:#f4f4f4;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;box-shadow:inset 0 1px #ffffff05}.admin-form input:focus,.admin-form select:focus,.admin-form textarea:focus,.admin-filter-input:focus,.admin-filter-select:focus{border-color:#646cff;box-shadow:0 0 0 2px #646cff40;outline:none;background:#161616}.admin-form input::placeholder,.admin-form textarea::placeholder,.admin-filter-input::placeholder{color:#8a8a8a}.admin-form textarea{resize:vertical}.admin-avatar-row{display:flex;align-items:center;gap:.75rem}.avatar-thumb{width:56px;height:56px;border-radius:10px;object-fit:cover;border:1px solid #3a3a3a;background:#0f0f0f}.menu-avatar{width:45px;height:45px;border-radius:10px;margin-right:10px;object-fit:cover;border:1px solid #3a3a3a;background:#0f0f0f}.admin-form-actions{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap}.admin-switch{display:inline-flex;align-items:center;gap:.45rem;font-weight:600;color:#e6e6e6;margin-right:.35rem}.admin-switch input{position:absolute;opacity:0;pointer-events:none}.admin-switch-track{width:42px;height:24px;border-radius:999px;background:#2a2a2a;border:1px solid #3a3a3a;display:inline-flex;align-items:center;padding:2px;transition:background .2s ease,border-color .2s ease}.admin-switch-thumb{width:18px;height:18px;border-radius:50%;background:#f0f0f0;transform:translate(0);transition:transform .2s ease;box-shadow:0 2px 6px #00000059}.admin-switch input:checked+.admin-switch-track{background:#1c5f3a;border-color:#247548}.admin-switch input:checked+.admin-switch-track .admin-switch-thumb{transform:translate(18px)}.admin-switch-label{font-size:.95rem}.admin-list{margin-top:1rem;border:1px solid #2f2f2f;border-radius:10px;overflow:hidden}.admin-row{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;border-top:1px solid #242424;background:#1c1c1c}.admin-row:first-child{border-top:none}.admin-row:nth-child(2n){background:#202020}.admin-row-title{font-weight:600}.admin-row-subtitle{color:#b0b0b0;font-size:.9rem}.admin-row-actions{display:flex;gap:.4rem}.modal-backdrop{position:fixed;inset:0;background:#0000008c;display:flex;justify-content:center;align-items:center;z-index:2000;padding:1rem}.modal{background:#181818;border:1px solid #2f2f2f;border-radius:12px;width:85vw;height:85vh;max-width:1400px;max-height:90vh;box-shadow:0 18px 40px #00000073;display:flex;flex-direction:column;gap:1rem;padding:1rem 1.25rem 1.25rem;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap;position:sticky;top:0;z-index:2;background:#181818;padding-top:.25rem}.modal-title{font-weight:700}.modal-subtitle{color:#b5b5b5;font-size:.95rem}.modal-body{display:flex;flex-direction:column;gap:1rem;overflow-y:auto;padding-right:.4rem}.modal-row{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.modal-guide{padding:.75rem;border-radius:10px;border:1px solid #2c2c2c;background:#121212;color:#dcdcdc;display:flex;flex-direction:column;gap:.35rem}.modal-guide code{background:#1f1f1f;padding:.1rem .3rem;border-radius:6px;border:1px solid #2d2d2d;color:#f0f0f0}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap;position:sticky;bottom:0;padding:.6rem 0;background:linear-gradient(180deg,#18181899,#181818 40% 100%);z-index:2}.modal-actions-top{position:sticky;top:54px;display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap;padding:.4rem 0;background:#181818;z-index:2}.file-chosen{color:#cfcfcf;font-size:.9rem}.admin-empty{padding:1rem;color:#b0b0b0}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.admin-inline{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;justify-content:flex-end;flex:1 1 320px}.admin-select{padding:.5rem;border-radius:8px;border:1px solid #3a3a3a;background:#1f1f1f;color:#f0f0f0}@media(max-width:720px){.admin-section-header{align-items:flex-start}.admin-inline{justify-content:flex-start;width:100%}.admin-filter-input{max-width:100%}}@media(max-width:430px){:root{padding:0;font-size:14px}body{min-width:0;overflow-x:hidden}.app-header{padding:1rem .5rem;width:100%}.header-row{flex-wrap:wrap;justify-content:center;gap:.5rem;font-size:1.25rem;text-align:center}.login-header{font-size:1.2em}.admin-section-title,.student-assignment-title,.marking-title{font-size:1.05rem}.admin-section-subtitle,.student-assignment-sub,.marking-subtitle,.admin-row-subtitle,.student-assignment-meta{font-size:.85rem}.logo{height:40px}.app-container{width:100%}.login-container{width:100%;margin-top:20px}.motd{width:calc(100% - 1rem);max-width:calc(100% - 1rem)}.login-form{padding:1rem}.menu-block{flex-direction:column;align-items:stretch}.menu-actions{width:100%;justify-content:flex-start}.student-assignment-section{padding:.85rem}.student-assignment-header{flex-direction:column;align-items:flex-start;gap:.35rem}.student-assignment-grid{grid-template-columns:1fr}.student-assignment-card{padding:.75rem}.admin-panel{width:100%}.admin-nav{gap:.4rem}.admin-nav-button{flex:1 1 100%;text-align:left}.admin-section{padding:.85rem}.admin-grid{grid-template-columns:1fr}.admin-form-actions{flex-direction:column;align-items:stretch}.admin-form-actions button,.admin-inline{width:100%}.admin-inline>*{flex:1 1 100%}.student-row{flex-direction:column;align-items:flex-start;gap:.35rem}.biggergap{margin-left:0}.report-table-wrapper{overflow-x:auto}.report-table{min-width:720px;font-size:.8rem}.marking-unit-grid{grid-template-columns:1fr}.marking-workspace-header{flex-direction:column;align-items:flex-start;gap:.5rem}.marking-workspace-actions{width:100%;justify-content:stretch}.marking-workspace-actions button{flex:1 1 100%}.marking-controls{flex-direction:column;align-items:stretch}.marking-comment{min-width:0;width:100%}.answer-toolbar{gap:.25rem}.answer-toolbar-button{width:32px;height:32px}.qa-question{flex-direction:row;align-items:flex-start;flex-wrap:wrap}.reference-row,.reference-actions{flex-direction:column;align-items:stretch}.reference-remove,.reference-add{width:100%}.answer-editor{margin:.5rem}.question-scroll{max-height:70vh}.modal{width:94vw;height:auto;max-height:92vh}.modal-row{grid-template-columns:1fr}.modal-actions{justify-content:stretch}.confirm-modal{width:94vw;max-width:94vw}}.student-assignment-section{margin-top:1rem;padding:1rem;border:1px solid #2f2f2f;border-radius:12px;background:#181818;box-shadow:0 10px 20px #00000059}.student-assignment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.student-assignment-title{font-weight:700}.student-assignment-sub{color:#b0b0b0;font-size:.9rem}.student-assignment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.student-assignment-card{border:1px solid #2d2d2d;border-radius:10px;padding:.85rem;background:#1f1f1f;box-shadow:0 4px 10px #00000040;display:flex;flex-direction:column;gap:.25rem}.student-assignment-card-button{all:unset;width:100%;text-align:left;cursor:pointer}.student-assignment-card-button:focus{outline:2px solid #4fa3ff;outline-offset:4px}.student-assignment-label{color:#b0b0b0;font-size:.9rem}.student-assignment-value{font-weight:700}.student-assignment-meta{color:#c8c8c8;font-size:.9rem}.student-assignment-empty{color:#b0b0b0;margin-bottom:.5rem}.answer-toolbar{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.answer-toolbar-button{border-radius:6px;border:1px solid #2f2f2f;background:#1c1c1c;color:#f4f4f4;padding:.15rem;font-size:.5rem;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center}.answer-toolbar-button.active{border-color:#4fa3ff;background:#243447}.answer-toolbar-button img{width:24px;height:24px}.confirm-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2100}.confirm-modal{background:#1d1d1d;border:1px solid #2f2f2f;border-radius:12px;padding:1rem 1.25rem;min-width:320px;max-width:420px;box-shadow:0 16px 32px #0006}.confirm-title{font-weight:700;margin-bottom:.35rem}.confirm-text{color:#ccc;margin-bottom:.85rem}.confirm-actions{display:flex;justify-content:flex-end;gap:.5rem}.answer-toolbar-button:disabled{opacity:.6;cursor:not-allowed}.answer-editor{border:1px solid #bdb2b2;border-radius:10px;min-height:220px;margin:0 1rem;padding:0 .75rem;background:#151515;color:#f5f5f5;box-shadow:inset 0 1px #ffffff0a}.answer-editor .ProseMirror{min-height:180px;outline:none;line-height:1.55}.answer-editor .ProseMirror p.is-editor-empty:before{color:#6c6c6c;content:attr(data-placeholder);float:left;height:0;pointer-events:none}.answer-blocked{margin-top:.4rem;color:#ff8c69}.question-list{margin:.75rem 0 1rem}.question-scroll{max-height:80%;overflow-y:auto;border:1px solid #2f2f2f;border-radius:10px;padding:.75rem;background:#121212;display:flex;flex-direction:column;gap:.75rem}.marking-section{margin-top:1rem;display:flex;flex-direction:column;gap:1rem}.marking-header{display:flex;flex-direction:column;gap:.25rem}.marking-title{font-weight:700;font-size:1.3rem}.marking-subtitle{color:#b5b5b5;font-size:.95rem}.marking-unit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.marking-unit-card{text-align:left;background:#1f1f1f;border:1px solid #2f2f2f;border-radius:12px;padding:.85rem;color:#f4f4f4;box-shadow:0 8px 16px #00000059}.marking-unit-card.active{border-color:#4fa3ff;box-shadow:0 12px 20px #0006}.marking-unit-name{font-weight:700;margin-bottom:.25rem}.marking-unit-meta{color:#c9c9c9;font-size:.9rem;margin-bottom:.4rem}.marking-unit-stats{display:flex;gap:.5rem;flex-wrap:wrap}.stat-chip{background:#243447;border:1px solid #3a516b;padding:.25rem .5rem;border-radius:999px;font-size:.85rem}.marking-submissions{border:1px solid #2f2f2f;border-radius:12px;padding:.75rem;background:#181818;display:flex;flex-direction:column;gap:.5rem}.marking-submission-card{width:100%;text-align:left;background:#1d1d1d;border:1px solid #2c2c2c;border-radius:10px;padding:.75rem;color:#f5f5f5}.marking-submission-card.active{border-color:#4fa3ff}.marking-submission-title{font-weight:700}.marking-submission-meta{color:silver;font-size:.9rem}.marking-workspace{border:1px solid #2f2f2f;border-radius:12px;padding:1rem;background:#111;display:flex;flex-direction:column;gap:.75rem;position:relative}.marking-workspace-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;flex-wrap:wrap;position:sticky;top:0;z-index:10;background:linear-gradient(180deg,#111,#0e0e0e);padding:.5rem 0 .65rem;margin:-.25rem 0 .35rem;border-bottom:1px solid #2a2a2a;box-shadow:0 6px 14px #00000059}.marking-workspace-title{font-weight:700;font-size:1.1rem}.marking-workspace-meta{color:#c1c1c1;font-size:.95rem}.marking-workspace-actions{display:flex;gap:.5rem;flex-wrap:wrap}.marking-question{border:1px solid #2a2a2a;border-radius:10px;padding:.75rem;background:#161616;display:flex;flex-direction:column;gap:.5rem}.marking-question-header{display:flex;gap:.5rem;align-items:flex-start}.marking-question-ref{font-weight:700;color:#cce1ff}.marking-question-text{color:#f5f5f5}.marking-answer-box{border:1px solid #2f2f2f;border-radius:8px;padding:.65rem;background:#101010}.marking-controls{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.marking-switch{display:inline-flex;align-items:center;gap:.45rem;font-weight:600;color:#f2f2f2}.marking-switch input{position:absolute;opacity:0;pointer-events:none}.marking-switch-track{width:46px;height:24px;border-radius:999px;background:#7a2626;border:1px solid #8e2f2f;display:inline-flex;align-items:center;padding:2px;transition:background .2s ease,border-color .2s ease}.marking-switch-thumb{width:18px;height:18px;border-radius:50%;background:#f2f2f2;transform:translate(0);transition:transform .2s ease;box-shadow:0 2px 6px #00000059}.marking-switch input:checked+.marking-switch-track{background:#1c5f3a;border-color:#247548}.marking-switch input:checked+.marking-switch-track .marking-switch-thumb{transform:translate(20px)}.marking-switch-label{font-size:.95rem}.marking-comment{flex:1;min-width:220px;border-radius:8px;border:1px solid #2f2f2f;background:#1a1a1a;color:#f4f4f4;padding:.5rem;resize:vertical}.marking-empty{color:#b7b7b7}.question-item{border-bottom:1px solid #242424;padding-bottom:.6rem}.question-item:last-child{border-bottom:none;padding-bottom:0}.question-ref{font-weight:700;color:#e2e2e2}.question-text{color:#d0d0d0;vertical-align:top}.qa-list{display:flex;flex-direction:column;gap:1rem;padding-right:.25rem}.qa-block{border-radius:12px;background:#141414;display:flex;flex-direction:column}.qa-question{display:flex;flex-direction:row;align-items:center;gap:.2rem}.question-ref{display:inline-flex;align-items:center;padding:0 .4rem;line-height:1.15;border-radius:7px}.question-text{flex:1;display:inline-flex;align-items:center;padding:0 .55rem;border-radius:8px}.qa-answer{display:flex;flex-direction:column;gap:.35rem}.references-group{display:flex;flex-direction:column;gap:.5rem;margin-top:.35rem}.reference-row{display:flex;gap:.5rem;align-items:center}.reference-input{flex:1;padding:.65rem .75rem;border-radius:10px;border:1px solid #2f2f2f;background:#111;color:#f4f4f4}.reference-remove{padding:.45rem .75rem;background:#2a2a2a;border:1px solid #3a3a3a;border-radius:8px;color:#f5f5f5}.reference-actions{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}.reference-add{padding:.5rem .75rem;background:#1c1c1c;border:1px solid #2f2f2f;border-radius:8px;color:#f4f4f4}.reference-add:disabled{opacity:.6;cursor:not-allowed}.reference-note{color:#9a9a9a;font-size:.9rem}.upload-section{margin-top:.5rem;padding-top:.35rem;border-top:1px solid #1f1f1f;display:flex;flex-direction:column;gap:.4rem}.upload-header{font-weight:700;color:#e8e8e8}.upload-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.upload-button{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .85rem;border-radius:10px;border:1px dashed #343434;background:#1a1a1a;color:#f4f4f4;cursor:pointer;position:relative;overflow:hidden}.upload-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.upload-button.disabled{opacity:.6;cursor:not-allowed}.upload-note{color:#9a9a9a;font-size:.9rem}.upload-list{display:flex;flex-wrap:wrap;gap:.6rem}.upload-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .65rem;border:1px solid #2f2f2f;border-radius:10px;background:#0f0f0f}.upload-thumb{width:92px;height:72px;border-radius:8px;border:1px solid #2f2f2f;background:#1a1a1a;display:flex;align-items:center;justify-content:center;overflow:hidden}.upload-thumb img{width:100%;height:100%;object-fit:cover}.upload-doc{padding:.45rem .7rem;background:#1d1d1d;border:1px solid #2f2f2f;border-radius:8px;color:#f4f4f4}.upload-download{color:#b8d4ff;font-size:.9rem}.upload-remove{padding:.35rem .55rem;background:#2a1a1a;border:1px solid #3a2626;border-radius:8px;color:#f5c2c2}.lightbox-backdrop{position:fixed;inset:0;background:#000000b8;display:flex;align-items:center;justify-content:center;z-index:9999}.lightbox-body{background:#0d0d0d;border:1px solid #2f2f2f;border-radius:12px;padding:1rem;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;gap:.5rem}.lightbox-image-wrap{max-height:70vh;overflow:auto;display:flex;justify-content:center}.lightbox-image-wrap img{max-width:80vw;max-height:70vh;object-fit:contain}.lightbox-close{align-self:flex-end;background:#1d1d1d;border:1px solid #333;padding:.35rem .7rem;border-radius:8px;color:#f4f4f4}.lightbox-caption{color:#d0d0d0;font-size:.95rem}@media print{.no-print,.modal-backdrop{display:none!important}body{background:#fff}.modal{position:static!important;box-shadow:none!important;border:none!important;max-width:100%!important}}
