.fdl{
  --bg:#eef2f1; --surface:#ffffff; --sunk:#e3eae8; --fg:#13211f; --muted:#56706b; --line:#cbd8d5;
  --accent:#0d6b62; --accent-ink:#ffffff; --signal:#f2b705; --warn:#b4541a; --hull:#24413c; --water:#9cc4bd;
  --f-display:"Barlow Condensed","Arial Narrow",sans-serif;
  --f-body:"Source Sans 3","Segoe UI",system-ui,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
}
.fdl *{box-sizing:border-box}
.fdl{background:var(--bg);color:var(--fg);font:16px/1.5 var(--f-body);padding:20px 16px 48px;border-radius:14px}
.fdl .wrap{max-width:1180px;margin:0 auto;display:grid;gap:24px}
.fdl h1,.fdl h2,.fdl h3{font-family:var(--f-display);text-wrap:balance;margin:0;letter-spacing:.01em}
.fdl h1{font-size:clamp(2.2rem,5vw,3.4rem);font-weight:700;line-height:1}
.fdl h2{font-size:1.7rem;font-weight:600}
.fdl h3{font-size:1.15rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.fdl .mono{font-family:var(--f-mono);font-size:.82rem}
.fdl .num{font-variant-numeric:tabular-nums}
.fdl header.top{display:grid;gap:14px;padding-bottom:18px;border-bottom:3px solid var(--fg)}
.fdl .eyebrow{font-family:var(--f-display);font-weight:600;text-transform:uppercase;letter-spacing:.14em;font-size:.85rem;color:var(--accent)}
.fdl .lede{color:var(--muted);max-width:62ch;margin:0}
.fdl .stats{display:flex;flex-wrap:wrap;gap:8px 28px}
.fdl .stats div{display:grid}
.fdl .stats b{font-family:var(--f-display);font-size:1.9rem;line-height:1;font-weight:700}
.fdl .stats span{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.fdl .controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.fdl .seg{display:flex;flex-wrap:wrap;gap:6px}
.fdl .chip{font:600 .9rem var(--f-body);border:1.5px solid var(--line);background:var(--surface);color:var(--fg);padding:6px 12px;border-radius:999px;cursor:pointer}
.fdl .chip[aria-pressed="true"]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.fdl .chip:focus-visible,.fdl button:focus-visible,.fdl select:focus-visible,.fdl input:focus-visible,.fdl .card:focus-visible{outline:3px solid var(--signal);outline-offset:2px}
.fdl select,.fdl input[type=search]{font:inherit;font-size:.95rem;padding:7px 10px;border:1.5px solid var(--line);border-radius:8px;background:var(--surface);color:var(--fg);min-width:0}
.fdl input[type=search]{flex:1 1 180px}
.fdl label.inline{display:flex;gap:6px;align-items:center;font-size:.9rem;color:var(--muted)}
.fdl .finder{background:var(--sunk);border-radius:12px;padding:14px 16px;display:grid;gap:10px}
.fdl .finder-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.fdl .finder p{margin:0;font-size:.95rem}
.fdl .finder select{flex:1 1 240px}
.fdl .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.fdl .card{background:var(--surface);border:1.5px solid var(--line);border-radius:12px;padding:14px;display:grid;gap:10px;cursor:pointer;text-align:left;font:inherit;color:inherit;grid-template-rows:auto auto auto 1fr}
.fdl .card:hover{border-color:var(--accent)}
.fdl .card[aria-current="true"]{border-color:var(--fg);box-shadow:0 0 0 2px var(--fg)}
.fdl .card.dim{opacity:.38}
.fdl .pic{background:linear-gradient(180deg,transparent 62%,var(--water) 62%);border-radius:8px;aspect-ratio:16/7;max-width:100%;display:grid;place-items:center;overflow:hidden}
.fdl .pic svg{width:92%;height:auto}
.fdl .card-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.fdl .card-head h2{font-size:1.45rem}
.fdl .tag{font:600 .72rem var(--f-body);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);white-space:nowrap}
.fdl .cap{display:grid;gap:4px}
.fdl .cap-bar{height:8px;background:var(--sunk);border-radius:4px;overflow:hidden}
.fdl .cap-bar i{display:block;height:100%;background:var(--accent)}
.fdl .cap-txt{display:flex;justify-content:space-between;font-size:.85rem;color:var(--muted)}
.fdl .cap-txt b{color:var(--fg);font-size:1rem}
.fdl .badges{display:flex;flex-wrap:wrap;gap:4px;align-content:start}
.fdl .lb{font:500 .74rem var(--f-mono);padding:2px 6px;border-radius:4px;background:var(--lc,#888);color:#fff;text-shadow:0 0 2px rgba(0,0,0,.45)}
.fdl .empty{color:var(--muted);font-size:.85rem}
.fdl .detail{background:var(--surface);border:1.5px solid var(--fg);border-radius:14px;overflow:hidden;scroll-margin-top:16px}
.fdl .d-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px;padding:20px}
@media (max-width:760px){.fdl .d-head{grid-template-columns:1fr}
}
.fdl .d-head .pic{aspect-ratio:16/8}
.fdl .d-title{display:grid;gap:10px;align-content:start;min-width:0}
.fdl .d-title h2{font-size:2.4rem;line-height:1}
.fdl .kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}
.fdl .kv div{border-top:2px solid var(--line);padding-top:6px;display:grid}
.fdl .kv span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.fdl .kv b{font-family:var(--f-display);font-size:1.5rem;font-weight:600;line-height:1.1}
.fdl .tabs{display:flex;gap:2px;border-bottom:1.5px solid var(--line);padding:0 20px;overflow-x:auto}
.fdl .tab{font:600 .95rem var(--f-body);background:none;border:0;color:var(--muted);padding:10px 12px;border-bottom:3px solid transparent;margin-bottom:-1.5px;cursor:pointer;white-space:nowrap}
.fdl .tab[aria-selected="true"]{color:var(--fg);border-bottom-color:var(--accent)}
.fdl .panel{padding:20px;display:grid;gap:16px}
.fdl .svc{display:flex;flex-wrap:wrap;gap:8px}
.fdl .svc span{border:1.5px solid var(--line);border-radius:8px;padding:6px 10px;font-size:.9rem}
.fdl .svc span.no{border-style:dashed;color:var(--warn)}
.fdl .note{font-size:.9rem;color:var(--muted);margin:0;max-width:70ch}
.fdl .scroll{overflow-x:auto}
.fdl table{border-collapse:collapse;width:100%;font-size:.92rem}
.fdl th{text-align:left;font:600 .75rem var(--f-body);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:6px 10px;border-bottom:1.5px solid var(--line)}
.fdl td{padding:7px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.fdl td.n{font-variant-numeric:tabular-nums;white-space:nowrap}
.fdl .alerts{display:grid;gap:8px}
.fdl .alert{border-left:4px solid var(--warn);background:var(--sunk);padding:8px 12px;border-radius:0 8px 8px 0;font-size:.92rem}
.fdl .alert b{display:block}
.fdl .dest{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.fdl .dest section{display:grid;gap:4px;align-content:start}
.fdl .dest h4{margin:0;font:600 .8rem var(--f-body);text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}
.fdl .dest ul{margin:0;padding:0;list-style:none;font-size:.92rem}
.fdl .dest li{display:flex;justify-content:space-between;gap:8px;border-bottom:1px dotted var(--line);padding:2px 0}
.fdl .photo-note{font-size:.8rem;color:var(--muted);margin:0}
.fdl footer{font-size:.85rem;color:var(--muted);border-top:1.5px solid var(--line);padding-top:12px}
.fdl footer a{color:var(--accent)}
@media (prefers-reduced-motion:no-preference){.fdl .card{transition:border-color .15s,opacity .2s}
}

.fdl h1,.fdl h2,.fdl h3,.fdl h4{color:var(--fg);text-transform:none}
.fdl button{text-transform:none;letter-spacing:normal;line-height:1.3}
.fdl .card{width:100%;margin:0}
.fdl table{margin:0}
