:root{--fg:#1a1a1a;--muted:#6a6a6a;--bg:#ffffff;--soft:#f2f2f2;--line:#e0e0e0;--brand:#ffdf16;--brand-dark:#f7d511;--accent:#d61a20;--link:#0a4ba0;--note-bg:#fcf0ce;--note-line:#f3e9aa;--rad:4px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font:15px/1.6 Roboto,Helvetica,Arial,sans-serif;color:var(--fg);background:var(--bg)}.container{max-width:1e3px;margin:0 auto;padding:0 16px}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:1.75rem;line-height:1.25;margin:.3em 0 .5em;font-weight:700}h2{font-size:1.3rem;margin:1.5em 0 .5em;font-weight:700}h3{font-size:1.08rem;margin:1.2em 0 .4em;font-weight:700}img{max-width:100%;height:auto}.site-header{background:#fff;border-top:3px solid var(--brand);border-bottom:1px solid var(--line)}.header-row{display:flex;align-items:center;gap:18px;padding:11px 16px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:9px;color:#111}.brand:hover{text-decoration:none}.brand-mark{flex:none;display:block}.brand-text{display:flex;flex-direction:column;line-height:1.05;font-weight:800;font-size:1.12rem;letter-spacing:-.2px}.brand-text b{color:var(--muted);font-weight:600;font-size:.68rem;letter-spacing:.02em;text-transform:uppercase}.mainnav{margin-left:auto}.megamenu summary{cursor:pointer;list-style:none;padding:6px 12px;border:1px solid var(--line);border-radius:var(--rad);background:#fff;font-weight:600;font-size:.9rem}.megamenu summary:hover{border-color:var(--accent)}.megamenu ul{position:absolute;background:#fff;border:1px solid var(--line);border-radius:var(--rad);padding:6px;margin-top:6px;list-style:none;box-shadow:0 6px 20px rgba(0,0,0,.12);z-index:10;columns:2;min-width:420px}.megamenu li{padding:4px 8px;break-inside:avoid}.site-search{margin-left:0}.site-search input{padding:7px 10px;border:1px solid var(--line);border-radius:var(--rad);min-width:240px;font-size:.9rem;background:#fff}.site-search input:focus{outline:none;border-color:var(--accent)}.hero{padding:20px 0 6px;border-bottom:1px solid var(--line);margin-bottom:8px}.hero h1{margin:.1em 0 .2em}.lead{color:var(--muted);font-size:1rem;margin:0}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin:12px 0}.card{display:block;padding:12px 14px;border:1px solid var(--line);border-radius:var(--rad);background:#fff;color:var(--fg)}.card:hover{border-color:var(--accent);text-decoration:none;background:#fffdf3}.card b{display:block;margin-bottom:2px}.card span{color:var(--muted);font-size:.88rem}h2.sec,.cats h2,.routes h2,.recent h2{border-left:4px solid var(--brand);padding-left:10px}.postlist{list-style:none;padding:0;margin:8px 0}.postlist li{padding:9px 0;border-bottom:1px solid var(--line)}.rt{color:var(--muted);font-size:.82rem;margin-left:6px}.breadcrumbs{color:var(--muted);font-size:.88rem;margin:14px 0}.post .meta{color:var(--muted);font-size:.86rem}.toc{background:var(--soft);border:1px solid var(--line);border-radius:var(--rad);padding:10px 14px;margin:16px 0}.toc summary{cursor:pointer;font-weight:700}.article-grid{display:grid;grid-template-columns:minmax(0,1fr)240px;gap:34px;align-items:start}.article-side{position:sticky;top:14px;align-self:start;max-height:calc(100vh - 28px);overflow:auto}.toc-sticky{background:var(--soft);border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:var(--rad);padding:12px 14px;font-size:.88rem}.toc-sticky__title{font-weight:800;margin-bottom:8px}.toc-sticky nav ul{list-style:none;padding-left:0;margin:0}.toc-sticky nav li{margin:1px 0}.toc-sticky nav ul ul{padding-left:12px}.toc-sticky nav a{display:block;color:var(--muted);padding:3px 8px;border-left:2px solid transparent;line-height:1.35}.toc-sticky nav a:hover{color:var(--link);text-decoration:none}.toc-sticky nav a.active{color:var(--accent);border-left-color:var(--accent);font-weight:600}.toc-mobile{display:none}@media(max-width:860px){.article-grid{grid-template-columns:1fr}.article-side{display:none}.toc-mobile{display:block}}.content{font-size:1.02rem}.content h2,.content h3{scroll-margin-top:12px}.content table{border-collapse:collapse;width:100%;margin:1em 0;font-size:.96rem}.content th,.content td{border:1px solid var(--line);padding:8px 10px;text-align:left}.content th{background:var(--soft);font-weight:700}.content pre{background:#2b2b2b;color:#eaeaea;padding:12px;border-radius:var(--rad);overflow-x:auto;font-size:.9rem}.content code{background:var(--soft);padding:.08em .35em;border-radius:3px;font-size:.92em}.content pre code{background:0 0;padding:0}.content blockquote{margin:1em 0;padding:.6em 1em;border-left:4px solid var(--brand-dark);background:var(--note-bg)}.content blockquote p{margin:.3em 0}mark{background:#ffe89a;padding:.05em .2em}.sources{margin-top:22px;font-size:.94rem}.sources h2{font-size:1.1rem}.sources ul{margin:.3em 0;padding-left:1.2em}.sources li{margin:3px 0;color:var(--muted)}.editorial{margin-top:18px;padding:11px 14px;background:var(--soft);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--rad);color:var(--muted);font-size:.86rem}.related{margin-top:26px;padding-top:12px;border-top:1px solid var(--line)}.checklist{background:var(--note-bg);border:1px solid var(--note-line);border-radius:var(--rad);padding:14px 16px;margin:22px 0}.checklist__title{font-weight:800;color:#111;font-size:1.02rem;display:flex;align-items:center;gap:9px}.checklist__title::before{content:"✓";display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--accent);color:#fff;border-radius:3px;font-size:.75rem;font-weight:700}.checklist ul{list-style:none;padding:0;margin:11px 0 6px}.checklist li{margin:6px 0}.checklist label{display:flex;align-items:center;gap:10px;cursor:pointer}.checklist input{width:17px;height:17px;accent-color:var(--accent);flex:none;cursor:pointer}.checklist input:checked+span{text-decoration:line-through;color:#9a8f6a}.checklist__progress{color:#8a7c50;font-size:.88rem;margin-top:8px}.checklist__progress b{color:var(--accent)}.site-footer{border-top:3px solid var(--brand);background:var(--soft);margin-top:40px;padding:20px 0}.disclaimer{color:var(--muted);font-size:.88rem}.footnav a{margin-right:16px;color:var(--fg)}.copy{color:var(--muted);font-size:.82rem;margin-top:6px}