@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root { color-scheme:dark; --bg:#000; --surface:#0a0a0a; --line:#252525; --text:#eee; --muted:#a2a2a2; --dim:#858585; --font:'DM Sans',system-ui,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-font-smoothing:antialiased; }
body { margin:0; background:var(--bg); color:var(--muted); font:15px/1.55 var(--font); min-height:100vh; }
[hidden] { display:none !important; }
a { color:inherit; text-decoration:none; } button,input,select { font:inherit; }
h1,h2,h3,p { margin:0; } h1,h2,h3 { color:var(--text); }
:focus-visible { outline:2px solid #e7e7e7; outline-offset:3px; }
.topbar { position:fixed; inset:0 auto 0 0; width:232px; border-right:1px solid var(--line); background:#050505; z-index:20; }
.topbar__inner { height:100%; display:flex; flex-direction:column; padding:29px 18px; }
.topbar__brand { display:flex; gap:11px; align-items:center; padding:0 5px; color:#f3f3f3; font-size:.95rem; font-weight:700; line-height:1.2; }
.topbar__brand img { width:32px; height:32px; }.topbar__brand small { display:block; font-size:.57rem; letter-spacing:.12em; color:#898989; margin-top:5px; font-weight:700; }
.topbar__section { color:#737373; font-size:.64rem; letter-spacing:.1em; font-weight:700; margin:58px 10px 12px; }
.topbar__nav { display:grid; gap:4px; }.topbar__link { display:flex; align-items:center; gap:12px; border-radius:5px; color:#a1a1a1; padding:11px 12px; font-size:.88rem; font-weight:600; }.topbar__link svg { width:18px; height:18px; stroke:currentColor; stroke-width:1.5; }.topbar__link:hover { color:#fff; background:#111; }.topbar__link.is-active { color:#f4f4f4; background:#1c1c1c; }
.topbar__bottom { margin-top:auto; padding:16px 10px 0; border-top:1px solid var(--line); color:#858585; font-size:.74rem; }.topbar__bottom span { display:block; }.topbar__bottom a { display:flex; justify-content:space-between; color:#bdbdbd; margin-top:9px; }
main { margin-left:232px; padding:65px clamp(30px,5vw,76px) 100px; max-width:1650px; min-height:calc(100vh - 90px); }
.page-header { padding-bottom:32px; border-bottom:1px solid var(--line); }.page-header__step { color:#858585; font-size:.66rem; letter-spacing:.13em; font-weight:700; margin-bottom:15px; }.page-header h1 { font-size:clamp(2.6rem,4vw,3.7rem); font-weight:600; letter-spacing:-.065em; line-height:1.05; }.page-header__lead { margin-top:13px; color:#aaa; }
.directory-controls { padding:26px 0 22px; }.directory-search { max-width:680px; display:flex; align-items:center; gap:12px; border-bottom:1px solid #545454; padding:0 3px; }.directory-search:focus-within { border-color:#fff; }.directory-search svg { width:19px; height:19px; color:#bcbcbc; }.directory-search input { width:100%; min-width:0; height:48px; outline:none; border:0; color:#f2f2f2; background:transparent; }input::placeholder { color:#858585; }
.directory-filters { margin-top:25px; display:flex; align-items:center; gap:15px; flex-wrap:wrap; }.directory-filters__label,.sheet-control span { color:#858585; font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; font-weight:700; }.directory-filters__chips { display:flex; flex-wrap:wrap; gap:7px; }.directory-filter { background:transparent; color:#a9a9a9; border:1px solid #363636; border-radius:3px; font-size:.77rem; padding:6px 10px; cursor:pointer; }.directory-filter:hover { border-color:#8c8c8c; color:#fff; }.directory-filter.is-active { color:#111; background:#efefec; border-color:#efefec; }.directory-filters__clear { background:none; border:0; color:#aaa; padding:0; text-decoration:underline; font-size:.75rem; cursor:pointer; }
.directory-status,.sheet-status { color:#969696; font-size:.78rem; margin:24px 0 0; }.directory-loading,.directory-error,.directory-empty,.sheet-empty { padding:28px 0; }.directory-error { color:#e4a6a6; }
.list-heading { display:flex; justify-content:space-between; padding:12px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); color:#828282; font-size:.63rem; font-weight:700; letter-spacing:.11em; }
.directory-list { display:block; }.directory-item { min-width:0; min-height:74px; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:15px 0; border-bottom:1px solid #202020; }.directory-item__main { min-width:0; }.directory-item__name { font-size:.92rem; font-weight:600; line-height:1.3; overflow-wrap:anywhere; }.directory-item__meta { font-size:.78rem; color:#929292; margin:4px 0 0; }.directory-item__actions,.sheet-item__links { display:flex; flex-wrap:wrap; gap:7px; justify-content:flex-end; }.directory-link { display:inline-flex; align-items:center; justify-content:center; min-height:32px; padding:5px 10px; border:1px solid #393939; border-radius:3px; background:transparent; color:#d4d4d4; font-size:.74rem; font-weight:600; cursor:pointer; white-space:nowrap; }.directory-link:hover { border-color:#aaa; color:#fff; }.directory-item__muted { font-size:.75rem; color:#888; }
.sheet-controls { display:grid; grid-template-columns:minmax(0,1fr) 210px; gap:26px; padding-top:27px; }.sheet-control span { display:block; margin-bottom:5px; }.field { color:#eee; background:#080808; width:100%; height:48px; padding:8px 10px; border:0; border-bottom:1px solid #545454; border-radius:0; }.field:focus { outline:none; border-color:#fff; }.sheet-status { margin:25px 0 20px; }
.sheet-list { display:block; }.sheet-item { padding:22px 0; border-bottom:1px solid #242424; }.sheet-item__head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }.sheet-item__category { color:#999; font-size:.65rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin-bottom:5px; }.sheet-item__name { font-size:1.06rem; line-height:1.3; font-weight:600; }.sheet-item__brands { color:#dedede; font-size:.81rem; margin-top:12px; }.sheet-item__notes { color:#aaa; font-size:.85rem; max-width:750px; margin-top:9px; }.sheet-item__details { display:flex; gap:7px 24px; flex-wrap:wrap; color:#969696; font-size:.75rem; margin-top:12px; overflow-wrap:anywhere; }
.site-footer { margin-left:232px; padding:24px clamp(30px,5vw,76px); display:flex; justify-content:space-between; gap:15px; color:#818181; font-size:.73rem; }.site-footer a { color:#b0b0b0; }
.modal:not([hidden]) { position:fixed; inset:0; z-index:100; display:flex; align-items:center; justify-content:center; padding:16px; }.modal__backdrop { position:absolute; inset:0; background:rgba(0,0,0,.83); }.modal__panel { position:relative; background:#111; border:1px solid #444; width:100%; max-width:480px; }.directory-contact__head { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:18px; border-bottom:1px solid #333; }.directory-contact__head h2 { font-size:1rem; }.directory-contact__close { width:36px; height:36px; background:none; color:#eee; border:1px solid #444; font-size:1.2rem; cursor:pointer; }.directory-contact__body { max-height:55vh; overflow:auto; padding:8px 18px 18px; }.directory-contact__row { display:grid; grid-template-columns:100px 1fr; gap:10px; padding:10px 0; border-bottom:1px solid #292929; font-size:.85rem; }.directory-contact__key { color:#999; font-size:.7rem; text-transform:uppercase; }.directory-contact__link { color:#eee; overflow-wrap:anywhere; }body.modal-open { overflow:hidden; }
.about__body { max-width:700px; }.about__body h2 { font-size:1.1rem; margin:32px 0 9px; }.about__body a { color:#eee; text-decoration:underline; }
@media (max-width:800px) { .topbar { position:sticky; inset:0 0 auto; width:auto; border-right:0; border-bottom:1px solid var(--line); }.topbar__inner { height:auto; padding:12px 20px; flex-direction:row; align-items:center; justify-content:space-between; gap:16px; }.topbar__brand small,.topbar__section,.topbar__bottom { display:none; }.topbar__nav { display:flex; gap:3px; }.topbar__link { padding:9px 10px; font-size:.8rem; }.topbar__link svg { width:16px; height:16px; }.topbar__brand { white-space:nowrap; } main { margin:0; padding:45px 24px 70px; }.site-footer { margin:0; padding:22px 24px; } }
@media (max-width:480px) { .topbar__inner { padding:10px 14px; gap:8px; }.topbar__brand { font-size:.8rem; gap:7px; }.topbar__brand img { width:26px; height:26px; }.topbar__link { padding:9px 7px; gap:5px; font-size:.72rem; }.topbar__link svg { display:none; } main { padding:36px 18px 60px; }.page-header h1 { font-size:2.6rem; }.sheet-controls { grid-template-columns:1fr; gap:15px; }.directory-filters { align-items:flex-start; flex-direction:column; gap:9px; }.directory-item { align-items:flex-start; flex-direction:column; gap:10px; }.directory-item__actions,.sheet-item__links { justify-content:flex-start; }.sheet-item__head { flex-wrap:wrap; }.site-footer { padding:20px 18px; flex-wrap:wrap; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* Compact directory layout */
.topbar { position:sticky; top:0; width:auto; inset:0 0 auto; border:0; border-bottom:1px solid #292929; background:#080808; }
.topbar__inner { max-width:1280px; height:64px; margin:auto; padding:0 28px; display:flex; flex-direction:row; align-items:center; gap:34px; }
.topbar__brand { padding:0; font-size:.92rem; white-space:nowrap; }.topbar__brand img { width:27px; height:27px; }
.topbar__nav { display:flex; align-self:stretch; gap:0; }.topbar__link { border-radius:0; padding:0 17px; color:#999; border-bottom:2px solid transparent; font-weight:500; }.topbar__link:hover { background:none; }.topbar__link.is-active { background:none; color:#fff; border-bottom-color:#ededeb; }.topbar__link svg { width:16px; height:16px; }
.topbar__about { margin-left:auto; font-size:.82rem; color:#aaa; }.topbar__about:hover { color:#fff; }
main { margin:0 auto; max-width:1280px; min-height:calc(100vh - 130px); padding:36px 28px 70px; }
.page-header { border:0; padding:0; margin-bottom:22px; }.page-header h1 { font-size:1.8rem; line-height:1.2; letter-spacing:-.04em; }
.directory-controls { padding:0 0 20px; }.directory-search { max-width:none; border:1px solid #363636; background:#101010; border-radius:5px; padding:0 14px; }.directory-search input { height:46px; }.directory-search svg { width:17px; height:17px; }
.directory-filters { margin-top:14px; gap:10px; }.directory-filter { padding:6px 12px; border-radius:4px; }.directory-status:empty,.sheet-status:empty { display:none; }
.directory-list,.sheet-list { border-top:1px solid #363636; }.directory-item { min-height:58px; padding:10px 12px; gap:18px; }.directory-item:nth-child(even),.sheet-item:nth-child(even) { background:#090909; }.directory-item:hover,.sheet-item:hover { background:#111; }.directory-item__main { display:grid; grid-template-columns:minmax(150px, 230px) minmax(0,1fr); gap:20px; align-items:center; flex:1; }.directory-item__name { font-size:.86rem; }.directory-item__meta { margin:0; font-size:.8rem; }.directory-link { min-height:30px; padding:4px 10px; background:#171717; border-color:#373737; border-radius:4px; }
.sheet-controls { padding:0 0 20px; grid-template-columns:minmax(0,1fr) 200px; gap:10px; }.sheet-control span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }.field { height:46px; border:1px solid #363636; background:#101010; border-radius:5px; padding:0 14px; }.field:focus { border-color:#aaa; }.sheet-status:not(:empty) { margin:0 0 20px; }
.sheet-item { position:relative; padding:0 12px; }.sheet-item__main { min-height:58px; display:grid; grid-template-columns:minmax(150px,230px) minmax(0,1fr) auto; align-items:center; gap:20px; padding:10px 0; }.sheet-item__identity { min-width:0; }.sheet-item__name { font-size:.86rem; }.sheet-item__category { color:#929292; font-size:.7rem; text-transform:none; letter-spacing:0; margin:3px 0 0; font-weight:400; }.sheet-item__brands { color:#aaa; margin:0; font-size:.8rem; }.sheet-item__links { margin-right:76px; }.sheet-item__expand > summary { position:absolute; top:17px; right:12px; cursor:pointer; list-style:none; color:#bcbcbc; font-size:.76rem; padding:3px 0; }.sheet-item__expand > summary::-webkit-details-marker { display:none; }.sheet-item__expand > summary::after { content:' +'; color:#888; }.sheet-item__expand[open] > summary::after { content:' −'; }.sheet-item__details { display:block; margin:0 0 16px; padding:14px; background:#151515; border:1px solid #2e2e2e; border-radius:4px; color:#bbb; font-size:.8rem; }.sheet-item__details p { margin:0 0 8px; }.sheet-item__details p:last-child { margin-bottom:0; }.sheet-item__notes { color:#ccc; max-width:800px; }.sheet-item__extra { display:flex; flex-wrap:wrap; gap:6px; }
.site-footer { margin:0 auto; max-width:1280px; padding:20px 28px; }
@media (max-width:800px) { .topbar__inner { padding:0 20px; gap:15px; }.topbar__brand small { display:none; }.topbar__link { padding:0 10px; }.topbar__link svg { display:none; } main { padding:28px 20px 55px; }.site-footer { padding:20px; } }
@media (max-width:600px) { .topbar__inner { height:58px; padding:0 14px; gap:8px; }.topbar__brand { font-size:.8rem; }.topbar__brand img { width:23px; height:23px; }.topbar__link { font-size:.75rem; padding:0 8px; }.topbar__about { font-size:.75rem; }.sheet-controls { grid-template-columns:minmax(0,1fr) 130px; gap:8px; }.field { padding:0 9px; font-size:.82rem; }.directory-item { flex-direction:row; align-items:center; }.directory-item__main { display:block; }.directory-item__meta { margin-top:3px; }.directory-item__actions { justify-content:flex-end; }.sheet-item__main { grid-template-columns:minmax(0,1fr) auto; gap:10px; }.sheet-item__brands { grid-column:1; grid-row:2; }.sheet-item__links { grid-column:2; grid-row:1; margin-right:55px; }.sheet-item__expand > summary { right:12px; }.directory-filter { padding:5px 9px; }.directory-filters { flex-direction:row; align-items:center; } }
.sheet-item__links--no-details { margin-right:0; }
.sheet-item__details a:not(.directory-link) { color:#eee; text-decoration:underline; overflow-wrap:anywhere; }
