*{margin:0;padding:0;box-sizing:border-box}:root{--color-bg: #0d0d0d;--color-bg-secondary: #151515;--color-surface: #1a1a1a;--color-surface-hover: #242424;--color-border: #2a2a2a;--color-text: #e8e8e8;--color-text-secondary: #888;--color-accent: #c9a227;--color-accent-hover: #ddb62e;--color-danger: #c44;--color-success: #4c8;--font-display: "Fraunces", Georgia, serif;--font-body: "Source Sans 3", system-ui, sans-serif}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);line-height:1.6;min-height:100vh}a{color:var(--color-accent);text-decoration:none}a:hover{color:var(--color-accent-hover)}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit}.app{min-height:100vh;display:flex;flex-direction:column}.main{flex:1;max-width:1200px;margin:0 auto;padding:2rem;width:100%}.nav{position:sticky;top:0;z-index:100;background:#0d0d0df2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border)}.nav-content{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.logo{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--color-text)}.logo-icon{font-size:1.5rem}.logo-text{font-family:var(--font-display);font-size:1.5rem;font-weight:500;letter-spacing:-.02em}.nav-links{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.nav-links a,.nav-links button{color:var(--color-text-secondary);text-decoration:none;font-weight:500;transition:all .2s;padding:.5rem .75rem;border-radius:6px;display:flex;align-items:center;gap:.35rem;font-size:.9rem;background:none;border:none}.nav-links a:hover,.nav-links a.active,.nav-links button:hover{color:var(--color-accent);background:var(--color-surface)}.nav-icon{font-size:1rem}.nav-user{display:flex;align-items:center;gap:1rem;margin-left:1rem;padding-left:1rem;border-left:1px solid var(--color-border)}.nav-user-name{color:var(--color-text-secondary);font-size:.875rem}.btn-logout{background:transparent!important;color:var(--color-danger)!important;border:1px solid var(--color-border)!important;padding:.375rem .75rem!important;font-size:.8125rem!important}.hero{text-align:center;padding:4rem 0;margin-bottom:3rem;border-bottom:1px solid var(--color-border)}.hero-icon{font-size:3rem;display:block;margin-bottom:1rem}.hero h1{font-family:var(--font-display);font-size:3.5rem;font-weight:300;margin-bottom:1rem;letter-spacing:-.03em;background:linear-gradient(135deg,var(--color-text) 0%,var(--color-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero p{color:var(--color-text-secondary);font-size:1.25rem}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;overflow:hidden;cursor:pointer;transition:all .3s ease;animation:fadeInUp .5s ease backwards}.card:hover{border-color:var(--color-accent);transform:translateY(-4px);box-shadow:0 12px 40px #0006}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.card-image{height:200px;overflow:hidden;background:var(--color-surface-hover)}.card-image img{width:100%;height:100%;object-fit:contain;filter:grayscale(30%);transition:all .3s}.card:hover .card-image img{filter:grayscale(0%);transform:scale(1.05)}.card-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:4rem;color:var(--color-accent);background:linear-gradient(135deg,var(--color-surface) 0%,var(--color-surface-hover) 100%)}.card-content{padding:1.5rem}.card-content h3{font-family:var(--font-display);font-size:1.25rem;font-weight:500;margin-bottom:.5rem}.card-meta{display:flex;gap:.5rem;font-size:.875rem;color:var(--color-text-secondary)}.card-meta span:after{content:"•";margin-left:.5rem}.card-meta span:last-child:after{display:none}.detail-page{animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.back-btn{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:1rem;padding:.5rem 0;margin-bottom:2rem;transition:color .2s}.back-btn:hover{color:var(--color-accent)}.detail-header{display:flex;gap:3rem;padding-bottom:3rem;margin-bottom:3rem;border-bottom:1px solid var(--color-border)}.detail-portrait{flex-shrink:0;width:200px;height:250px;border-radius:8px;overflow:hidden;background:var(--color-surface)}.detail-portrait img{width:100%;height:100%;object-fit:contain}.portrait-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:5rem;color:var(--color-accent)}.detail-info h1{font-family:var(--font-display);font-size:3rem;font-weight:300;margin-bottom:1rem;letter-spacing:-.02em}.detail-info .description{color:var(--color-text-secondary);font-size:1.125rem;margin-bottom:1.5rem;max-width:600px}.stats{display:flex;gap:1rem;flex-wrap:wrap}.stats span{padding:.5rem 1rem;background:var(--color-surface);border-radius:6px;font-size:.875rem;color:var(--color-text-secondary)}.items-section h2{font-family:var(--font-display);font-size:1.75rem;font-weight:500;margin-bottom:.5rem}.items-subtitle{color:var(--color-text-secondary);margin-bottom:2rem}.items-list{list-style:none}.item{display:flex;align-items:center;gap:1.5rem;padding:1.25rem 1.5rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;margin-bottom:.75rem;transition:all .2s;animation:slideIn .4s ease backwards}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.item:hover{border-color:var(--color-accent);background:var(--color-surface-hover)}.item-number{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-accent);color:var(--color-bg);font-weight:600;font-size:.875rem;border-radius:50%}.item-main{display:flex;align-items:center;gap:1.5rem;width:100%}.item-content{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;min-width:0}.item-content .item-header-row{display:flex;align-items:center;gap:.75rem;width:100%}.item-content h3{font-family:var(--font-display);font-size:1.125rem;font-weight:500}.item-author{font-size:.875rem;color:var(--color-text-secondary);font-style:italic;margin-top:.25rem}.item-meta{display:flex;align-items:center;gap:.75rem}.item-year{color:var(--color-text-secondary);font-size:.875rem;font-weight:500;flex-shrink:0;margin-left:auto}.item-badge{font-size:.75rem;font-weight:600;padding:.25rem .5rem;border-radius:4px}.badge-platform{background:var(--color-surface-hover);color:var(--color-accent);text-transform:uppercase;letter-spacing:.05em}.badge-episodes{background:#64c8ff26;color:#64c8ff}.badge-type{background:#c864ff26;color:#c864ff}.badge-content-type{background:#ffb46426;color:#ffb464}.badge-universe{background:#64ffb426;color:#64ffb4}.badge-subseries{background:#ff649626;color:#ff6496}.amazon-btn{display:flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#f90,#f60);color:#000;text-decoration:none;padding:.5rem 1rem;border-radius:6px;font-weight:600;font-size:.8125rem;transition:all .2s;white-space:nowrap;flex-shrink:0}.amazon-btn:hover{transform:scale(1.05);box-shadow:0 4px 15px #f906;color:#000}.goodreads-btn-inline{display:flex;align-items:center;gap:.4rem;background:linear-gradient(135deg,#553b08,#6b4b0a);color:#f4e4ba;text-decoration:none;padding:.5rem 1rem;border-radius:6px;font-weight:600;font-size:.8125rem;transition:all .2s;white-space:nowrap;flex-shrink:0}.goodreads-btn-inline:hover{transform:scale(1.05);box-shadow:0 4px 15px #553b0866;color:#f4e4ba}.goodreads-btn-inline svg{flex-shrink:0}.goodreads-btn-inline .goodreads-btn-text{display:inline-block;color:inherit}@media (max-width: 1024px) and (min-width: 769px){.goodreads-btn-inline .goodreads-btn-text{display:none}.goodreads-btn-inline{padding:.5rem}}.imdb-btn-inline{display:flex;align-items:center;gap:.4rem;background:linear-gradient(135deg,#f5c518,#dba400);color:#000;text-decoration:none;padding:.5rem .75rem;border-radius:6px;font-weight:700;font-size:.8125rem;transition:all .2s;white-space:nowrap;flex-shrink:0}.imdb-btn-inline:hover{transform:scale(1.05);box-shadow:0 4px 15px #f5c51866;color:#000}.imdb-btn-inline svg{flex-shrink:0}.imdb-btn-inline .imdb-score{font-weight:700;color:#000}.episode-imdb-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:.25rem;min-width:32px;height:32px;padding:0 .5rem;background:linear-gradient(135deg,#f5c518,#dba400);border-radius:6px;text-decoration:none;transition:transform .2s}.episode-imdb-btn:hover{transform:scale(1.1)}.episode-imdb-btn svg{flex-shrink:0}.episode-imdb-btn .episode-imdb-score{font-size:.75rem;font-weight:700;color:#000}.form-page{max-width:600px;margin:0 auto}.form-page h1{font-family:var(--font-display);font-size:2.5rem;font-weight:300;margin-bottom:2rem;text-align:center}.form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:2rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:.5rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem 1rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text);font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--color-accent)}.form-group textarea{resize:vertical;min-height:100px}.form-group select{cursor:pointer}.form-hint{display:block;margin-top:.375rem;font-size:.75rem;color:var(--color-text-secondary);opacity:.8}.form-actions{display:flex;gap:1rem;margin-top:1.5rem}.btn{padding:.75rem 1.5rem;border-radius:6px;font-weight:600;font-size:.9375rem;transition:all .2s;border:none}.btn-primary{background:var(--color-accent);color:var(--color-bg)}.btn-primary:hover{background:var(--color-accent-hover)}.btn-secondary{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-secondary:hover{border-color:var(--color-text-secondary);color:var(--color-text)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:#d55}.form-error{background:#c844441a;border:1px solid var(--color-danger);color:var(--color-danger);padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.875rem}.form-success{background:#44c8881a;border:1px solid var(--color-success);color:var(--color-success);padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.875rem}.admin-layout{display:grid;grid-template-columns:250px 1fr;gap:2rem;min-height:calc(100vh - 80px)}.admin-sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);padding:1.5rem}.admin-sidebar h2{font-family:var(--font-display);font-size:1.25rem;font-weight:500;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.admin-nav{list-style:none}.admin-nav li{margin-bottom:.5rem}.admin-nav a{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:6px;color:var(--color-text-secondary);transition:all .2s}.admin-nav a:hover,.admin-nav a.active{background:var(--color-surface-hover);color:var(--color-accent)}.admin-content{padding:1.5rem 2rem}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.admin-header h1{font-family:var(--font-display);font-size:2rem;font-weight:300}.table-container{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:1rem;text-align:left;border-bottom:1px solid var(--color-border)}.table th{background:var(--color-surface-hover);font-weight:600;font-size:.875rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--color-surface-hover)}.table-actions{display:flex;gap:.5rem}.table-actions button{padding:.375rem .75rem;font-size:.8125rem;border-radius:4px;background:none;border:1px solid var(--color-border);color:var(--color-text-secondary);transition:all .2s}.table-actions button:hover{border-color:var(--color-accent);color:var(--color-accent)}.table-actions button.delete:hover{border-color:var(--color-danger);color:var(--color-danger)}.status-badge{display:inline-block;padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-active{background:#44c88826;color:var(--color-success)}.status-inactive{background:#c8444426;color:var(--color-danger)}.role-badge{display:inline-block;padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:600}.role-admin{background:#c9a22726;color:var(--color-accent)}.role-editor{background:#64c8ff26;color:#64c8ff}.role-viewer{background:#88888826;color:#888}.image-upload{border:2px dashed var(--color-border);border-radius:8px;padding:2rem;text-align:center;cursor:pointer;transition:all .2s}.image-upload:hover{border-color:var(--color-accent)}.image-upload.has-image{padding:0;border-style:solid}.image-upload img{max-width:100%;max-height:200px;border-radius:6px}.image-upload-placeholder{color:var(--color-text-secondary)}.image-upload-placeholder span{display:block;font-size:2rem;margin-bottom:.5rem}.footer{margin-top:auto;border-top:1px solid var(--color-border);padding:2rem;text-align:center}.footer p{color:var(--color-text-secondary);font-size:.875rem}.footer-tagline{margin-top:.5rem;font-style:italic}.footer-links{margin-top:.75rem}.footer-links a{color:var(--color-text-secondary);font-size:.875rem;transition:color .2s}.footer-links a:hover{color:var(--color-accent)}.footer-affiliate-disclosure{margin-top:1rem;font-size:.75rem;opacity:.7}.loading{display:flex;justify-content:center;align-items:center;padding:4rem}.spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:4rem 2rem;color:var(--color-text-secondary)}.empty-state p{margin-bottom:1rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--color-border)}.modal-header h2{font-family:var(--font-display);font-size:1.5rem;font-weight:500}.modal-close{background:none;border:none;color:var(--color-text-secondary);font-size:1.5rem;cursor:pointer;padding:.25rem;line-height:1}.modal-close:hover{color:var(--color-text)}.modal-body{padding:1.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid var(--color-border)}.category-controls{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.search-bar{flex:1;min-width:200px;max-width:400px;position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:1rem;font-size:1rem;opacity:.6;pointer-events:none}.search-input{width:100%;padding:.75rem 2.5rem .75rem 2.75rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-size:1rem;transition:border-color .2s,box-shadow .2s}.search-input:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #c9a22726}.search-input::placeholder{color:var(--color-text-secondary);opacity:.7}.search-clear{position:absolute;right:.75rem;background:none;border:none;color:var(--color-text-secondary);font-size:1.25rem;cursor:pointer;padding:.25rem;line-height:1;border-radius:50%;transition:color .2s,background .2s}.search-clear:hover{color:var(--color-text);background:var(--color-surface-hover)}.sort-btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-secondary);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.sort-btn:hover{border-color:var(--color-accent);color:var(--color-text)}.sort-btn-active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg)}.sort-btn-active:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:var(--color-bg)}.sort-icon{font-weight:700;font-size:.8125rem}.search-results-count{color:var(--color-text-secondary);font-size:.875rem;margin-bottom:1rem}.genre-section{margin-bottom:3rem}.genre-section:last-child{margin-bottom:0}.genre-title{font-family:var(--font-display);font-size:1.75rem;font-weight:400;margin-bottom:.5rem;color:var(--color-text);display:flex;align-items:center;gap:.75rem}.genre-title:before{content:"";display:inline-block;width:4px;height:1.25em;background:var(--color-accent);border-radius:2px}.genre-description{color:var(--color-text-secondary);font-size:.9375rem;margin-bottom:1.5rem;padding-left:1.25rem}.item-expandable{cursor:pointer}.item-expanded{background:var(--color-surface-hover)}.expand-icon{margin-left:.5rem;font-size:.75rem;color:var(--color-accent);transition:transform .2s}.episodes-container{margin-top:1rem;margin-left:3rem;padding:1rem;background:var(--color-bg);border-radius:6px;border:1px solid var(--color-border)}.episodes-loading,.episodes-empty{color:var(--color-text-secondary);font-size:.875rem;padding:.5rem;text-align:center}.episodes-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.episode-item{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--color-surface);border-radius:6px;transition:background .2s}.episode-item:hover{background:var(--color-surface-hover)}.episode-number{flex-shrink:0;width:40px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-surface-hover);color:var(--color-accent);font-weight:600;font-size:.75rem;border-radius:4px}.episode-content{flex:1;display:flex;justify-content:space-between;align-items:center;gap:1rem;min-width:0}.episode-title{font-size:.9375rem;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.episode-date{flex-shrink:0;font-size:.8125rem;color:var(--color-text-secondary);font-family:var(--font-body);padding:.25rem .5rem;background:var(--color-surface-hover);border-radius:4px}.episode-amazon-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,#f90,#f60);border-radius:6px;text-decoration:none;transition:transform .2s}.episode-amazon-btn:hover{transform:scale(1.1)}.tracks-loading,.tracks-empty{color:var(--color-text-secondary);font-size:.875rem;padding:.5rem;text-align:center}.tracks-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.track-item{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;padding:.75rem 1rem;background:var(--color-surface);border-radius:6px;transition:background .2s}.track-item:hover{background:var(--color-surface-hover)}.track-number{flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--color-surface-hover);color:var(--color-accent);font-weight:600;font-size:.8125rem;border-radius:4px}.track-content{flex:1;display:flex;justify-content:flex-start;align-items:center;gap:1rem;min-width:120px}.track-title{flex:1;min-width:80px;font-size:.9375rem;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.track-title.expanded{white-space:normal;overflow:visible;text-overflow:unset}.track-duration{flex-shrink:0;font-size:.8125rem;color:var(--color-text-secondary);font-family:monospace;padding:.25rem .5rem;background:var(--color-surface-hover);border-radius:4px}.track-instrumental-label{flex-shrink:0;font-size:.75rem;color:#6b7280;font-style:italic;padding:.125rem .375rem;background:var(--color-surface-hover);border-radius:4px;border:1px dashed #9ca3af}.lyrics-toggle-btn{flex-shrink:0;padding:.375rem .75rem;font-size:.75rem;font-weight:600;background:#c9a22726;color:var(--color-accent);border:1px solid transparent;border-radius:4px;cursor:pointer;transition:all .2s}.lyrics-toggle-btn:hover{background:#c9a22740;border-color:var(--color-accent)}.track-amazon-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,#f90,#f60);border-radius:6px;text-decoration:none;transition:transform .2s}.track-amazon-btn:hover{transform:scale(1.1)}.lyrics-container{width:100%;margin-top:.75rem;padding:1rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px}.lyrics-text{font-family:var(--font-body);font-size:.875rem;line-height:1.7;color:var(--color-text-secondary);white-space:pre-wrap;word-wrap:break-word;margin:0}.track-spotify-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#1db954;color:#fff;border-radius:6px;text-decoration:none;transition:transform .2s,background .2s}.track-spotify-btn:hover{transform:scale(1.1);background:#1ed760;color:#fff}.track-genius-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:#ffff64;color:#000;border-radius:6px;text-decoration:none;transition:transform .2s,background .2s}.track-genius-btn:hover{transform:scale(1.1);background:#ffff8a;color:#000}.album-thumb{flex-shrink:0;width:48px;height:48px;border-radius:4px;overflow:hidden;background:var(--color-surface-hover)}.album-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.item-music:hover .album-thumb img{transform:scale(1.05)}.album-thumb-placeholder{display:flex;align-items:center;justify-content:center;color:var(--color-accent);font-size:1.25rem}.book-thumb{flex-shrink:0;width:36px;height:48px;border-radius:2px;overflow:hidden;background:var(--color-surface-hover);box-shadow:1px 1px 3px #0003}.book-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.item-books:hover .book-thumb img{transform:scale(1.05)}.book-thumb-placeholder{display:flex;align-items:center;justify-content:center;color:var(--color-accent);font-size:1rem}.tracks-container{margin-top:1rem;margin-left:3rem;padding:1rem;background:var(--color-bg);border-radius:6px;border:1px solid var(--color-border);display:flex;gap:1.5rem}.album-cover-large{flex-shrink:0;width:160px;height:160px;border-radius:8px;overflow:hidden;box-shadow:0 8px 24px #0006}.album-cover-large img{width:100%;height:100%;object-fit:cover}.tracks-content{flex:1;min-width:0}.book-details-container{margin-top:1rem;margin-left:3rem;padding:1.25rem;background:var(--color-bg);border-radius:6px;border:1px solid var(--color-border);display:flex;gap:1.5rem}.book-cover-large{flex-shrink:0;width:140px;height:200px;border-radius:4px;overflow:hidden;box-shadow:0 8px 24px #0006}.book-cover-large img{width:100%;height:100%;object-fit:cover}.book-details-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:1rem}.book-page-length{color:var(--color-text-secondary);font-size:.9rem;margin:0}.book-description{color:var(--color-text);line-height:1.6;margin:0;white-space:pre-wrap}.book-description-empty{color:var(--color-text-secondary);font-style:italic;margin:0}.goodreads-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#553b08;color:#f4e4ba;border-radius:6px;text-decoration:none;font-size:.875rem;font-weight:500;transition:background-color .2s,transform .2s;width:fit-content}.goodreads-btn:hover{background:#6b4b0a;transform:translateY(-1px)}.goodreads-btn svg{flex-shrink:0}.items-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem}.items-header h2{margin-bottom:.5rem}.items-header .items-subtitle{margin-bottom:0}.view-toggle{display:flex;gap:.5rem;flex-shrink:0}.view-toggle-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-secondary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.view-toggle-btn:hover{border-color:var(--color-accent);color:var(--color-text)}.view-toggle-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg)}.view-toggle-btn svg{flex-shrink:0}.series-tree{display:flex;flex-direction:column;gap:1rem}.tree-branch{animation:fadeInUp .4s ease backwards}.tree-series-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;cursor:pointer;transition:all .2s}.tree-series-header:hover{border-color:var(--color-accent);background:var(--color-surface-hover)}.tree-series-header.expanded{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-color:transparent}.tree-connector{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0}.tree-icon{color:var(--color-accent);font-size:.75rem;transition:transform .2s}.tree-icon-standalone{color:var(--color-text-secondary);font-size:1rem}.tree-series-name{flex:1;font-family:var(--font-display);font-size:1.25rem;font-weight:500;color:var(--color-text)}.tree-series-name .continuation-label{font-size:.875rem;font-weight:400;color:var(--color-text-secondary);font-style:italic}.tree-series-count{font-size:.875rem;color:var(--color-text-secondary);padding:.25rem .75rem;background:var(--color-surface-hover);border-radius:12px}.tree-series-years{font-size:.875rem;color:var(--color-accent);font-weight:500}.tree-children{position:relative;margin-left:12px;padding-left:24px;border-left:2px solid var(--color-border);background:var(--color-surface);border-bottom-left-radius:8px;border-bottom-right-radius:8px;border:1px solid var(--color-border);border-top:none;padding-top:.5rem;padding-bottom:.5rem;padding-right:.5rem}.tree-item{position:relative;display:flex;gap:.5rem;padding:.5rem 0}.tree-item-connector{position:relative;width:24px;flex-shrink:0}.tree-line-vertical{position:absolute;left:0;top:-.5rem;bottom:50%;width:2px;background:var(--color-border)}.tree-item:not(.tree-item-last) .tree-line-vertical{bottom:-.5rem}.tree-line-horizontal{position:absolute;left:0;top:50%;width:16px;height:2px;background:var(--color-border)}.tree-item-last .tree-line-vertical{bottom:50%}.tree-item-content{flex:1;background:var(--color-bg);border:1px solid var(--color-border);border-radius:6px;transition:all .2s;cursor:pointer}.tree-item-content:hover,.tree-item-content.expanded{border-color:var(--color-accent)}.tree-item-main{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem}.tree-book-thumb{flex-shrink:0;width:32px;height:44px;border-radius:2px;overflow:hidden;background:var(--color-surface-hover);box-shadow:1px 1px 3px #0003}.tree-book-thumb img{width:100%;height:100%;object-fit:cover}.tree-book-thumb-placeholder{display:flex;align-items:center;justify-content:center;font-size:.875rem}.tree-item-info{flex:1;min-width:0}.tree-item-info h4{font-family:var(--font-display);font-size:1rem;font-weight:500;margin:0;display:flex;align-items:center;gap:.5rem}.tree-expand-icon{font-size:.625rem;color:var(--color-accent)}.tree-item-author{font-size:.8125rem;color:var(--color-text-secondary);font-style:italic}.tree-item-badges{display:flex;gap:.5rem;margin-top:.25rem}.tree-item-year{font-size:.875rem;color:var(--color-text-secondary);font-weight:500;flex-shrink:0}.tree-item-details{display:flex;gap:1.25rem;padding:1rem;border-top:1px solid var(--color-border);background:var(--color-surface)}.standalone-header{cursor:default}.standalone-branch .tree-children{margin-top:.5rem}@media (max-width: 900px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{border-right:none;border-bottom:1px solid var(--color-border)}.admin-nav{display:flex;flex-wrap:wrap;gap:.5rem}.admin-nav li{margin:0}}@media (max-width: 768px){.nav-content{padding:1rem;flex-wrap:wrap;gap:1rem}.nav-links{order:3;width:100%;justify-content:center}.nav-user{margin-left:0;padding-left:0;border-left:none}.main{padding:1rem}.hero h1,.hero-icon{font-size:2rem}.detail-header{flex-direction:column;gap:1.5rem}.detail-portrait{width:150px;height:180px}.detail-info h1{font-size:2rem}.item{flex-wrap:wrap}.item-content{gap:.5rem}.item-content .item-header-row{flex-wrap:wrap;gap:.5rem}.item-meta,.item-main{flex-wrap:wrap}.amazon-btn{width:100%;justify-content:center;margin-top:.5rem}.goodreads-btn-inline{width:calc(50% - .25rem);justify-content:center;margin-top:.5rem;order:1}.goodreads-btn-inline .goodreads-btn-text{display:inline-block}.amazon-btn{order:2}.item-books .amazon-btn{width:calc(50% - .25rem)}.table-container{overflow-x:auto}.form-actions{flex-direction:column}.btn{width:100%;text-align:center}.category-controls{flex-direction:column}.search-bar{max-width:100%}.sort-btn{width:100%;justify-content:center}.episodes-container{margin-left:0;margin-top:.75rem}.episode-content{flex-direction:column;align-items:flex-start;gap:.25rem}.episode-title{white-space:normal}.tracks-container{margin-left:0;margin-top:.75rem;flex-direction:column}.album-cover-large{width:120px;height:120px;align-self:center}.album-thumb{width:40px;height:40px}.book-thumb{width:30px;height:40px}.book-details-container{margin-left:0;margin-top:.75rem;flex-direction:column}.book-cover-large{width:100px;height:145px;align-self:center}.track-content{flex-direction:column;align-items:flex-start;gap:.25rem}.track-title{white-space:normal}.lyrics-container{padding:.75rem}.track-spotify-btn,.track-amazon-btn{width:28px;height:28px}.items-header{flex-direction:column;gap:1rem}.view-toggle{width:100%}.view-toggle-btn{flex:1;justify-content:center}.tree-series-header{flex-wrap:wrap;gap:.5rem}.tree-series-name{flex-basis:calc(100% - 40px);font-size:1.125rem}.tree-series-count,.tree-series-years{font-size:.8125rem}.tree-children{margin-left:0;padding-left:1rem}.tree-item-main{flex-wrap:wrap;gap:.75rem}.tree-item-info{flex-basis:calc(100% - 50px)}.tree-item-main .goodreads-btn-inline,.tree-item-main .amazon-btn{width:calc(50% - .25rem);font-size:.75rem;padding:.4rem .75rem}.tree-item-details{flex-direction:column}.tree-item-details .book-cover-large{width:100px;height:145px;align-self:center}}.admin-timeline-container{margin-top:2rem;padding:1.5rem;background:linear-gradient(135deg,#c9a22714,#ddb62e0a);border:2px solid rgba(201,162,39,.3);border-radius:12px}.admin-timeline-title{font-family:var(--font-display);font-size:1.5rem;font-weight:500;color:#f4d03f;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid rgba(244,208,63,.3);display:flex;align-items:center;gap:.75rem}.admin-timeline-title:before{content:"";display:inline-block;width:8px;height:8px;background:#f4d03f;border-radius:50%;box-shadow:0 0 10px #f4d03f80}.admin-timeline-tree{display:flex;flex-direction:column;gap:1rem}.admin-timeline-branch{position:relative}.admin-timeline-series-header{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:#f4d03f1a;border:1px solid rgba(244,208,63,.3);border-radius:8px}.admin-timeline-connector{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0}.admin-timeline-icon{color:#f4d03f;font-size:.75rem;text-shadow:0 0 8px rgba(244,208,63,.5)}.admin-timeline-icon-standalone{color:#f4d03f99;font-size:1rem}.admin-timeline-series-name{flex:1;font-family:var(--font-display);font-size:1.125rem;font-weight:500;color:#f4d03f}.admin-timeline-series-count{font-size:.8125rem;color:#f4d03fcc;padding:.25rem .625rem;background:#f4d03f26;border-radius:10px}.admin-timeline-series-years{font-size:.8125rem;color:#f4d03f;font-weight:600}.admin-timeline-children{position:relative;margin-left:12px;padding-left:20px;border-left:2px solid rgba(244,208,63,.4);margin-top:.5rem}.admin-timeline-item{position:relative;display:flex;gap:.5rem;padding:.375rem 0}.admin-timeline-item-connector{position:relative;width:20px;flex-shrink:0}.admin-timeline-line-vertical{position:absolute;left:-22px;top:-.375rem;bottom:50%;width:2px;background:#f4d03f66}.admin-timeline-item:not(.admin-timeline-item-last) .admin-timeline-line-vertical{bottom:-.375rem}.admin-timeline-item-last .admin-timeline-line-vertical{bottom:50%}.admin-timeline-line-horizontal{position:absolute;left:-22px;top:50%;width:20px;height:2px;background:#f4d03f66}.admin-timeline-item-content{flex:1;display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:#f4d03f14;border:1px solid rgba(244,208,63,.2);border-radius:6px;transition:all .2s}.admin-timeline-item-content:hover{background:#f4d03f26;border-color:#f4d03f66}.admin-timeline-thumb{flex-shrink:0;width:28px;height:38px;border-radius:2px;object-fit:cover;background:#f4d03f1a;border:1px solid rgba(244,208,63,.2)}.admin-timeline-thumb-placeholder{display:flex;align-items:center;justify-content:center;font-size:.875rem;color:#f4d03f99}.admin-timeline-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.admin-timeline-item-title{font-size:.9375rem;font-weight:500;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-timeline-item-author{font-size:.75rem;color:#f4d03fb3;font-style:italic}.admin-timeline-item-year{flex-shrink:0;font-size:.8125rem;font-weight:600;color:#f4d03f;padding:.25rem .5rem;background:#f4d03f26;border-radius:4px}.admin-timeline-standalone{margin-top:.5rem}@media (max-width: 768px){.admin-timeline-container{padding:1rem;margin-top:1.5rem}.admin-timeline-title{font-size:1.25rem}.admin-timeline-series-header{flex-wrap:wrap;gap:.5rem}.admin-timeline-series-name{flex-basis:calc(100% - 40px);font-size:1rem}.admin-timeline-children{margin-left:8px;padding-left:16px}.admin-timeline-item-content{flex-wrap:wrap;gap:.5rem}.admin-timeline-item-info{flex-basis:calc(100% - 50px)}.admin-timeline-item-title{white-space:normal}}.view-count{display:flex;align-items:center;gap:.5rem}.view-count svg{opacity:.7}.detail-header{position:relative}.last-edited{position:absolute;top:0;right:0;display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--color-text-secondary);padding:.375rem .75rem;background:var(--color-surface);border-radius:6px;border:1px solid var(--color-border);opacity:.8;transition:opacity .2s}.last-edited:hover{opacity:1}.last-edited svg{opacity:.7}.item-view-meta{display:flex;align-items:center;gap:1rem;margin-top:.375rem;font-size:.75rem;color:var(--color-text-secondary)}.item-view-count{display:flex;align-items:center;gap:.35rem}.item-view-count svg{opacity:.6}.item-last-edited{display:flex;align-items:center;gap:.35rem}.item-last-edited svg{opacity:.6}.tree-item-view-meta{display:flex;align-items:center;gap:.75rem;margin-top:.25rem;font-size:.6875rem;color:var(--color-text-secondary)}.tree-item-view-meta .item-view-count,.tree-item-view-meta .item-last-edited{display:flex;align-items:center;gap:.25rem}@media (max-width: 768px){.last-edited{position:static;margin-top:1rem;justify-content:center}.item-view-meta{flex-wrap:wrap;gap:.5rem}}.forum-page{max-width:1000px;margin:0 auto}.forum-layout{display:grid;grid-template-columns:220px 1fr;gap:2rem}@media (max-width: 768px){.forum-layout{grid-template-columns:1fr}.forum-sidebar{order:1}}.forum-sidebar{display:flex;flex-direction:column;gap:1rem}.forum-categories-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1rem}.forum-categories-card h3{font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-bottom:.75rem}.forum-categories-list{list-style:none;padding:0;margin:0}.forum-categories-list li{margin-bottom:.25rem}.forum-categories-list a{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;border-radius:6px;color:var(--color-text);text-decoration:none;font-size:.9rem;transition:background .2s}.forum-categories-list a:hover{background:var(--color-surface-hover)}.forum-categories-list a.active{background:var(--color-accent);color:var(--color-bg)}.category-count{font-size:.75rem;color:var(--color-text-secondary);background:var(--color-bg);padding:.125rem .5rem;border-radius:10px}.forum-categories-list a.active .category-count{background:#0003;color:var(--color-bg)}.forum-new-btn{width:100%;text-align:center}.forum-main{min-width:0}.forum-header{margin-bottom:1.5rem}.forum-header h2{font-family:var(--font-display);font-size:1.5rem;font-weight:500;margin-bottom:.5rem}.forum-login-prompt{color:var(--color-text-secondary);font-size:.9rem}.forum-login-prompt a{color:var(--color-accent)}.forum-topics-list{list-style:none;padding:0;margin:0}.forum-topic-item{border:1px solid var(--color-border);border-radius:8px;margin-bottom:.75rem;background:var(--color-surface);transition:border-color .2s}.forum-topic-item:hover{border-color:var(--color-accent)}.forum-topic-item.pinned{border-color:var(--color-accent);background:#c9a2270d}.forum-topic-link{display:flex;justify-content:space-between;align-items:center;padding:1rem;text-decoration:none;color:inherit;gap:1rem}.forum-topic-content{display:flex;align-items:flex-start;gap:.5rem;min-width:0;flex:1}.forum-topic-pin,.forum-topic-lock{flex-shrink:0}.forum-topic-info{min-width:0}.forum-topic-title{font-size:1rem;font-weight:500;margin:0 0 .25rem;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.forum-topic-meta{display:flex;gap:.75rem;font-size:.8rem;color:var(--color-text-secondary)}.forum-topic-category{background:var(--color-bg);padding:.125rem .5rem;border-radius:4px}.forum-topic-stats{display:flex;align-items:center;gap:1.5rem;flex-shrink:0}.forum-stat{text-align:center}.forum-stat-value{display:block;font-size:1rem;font-weight:600;color:var(--color-text)}.forum-stat-label{font-size:.7rem;color:var(--color-text-secondary);text-transform:uppercase}.forum-topic-time{font-size:.8rem;color:var(--color-text-secondary);white-space:nowrap}.forum-topic-page{max-width:800px;margin:0 auto}.forum-breadcrumb{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:.9rem;color:var(--color-text-secondary)}.forum-breadcrumb a{color:var(--color-accent)}.breadcrumb-separator{color:var(--color-border)}.forum-topic-detail{margin-bottom:2rem}.forum-topic-header{margin-bottom:1.5rem}.forum-topic-header h1{font-family:var(--font-display);font-size:1.75rem;font-weight:500;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.forum-topic-header-meta{display:flex;gap:1rem;font-size:.875rem;color:var(--color-text-secondary);flex-wrap:wrap}.forum-topic-actions{display:flex;gap:.5rem;margin-top:1rem}.forum-post{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1.25rem;margin-bottom:1rem}.forum-original-post{border-color:var(--color-accent)}.forum-post-author{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.forum-author-avatar{width:40px;height:40px;border-radius:50%;background:var(--color-accent);color:var(--color-bg);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1rem}.forum-author-name{font-weight:500}.forum-post-content{line-height:1.7}.forum-post-content p{margin-bottom:.75rem}.forum-post-content p:last-child{margin-bottom:0}.forum-post-footer{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border);font-size:.8rem;color:var(--color-text-secondary)}.forum-delete-btn{background:none;border:none;color:var(--color-danger);cursor:pointer;font-size:.8rem;padding:.25rem .5rem}.forum-delete-btn:hover{text-decoration:underline}.forum-replies{margin-bottom:2rem}.forum-replies h2{font-size:1.25rem;font-weight:500;margin-bottom:1rem}.forum-reply-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem}.forum-reply-form h3{font-size:1rem;margin-bottom:1rem}.forum-reply-form textarea{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);font-size:1rem;resize:vertical;margin-bottom:1rem}.forum-reply-form textarea:focus{outline:none;border-color:var(--color-accent)}.forum-locked-notice{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem;text-align:center;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;gap:.5rem}.forum-login-prompt-box{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1.5rem;text-align:center}.forum-login-prompt-box a{color:var(--color-accent)}.forum-new-topic-page{max-width:700px;margin:0 auto}.forum-form-container{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:2rem}.forum-form-container h1{font-family:var(--font-display);font-size:1.5rem;font-weight:500;margin-bottom:1.5rem}.forum-topic-form .form-group{margin-bottom:1.25rem}.forum-topic-form label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem;color:var(--color-text-secondary)}.forum-topic-form input,.forum-topic-form select,.forum-topic-form textarea{width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg);color:var(--color-text);font-size:1rem}.forum-topic-form input:focus,.forum-topic-form select:focus,.forum-topic-form textarea:focus{outline:none;border-color:var(--color-accent)}.forum-topic-form textarea{resize:vertical;min-height:150px}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.btn-sm{padding:.375rem .75rem;font-size:.8rem}.btn-danger{background:var(--color-danger);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer}.btn-danger:hover{opacity:.9}@media (max-width: 768px){.forum-topic-link{flex-direction:column;align-items:flex-start}.forum-topic-stats{width:100%;justify-content:space-between;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.forum-topic-header h1{font-size:1.5rem}.forum-form-container{padding:1.25rem}}.privacy-policy-page{max-width:800px;margin:0 auto;animation:fadeIn .4s ease}.legal-content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:2.5rem}.legal-content h1{font-family:var(--font-display);font-size:2.5rem;font-weight:300;margin-bottom:.5rem;letter-spacing:-.02em}.legal-updated{color:var(--color-text-secondary);font-size:.875rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-border)}.legal-content h2{font-family:var(--font-display);font-size:1.375rem;font-weight:500;margin-top:2rem;margin-bottom:1rem;color:var(--color-accent)}.legal-content p{margin-bottom:1rem;line-height:1.7}.legal-content ul{margin-left:1.5rem;margin-bottom:1rem}.legal-content li{margin-bottom:.5rem;line-height:1.7}.legal-content li strong{color:var(--color-text)}.legal-contact{margin-top:2.5rem;padding:1.5rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px}.legal-contact h2{margin-top:0}.legal-contact p{margin-bottom:.5rem}.legal-contact p:last-child{margin-bottom:0}@media (max-width: 768px){.legal-content{padding:1.5rem}.legal-content h1{font-size:2rem}.legal-content h2{font-size:1.25rem}}
