:root{color-scheme:dark;--bg:#11100f;--surface:#24201b;--ink:#f2e5cf;--muted:#b4a48e;--accent:#d7a875;--line:#6b5440;--display:Georgia,serif;font-family:Georgia,serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);min-height:100svh}
button,input{font:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
a{color:inherit}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.eyebrow,.count,.route-type{font:600 .7rem/1.5 Arial,sans-serif;letter-spacing:.19em;text-transform:uppercase;color:var(--muted)}
.ilud-dialog{border:1px solid var(--line);padding:0;color:var(--ink);background:var(--surface);width:min(94vw,590px);max-height:min(90dvh,920px);overflow:auto;box-shadow:0 25px 90px #0009;border-radius:12px}
.ilud-dialog::backdrop{background:#070606d9;backdrop-filter:blur(5px)}
.browser-dialog{padding:clamp(20px,5vw,42px)}
.dialog-bar{display:flex;justify-content:space-between;align-items:center}
.close{border:0;background:none;color:var(--ink);font:300 2rem/1 Arial,sans-serif;min-width:44px;min-height:44px}
.browser-dialog h2,.detail-dialog h2{font:normal clamp(2.1rem,8vw,4rem)/1.02 var(--display);letter-spacing:-.04em;margin:.7rem 0 1.4rem}
#catalog-search,.query-label+input{display:block;width:100%;padding:15px;background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:7px;font-size:1rem;min-height:48px}
#catalog-search::placeholder,.query-label+input::placeholder{color:var(--muted)}
.filters{display:flex;gap:8px;overflow-x:auto;padding:18px 1px 12px;scrollbar-width:thin}
.filter{flex:none;min-height:42px;padding:8px 13px;background:none;color:var(--muted);border:1px solid var(--line);border-radius:50px;font:600 .75rem Arial,sans-serif}
.filter.active{background:var(--accent);border-color:var(--accent);color:var(--bg)}
.results{display:grid;gap:2px;padding-bottom:10px}
.result{width:100%;display:flex;text-align:left;gap:14px;align-items:center;padding:15px 2px;background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--line);min-height:68px}
.result:hover{color:var(--accent)}
.result-icon{font-size:1.5rem;width:32px;text-align:center;color:var(--accent)}
.result-copy{display:grid;gap:4px;flex:1}
.result-copy strong{font:normal 1.19rem var(--display)}
.result-copy small{font:normal .78rem/1.4 Arial,sans-serif;color:var(--muted)}
.result-arrow{color:var(--accent)}
.empty{line-height:1.6;color:var(--muted);padding:20px 0}
.detail-inner{padding:clamp(22px,6vw,46px);position:relative}
.detail-inner>.close{position:absolute;top:12px;right:15px}
.detail-symbol{font-size:2.6rem;color:var(--accent);margin-top:22px}
.detail-summary{font-size:1.14rem;line-height:1.5;color:var(--muted);margin-bottom:26px}
.detail-actions{display:grid;gap:10px}
.query-label{font:600 .75rem Arial,sans-serif;color:var(--muted)}
.primary-link{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 20px;min-height:55px;background:var(--accent);color:var(--bg);text-decoration:none;border-radius:6px;font:600 1rem Arial,sans-serif}
.primary-link:hover{filter:brightness(1.12)}
.save-button{min-height:48px;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:6px}
.route-type{margin:24px 0}
.detail-inner h3{font:normal 1.4rem var(--display);margin:28px 0 10px}
.steps{padding-left:1.35rem;line-height:1.65}
.steps li{margin-bottom:9px}
.caveat{border-left:2px solid var(--accent);padding-left:16px;color:var(--muted);line-height:1.55}
.caveat strong{color:var(--ink)}
.detail-inner details{border-top:1px solid var(--line);margin-top:27px;padding-top:17px;font:.86rem/1.6 Arial,sans-serif;color:var(--muted)}
.detail-inner summary{cursor:pointer;color:var(--ink);min-height:36px}
.source-link{color:var(--accent)}
.notice{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:100;background:var(--ink);color:var(--bg);border-radius:6px;padding:12px 18px;width:max-content;max-width:90vw;font:14px Arial,sans-serif}
[hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
