/* Tornado Hub: shared editorial system. Loaded after legacy page styles. */
:root{--bg:#f7f6f2;--bg-alt:#eeede6;--surface:#fffefa;--text:#202824;--text-secondary:#505b54;--text-muted:#626e64;--border:#d6d9ce;--border-strong:#a8b3a7;--accent:#9c3526;--accent-hover:#772719;--link:#294e40;--link-hover:#9c3526;--serif:Fraunces,Georgia,serif;--sans:Inter,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased}::selection{background:#dce5c9;color:#202824}input{caret-color:var(--accent)}:focus-visible{outline:3px solid #9c3526!important;outline-offset:4px}a{text-underline-offset:.2em}img{max-width:100%}button,input,select,textarea{font:inherit}button,a,input{touch-action:manipulation}h1,h2,h3{text-wrap:balance}p{overflow-wrap:break-word}table{font-variant-numeric:tabular-nums}
.th-skip{position:absolute;left:16px;top:-100px;z-index:9999;background:var(--text);color:white;padding:12px}.th-skip:focus{top:12px}
.th-nav{position:relative;z-index:100;background:var(--bg);border-bottom:1px solid var(--text)}.th-nav-inner{max-width:1320px;margin:auto;min-height:88px;padding:18px 40px;display:flex;align-items:center;gap:40px}.th-brand{color:var(--text);font-family:var(--serif);font-size:28px;font-weight:700;letter-spacing:-.04em;white-space:nowrap;text-decoration:none;display:flex;align-items:center;gap:12px}.th-brand svg{width:29px;height:34px;color:var(--accent)}.th-links{display:flex;align-items:center;gap:25px;margin-left:auto}.th-links a{font-size:14px;color:var(--text);text-decoration:none;padding:12px 0;white-space:nowrap}.th-links a:hover,.th-links a[aria-current=page]{color:var(--accent);text-decoration:underline}.th-launch{background:var(--text)!important;color:#fffefa!important;padding:12px 18px!important}.th-menu{display:none;margin-left:auto;border:1px solid var(--border-strong);padding:10px 14px;background:none;color:var(--text)}
.page-header{background:var(--bg)!important;padding:70px 30px 40px!important}.page-header-inner{max-width:1120px!important}.page-header h1{font-size:clamp(36px,5.5vw,70px)!important;max-width:900px;line-height:1.06!important;font-weight:500!important}.page-header p{max-width:680px;font-size:18px}.page-eyebrow,.eyebrow{display:none}.main{max-width:1180px!important}.cat-section{padding:0 0 32px;border-bottom:1px solid var(--border)}.cat-heading{font-weight:500;font-size:32px}.link-grid{gap:0 30px!important}.link-card{border:0!important;border-bottom:1px solid var(--border)!important;border-radius:0!important;background:none!important;padding:18px 0!important;line-height:1.5}.link-card:hover{color:var(--accent)!important}.search-result{box-shadow:none!important;border-radius:0!important;background:transparent!important;border:0!important;border-bottom:1px solid var(--border)!important;padding:22px 0!important}.search-result strong{font-family:var(--serif);font-size:23px;font-weight:500}.search-box input,[data-site-search-input]{min-height:50px;background:var(--surface);border:1px solid var(--border-strong)!important;border-radius:0!important;color:var(--text);padding:14px!important}.search-chips button{min-height:44px}
.breadcrumb{max-width:860px!important;padding:26px 30px 0!important;font-size:12px!important;line-height:1.7}.article{max-width:860px!important;padding:35px 30px 80px!important}.article-header{padding-bottom:32px!important;margin-bottom:36px!important}.article h1{font-size:clamp(36px,5vw,64px)!important;font-weight:500!important;line-height:1.09!important;letter-spacing:-.035em!important}.article .lede{font-size:21px!important;line-height:1.6!important;color:var(--text-secondary)}.article p,.article li{font-size:18px;line-height:1.85}.article h2{font-size:32px;line-height:1.22;margin:48px 0 18px;font-weight:500}.article h3{font-size:24px;line-height:1.3;margin-top:30px}.article ul,.article ol{padding-left:24px}.article li{margin-bottom:10px}.article p a,.article li a{text-decoration:underline}.article figure{margin:32px 0!important;border:0!important;background:transparent!important;border-radius:0!important;overflow:hidden}.article figure img{height:auto!important;max-height:530px;object-fit:cover}.article figcaption{font-size:12px!important;color:var(--text-secondary)!important;line-height:1.6;padding:12px 0!important}.article .quick-answer,.article .note,.article .callout{background:var(--bg-alt)!important;box-shadow:none!important;border:0!important;border-top:1px solid var(--border-strong)!important;border-radius:0!important;padding:24px!important}.article table{display:block;max-width:100%;overflow:auto;border-collapse:collapse;font-size:15px}.article th,.article td{padding:12px;border-bottom:1px solid var(--border)}.article pre{overflow:auto;max-width:100%}.th-toc{margin:28px 0 40px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:16px 0}.th-toc summary{cursor:pointer;font-weight:600;min-height:30px}.th-toc ol{columns:2;margin-top:14px}.th-toc li{font-size:14px;line-height:1.5;break-inside:avoid;padding-right:20px}.th-toc a{color:var(--text-secondary)}.related{border-top:1px solid var(--text)!important}.related li{font-size:16px!important}
.inline-ad{position:relative;padding-top:24px;min-height:114px;overflow:hidden;max-width:100%;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.inline-ad::before{content:'Advertisement';display:block;text-align:center;font:10px var(--sans);letter-spacing:.08em;color:var(--text-muted);margin-bottom:12px}.footer{background:#202824!important;border-top:0!important;padding:48px 30px!important;color:#c7cec5!important}.footer a{color:#fffefa!important}.footer-inner{max-width:1180px!important}.th-footer{border-top:1px solid var(--text);padding:35px 0;margin-top:70px;display:flex;justify-content:space-between;gap:30px;font-size:13px;color:var(--text-secondary)}.th-footer a{color:var(--text);margin-left:18px}
.th-home{max-width:1320px;margin:auto;padding:0 40px}.th-topic-nav{display:flex;gap:24px;padding:18px 0;border-bottom:1px solid var(--border);font-size:12px;overflow:auto;white-space:nowrap}.th-topic-nav a{color:var(--text-secondary);text-decoration:none}.th-hero{display:grid;grid-template-columns:1fr 1.35fr;gap:55px;padding:52px 0 48px;align-items:center}.th-hero h1{font:500 clamp(46px,5.4vw,76px)/1.02 var(--serif);letter-spacing:-.04em;margin:0 0 25px}.th-hero p{font-size:17px;line-height:1.75;max-width:420px;margin:0 0 28px;color:var(--text-secondary)}.th-action{display:inline-block;background:var(--accent);color:white!important;text-decoration:none;padding:14px 22px;font-size:14px;font-weight:600}.th-action:hover{background:var(--accent-hover)}.th-text-link{display:inline-block;color:var(--text);margin:15px 0 0 20px;font-size:14px}.th-hero figure{margin:0}.th-hero img{width:100%;height:470px;object-fit:cover;object-position:50% 50%}.th-hero figcaption{font-size:11px;color:var(--text-secondary);line-height:1.5;margin-top:10px}.th-hero figcaption a{color:inherit}.th-section{padding:38px 0 48px;border-top:1px solid var(--text)}.th-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:26px}.th-section-head h2{font:500 32px/1.2 var(--serif);margin:0}.th-section-head>a{font-size:13px;color:var(--text)}.th-editorial{display:grid;grid-template-columns:1.1fr 1fr;gap:64px}.th-lead h3{font:500 36px/1.14 var(--serif);letter-spacing:-.025em;margin:10px 0 18px}.th-lead h3 a,.th-story h3 a{color:var(--text);text-decoration:none}.th-lead p{font-size:16px;line-height:1.75;color:var(--text-secondary)}.th-lead>a{font-size:14px;color:var(--accent)}.th-story{padding:20px 0;border-bottom:1px solid var(--border)}.th-story:first-child{padding-top:0}.th-story h3{font:500 24px/1.25 var(--serif);margin:0 0 8px}.th-story p{font-size:14px;line-height:1.65;color:var(--text-secondary);margin:0}.th-tools{display:grid;grid-template-columns:1.1fr 1fr;gap:64px}.th-tool-feature{background:#263e32;color:#fffefa;padding:36px}.th-tool-feature h3{font:500 34px/1.12 var(--serif);margin:0 0 18px}.th-tool-feature p{font-size:16px;line-height:1.7;color:#d7e0d4}.th-tool-feature a{display:inline-block;color:white;padding:12px 0;text-underline-offset:5px}.th-directories{display:grid;grid-template-columns:1fr 1fr;gap:64px}.th-directories h3{font:500 24px var(--serif);margin:0 0 20px}.th-route-list{display:flex;flex-wrap:wrap;gap:12px 24px}.th-route-list a{font-size:15px;line-height:2;color:var(--text)}
@media(min-width:1500px){.article{max-width:920px!important;padding-left:60px!important;padding-right:60px!important}}
@media(max-width:900px){.th-nav-inner{padding:16px 24px;gap:20px;flex-wrap:wrap;min-height:74px}.th-brand{font-size:25px}.th-menu{display:block}.th-links{display:none;flex-basis:100%;margin:0;flex-wrap:wrap;gap:6px 24px;padding-top:12px}.th-links.is-open{display:flex}.th-home{padding:0 24px}.th-hero{gap:30px}.th-hero img{height:390px}.th-hero h1{font-size:48px}.th-text-link{margin-left:0}.th-editorial,.th-tools,.th-directories{gap:32px}.th-footer{flex-direction:column}.th-footer a{margin-left:0;margin-right:18px}}
@media(max-width:620px){.th-home{padding:0 20px}.th-hero{grid-template-columns:1fr;padding-top:34px;gap:30px}.th-hero h1{font-size:52px;max-width:440px}.th-hero p{font-size:16px;margin-bottom:18px}.th-hero img{height:330px}.th-text-link{margin-left:16px}.th-editorial,.th-tools,.th-directories{grid-template-columns:1fr;gap:30px}.th-section{padding:28px 0 36px}.th-section-head h2{font-size:28px}.th-lead h3{font-size:31px}.th-tool-feature{padding:26px}.th-toc ol{columns:1}.article{padding:28px 22px 60px!important}.article p,.article li{font-size:17px}.article .lede{font-size:19px!important}.page-header{padding:38px 22px 30px!important}.th-footer{margin-top:30px}.th-section-head{align-items:flex-start}.th-section-head>a{white-space:nowrap;padding-top:6px}}
.th-catalog-filter{margin-bottom:40px;max-width:650px}.th-catalog-filter label{display:block;font-weight:600;margin-bottom:12px}.th-catalog-filter input{width:100%;padding:15px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);min-height:50px}.th-catalog-filter p{font-size:13px;min-height:24px;margin-top:8px}[hidden]{display:none!important}.sim-cta{margin:40px 0!important;padding:0!important}.sim-cta a{background:var(--bg-alt)!important;color:var(--text)!important;border-block:1px solid var(--border)!important;border-radius:0!important;box-shadow:none!important}.sim-cta a>div:first-child{display:none}.random-depth-v4 .random-card,.random-depth-v4 .random-visual{border-radius:0!important;box-shadow:none!important;background:transparent!important}.random-depth-v4 .random-sources{border:0!important;border-top:1px solid var(--border)!important}.th-promotion{max-width:1180px;margin:32px auto;padding:24px;border-block:1px solid var(--border);text-align:center;background:var(--bg-alt)}.th-promotion small{display:block;font-size:11px;color:var(--text-secondary);margin-bottom:8px}.th-promotion a{font-size:16px;color:var(--text)}
.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 18px;padding:24px 0;border-block:1px solid var(--border);margin:28px 0}.stat-grid .stat{border:0;background:none;padding:0;text-align:left}.stat-grid .n{font-family:var(--sans);font-size:23px;font-weight:600;line-height:1.3;font-variant-numeric:tabular-nums}.stat-grid .l{font-size:12px;color:var(--text-secondary);margin-top:6px}.th-legacy-ad{position:relative;max-width:100%;min-height:280px!important;border-block:1px solid var(--border);padding:20px 0 10px}.th-legacy-ad::before{content:'Advertisement';display:block;color:var(--text-secondary);font-size:10px;letter-spacing:.08em;margin-bottom:10px}.th-legacy-ad iframe{max-width:100%}@media(max-width:620px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.th-affiliate{max-width:800px;margin:32px auto!important;background:var(--bg-alt)!important;border:1px solid var(--border)!important;border-radius:0!important}.th-affiliate [style*="color"]{color:var(--text-secondary)!important}.th-affiliate a{border:0!important;border-bottom:1px solid var(--border)!important;border-radius:0!important;color:var(--text)!important}.th-affiliate a>span:first-child{display:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
