:root{--bg-obsidian: #0a0c0f;--bg-charcoal: #11141a;--bg-card: #171b22;--bg-card-hover: #1e242d;--bg-elevated: #222834;--bg-glass: rgba(17, 20, 26, .85);--text-ivory: #f4f1ea;--text-silver: #c8cdd6;--text-pewter: #8a93a2;--text-muted: #5c6472;--brass-gold: #2e77be;--brass-light: #6cb2f7;--brass-dark: #1d5288;--brass-glow: rgba(46, 119, 190, .22);--accent-contrast-text: #f8fafc;--livery-br-green: #1e4d3b;--livery-lms-crimson: #7c1f28;--livery-lner-apple: #2d8653;--livery-gwr-green: #1b4735;--livery-sr-malachite: #1d5b42;--livery-br-black: #26292e;--border-subtle: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .14);--border-brass: rgba(77, 154, 228, .45);--font-serif: "Outfit", "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono", monospace;--max-width: 1480px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--shadow-card: 0 12px 32px -8px rgba(0, 0, 0, .6);--shadow-plate: inset 0 1px 0 rgba(255, 255, 255, .25), 0 3px 8px rgba(0, 0, 0, .65)}html[data-livery=scotsman-green]{--brass-gold: #2d8653;--brass-light: #68d391;--brass-dark: #1b5936;--brass-glow: rgba(45, 134, 83, .22);--border-brass: rgba(72, 187, 120, .45);--accent-contrast-text: #f8fafc}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background-color:#080a0d;color:var(--text-ivory);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}body{min-height:100vh;background:radial-gradient(circle at 20% 0%,var(--brass-glow),transparent 45%),radial-gradient(circle at 85% 8%,rgba(30,77,59,.12),transparent 40%),linear-gradient(180deg,#131720,#0d1015 35%,#080a0d);background-attachment:fixed;background-repeat:no-repeat;background-size:cover;overflow-x:hidden}.navbar{position:sticky;top:0;z-index:40;background:#0b0e12e6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-subtle)}.navbar-inner{max-width:var(--max-width);margin:0 auto;height:68px;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:var(--text-ivory)}.brand-accent-bar{width:4px;height:28px;border-radius:2px;background:linear-gradient(180deg,var(--brass-light) 0%,var(--brass-gold) 100%);box-shadow:0 0 12px var(--brass-glow)}.brand-text{display:flex;flex-direction:column}.brand-title{font-family:var(--font-serif);font-size:1.28rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.05;color:var(--text-ivory)}.brand-title span{color:var(--brass-light);font-weight:600}.brand-subtitle{font-family:var(--font-sans);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-pewter);margin-top:3px}.nav-links{display:flex;align-items:center;gap:2.25rem;height:100%}.nav-link{position:relative;height:100%;display:inline-flex;align-items:center;color:var(--text-pewter);font-family:var(--font-sans);font-size:.9rem;font-weight:600;letter-spacing:.02em;text-decoration:none;transition:color .2s ease}.nav-link:hover,.nav-link.active{color:var(--text-ivory)}.nav-link.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:3px;border-radius:3px 3px 0 0;background:var(--brass-light);box-shadow:0 -2px 10px var(--brass-glow)}.nav-actions{display:flex;align-items:center;gap:.85rem}.livery-switcher{display:inline-flex;align-items:center;background:var(--bg-charcoal);border:1px solid var(--border-subtle);border-radius:6px;padding:.18rem;gap:.15rem}.livery-btn{background:transparent;color:var(--text-pewter);border:none;border-radius:4px;padding:.3rem .6rem;font-family:var(--font-sans);font-size:.74rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;transition:all .15s ease}.livery-btn:hover{color:var(--text-ivory)}.livery-btn.active{background:var(--bg-elevated);color:var(--text-ivory)}.btn-upload{background:transparent;border:1px solid var(--border-strong);color:var(--text-silver);font-family:var(--font-sans);font-size:.8rem;font-weight:600;padding:.42rem .9rem;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:.4rem;text-decoration:none;transition:all .2s}.btn-upload:hover,.btn-upload.active{border-color:var(--brass-gold);background:var(--brass-glow);color:var(--text-ivory)}.smokebox-plate{display:inline-flex;align-items:center;justify-content:center;background:#101216;color:#f8f9fa;font-family:var(--font-mono);font-weight:700;font-size:.82rem;letter-spacing:.08em;padding:.18rem .62rem;border-radius:4px;border:1.5px solid #d0d5dd;box-shadow:0 2px 5px #000000b3,inset 0 0 0 1px #000c;position:relative;line-height:1.2;white-space:nowrap}.brass-nameplate{display:inline-flex;align-items:center;background:linear-gradient(180deg,#4b151b,#2d0b0f);color:var(--brass-light);font-family:var(--font-serif);font-weight:700;font-size:.76rem;text-transform:uppercase;letter-spacing:.09em;padding:.2rem .65rem;border-radius:4px;border:1.5px solid var(--brass-gold);box-shadow:0 2px 5px #000000a6;white-space:nowrap}.brass-nameplate.green-plate{background:linear-gradient(180deg,#1b4636,#0f291f)}.hero-section{width:100%;margin:0;padding:0}.hero-card{position:relative;width:100%;height:540px;border-radius:0;overflow:hidden;border-bottom:1px solid var(--border-strong);box-shadow:var(--shadow-card);display:flex;align-items:flex-end}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:53% 60%;transform:scale(1.01);transition:transform 8s ease-out}.hero-card:hover .hero-bg{transform:scale(1.05)}.hero-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(0deg,#0a0c0ff5,#0a0c0f94 45%,#0a0c0f26),linear-gradient(90deg,rgba(10,12,15,.82) 0%,transparent 65%)}.hero-content{position:relative;z-index:2;width:100%;max-width:var(--max-width);margin:0 auto;padding:3rem 2rem;display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap}.hero-left{max-width:720px}.hero-eyebrow{display:flex;align-items:center;gap:.65rem;margin-bottom:.85rem;flex-wrap:wrap}.pill-featured{background:var(--brass-gold);color:var(--accent-contrast-text);font-family:var(--font-mono);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:.22rem .65rem;border-radius:4px}.pill-location{background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-ivory);font-size:.78rem;padding:.22rem .7rem;border-radius:4px;border:1px solid rgba(255,255,255,.15);display:inline-flex;align-items:center;gap:.35rem}.hero-title{font-family:var(--font-serif);font-size:2.35rem;font-weight:700;line-height:1.15;color:var(--text-ivory);margin-bottom:.65rem;text-shadow:0 2px 12px rgba(0,0,0,.6)}.hero-caption{color:var(--text-silver);font-size:.98rem;line-height:1.55;margin-bottom:1.2rem}.hero-loco-strip{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap}.spec-chip{font-family:var(--font-mono);font-size:.75rem;color:var(--text-silver);background:#11141ac7;border:1px solid var(--border-strong);padding:.22rem .6rem;border-radius:4px}.hero-right{display:flex;flex-direction:column;align-items:flex-end;gap:.85rem}.hero-stats{display:flex;gap:1.5rem;background:#0e1116d1;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:.85rem 1.35rem;border-radius:var(--radius-md);border:1px solid var(--border-strong)}.stat-item{display:flex;flex-direction:column}.stat-value{font-family:var(--font-mono);font-size:1.2rem;font-weight:700;color:var(--brass-light)}.stat-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-pewter)}.btn-inspect-hero{background:var(--text-ivory);color:#0b0d10;border:none;font-family:var(--font-sans);font-weight:700;font-size:.86rem;padding:.7rem 1.3rem;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;gap:.5rem;transition:all .2s}.btn-inspect-hero:hover{background:var(--brass-gold);color:var(--accent-contrast-text);transform:translateY(-1px)}.hero-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.btn-hero-album{background:linear-gradient(135deg,var(--brass-gold),var(--brass-dark));color:var(--accent-contrast-text);border:none;font-family:var(--font-sans);font-weight:700;font-size:.88rem;padding:.72rem 1.35rem;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;gap:.55rem;box-shadow:0 4px 18px var(--brass-glow);transition:all .2s;text-decoration:none}.btn-hero-album:hover{filter:brightness(1.12);transform:translateY(-1px)}.btn-hero-secondary{background:#11141ad1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-ivory);border:1px solid var(--border-strong);font-family:var(--font-sans);font-weight:600;font-size:.85rem;padding:.7rem 1.15rem;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;gap:.45rem;transition:all .2s}.btn-hero-secondary:hover{border-color:var(--brass-gold);color:var(--brass-light)}.pill-album-link{background:var(--brass-glow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--brass-light);font-family:var(--font-mono);font-size:.74rem;font-weight:600;padding:.22rem .7rem;border-radius:4px;border:1px solid var(--border-brass);display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;transition:all .18s;text-decoration:none}.pill-album-link:hover{background:var(--brass-gold);color:var(--accent-contrast-text)}.hero-admin-bar{position:absolute;top:1.25rem;left:0;right:0;z-index:5;pointer-events:none}.hero-admin-inner{max-width:var(--max-width);margin:0 auto;padding:0 2rem;display:flex;justify-content:flex-end}.admin-banner-picker{pointer-events:auto;background:#0e1116db;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-brass);border-radius:8px;padding:.4rem .7rem;display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-mono);font-size:.72rem;color:var(--brass-light);box-shadow:0 8px 24px #00000080}.admin-banner-select{background:var(--bg-charcoal);color:var(--text-ivory);border:1px solid var(--border-strong);border-radius:5px;padding:.28rem .55rem;font-family:var(--font-sans);font-size:.78rem;cursor:pointer}.admin-banner-select:focus{outline:none;border-color:var(--brass-gold)}.front-albums-section{margin-bottom:2.5rem}.front-albums-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:1.1rem;gap:1rem;flex-wrap:wrap}.front-albums-title-group{display:flex;align-items:center;gap:.75rem}.front-albums-title{font-family:var(--font-serif);font-size:1.45rem;color:var(--text-ivory)}.front-albums-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.15rem}.badge-latest-album{position:absolute;top:.6rem;left:.6rem;background:var(--brass-gold);color:var(--accent-contrast-text);font-family:var(--font-mono);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:.16rem .5rem;border-radius:4px}@media (max-width: 1180px){.front-albums-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.front-albums-grid{grid-template-columns:1fr}}.main-container{max-width:var(--max-width);margin:0 auto;padding:2rem}.filter-toolbar{background:var(--bg-charcoal);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1rem 1.25rem;margin-bottom:1.75rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.filter-groups{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem}.filter-group{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.filter-label{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-pewter);margin-right:.25rem}.filter-pill{background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-silver);font-family:var(--font-sans);font-size:.8rem;font-weight:500;padding:.36rem .8rem;border-radius:6px;cursor:pointer;transition:all .18s}.filter-pill:hover{border-color:var(--border-strong);color:var(--text-ivory)}.filter-pill.active{background:var(--brass-glow);border-color:var(--brass-gold);color:var(--brass-light);font-weight:600}.filter-pill:active{transform:translateY(1px) scale(.96);filter:brightness(1.2)}.btn-hero-album:active,.btn-hero-secondary:active{transform:translateY(1px) scale(.97);filter:brightness(1.2)}.toolbar-right{display:flex;align-items:center;gap:.75rem}.results-counter{font-family:var(--font-mono);font-size:.78rem;color:var(--text-pewter)}.density-toggle{display:flex;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:6px;overflow:hidden}.density-btn{background:transparent;border:none;color:var(--text-pewter);padding:.35rem .6rem;cursor:pointer;font-size:.78rem;font-family:var(--font-mono)}.density-btn.active{background:var(--bg-elevated);color:var(--brass-light)}.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.15rem}@media (max-width: 1240px){.photo-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 900px){.photo-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.photo-grid{grid-template-columns:1fr}}.album-date-groups-wrapper{display:flex;flex-direction:column;gap:2.25rem}.album-date-group{display:flex;flex-direction:column;gap:1rem}.album-date-group-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.85rem 1.15rem;background:var(--bg-charcoal);border:1px solid var(--border-subtle);border-left:3px solid var(--brass-gold);border-radius:var(--radius-sm)}.album-date-group-title{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap}.album-date-pill{font-family:var(--font-mono);font-size:.82rem;font-weight:700;color:var(--brass-light);background:var(--brass-glow);border:1px solid var(--border-brass);padding:.18rem .58rem;border-radius:4px;white-space:nowrap}.album-date-heading{font-family:var(--font-sans);font-size:.95rem;font-weight:500;color:var(--text-ivory);line-height:1.45}.album-date-count{font-family:var(--font-mono);font-size:.74rem;color:var(--text-pewter);white-space:nowrap}.photo-card{position:relative;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;cursor:pointer;display:flex;flex-direction:column}.photo-card:hover{transform:translateY(-4px);border-color:var(--border-brass);box-shadow:var(--shadow-card)}.photo-frame{position:relative;aspect-ratio:3 / 2;background:#0d0f13;overflow:hidden}.photo-frame img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.22,1,.36,1)}.photo-card:hover .photo-frame img{transform:scale(1.04)}.photo-overlay-top{position:absolute;top:.75rem;left:.75rem;right:.75rem;display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;pointer-events:none}.railway-tag{background:#0c0f14d1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-ivory);font-family:var(--font-mono);font-size:.7rem;font-weight:600;padding:.22rem .55rem;border-radius:4px;border:1px solid rgba(255,255,255,.14)}.wheel-tag{background:#0c0f14d1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--brass-light);font-family:var(--font-mono);font-size:.7rem;padding:.22rem .52rem;border-radius:4px;border:1px solid var(--border-brass)}.photo-overlay-bottom{position:absolute;bottom:0;left:0;right:0;padding:1.8rem .85rem .65rem;background:linear-gradient(0deg,rgba(10,12,15,.92) 0%,transparent 100%);display:flex;justify-content:space-between;align-items:flex-end}.loco-badges-row{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.consist-indicator{font-family:var(--font-mono);font-size:.68rem;color:var(--text-silver);background:#ffffff1f;padding:.16rem .45rem;border-radius:3px}.photo-body{padding:1.05rem 1.15rem 1.15rem;display:flex;flex-direction:column;flex:1;justify-content:space-between;gap:.75rem}.photo-meta-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.76rem;color:var(--text-pewter)}.photo-location{display:inline-flex;align-items:center;gap:.3rem;color:var(--brass-light);font-weight:600}.photo-date{font-family:var(--font-mono);font-size:.73rem}.photo-title{font-family:var(--font-serif);font-size:1.08rem;font-weight:600;color:var(--text-ivory);line-height:1.3}.photo-caption-text{font-size:.84rem;color:var(--text-silver);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.photo-frame-hover-desc{position:absolute;left:0;right:0;bottom:0;max-height:85%;background:linear-gradient(to top,#0a0e16fa,#0a0e16ed 80%,#0a0e16b3);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--border-brass);padding:.7rem .85rem;box-sizing:border-box;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1),visibility .2s cubic-bezier(.16,1,.3,1);overflow-y:auto;z-index:15;pointer-events:none}.photo-card:hover .photo-frame-hover-desc{opacity:1;visibility:visible;transform:translateY(0)}.photo-hover-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.35rem;padding-bottom:.25rem;border-bottom:1px solid var(--border-brass);font-family:var(--font-mono);font-size:.7rem}.photo-hover-loc{color:var(--brass-light);font-weight:600;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-hover-date{color:var(--text-pewter);white-space:nowrap}.photo-hover-text{font-family:var(--font-sans);font-size:.82rem;line-height:1.45;color:var(--text-ivory);margin:0;white-space:pre-line}.search-loco-match{display:inline-flex;align-items:center;gap:.5rem;margin-top:.45rem;padding:.3rem .65rem;background:var(--brass-glow);border:1px solid var(--border-brass);border-radius:6px;font-size:.78rem;color:var(--text-ivory);cursor:pointer;transition:background .15s ease,border-color .15s ease}.search-loco-match:hover{background:#2e77be47;border-color:var(--brass-light)}.search-loco-badge{font-family:var(--font-mono);font-weight:700;color:var(--brass-light)}.album-loco-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.45rem;margin-bottom:.35rem}.album-loco-tag{font-family:var(--font-mono);font-size:.7rem;font-weight:600;color:var(--brass-light);background:var(--brass-glow);border:1px solid var(--border-brass);padding:.12rem .45rem;border-radius:4px;white-space:nowrap}.photo-footer{padding-top:.7rem;border-top:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:.72rem;color:var(--text-pewter)}.album-pill{color:var(--text-silver);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px}.section-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:1.5rem;padding-bottom:.85rem;border-bottom:1px solid var(--border-subtle)}.section-title{font-family:var(--font-serif);font-size:1.75rem;color:var(--text-ivory)}.section-subtitle{color:var(--text-pewter);font-size:.9rem;margin-top:.25rem}.albums-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem}.album-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:all .25s ease;display:flex;flex-direction:column}.album-card:hover{transform:translateY(-4px);border-color:var(--brass-gold);box-shadow:var(--shadow-card)}.album-card.active-album{border-color:var(--brass-gold);box-shadow:0 0 0 2px var(--brass-glow),var(--shadow-card);background:var(--bg-card-hover)}.album-cover-stack{position:relative;aspect-ratio:16 / 10;overflow:hidden}.album-cover-stack img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.album-card:hover .album-cover-stack img{transform:scale(1.05)}.album-year-badge{position:absolute;top:.85rem;right:.85rem;background:var(--brass-gold);color:var(--accent-contrast-text);font-family:var(--font-mono);font-weight:700;font-size:.75rem;padding:.2rem .55rem;border-radius:4px}.album-info{padding:1.2rem;display:flex;flex-direction:column;flex:1}.album-railway{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--brass-light);margin-bottom:.35rem}.album-name{font-family:var(--font-serif);font-size:1.22rem;color:var(--text-ivory);margin-bottom:.5rem}.album-desc{font-size:.84rem;color:var(--text-pewter);line-height:1.45;margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.album-meta-row{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px solid var(--border-subtle);font-family:var(--font-mono);font-size:.75rem;color:var(--text-silver)}.loco-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:1.25rem}.loco-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1.25rem;display:flex;flex-direction:column;gap:.9rem;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.loco-card:before{content:"";position:absolute;top:0;left:0;width:5px;height:100%;background:var(--loco-livery, var(--brass-gold))}.loco-card:hover{border-color:var(--brass-gold);background:var(--bg-card-hover);transform:translateY(-2px)}.loco-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.loco-specs-table{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;background:#0a0c0f8c;padding:.75rem;border-radius:var(--radius-sm);border:1px solid var(--border-subtle)}.spec-cell{display:flex;flex-direction:column}.spec-key{font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-pewter)}.spec-val{font-family:var(--font-mono);font-size:.8rem;color:var(--text-ivory);margin-top:2px}body.body-no-scroll{overflow:hidden!important;height:100vh!important;touch-action:none}.lightbox-hud{background:var(--bg-charcoal);border-left:1px solid var(--border-strong);height:100vh;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1.35rem}.hud-section{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1.1rem}.hud-section-title{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--brass-gold);margin-bottom:.8rem;display:flex;align-items:center;justify-content:space-between}.hud-photo-title{font-family:var(--font-serif);font-size:1.3rem;color:var(--text-ivory);margin-bottom:.55rem}.hud-caption{font-size:.88rem;color:var(--text-silver);line-height:1.55}.consist-list{display:flex;flex-direction:column;gap:.75rem}.consist-item{background:#0a0c0f8c;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:.75rem;display:flex;flex-direction:column;gap:.4rem}.consist-item-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.role-pill{font-family:var(--font-mono);font-size:.68rem;padding:.15rem .5rem;border-radius:4px;background:var(--brass-glow);color:var(--brass-light);border:1px solid var(--border-brass)}.consist-class{font-size:.8rem;color:var(--text-silver);font-weight:500}.exif-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem}.exif-box{background:#0a0c0f80;border:1px solid var(--border-subtle);padding:.55rem .7rem;border-radius:6px}.exif-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-pewter)}.exif-val{font-family:var(--font-mono);font-size:.8rem;color:var(--text-ivory);margin-top:2px}.site-footer{max-width:var(--max-width);margin:3rem auto 0;padding:2rem;border-top:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;color:var(--text-pewter);font-size:.82rem}.footer-actions{display:flex;align-items:center;gap:.75rem}.footer-version{color:var(--text-muted);font-family:var(--font-mono);font-size:.74rem;letter-spacing:.04em;padding:.2rem .5rem;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:#ffffff05}.footer-admin-link{color:var(--text-muted);text-decoration:none;font-family:var(--font-mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;padding:.25rem .6rem;border:1px solid transparent;border-radius:var(--radius-sm);transition:all .2s ease}.footer-admin-link:hover,.footer-admin-link.active{color:var(--brass-light);border-color:var(--border-brass);background:#d977061a}@media (max-width: 768px){.navbar-inner{flex-direction:column;align-items:stretch;padding:.85rem 1.25rem}.nav-tabs{justify-content:center}.search-box{width:100%}.main-container{padding-left:1rem;padding-right:1rem}.hero-content{padding:2rem 1.25rem}.hero-card{height:auto;min-height:420px}.hero-title{font-size:1.65rem}.photo-grid{grid-template-columns:1fr}}.albums-filter-panel{background:var(--bg-charcoal);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:1.25rem;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:1.1rem}.albums-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.loco-form-grid{display:grid;grid-template-columns:180px 1.3fr 2fr;gap:1.15rem 1.25rem}@media (max-width: 900px){.loco-form-grid{grid-template-columns:1fr 1fr}}@media (max-width: 600px){.loco-form-grid{grid-template-columns:1fr}}.filter-field{display:flex;flex-direction:column;gap:.38rem}.filter-field label{font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--brass-light)}.filter-select,.filter-input{background:var(--bg-card);color:var(--text-ivory);border:1px solid var(--border-strong);border-radius:var(--radius-sm);padding:.55rem .75rem;font-family:var(--font-sans);font-size:.84rem;width:100%}.filter-select:focus,.filter-input:focus{outline:none;border-color:var(--brass-gold);box-shadow:0 0 0 2px var(--brass-glow)}.albums-filter-footer{display:flex;justify-content:space-between;align-items:center;padding-top:.9rem;border-top:1px solid var(--border-subtle);flex-wrap:wrap;gap:1rem}.perf-badge{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--font-mono);font-size:.72rem;color:#6ee7b7;background:#10b9811a;border:1px solid rgba(16,185,129,.28);padding:.28rem .65rem;border-radius:999px}.pagination-bar{margin-top:2rem;background:var(--bg-charcoal);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:.95rem 1.25rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.page-buttons{display:flex;align-items:center;gap:.35rem}.page-btn{background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-silver);font-family:var(--font-mono);font-size:.78rem;min-width:34px;height:34px;padding:0 .6rem;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s}.page-btn:hover{border-color:var(--brass-gold);color:var(--text-ivory)}.page-btn:disabled{opacity:.35;cursor:not-allowed;border-color:var(--border-subtle)}.page-btn:disabled:hover{border-color:var(--border-subtle);color:var(--text-silver)}.page-btn.active{background:var(--brass-gold);color:var(--accent-contrast-text);font-weight:700;border-color:var(--brass-gold)}.album-detail-banner{background:linear-gradient(135deg,#171c24,#101319);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:1.5rem;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;flex-wrap:wrap}.album-tag-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.clamped-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.desc-toggle-btn{margin-top:.45rem;background:none;border:none;padding:0;color:var(--mallard-light);font-size:.82rem;font-family:var(--font-mono);cursor:pointer;display:inline-flex;align-items:center;gap:.25rem;transition:color .15s ease}.desc-toggle-btn:hover{color:var(--brass-gold);text-decoration:underline}.admin-layout{display:grid;grid-template-columns:260px minmax(0,1fr);width:100%;min-height:calc(100vh - 68px)}.admin-sidebar{background:var(--bg-charcoal);border-right:1px solid var(--border-subtle);padding:1.5rem 1rem;display:flex;flex-direction:column;gap:1.5rem}.admin-nav-group-title{font-family:var(--font-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);padding:0 .75rem;margin-bottom:.4rem}.admin-nav-list{display:flex;flex-direction:column;gap:.25rem}.admin-nav-item{width:100%;background:transparent;border:1px solid transparent;color:var(--text-silver);font-family:var(--font-sans);font-size:.86rem;font-weight:500;padding:.65rem .85rem;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:all .18s;text-align:left}.admin-nav-item-left{display:flex;align-items:center;gap:.65rem}.admin-nav-item:hover{background:var(--bg-card);color:var(--text-ivory)}.admin-nav-item.active{background:var(--brass-glow);border-color:var(--border-brass);color:var(--brass-light);font-weight:600}.admin-main{padding:2rem 2.5rem;overflow-y:auto;width:100%;max-width:none}.admin-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.15rem;margin-bottom:2rem}.admin-kpi-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1.15rem 1.25rem}.admin-panel{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1.5rem;margin-bottom:1.5rem}.admin-panel-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem;margin-bottom:1.25rem;border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}.admin-panel-title{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;color:var(--text-ivory)}.ai-badge{display:inline-flex;align-items:center;gap:.4rem;background:linear-gradient(135deg,#8b5cf638,#3b82f638);border:1px solid rgba(167,139,250,.45);color:#ddd6fe;font-family:var(--font-mono);font-size:.72rem;font-weight:600;padding:.24rem .65rem;border-radius:999px}.dropzone{border:2px dashed var(--border-brass);background:var(--brass-glow);border-radius:var(--radius-md);padding:2.25rem;text-align:center;cursor:pointer;transition:all .2s}.dropzone:hover{background:var(--brass-glow);border-color:var(--brass-light)}.ai-pipeline-queue{display:flex;flex-direction:column;gap:1rem;margin-top:1.25rem}.ai-queue-item{background:var(--bg-charcoal);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:1.1rem;display:grid;grid-template-columns:180px 1fr;gap:1.25rem;align-items:start}.ai-queue-thumb{position:relative;aspect-ratio:3 / 2;border-radius:var(--radius-sm);overflow:hidden;border:1px solid var(--border-subtle)}.ai-queue-thumb img{width:100%;height:100%;object-fit:cover}.admin-table{width:100%;border-collapse:collapse;font-size:.85rem}.admin-table th{text-align:left;font-family:var(--font-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-pewter);padding:.75rem .85rem;border-bottom:1px solid var(--border-strong)}.admin-table td{padding:.85rem;border-bottom:1px solid var(--border-subtle);color:var(--text-silver);vertical-align:middle}.admin-table tr:hover td{background:#ffffff05}@media (max-width: 1024px){.admin-layout,.ai-queue-item{grid-template-columns:1fr}}
