@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Libre+Franklin:wght@400;600;700;800;900&display=swap";:root,:root[data-theme=light]{color-scheme:light;--bg: #f6f6f2;--ink: #111111;--muted: #595955;--line: #d6d6cf;--accent: #df160f;--panel: #ffffff;--panel-soft: #f4f4ef;--overlay: rgba(0, 0, 0, .5)}:root[data-theme=dark]{color-scheme:dark;--bg: #121212;--ink: #f0f0ec;--muted: #adada4;--line: #3a3a35;--accent: #ff5a52;--panel: #1a1a19;--panel-soft: #171716;--overlay: rgba(0, 0, 0, .62)}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:linear-gradient(90deg,color-mix(in srgb,var(--ink) 6%,transparent) 1px,transparent 1px),var(--bg);background-size:40px 40px,auto;font-family:Libre Franklin,sans-serif}button,input,select{font:inherit;color:var(--ink)}input,select,button,label,a{color:var(--ink)}.museum-app{max-width:1520px;margin:0 auto;padding:24px 28px 36px}.wordmark{font-family:IBM Plex Mono,monospace;font-size:.74rem;letter-spacing:.16em;border:1px solid var(--ink);padding:8px 10px;width:fit-content;background:var(--panel)}.masthead{border:2px solid var(--ink);background:var(--panel);padding:18px}.masthead-grid{margin-top:18px;display:grid;grid-template-columns:1.3fr .9fr;gap:22px;align-items:end}.masthead h1{margin:0;padding-top:12px;border-top:5px solid var(--accent);font-size:clamp(2.2rem,5.4vw,5rem);line-height:.9;font-weight:900;letter-spacing:-.05em}.masthead p{margin:0;color:var(--muted);max-width:42ch;font-size:.96rem;line-height:1.65}.view-switcher{margin-top:12px;display:flex;gap:8px}.view-switcher button{border:1px solid var(--ink);background:var(--panel);border-radius:0;padding:10px 12px;letter-spacing:.08em;font-size:.72rem;font-family:IBM Plex Mono,monospace;cursor:pointer}.view-switcher button.active{background:var(--ink);color:var(--panel)}.control-strip{margin-top:12px;display:grid;grid-template-columns:230px 1fr auto;gap:10px;padding:10px;border:1px solid var(--ink);background:var(--panel)}.control-strip label,.settings-card label{display:grid;gap:6px;font-size:.72rem;letter-spacing:.13em;font-family:IBM Plex Mono,monospace}.field-label{display:block;font-size:.72rem;letter-spacing:.13em;font-family:IBM Plex Mono,monospace}.control-strip select,.control-strip input,.settings-card select{border:1px solid var(--ink);border-radius:0;padding:10px;background:var(--panel);text-transform:uppercase;font-family:IBM Plex Mono,monospace}.artist-picker{position:relative;display:grid;gap:6px}.artist-picker-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;border:1px solid var(--ink);border-radius:0;padding:10px;background:var(--panel);text-transform:uppercase;font-family:IBM Plex Mono,monospace;cursor:pointer}.chevron{transition:transform .14s ease}.chevron.open{transform:rotate(180deg)}.artist-picker-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;border:1px solid var(--ink);background:var(--panel);z-index:20;max-height:280px;overflow:auto}.artist-picker-menu button{width:100%;border:0;border-bottom:1px solid var(--line);background:var(--panel);text-align:left;padding:10px;cursor:pointer;font-size:.88rem}.artist-picker-menu button:last-child{border-bottom:0}.artist-picker-menu button:hover,.artist-picker-menu button.active{background:var(--ink);color:var(--panel)}.metrics{display:flex;align-items:end;gap:8px;justify-content:end;padding:0 2px 2px;font-family:IBM Plex Mono,monospace;font-size:.75rem}.metrics span{border:1px solid var(--ink);padding:9px 10px;background:var(--panel)}.error-text,.loading-text,.empty-text{margin:16px 2px;font-family:IBM Plex Mono,monospace}.error-text{color:var(--accent)}.artwork-grid{margin-top:14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:12px}.artwork-card{border:1px solid var(--ink);background:var(--panel);display:grid;grid-template-rows:auto auto}.artwork-visual{border:0;padding:0;cursor:pointer;background:var(--panel-soft);overflow:hidden}.artwork-visual img{display:block;width:100%;aspect-ratio:1.1;object-fit:cover;filter:saturate(.92);transition:transform .16s ease-out}.artwork-card:hover img,.artwork-card:focus-within img{transform:translateY(-2px)}.artwork-meta{padding:10px;display:flex;justify-content:space-between;gap:10px;align-items:start}.artwork-meta h2{margin:0;font-size:1.02rem;line-height:1.2}.artwork-meta p{margin:4px 0 0;font-family:IBM Plex Mono,monospace;font-size:.72rem;color:var(--muted)}.favorite-button{border:1px solid var(--ink);background:var(--panel);color:var(--ink);padding:6px 8px;font-size:.68rem;letter-spacing:.08em;cursor:pointer;font-family:IBM Plex Mono,monospace}.favorite-button.active{background:var(--ink);color:var(--panel)}.pagination{margin-top:14px;display:flex;justify-content:center;align-items:center;gap:10px;font-family:IBM Plex Mono,monospace;font-size:.76rem}.pagination button{border:1px solid var(--ink);background:var(--panel);border-radius:0;padding:8px 10px;min-width:72px;cursor:pointer}.pagination button:disabled{color:var(--muted);border-color:var(--line);cursor:default}.favorites-view,.settings-view{margin-top:14px;border:1px solid var(--ink);background:var(--panel);padding:14px}.favorites-view h2,.settings-view h2{margin:0;font-size:1.2rem}.favorites-view>p,.settings-view>p{margin:8px 0 2px;color:var(--muted)}.settings-card{margin-top:12px;border:1px solid var(--line);background:var(--panel-soft);padding:12px;display:grid;gap:10px;max-width:720px}.settings-subtitle{margin:0;font-family:IBM Plex Mono,monospace;letter-spacing:.1em;font-size:.72rem}.settings-actions{display:flex;gap:8px;flex-wrap:wrap}.settings-actions button{border:1px solid var(--ink);background:var(--panel);border-radius:0;padding:8px 10px;font-family:IBM Plex Mono,monospace;font-size:.74rem;cursor:pointer}.settings-notice{margin:0;font-size:.9rem;color:var(--muted)}.site-footer{margin-top:16px;border:1px solid var(--ink);background:var(--panel);padding:10px 12px;display:flex;justify-content:space-between;gap:10px;align-items:center}.site-footer p{margin:0;font-family:IBM Plex Mono,monospace;letter-spacing:.08em;font-size:.7rem;text-transform:uppercase;color:var(--muted)}.site-footer p:first-child{color:var(--ink)}.viewer{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;display:grid;place-items:center;z-index:200}.viewer img{max-width:100vw;max-height:100vh;object-fit:contain}.viewer-ui{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:auto 1fr;padding:20px;background:var(--overlay);opacity:0;pointer-events:none;transition:opacity .18s ease}.viewer-ui.visible{opacity:1;pointer-events:auto}.viewer-toolbar{display:flex;gap:8px;opacity:0;transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease}.viewer-toolbar button{border:1px solid rgba(255,255,255,.8);background:#00000073;color:#fff;padding:8px 12px;font-family:IBM Plex Mono,monospace;font-size:.76rem;letter-spacing:.08em;cursor:pointer}.viewer-panel{align-self:end;max-width:700px;color:#fff;border:1px solid rgba(255,255,255,.55);background:#000000b8;padding:16px;opacity:0;transform:translateY(10px);transition:opacity .18s ease,transform .18s ease}.viewer-ui.visible .viewer-toolbar,.viewer-ui.visible .viewer-panel{opacity:1;transform:translateY(0)}.eyebrow{margin:0 0 8px;font-family:IBM Plex Mono,monospace;font-size:.72rem;letter-spacing:.12em;color:#d0d0d0}.viewer-panel h2{margin:0 0 8px;font-size:1.8rem;font-weight:800}.viewer-panel p{margin:0 0 4px;color:#ebebeb}.viewer-panel a{display:inline-block;margin-top:8px;color:#fff;border-bottom:1px solid #fff;text-decoration:none;font-family:IBM Plex Mono,monospace;font-size:.8rem}@media(max-width:920px){.museum-app{padding:14px}.masthead-grid,.control-strip{grid-template-columns:1fr}.metrics{justify-content:start}.site-footer{flex-direction:column;align-items:start}}
