*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:#17283c;background:#f5f8fb;font:16px/1.7 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:#1972b1}button,input,select{font:inherit}button,a,input,summary{outline-offset:5px}:focus-visible{outline:3px solid #e88935}.skip{position:fixed;top:-80px;left:12px;background:white;padding:12px;z-index:9}.skip:focus{top:8px}.top{height:76px;background:#f5f8fbf5;border-bottom:1px solid #e6ecf2;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 4vw;position:sticky;top:0;z-index:3;backdrop-filter:blur(12px)}.brand{font-size:23px;font-weight:800;text-decoration:none;color:#13243b;letter-spacing:-1px}.brand span{color:#1972b1;font-weight:500}nav.languages{display:flex;gap:6px}nav.languages a{font-size:13px;text-decoration:none;padding:5px 8px;border-radius:6px}nav.languages a[aria-current]{background:#1972b1;color:white}.app-link{font-size:14px;font-weight:700}.layout{display:grid;grid-template-columns:235px minmax(0,1000px);gap:55px;max-width:1400px;margin:auto;padding:35px 35px 80px}.sidebar{position:sticky;top:100px;align-self:start;max-height:calc(100vh - 120px);overflow:auto;font-size:13px}.sidebar label{display:block;font-weight:700;margin-bottom:8px}.sidebar input{width:100%;font-size:13px;border:1px solid #dde4ec;border-radius:8px;padding:10px;background:white}.sidebar nav{margin-top:20px;display:grid;gap:3px}.sidebar nav a{display:block;padding:7px 10px;text-decoration:none;color:#4a5a6a;border-left:2px solid transparent}.sidebar nav a:hover,.sidebar nav a.current{color:#155e92;border-color:#1972b1;background:#e7f1f9}.eyebrow{font-size:11px;font-weight:800;letter-spacing:2px;text-transform:uppercase;color:#1972b1}.hero{border-radius:20px;padding:48px;background:#e7f1f9;position:relative;overflow:hidden}.hero h1{font-size:clamp(34px,4vw,57px);line-height:1.1;letter-spacing:-2px;margin:18px 0 23px;max-width:700px}.hero p{font-size:18px;max-width:660px;color:#4a5a6a}.hero-art{width:100%;max-height:220px;margin-top:30px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.button{display:inline-block;border-radius:8px;padding:11px 18px;background:#1972b1;color:white;text-decoration:none;font-size:14px;font-weight:700}.button.secondary{background:white;color:#155e92;border:1px solid #cfe0f1}.meta{font-size:12px;color:#6b7a8a;margin-top:20px}.path{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0 45px}.path a{padding:25px;text-decoration:none;border:1px solid #e6ecf2;border-radius:12px;background:white;color:#17283c}.path strong{display:block;font-size:22px;margin-bottom:6px}.path small{font-size:14px;color:#4a5a6a}section.guide{padding:42px 0;border-top:1px solid #e6ecf2;scroll-margin-top:20px}h2{font-size:32px;line-height:1.2;letter-spacing:-.8px;margin:12px 0 18px}h3{font-size:19px;line-height:1.4}p{margin:12px 0 18px}ol{padding-left:26px}li{margin:10px 0;padding-left:5px}li::marker{color:#1972b1;font-weight:bold}.note{padding:17px 20px;border-left:3px solid #d29b47;background:#fbf2e4;border-radius:0 8px 8px 0;font-size:14px;margin:22px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:start}.shot{display:block;border:1px solid #dde4ec;border-radius:12px;overflow:hidden;background:#f5f8fb;cursor:zoom-in;width:100%;padding:0}.shot img{width:100%;height:auto;display:block;max-height:440px;object-fit:contain}.shot:hover{box-shadow:0 5px 20px #13243b1c}figure{margin:25px 0}figcaption{color:#6b7a8a;font-size:12px;margin-top:10px}.illustration{background:#eff6fc;border:1px solid #e6ecf2;border-radius:12px;padding:20px;width:100%}.tags{display:flex;gap:8px;flex-wrap:wrap}.tag{font-size:12px;background:#e7f1f9;border-radius:20px;padding:4px 12px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;padding:15px;border-bottom:1px solid #e6ecf2;vertical-align:top}th{background:#eff6fc}details{background:white;border:1px solid #e6ecf2;border-radius:10px;margin:10px 0;padding:17px 20px}summary{font-weight:700;cursor:pointer}details p{font-size:15px}footer{border-top:1px solid #e6ecf2;padding:30px 4vw;font-size:13px;color:#6b7a8a}footer a{margin-right:20px}dialog{padding:15px;border:0;border-radius:12px;max-width:95vw;max-height:95vh;background:#fbfcfe}dialog::backdrop{background:#13243bd9}dialog img{display:block;max-width:90vw;max-height:80vh;object-fit:contain}dialog button{display:block;margin:0 0 12px auto;border:1px solid #cfe0f1;background:white;border-radius:6px;padding:5px 14px;cursor:pointer}.empty{padding:25px;background:#fbf2e4;border-radius:10px}[hidden]{display:none!important}@media(max-width:1050px){.layout{gap:28px;grid-template-columns:190px minmax(0,1fr);padding:25px}.hero{padding:32px}.split{grid-template-columns:1fr}}@media(max-width:720px){.top{height:auto;min-height:76px;padding:15px 18px;flex-wrap:wrap;gap:10px}.brand{font-size:20px}.app-link{display:none}nav.languages{gap:0}.layout{display:block;padding:20px}.sidebar{position:static;max-height:none;margin-bottom:25px}.sidebar nav{display:flex;overflow:auto;gap:5px;padding-bottom:10px}.sidebar nav a{white-space:nowrap;border-left:0;border-bottom:2px solid transparent}.hero{padding:28px 23px}.hero h1{letter-spacing:-1.2px}.path{grid-template-columns:1fr;gap:10px}.path a{padding:18px}.hero-art{max-height:160px}h2{font-size:27px}section.guide{padding:30px 0}html{scroll-padding-top:135px}.shot img{max-height:350px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{.top,.sidebar,.actions,.path,dialog,.empty{display:none!important}.layout{display:block;padding:0}.hero{padding:20px;background:white}section.guide{break-inside:avoid}.shot img{max-height:320px}details{break-inside:avoid}details p{display:block}.note{background:white}footer{padding:15px}body{font-size:11pt}h2{font-size:20pt}}

