:root{--primary:#ff8c00;--accent:#0064aa;--bg:#000;--bg-alt:#121212;--text:#fff;--text-secondary:#ccc;--bg-card:#1a1a1a;--bg-navbar:#1e1e1e;--border:#404040;--shadow:0 2px 10px rgba(0,0,0,.5);--timeline-line:var(--primary);--event-dot:var(--accent);--event-hover:rgba(255,140,0,.2)}[data-theme=light]{--bg:#f5f5f5;--bg-alt:#e0e0e0;--text:#333;--text-secondary:#666;--bg-card:#fff;--bg-navbar:#fff;--border:#e0e0e0;--shadow:0 2px 10px rgba(0,0,0,.1);--event-hover:rgba(255,140,0,.1)}body{--current-bg:var(--bg);--current-text:var(--text);--current-bg-card:var(--bg-card);--current-border:var(--border)}[data-theme=light] body{--current-bg:#f5f5f5;--current-text:#333;--current-bg-card:#fff;--current-border:#e0e0e0}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Helvetica Neue,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;min-height:100vh;transition:background .3s ease,color .3s ease}.navbar{background:var(--bg-navbar);border-bottom:2px solid var(--primary);justify-content:space-between;padding:1rem 2rem;position:sticky;top:0;z-index:100}.logo-link,.navbar{align-items:center;display:flex}#site-logo{height:120px;transition:opacity .3s ease;width:auto}.nav-links{align-items:center;display:flex;gap:1.5rem}.nav-button{border:1px solid transparent;border-radius:4px;color:var(--text);font-weight:600;padding:.5rem 1rem;position:relative;text-decoration:none;transition:all .3s ease}.nav-button:hover{border-color:var(--primary);color:var(--primary)}.nav-button:after{background:var(--primary);bottom:0;content:"";height:2px;left:50%;position:absolute;transition:width .3s ease,left .3s ease;width:0}.nav-button:hover:after{left:0;width:100%}.theme-toggle{background:none;border:2px solid var(--primary);border-radius:4px;color:var(--text);cursor:pointer;margin-left:1rem;padding:.5rem 1rem;transition:background .3s ease,color .3s ease}.theme-toggle:hover{background:var(--primary);color:#fff}.theme-icon{font-size:1.2rem}.container{margin:0 auto;max-width:1200px;padding:2rem}.btn-primary{background:var(--primary);color:#fff;font-weight:600;transition:background .3s ease,transform .2s ease}.btn-primary:hover{background:#e67e00;transform:translateY(-1px)}.btn-secondary{background:var(--accent);border:none;border-radius:4px;color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:background .3s ease,transform .2s ease}.btn-secondary:hover{background:#005288;transform:translateY(-1px)}input,textarea{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;color:var(--text);padding:.75rem;transition:border-color .3s ease,box-shadow .3s ease;width:100%}input:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(255,140,0,.2);outline:none}label{color:var(--text);display:block;font-weight:600;margin-bottom:.5rem}.timeline-container{margin:0 auto;max-width:900px;padding:1rem;position:relative}.timeline-header{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;padding:0 1rem}.timeline-title{color:var(--primary);font-size:2rem;font-weight:700}.upload-btn{font-size:.9rem}.timeline-selector{max-width:500px;width:100%}.timeline-selector select{background:var(--bg-card);border:2px solid var(--border);border-radius:6px;color:var(--text);cursor:pointer;font-size:1rem;padding:.75rem;transition:border-color .3s ease,box-shadow .3s ease;width:100%}.timeline-selector select:focus,.timeline-selector select:hover{border-color:var(--primary);box-shadow:0 0 0 3px rgba(255,140,0,.2);outline:none}.timeline-selector select option{background:var(--bg-card);color:var(--text)}.timeline-navigation{display:flex;flex-wrap:wrap;gap:.5rem;overflow-x:auto;padding:.5rem 0}.nav-label{color:var(--text-secondary);padding-right:.5rem}.nav-label,.nav-link{font-size:.875rem;white-space:nowrap}.nav-link{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;color:var(--text);display:inline-block;padding:.375rem .75rem;text-decoration:none;transition:all .2s ease}.nav-link:hover{background:rgba(255,140,0,.1);border-color:var(--primary);color:var(--primary)}.nav-link.h1{font-size:1rem;font-weight:700}.nav-link.h2{font-weight:600;padding-left:1rem}.nav-link.h3{font-weight:500;padding-left:1.5rem}.timeline-actions{display:flex;gap:1rem;padding-top:.5rem}.timeline-actions .btn-primary,.timeline-actions .btn-secondary{border-radius:6px;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;text-decoration:none;transition:all .3s ease}.timeline-actions .btn-primary{background:var(--primary);border:2px solid var(--primary);color:#fff}.timeline-actions .btn-primary:hover{background:transparent;color:var(--primary)}.timeline-actions .btn-secondary{background:var(--bg-card);border:2px solid var(--border);color:var(--text)}.timeline-actions .btn-secondary:hover{border-color:var(--primary);color:var(--primary)}.timeline-wrapper{padding-left:3rem;position:relative}.timeline-wrapper:before{background:var(--timeline-line);bottom:0;content:"";left:1.5rem;position:absolute;top:0;width:2px}.year-marker{background:var(--bg);border-radius:4px;box-shadow:var(--shadow);display:inline-block;margin:1rem 0;padding:.5rem 1rem;position:sticky;top:80px;z-index:10}.year-text{color:var(--accent);font-size:1.5rem;font-weight:700}.timeline-event{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);cursor:pointer;margin:1.5rem 0;padding:1.5rem;position:relative;transition:all .3s ease}.timeline-event:hover{background:var(--event-hover);box-shadow:0 4px 15px rgba(255,140,0,.2);transform:translateX(5px)}.event-date-badge{align-items:center;background:var(--bg-card);border:2px solid var(--accent);border-radius:50%;box-shadow:var(--shadow);color:var(--text);display:flex;flex-direction:column;font-size:.75rem;font-weight:600;height:60px;justify-content:center;left:-3rem;position:absolute;top:1.5rem;width:60px;z-index:5}.date-month{color:var(--primary);font-size:.7rem;line-height:1}.date-day{color:var(--accent);font-size:1.5rem;line-height:1}.date-year{color:var(--text-secondary);font-size:.7rem;line-height:1}.event-content{margin-left:1rem}.event-title{color:var(--accent);font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.event-category{color:var(--primary);font-size:.9rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.event-description{color:var(--text-secondary);font-size:.95rem;margin-bottom:.75rem}.event-docs-indicator{align-items:center;background:rgba(255,140,0,.1);border-radius:20px;color:var(--primary);display:inline-flex;font-size:.85rem;gap:.5rem;margin-top:.5rem;padding:.25rem .75rem}.docs-icon{font-size:.9rem}.docs-count{font-weight:500}.event-connector{background:var(--accent);height:2px;left:-1.5rem;position:absolute;top:2.5rem;width:1.5rem;z-index:1}.empty-timeline{color:var(--text-secondary);padding:3rem;text-align:center}.empty-timeline p{font-size:1.1rem}.popup-modal{align-items:center;display:flex;height:100%;justify-content:center;left:0;opacity:0;position:fixed;top:0;transition:opacity .3s ease,visibility .3s ease;visibility:hidden;width:100%;z-index:1000}.popup-modal.active{opacity:1;visibility:visible}.popup-overlay{backdrop-filter:blur(5px);background:rgba(0,0,0,.7);height:100%;left:0;position:absolute;top:0;width:100%}.popup-content{animation:popupSlideIn .3s ease;background:var(--bg-card);border:2px solid var(--primary);border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.3);color:var(--text);max-height:90vh;max-width:700px;overflow-y:auto;padding:2rem;position:relative;width:90%}@keyframes popupSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.popup-close{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1.5rem;height:36px;justify-content:center;position:absolute;right:1rem;top:1rem;transition:color .3s ease;width:36px}.popup-close:hover{background:rgba(255,140,0,.1);color:var(--primary)}.popup-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-right:2rem}.popup-title{color:var(--accent);font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.popup-date-badge{background:var(--primary);border-radius:20px;color:#fff;font-size:.85rem;font-weight:600;padding:.25rem 1rem}.popup-body{margin-bottom:1.5rem}.popup-category{color:var(--primary);font-size:1rem;font-weight:600;letter-spacing:.5px;margin-bottom:1rem;text-transform:uppercase}.popup-description,.popup-notes{color:var(--text);line-height:1.7;margin-bottom:1rem}.popup-description{font-size:1rem}.popup-notes{color:var(--text-secondary);font-size:.95rem}.popup-media{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.5rem}.media-title{color:var(--accent);font-size:1rem;font-weight:600;margin-bottom:1rem}.media-content{color:var(--text)}.media-content a{color:var(--primary);display:block;margin-bottom:.5rem;text-decoration:none;transition:color .3s ease}.media-content a:hover{color:#e67e00;text-decoration:underline}.popup-footer{border-top:1px solid var(--border);display:flex;justify-content:flex-end;padding-top:1.5rem}.popup-footer .btn-secondary{min-width:100px}@media (max-width:900px){.timeline-container{padding:.5rem}.timeline-wrapper{padding-left:2.5rem}.timeline-wrapper:before{left:1rem}.event-date-badge{height:50px;left:-2.5rem;width:50px}.event-connector{left:-1rem}.popup-content{padding:1.5rem;width:95%}}@media (max-width:768px){.navbar{flex-wrap:wrap;gap:1rem;padding:1rem}.nav-links{gap:1rem;justify-content:center;order:3;width:100%}#site-logo{height:80px}.timeline-title{font-size:1.5rem;text-align:center}.timeline-header{flex-direction:column;gap:1rem;text-align:center}.event-date-badge{height:45px;left:-2rem;width:45px}.date-day{font-size:1.25rem}.event-content{margin-left:.5rem}.event-title{font-size:1.1rem}.year-marker{margin:1rem auto;position:static;width:fit-content}.popup-content{margin:0 1rem;width:98%}.popup-overlay{background:rgba(0,0,0,.8)}}@media (max-width:480px){.event-date-badge{height:40px;width:40px}.date-day{font-size:1rem}.date-month,.date-year{font-size:.65rem}.popup-title{font-size:1.5rem}.popup-header{flex-direction:column;gap:1rem;padding-right:0}}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}a:focus-visible,button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.timeline-event:hover{transform:none}}.archive-container{margin:0 auto;max-width:1000px}.archive-list{display:grid;gap:1.5rem;margin-top:2rem}.archive-item{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:1.5rem}.doc-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.archive-item .doc-title{color:var(--accent);font-size:1.25rem;font-weight:700}.badge{border-radius:20px;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.badge-pdf{background:rgba(255,50,50,.2);color:#ff3232}.badge-image{background:rgba(50,150,255,.2);color:#3296ff}.badge-text{background:hsla(0,0%,39%,.2);color:var(--text-secondary)}.badge-word{background:rgba(0,100,170,.2);color:var(--accent)}.doc-category,.doc-date,.doc-description,.doc-uploader{color:var(--text-secondary);font-size:.9rem;margin-bottom:.5rem}.doc-meta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.doc-tags{margin-top:1rem}.tag{background:rgba(255,140,0,.2);border-radius:4px;color:var(--primary);display:inline-block;font-size:.85rem;margin-bottom:.5rem;margin-right:.5rem;padding:.25rem .75rem}.doc-actions{display:flex;gap:.75rem;margin-top:1rem}.doc-actions a{text-decoration:none}.empty-archive{color:var(--text-secondary);padding:3rem;text-align:center}.empty-archive p{font-size:1.1rem;margin-bottom:1.5rem}.document-detail-container{margin:0 auto;max-width:1000px}.document-detail-container .doc-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:2rem}.document-detail-container .doc-title{font-size:2rem}.document-detail-container .doc-actions{display:flex;gap:1rem}.doc-meta-grid{background:var(--bg);border-radius:8px;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem;padding:1rem}.meta-item{display:flex;flex-direction:column;gap:.25rem}.meta-label{color:var(--text-secondary);font-size:.85rem;letter-spacing:.5px;text-transform:uppercase}.meta-value{color:var(--text);font-weight:600}.doc-section{margin-bottom:2rem}.doc-section h3{color:var(--accent);font-size:1.25rem;margin-bottom:1rem}.doc-section p{color:var(--text);line-height:1.7}.tags-list{display:flex;flex-wrap:wrap;gap:.5rem}.file-preview,.image-preview,.pdf-preview{background:var(--bg);border-radius:8px;padding:1rem;text-align:center}.pdf-preview embed,.preview-image{border:1px solid var(--border);border-radius:4px}.preview-image{max-width:100%}.upload-container{margin:0 auto;max-width:700px}.upload-container h1{color:var(--primary);margin-bottom:2rem}.upload-form{background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:2rem}.form-group{margin-bottom:1.5rem}.form-group label{color:var(--text);display:block;font-weight:600;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;color:var(--text);padding:.75rem;width:100%}.form-group textarea{min-height:100px;resize:vertical}.form-group .help-text{color:var(--text-secondary);font-size:.85rem;margin-top:.5rem}.form-group .error{color:#f44;font-size:.85rem;margin-top:.5rem}.form-actions{display:flex;gap:1rem;margin-top:2rem}.form-actions a,.form-actions button{padding:.75rem 1.5rem}.workspace{display:grid;grid-template-rows:auto 1fr;min-height:100vh}.workspace-header{background:var(--bg-navbar);border-bottom:2px solid var(--primary);flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1rem 2rem;position:sticky;top:0;z-index:100}.case-selector,.workspace-header{align-items:center;display:flex}.case-selector select{background:var(--bg-card);border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer;font-size:1rem;min-width:150px;padding:.5rem 1rem}.case-selector select:focus,.case-selector select:hover{border-color:var(--primary);outline:none}.workspace-nav{align-items:center;display:flex;gap:1rem}.workspace-nav .nav-button{padding:.5rem 1rem}.logo-and-toggle{align-items:center;display:flex;gap:1rem}.workspace-body{display:grid;grid-template-columns:2fr 1fr 1fr;height:calc(100vh - 60px);overflow:hidden;transition:grid-template-columns .3s ease-in-out}.workspace-pane{background:var(--bg);border-right:1px solid var(--border);color:var(--text);display:flex;flex-direction:column;overflow:hidden;transition:width .3s ease-in-out,opacity .3s ease-in-out,min-width .3s ease-in-out}.workspace-pane[data-state=default]{min-width:0;opacity:1;width:auto}.workspace-pane[data-state=collapsed]{border-right:none;min-width:0!important;opacity:0;overflow:hidden;width:0!important}.workspace-pane[data-state=fullscreen]{grid-column:1/-1;min-width:100%;opacity:1;width:100%}.workspace-body:has(.workspace-pane[data-state=collapsed]:first-child){grid-template-columns:1fr 1fr}.workspace-body:has(.workspace-pane[data-state=collapsed]:nth-child(2)){grid-template-columns:2fr 1fr}.workspace-body:has(.workspace-pane[data-state=collapsed]:nth-child(3)){grid-template-columns:2fr 1fr}.workspace-body:has(.workspace-pane[data-state=fullscreen]) .workspace-pane:not([data-state=fullscreen]){border-right:none;min-width:0;opacity:0;overflow:hidden;width:0}.workspace-pane:last-child{border-right:none}.workspace-pane[data-pane=timeline]{grid-column:1}.workspace-pane[data-pane=archive]{grid-column:2}.workspace-pane[data-pane=ai]{grid-column:3}.pane-header{align-items:center;background:var(--bg-navbar);border-bottom:1px solid var(--border);color:var(--text);display:flex;justify-content:space-between;min-height:40px;padding:.5rem 1rem;position:relative;z-index:10}.pane-header h2{color:var(--primary);font-size:1rem;font-weight:600;margin:0}.pane-controls{display:flex;gap:.25rem}.pane-control{background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer;font-size:.8rem;line-height:1;padding:.25rem .5rem;transition:all .2s ease}.pane-control:hover{background:var(--primary);border-color:var(--primary);color:#fff}.pane-control:active{transform:scale(.95)}.workspace-pane[data-state=collapsed] .pane-controls{display:none}.pane-content{flex:1;overflow-y:auto;padding:1rem}.workspace-pane[data-state=collapsed] .pane-content{display:none!important}.workspace-pane[data-state=fullscreen] .pane-content{flex:1;overflow-y:auto}.workspace-pane.active{border-right:2px solid var(--primary)}@media (max-width:1200px){.workspace-body{grid-template-columns:2fr 1fr}.workspace-pane[data-pane=ai]{display:none}}@media (max-width:900px){.workspace-body{grid-template-columns:1fr}.workspace-pane[data-pane=archive],.workspace-pane[data-pane=timeline]{grid-column:1}.workspace-pane[data-state=collapsed]{display:none}.workspace-pane[data-state=fullscreen]{display:block;min-width:100%;width:100%}}@media (max-width:768px){.workspace-header{align-items:stretch;flex-direction:column;gap:1rem;padding:1rem}.workspace-nav{flex-wrap:wrap;justify-content:center;order:3}.logo-and-toggle{justify-content:space-between;order:1}.case-selector{order:2}}.modal{align-items:center;background-color:rgba(0,0,0,.7);display:none;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-content{background-color:var(--bg-card);border:2px solid var(--primary);border-radius:8px;box-shadow:var(--shadow);max-width:400px;padding:2rem;text-align:center;width:90%}.modal-content h2{color:var(--primary);margin-bottom:1rem}.modal-content p{color:var(--text-secondary);margin-bottom:1.5rem}.modal-content input[type=text]{background-color:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:1rem;margin-bottom:1rem;padding:.75rem;width:100%}.modal-content input[type=text]:focus{border-color:var(--primary);outline:none}.btn-primary{background-color:var(--primary);border:none;border-radius:4px;color:#000;cursor:pointer;font-size:1rem;font-weight:700;padding:.75rem 1.5rem;transition:background-color .2s}.btn-primary:hover{background-color:var(--accent);color:#fff}[data-theme=light] .modal-content{background-color:#fff;border-color:#ff8c00}[data-theme=light] .modal-content h2{color:#ff8c00}[data-theme=light] .btn-primary{background-color:#ff8c00;color:#000}[data-theme=light] .btn-primary:hover{background-color:#0064aa;color:#fff}