:root{color-scheme:dark;--bg:#0a0608;--panel:#171110;--panel2:#211715;--line:#49302f;--text:#f1e7dc;--muted:#c6b8ac;--red:#f07170;--gold:#e8c38b}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at 50% -12%,#402022 0,#160d10 36%,var(--bg) 74%);color:var(--text);font:17px/1.7 system-ui,-apple-system,Segoe UI,sans-serif}
a{color:var(--gold);text-underline-offset:3px}
a:hover{color:#fff1d6}
header,main,footer{max-width:1040px;margin:auto;padding:0 22px}
.site-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:22px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.brand{font:700 1.1rem Georgia,serif;color:#fff;text-decoration:none;letter-spacing:.02em}
.site-nav{display:flex;gap:18px;flex-wrap:wrap;font-size:.88rem}
.site-nav a{color:var(--muted)}
main{padding-top:38px;padding-bottom:70px}
.eyebrow{margin:0 0 10px;color:var(--red);font-size:.77rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800}
h1,h2,h3{font-family:Georgia,Times,serif;line-height:1.25;letter-spacing:.01em}
h1{font-size:clamp(2.15rem,5vw,3.7rem);margin:0 0 16px;max-width:900px}
h2{font-size:clamp(1.5rem,3vw,2.1rem);margin:0 0 15px}
h3{font-size:1.18rem;margin:0 0 9px}
p{margin:0 0 18px}
.lead{font-size:1.12rem;color:var(--muted);max-width:790px}
.hero{padding:28px 0 42px}
.meta{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.83rem;margin-top:20px}
.meta span{border:1px solid var(--line);border-radius:999px;padding:4px 10px}
.button-row{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 0}
.button{display:inline-flex;align-items:center;justify-content:center;border-radius:6px;border:1px solid var(--red);background:#a62f2f;color:#fff;text-decoration:none;font-weight:700;padding:10px 15px}
.button.secondary{background:transparent;border-color:var(--line);color:var(--text)}
.button:hover{background:#bc4644;color:#fff}
section{margin-top:42px}
.panel,.card{background:linear-gradient(150deg,var(--panel),var(--panel2));border:1px solid var(--line);border-radius:10px}
.panel{padding:24px}
.alert{border-left:4px solid var(--gold)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:16px}
.card{padding:23px;display:flex;flex-direction:column}
.card p{color:var(--muted);font-size:.93rem;flex:1}
.card a{font-weight:700}
.tag{display:inline-block;color:var(--gold);font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;font-weight:800;margin-bottom:10px}
ul,ol{padding-left:1.35em;margin:8px 0 18px}
li{margin:0 0 8px}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:9px}
table{width:100%;border-collapse:collapse;min-width:610px}
th,td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{color:var(--gold);background:#221518;font-size:.84rem}
tr:last-child td{border-bottom:0}
td{font-size:.94rem}
.note{color:var(--muted);font-size:.9rem}
.source{padding:19px 22px;border-left:3px solid var(--red);background:#1b1414;color:var(--muted);font-size:.9rem}
.source p:last-child{margin-bottom:0}
.guide-shot{margin:22px 0 28px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--panel)}
.guide-shot img{display:block;width:100%;height:auto}
.guide-shot figcaption{padding:10px 15px;color:var(--muted);font-size:.82rem}
.jump-links{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 4px}
.jump-links a{display:inline-block;padding:7px 11px;border:1px solid var(--line);border-radius:999px;color:var(--text);text-decoration:none;font-size:.86rem}
.jump-links a:hover{border-color:var(--gold);color:var(--gold)}
.route-total{display:inline-block;margin-top:8px;padding:3px 9px;border-radius:4px;background:#3c2520;color:var(--gold);font-weight:800;font-size:.85rem}
.callout-list li{margin-bottom:14px}
.score{font:700 2rem Georgia,serif;color:var(--gold)}
select{background:#100d0d;color:var(--text);border:1px solid var(--line);padding:9px;border-radius:5px;width:100%;font:inherit}
label{display:block;font-weight:700;margin:0 0 6px}
.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px;margin:18px 0}
.choice-grid>div{min-width:0}
.result{border:1px solid var(--line);border-radius:7px;padding:16px;margin-top:16px;background:#211716}
details{border-top:1px solid var(--line);padding:14px 0}
summary{cursor:pointer;font-weight:700}
details p{margin:10px 0 0;color:var(--muted)}
footer{border-top:1px solid var(--line);padding-top:24px;padding-bottom:40px;color:var(--muted);font-size:.85rem}
footer nav{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:14px}
@media(max-width:600px){.site-header{align-items:flex-start;flex-direction:column}main{padding-top:25px}.hero{padding-bottom:15px}.panel{padding:19px}body{font-size:16px}}