/* Excel templates: readable cell examples, including on narrow screens. */
.excel-contents{display:grid;gap:.45rem;margin:2rem 0;padding:1.2rem;background:#e7f1f9;border-radius:12px}.excel-contents a{font-size:.93rem;color:#155f94;text-decoration:underline;text-underline-offset:3px}.excel-block{margin-top:2.4rem;padding-top:1.2rem;border-top:1px solid #d8e3ec;min-width:0}.excel-block h3{font-size:1.35rem;color:#17283c;line-height:1.35;scroll-margin-top:100px}.excel-table{overflow-x:auto;margin:1.2rem 0;border:1px solid #d8e3ec;border-radius:8px;max-width:100%;background:white}.excel-table:focus-visible{outline:3px solid #1972b1;outline-offset:3px}.excel-table table{border-collapse:collapse;width:100%;font-size:.9rem;line-height:1.55;text-align:left}.excel-table th{background:#e7f1f9;color:#17283c;font-weight:700}.excel-table th,.excel-table td{padding:.8rem;vertical-align:top;border-bottom:1px solid #d8e3ec;min-width:100px}.excel-table tr:last-child td{border-bottom:0}.excel-table tbody tr:nth-child(even){background:#f7fafc}.excel-table code{font-size:.84rem;overflow-wrap:anywhere;word-break:normal;color:#155f94}.excel-table td:has(code){min-width:230px}.excel-block p{overflow-wrap:anywhere}@media(max-width:600px){.excel-block h3{font-size:1.17rem}.excel-table th,.excel-table td{padding:.65rem}.excel-table table{min-width:580px}.excel-contents{padding:1rem}}

/* Short setting references fit a phone; spreadsheet matrices keep local scrolling. */
.excel-table:has(th:nth-child(2):last-child) table{min-width:0;table-layout:fixed}.excel-table:has(th:nth-child(2):last-child) th,.excel-table:has(th:nth-child(2):last-child) td{min-width:0;overflow-wrap:anywhere}.excel-table:has(th:nth-child(2):last-child) th:first-child{width:34%}.problem-routes{display:grid;gap:.8rem;padding-left:1.2rem}.problem-routes a{color:#155f94;text-decoration:underline;text-underline-offset:3px}.excel-block p{max-width:76ch}.excel-block h3 a{color:inherit}

.search-results{padding:1.25rem;border-left:3px solid #1972b1;background:#e7f1f9;margin:1.5rem 0 2rem;border-radius:0 8px 8px 0}.search-results h2{font-size:1.2rem;margin:0}.search-results p{font-size:.9rem;color:#40566b}.search-results ul{padding-left:1.2rem;display:grid;gap:.7rem}.search-results a{color:#155f94;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px}.search-results[hidden]{display:none}
.search-shortcut{display:block;margin-top:.7rem;color:#155f94;font-weight:600;text-underline-offset:3px}.search-shortcut[hidden]{display:none}
