@charset "UTF-8";:root{--bg: #f5f6f8;--surface: #fff;--line: #d9dee8;--text: #17202a;--muted: #667085;--accent: #b4232c;--accent-soft: #fff1f2;--max: 1180px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.55}body.fp-popup-open{overflow:hidden;overscroll-behavior:none}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,textarea,select{font:inherit}app-ad-slot,app-adsense-slot{display:block}.site-header{position:sticky;top:0;z-index:20;background:#fffffff5;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar,.categories,.shell,.site-footer{width:min(var(--max),100% - 32px);margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;min-height:66px;gap:18px}.brand{color:var(--accent);font-size:28px;font-weight:900}.topbar nav,.categories{display:flex;align-items:center;gap:4px}.topbar a:not(.brand),.categories a{border-radius:6px;color:#344054;font-size:14px;font-weight:750;padding:8px 10px;white-space:nowrap}.topbar a:hover,.categories a:hover,a.active{background:var(--accent-soft);color:var(--accent)!important}.portal-link{border:1px solid var(--line)}.categories{min-height:44px;overflow-x:auto;border-top:1px solid #edf0f4;scrollbar-width:none}.categories a{flex:0 0 auto}.shell{padding:24px 0 56px}.top-billboard-band{background:linear-gradient(180deg,#e8f7fb,#f8fbfd);border-bottom:1px solid var(--line)}.top-billboard-shell{width:min(var(--max),100% - 32px);margin:0 auto;padding:14px 0}.header-billboard .ad-slot{margin:0;min-height:250px!important;border:0;border-radius:0;background:linear-gradient(90deg,#0e749014,#ffffffdb),#fff;grid-template-columns:minmax(0,1.45fr) minmax(320px,.64fr)}.header-billboard .ad-media img{min-height:250px;max-height:250px}.header-billboard .ad-copy{padding:28px 34px 28px 0}.header-billboard .ad-copy h2{font-size:36px}.header-billboard .ad-copy p{font-size:17px}.hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.9fr);gap:18px}.lead,.section,.page-title,.article,.card,.ad-slot{background:var(--surface);border:1px solid var(--line);border-radius:8px}.lead{display:grid;grid-template-columns:1.08fr .92fr;overflow:hidden}.lead img{width:100%;height:100%;min-height:420px;object-fit:cover}.lead>div{display:flex;flex-direction:column;justify-content:center;padding:32px}.eyebrow,.category,.page-title span{color:var(--accent);font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.lead h1{font-size:clamp(34px,4.5vw,56px);line-height:1.03;margin:8px 0 16px}.lead p,.page-title p,.card p{color:var(--muted)}.hero-stack{display:grid;gap:14px}.section,.page-title{margin-top:22px;padding:22px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.section-title h2,.page-title h1{font-size:28px;line-height:1.15;margin:0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid.timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.card{overflow:hidden;min-height:100%}.card.compact{display:grid;grid-template-columns:142px minmax(0,1fr)}.ad-slot{--ad-brand: var(--text);position:relative;display:grid;grid-template-columns:minmax(300px,.7fr) minmax(0,1fr);gap:24px;margin:28px 0;overflow:hidden}.ad-label{position:absolute;left:0;right:0;top:0;z-index:2;border-bottom:1px solid color-mix(in srgb,var(--ad-brand) 20%,var(--line));background:#ffffffd1;color:#475467;font-size:13px;line-height:1;padding:7px 38px;text-align:center}.ad-close{position:absolute;left:6px;top:6px;z-index:3;display:grid;place-items:center;width:24px;height:24px;border:0;border-radius:999px;background:#0f172ad6;color:#fff;cursor:pointer;font-size:18px;line-height:1}.ad-slot.ad-display{border-left:6px solid var(--ad-brand);grid-template-columns:minmax(0,1.45fr) minmax(340px,.65fr)}.ad-slot.ad-in-feed{border-left:4px solid var(--ad-brand)}.ad-slot.ad-in-article{border-color:color-mix(in srgb,var(--ad-brand) 40%,var(--line))}.ad-slot.ad-anchor{position:sticky;bottom:10px;z-index:18;box-shadow:0 16px 40px #0f172a2e;grid-template-columns:132px minmax(0,1fr)}.ad-slot.ad-multiplex{grid-template-columns:minmax(280px,.52fr) minmax(0,1fr);padding:24px}.ad-slot.ad-popup-preview{border-top:4px solid var(--ad-brand);grid-template-columns:minmax(0,.85fr) minmax(0,1fr)}.ad-slot.ad-video{grid-template-columns:minmax(360px,.95fr) minmax(0,1fr)}.ad-slot.ad-search-unit{border-left:4px solid var(--ad-brand);grid-template-columns:1fr;padding:18px}.ad-slot.ad-offerwall{border-top:4px solid var(--ad-brand);grid-template-columns:1fr;padding:30px}.ad-slot.ad-sponsored-article,.ad-slot.ad-sticky-sidebar{border-left:4px solid var(--ad-brand)}.ad-slot.ad-brand-takeover{border-top:8px solid var(--ad-brand);grid-template-columns:minmax(0,1fr)}.adsense-slot{background:var(--surface);border:1px solid var(--line);border-radius:8px;margin:22px 0;min-height:112px;overflow:hidden;padding:12px}.adsense-slot span{color:var(--muted);display:block;font-size:11px;font-weight:800;margin-bottom:8px;text-transform:uppercase}.adsense-slot .adsbygoogle{min-height:90px}.adsense-slot.compact .adsbygoogle{min-height:120px}.article .ad-slot,.article .adsense-slot,.article .commerce-strip{margin-left:clamp(20px,6vw,78px);margin-right:clamp(20px,6vw,78px)}.ad-slot.compact{grid-template-columns:260px minmax(0,1fr)}.ad-slot.ad-native-card{align-items:stretch;grid-template-columns:190px minmax(0,1fr);gap:18px;min-height:0!important;padding:12px}.ad-slot.ad-related-article{align-items:stretch;border-color:color-mix(in srgb,var(--ad-brand) 24%,var(--line));border-left:4px solid var(--ad-brand);grid-template-columns:156px minmax(0,1fr);gap:16px;min-height:0!important;padding:12px}.ad-slot.ad-related-article .ad-native-media:after{position:absolute;inset:auto 8px 8px auto;border-radius:4px;background:var(--ad-brand);color:#fff;content:"RELATED";font-size:10px;font-weight:900;letter-spacing:.04em;line-height:1;padding:5px 6px}.ad-slot.ad-native-card.compact{grid-template-columns:156px minmax(0,1fr)}.ad-native-media{position:relative;display:block;min-height:112px;overflow:hidden;border-radius:6px;background:#edf1f5}.ad-native-media img{width:100%;height:100%;min-height:112px;object-fit:cover}.ad-native-media span{position:absolute;left:8px;bottom:8px;border-radius:3px;background:#ffffffe6;color:var(--ad-brand);font-size:10px;font-weight:900;line-height:1;padding:4px 5px}.ad-native-body{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:4px 6px 4px 0}.ad-native-kicker{color:var(--accent);font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.ad-native-body h3{color:#1f3b74;font-size:20px;line-height:1.22;margin:6px 0}.ad-native-body p{color:var(--muted);font-size:15px;margin:0}.ad-native-body footer{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;color:#7a8597;font-size:12px;font-weight:800}.ad-native-body footer a{color:var(--ad-brand)}.native-ad-list{display:grid;gap:10px;margin:6px clamp(20px,6vw,78px) 34px}.article .native-ad-list .ad-slot{margin:0}.related-articles{border-top:1px solid var(--line);margin:2px clamp(20px,6vw,78px) 36px;padding-top:24px}.related-articles .section-title{margin-bottom:14px}.related-list{display:grid;gap:12px}.related-list .card,.related-list .ad-slot,.related-list .related-commerce-card{margin:0}.related-list .card.compact{grid-template-columns:156px minmax(0,1fr)}.related-list .media img{height:118px}.related-list .body{padding:12px 14px}.related-list .body h3{font-size:18px}.related-ad-card .ad-native-kicker{color:var(--ad-brand)}.related-commerce-card{display:grid;grid-template-columns:156px minmax(0,1fr);gap:16px;border:1px solid color-mix(in srgb,#0f766e 22%,var(--line));border-left:4px solid #0f766e;border-radius:8px;background:#fff;overflow:hidden}.related-commerce-media{position:relative;background:#edf1f5;min-height:118px;overflow:hidden}.related-commerce-media img{width:100%;height:100%;min-height:118px;object-fit:cover}.related-commerce-media span{position:absolute;right:8px;bottom:8px;border-radius:4px;background:#0f766e;color:#fff;font-size:10px;font-weight:900;letter-spacing:.04em;line-height:1;padding:5px 6px;text-transform:uppercase}.related-commerce-body{display:grid;gap:7px;padding:12px 14px 12px 0}.related-commerce-body>span{color:#0f766e;font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.related-commerce-body h3{font-size:18px;line-height:1.22;margin:0}.related-commerce-body h3 a{color:var(--text)}.related-commerce-body p{color:var(--muted);font-size:14px;margin:0}.related-commerce-body footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.related-commerce-body footer strong{font-size:16px}.related-commerce-body footer a{color:#0f766e;font-size:13px;font-weight:900}.related-commerce-body small{color:var(--muted);font-size:12px}.article-end-ad .ad-slot{border-color:color-mix(in srgb,var(--ad-brand) 28%,var(--line));border-radius:4px;grid-template-columns:minmax(0,.94fr) minmax(260px,.56fr);margin-top:44px;padding-top:34px}.article-end-ad .ad-slot.ad-video{grid-template-columns:minmax(0,.94fr) minmax(260px,.56fr)}.article-end-ad .ad-media img{min-height:326px;max-height:360px}.article-end-ad .ad-copy{padding:32px 24px 24px 0}.article-end-ad .ad-copy h2{font-size:26px}.ad-media{display:block;background:#edf1f5}.ad-media img{width:100%;height:100%;min-height:260px;object-fit:cover}.ad-display .ad-media img{max-height:380px}.ad-html{display:grid;place-items:center;min-height:120px;padding:18px}.ad-copy{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:28px 28px 28px 0}.ad-copy span{color:var(--accent);font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.ad-copy h2{font-size:30px;line-height:1.15;margin:8px 0}.ad-copy p{color:var(--muted);font-size:16px;margin:0 0 18px}.ad-cta{align-self:flex-start;border-radius:6px;background:var(--ad-brand);color:#fff;font-size:14px;font-weight:900;padding:11px 14px}.ad-video-media{position:relative}.ad-play{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:58px;height:58px;border-radius:999px;background:#0f172ac7;color:#fff;font-size:22px;transform:translate(-50%,-50%)}.ad-chip-grid,.ad-offerwall-options{display:flex;flex-wrap:wrap;gap:10px}.ad-chip-grid a,.ad-offerwall-options a{border:1px solid color-mix(in srgb,var(--ad-brand) 35%,var(--line));border-radius:999px;color:var(--ad-brand);font-size:13px;font-weight:900;padding:8px 10px}.ad-offerwall-options a{border-radius:6px;background:var(--ad-brand);color:#fff}.ad-multiplex .ad-copy{padding:6px 0 6px 6px}.ad-multiplex-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ad-multiplex-grid a{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.ad-multiplex-grid img{width:100%;height:148px;object-fit:cover}.ad-multiplex-grid strong{display:block;font-size:14px;line-height:1.25;padding:10px}.ad-pixel{height:1px;opacity:0;pointer-events:none;position:absolute;width:1px}.commerce-strip{border:1px solid var(--line);border-radius:8px;background:#fff;margin:22px 0;overflow:hidden}.commerce-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:18px 20px}.commerce-head span,.commerce-kicker{color:var(--accent);font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.commerce-head h2{font-size:22px;line-height:1.18;margin:0}.commerce-grid{display:grid;gap:14px;padding:16px}.commerce-card{display:grid;grid-template-columns:190px minmax(0,1fr);gap:16px;border:1px solid var(--line);border-radius:8px;overflow:hidden}.commerce-media{background:#edf1f5;min-height:190px}.commerce-media img{width:100%;height:100%;min-height:190px;object-fit:cover}.commerce-body{display:grid;gap:12px;padding:16px 16px 16px 0}.commerce-body h3{font-size:20px;line-height:1.2;margin:6px 0 8px}.commerce-body p{color:var(--muted);margin:0}.commerce-offer{display:flex;align-items:center;justify-content:space-between;gap:12px}.commerce-price{display:block;font-size:22px}.commerce-old-price{color:var(--muted);display:block;font-size:13px;text-decoration:line-through}.commerce-coupon{border:1px dashed var(--accent);border-radius:6px;color:var(--accent);font-size:13px;font-weight:900;padding:7px 9px}.commerce-cta{justify-self:start;border-radius:6px;background:var(--accent);color:#fff;font-size:13px;font-weight:900;padding:9px 12px}.commerce-disclosure{color:var(--muted);font-size:12px}.media{display:block;position:relative;background:#edf1f5;overflow:hidden}.media img{width:100%;height:190px;object-fit:cover}.compact .media img{height:100%;min-height:160px}.media span{position:absolute;top:10px;left:10px;border-radius:6px;background:#111827d6;color:#fff;font-size:11px;font-weight:900;line-height:1;padding:5px 7px}.body{display:flex;flex-direction:column;padding:15px}.category{display:inline-block;align-self:flex-start}.body h3{font-size:20px;line-height:1.22;margin:8px 0}.compact .body h3{font-size:17px}.body h3 a:hover{color:var(--accent)}.body footer,.meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;color:#7a8597;font-size:12px;font-weight:750}.page-title{padding:30px}.search{display:flex;gap:10px;margin-top:18px;max-width:720px}.search input{width:100%;border:1px solid var(--line);border-radius:6px;padding:12px 14px}.search button{border:0;border-radius:6px;background:var(--accent);color:#fff;cursor:pointer;font-weight:900;min-width:112px}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 336px;align-items:start;gap:24px}.article{min-width:0;display:flow-root}.article>*,.article-body>*{max-width:100%}.article-body{overflow-wrap:anywhere}.article-body table,.article-body pre{display:block;max-width:100%;overflow-x:auto}.article-sidebar{position:sticky;top:96px;display:grid;gap:18px;min-width:0}.article-sidebar .ad-slot,.article-sidebar .adsense-slot{margin:0}.article-sidebar-banner .ad-slot{grid-template-columns:1fr;gap:0;min-height:250px!important}.article-sidebar-banner .ad-media img{min-height:250px;max-height:320px}.article-sidebar-bottom .ad-slot{min-height:520px!important}.article-sidebar-bottom .ad-media img{min-height:360px;max-height:440px}.article-sidebar .ad-copy{padding:14px 16px 16px}.article-sidebar .ad-copy h2{font-size:22px}.article-sidebar .ad-copy p{font-size:14px}.sidebar-related{background:var(--surface);border:1px solid var(--line);border-radius:8px;overflow:hidden}.sidebar-related h2{border-bottom:1px solid var(--line);color:#344054;font-size:16px;letter-spacing:.02em;line-height:1.25;margin:0;padding:16px 18px;text-transform:uppercase}.sidebar-related-list{display:grid}.sidebar-related-item{display:grid;grid-template-columns:28px minmax(0,1fr) 86px;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:13px 14px}.sidebar-related-item strong{color:var(--accent);font-size:18px;line-height:1}.sidebar-related-item span{color:#344054;font-size:14px;font-weight:750;line-height:1.34}.sidebar-related-item img{width:86px;height:62px;border-radius:4px;object-fit:cover}.sidebar-related-ad .ad-slot{border-width:0 0 1px 0;border-radius:0;grid-template-columns:1fr;margin:0}.sidebar-related .related-commerce-card{border-width:0 0 1px 0;border-left-width:4px;border-radius:0;grid-template-columns:1fr}.sidebar-related .related-commerce-body{padding:12px 14px}.fixed-video-ad{position:fixed;right:24px;bottom:24px;z-index:38;width:min(380px,100vw - 32px)}.fixed-video-ad .ad-slot{grid-template-columns:1fr;gap:0;margin:0;min-height:0!important;padding-top:32px;border-radius:6px;box-shadow:0 20px 54px #0f172a47}.fixed-video-ad .ad-media img{min-height:168px;max-height:188px}.fixed-video-ad .ad-copy{padding:13px 15px 15px}.fixed-video-ad .ad-copy h2{font-size:18px;line-height:1.18}.fixed-video-ad .ad-copy p{font-size:13px;margin-bottom:10px}.fixed-video-ad .ad-cta{padding:8px 10px}.article nav,.article header,.article-share,.article-body,.tags{padding-left:clamp(20px,6vw,78px);padding-right:clamp(20px,6vw,78px)}.article nav{display:flex;gap:8px;padding-top:24px;color:var(--muted);font-size:14px;font-weight:750}.article header{padding-top:24px;padding-bottom:10px}.article h1{font-size:clamp(36px,5vw,58px);line-height:1.04;margin:10px 0 16px}.article header p{color:#475467;font-size:20px}.article-share{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-top:8px;padding-bottom:18px}.article-share a,.article-share button{border:1px solid var(--line);border-radius:6px;background:#fff;color:#344054;cursor:pointer;font-size:13px;font-weight:900;line-height:1.2;padding:9px 12px}.article-share .facebook-share{border-color:#1877f2;background:#1877f2;color:#fff}.article-share span{color:var(--green);font-size:13px;font-weight:900}.article-body{padding-top:16px;padding-bottom:16px}.article-body p{font-size:19px}.article-body figure{margin:22px 0}.article-body figure img{width:100%;border-radius:8px}.article-preview{display:grid;gap:18px}.article-preview-media{margin-bottom:4px!important}.article-preview-section{border:1px solid var(--line);border-radius:8px;background:#fff;padding:18px 20px}.article-preview-section h2{color:#344054;font-size:18px;line-height:1.25;margin:0 0 10px}.article-preview-section p{color:#475467;font-size:18px;line-height:1.62;margin:0}.source-article-link{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:44px;border-radius:6px;background:var(--accent);color:#fff;font-weight:900;line-height:1.2;padding:12px 16px}.source-article-missing{color:var(--muted);font-size:14px!important;font-weight:800}.article-body .article-video{overflow:hidden}.article-body .article-video video{display:block;width:100%;max-height:min(72vh,720px);border-radius:8px;background:#0b0f19}.article-body figcaption{color:var(--muted);font-size:13px;margin-top:8px}.tags{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:34px}.tags span{border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:13px;font-weight:800;padding:6px 10px}.comments-section{border-top:1px solid var(--line);margin:16px clamp(20px,6vw,78px) 28px;padding-top:28px}.comment-toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:120;display:inline-flex;align-items:center;gap:10px;max-width:min(420px,100vw - 32px);border-radius:999px;background:#111827;box-shadow:0 18px 46px #0f172a42;color:#fff;font-size:14px;font-weight:900;line-height:1.35;padding:12px 16px;transform:translate(-50%)}.comment-toast.success{background:var(--green)}.comment-toast.error{background:var(--accent)}.comment-toast-spinner{flex:0 0 auto;width:16px;height:16px;border:2px solid rgba(255,255,255,.38);border-radius:999px;border-top-color:#fff;animation:comment-toast-spin .75s linear infinite}@keyframes comment-toast-spin{to{transform:rotate(360deg)}}.comments-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}.comments-head span{color:var(--accent);font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.comments-head h2{font-size:28px;line-height:1.2;margin:4px 0 0}.comment-sort{display:inline-flex;border-bottom:1px solid var(--line);gap:18px}.comment-sort button,.comment-content footer button,.reply-compose .ghost{border:0;background:transparent;color:var(--muted);cursor:pointer;font-weight:800;padding:8px 0}.comment-sort button.active{border-bottom:2px solid var(--accent);color:var(--accent)}.comment-compose{display:grid;gap:10px;border:1px solid var(--line);border-radius:8px;background:#fbfcfe;margin-bottom:22px;padding:14px}.comment-compose input,.comment-compose textarea,.reply-compose input,.reply-compose textarea{width:100%;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--text);padding:11px 12px}.comment-compose textarea,.reply-compose textarea{resize:vertical}.comment-compose input:focus,.comment-compose textarea:focus,.reply-compose input:focus,.reply-compose textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.comment-compose-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}.comment-compose button,.reply-compose button[type=submit],.comments-more{border:0;border-radius:6px;background:var(--accent);color:#fff;cursor:pointer;font-weight:900;padding:10px 14px}.comment-compose button:disabled,.reply-compose button:disabled{cursor:not-allowed;opacity:.58}.comment-message{color:var(--green);font-weight:800;margin:0}.comment-error,.comment-state{color:var(--muted);font-weight:800}.comment-error{color:var(--accent)}.comment-list{display:grid;gap:16px}.comment-item{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px}.comment-item.reply{margin-top:14px}.comment-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:999px;background:#eef2f6;color:#344054;font-weight:900}.comment-content{min-width:0;border-bottom:1px solid var(--line);padding-bottom:14px}.comment-content header{display:flex;align-items:center;gap:10px;justify-content:space-between}.comment-content header strong{color:#344054;font-size:16px}.comment-content time{color:var(--muted);font-size:13px;white-space:nowrap}.comment-content p{color:#344054;font-size:16px;line-height:1.6;margin:6px 0 8px}.comment-content footer{display:flex;align-items:center;flex-wrap:wrap;gap:14px;color:var(--muted);font-size:13px}.comment-content footer button{font-size:13px;padding:0}.reply-compose{display:grid;gap:8px;border-left:3px solid var(--accent-soft);margin-top:12px;padding-left:12px}.reply-compose div{display:flex;gap:10px}.comment-replies{display:grid;gap:2px;margin-top:8px}.comments-inline-ad .ad-slot{grid-template-columns:174px minmax(0,1fr);margin:4px 0 8px 54px;min-height:0!important;padding:10px}.comments-inline-ad .ad-native-media,.comments-inline-ad .ad-native-media img{min-height:96px}.comments-inline-ad .ad-native-body h3{font-size:18px}.comments-inline-ad .ad-native-body p{font-size:14px}.comments-more{display:block;width:100%;margin:22px 0 0;background:#fce7ea;color:var(--accent)}.site-footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);color:var(--muted);padding:26px 0 42px}.state{color:var(--muted);font-weight:750}.ads-preview{display:grid;gap:22px}.preview-unit{border-bottom:1px solid var(--line);padding-bottom:20px}.preview-unit:last-child{border-bottom:0;padding-bottom:0}.preview-unit-head{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:10px}.preview-unit-head strong{font-size:18px}.preview-unit-head code,.preview-unit-head span{color:var(--muted);font-size:12px;font-weight:800}.fp-popup-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;background:#0f172a8a;overscroll-behavior:contain;padding:28px}.fp-popup-panel{--ad-brand: #111827;position:relative;width:min(840px,100%);max-height:calc(100vh - 56px);overflow:auto;overscroll-behavior:contain;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:#fff;box-shadow:0 24px 80px #0f172a57}.fp-popup-close{position:absolute;top:14px;right:14px;z-index:2;display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:#0f172ac2;color:#fff;cursor:pointer;font-size:22px;line-height:1}.fp-popup-media{display:block;background:#e5e7eb}.fp-popup-media img{width:100%;height:clamp(320px,44vh,460px);object-fit:cover}.fp-popup-copy{padding:30px 34px 34px}.fp-popup-copy span{color:var(--ad-brand);font-size:11px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.fp-popup-copy h2{font-size:38px;line-height:1.14;margin:10px 0 12px}.fp-popup-copy p{color:var(--muted);font-size:17px;margin:0 0 20px}.fp-popup-cta{display:inline-flex;border-radius:6px;background:var(--ad-brand);color:#fff;font-size:15px;font-weight:900;padding:12px 16px}.brand-takeover-bar{--ad-brand: #111827;position:fixed;left:50%;top:84px;z-index:70;width:min(1120px,100% - 36px);overflow:hidden;border:1px solid color-mix(in srgb,var(--ad-brand) 45%,var(--line));border-radius:8px;background:#fff;box-shadow:0 18px 52px #0f172a38;transform:translate(-50%)}.brand-takeover-bar a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;min-height:76px;padding:20px 70px 20px 24px}.brand-takeover-bar span{color:var(--ad-brand);font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.brand-takeover-bar strong{font-size:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-takeover-bar em{border-radius:6px;background:var(--ad-brand);color:#fff;font-size:14px;font-style:normal;font-weight:900;padding:11px 14px}.brand-takeover-bar button{position:absolute;right:14px;top:50%;width:36px;height:36px;border:1px solid var(--line);border-radius:999px;background:#fff;cursor:pointer;transform:translateY(-50%)}.side-rail-ads{display:none}.side-rail-ad{--ad-brand: #111827;position:fixed;left:max(8px,(100vw - var(--max)) / 2 - 176px);top:148px;z-index:30;display:grid;align-content:space-between;width:160px;height:600px;border:1px solid color-mix(in srgb,var(--ad-brand) 40%,var(--line));border-radius:8px;background:linear-gradient(180deg,color-mix(in srgb,var(--ad-brand) 14%,#fff),#fff 42%),#fff;box-shadow:0 12px 32px #0f172a24;padding:18px}.side-rail-ad.right{left:auto;right:max(8px,(100vw - var(--max)) / 2 - 176px)}.side-rail-ad span{color:var(--ad-brand);font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.side-rail-ad strong{font-size:24px;line-height:1.1;writing-mode:vertical-rl}.side-rail-ad small{color:var(--ad-brand);font-weight:900}.showcase-page{display:grid;gap:22px}.showcase-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.34fr);gap:22px;align-items:stretch;border:1px solid var(--line);border-radius:8px;background:linear-gradient(135deg,#b4232c14,#0e749014),var(--surface);padding:32px}.showcase-hero h1{font-size:clamp(34px,5vw,62px);line-height:1.02;margin:8px 0 16px}.showcase-hero p{color:#344054;font-size:18px;margin:0;max-width:840px}.showcase-hero aside{display:grid;align-content:center;gap:8px;border:1px solid rgba(180,35,44,.22);border-radius:8px;background:#ffffffc7;padding:22px}.showcase-hero aside strong{font-size:24px;line-height:1.15}.showcase-hero aside small,.showcase-section p,.diagram-node small,.folder-map p{color:var(--muted)}.showcase-section{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:24px}.showcase-section-title{margin-bottom:18px}.showcase-section-title span{color:var(--accent);font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.showcase-section-title h2{font-size:28px;line-height:1.15;margin:4px 0 0}.overview-grid,.architecture-rule-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.overview-grid section,.architecture-rule-grid section,.folder-map section,.database-grid section{border:1px solid var(--line);border-radius:8px;background:#fff;padding:18px}.overview-grid span{color:#0f766e;font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.overview-grid strong,.architecture-rule-grid strong{display:block;font-size:18px;line-height:1.22;margin:6px 0 8px}.overview-grid p,.architecture-rule-grid p,.database-grid p{margin:0}.project-diagram,.database-diagram{display:grid;grid-template-columns:repeat(7,minmax(110px,1fr));gap:10px;align-items:stretch}.database-diagram{grid-template-columns:repeat(7,minmax(104px,1fr))}.diagram-node{display:grid;gap:8px;min-height:120px;border:1px solid #cbd5e1;border-top:5px solid #0e7490;border-radius:8px;background:#f8fafc;padding:14px}.diagram-node strong{font-size:16px;line-height:1.2}.db-node{border-top-color:#b4232c;background:#fff8f8}.diagram-arrow{display:none}.table-scroll{overflow-x:auto}.showcase-table{width:100%;border-collapse:collapse}.showcase-table th,.showcase-table td{border-bottom:1px solid var(--line);padding:14px 12px;text-align:left;vertical-align:top}.showcase-table th{color:var(--muted);font-size:12px;text-transform:uppercase}.folder-map{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.folder-map code,.database-grid code{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace}.folder-map code{color:#075985;font-weight:900}.folder-map p{margin:8px 0 0}.database-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.database-grid h3{font-size:18px;line-height:1.2;margin:0 0 8px}.database-grid div{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.database-grid code{border:1px solid #d7e3ee;border-radius:6px;background:#f8fbff;color:#344054;font-size:12px;font-weight:800;padding:5px 7px}@media(min-width:1500px){.side-rail-ads{display:block}}@media(min-width:1812px){.side-rail-ad{left:calc((100vw - var(--max)) / 2 - 316px);width:300px;height:600px}.side-rail-ad.right{left:auto;right:calc((100vw - var(--max)) / 2 - 316px)}.side-rail-ad strong{font-size:34px}}@media(max-width:920px){.hero,.lead,.grid,.grid.timeline,.article-layout,.showcase-hero,.overview-grid,.architecture-rule-grid,.folder-map{grid-template-columns:1fr}.article-sidebar{position:static}.fixed-video-ad{left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:auto;max-height:min(52vh,420px)}.fixed-video-ad .ad-slot{max-height:inherit;overflow-y:auto}.fixed-video-ad .ad-media img{min-height:148px;max-height:176px}.fixed-video-ad .ad-copy{padding:12px 14px 14px}.fixed-video-ad .ad-copy h2{font-size:17px}.fixed-video-ad .ad-copy p{display:-webkit-box;margin-bottom:8px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.project-diagram,.database-diagram,.database-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ad-slot,.ad-slot.compact,.ad-slot.ad-display,.ad-slot.ad-multiplex,.ad-slot.ad-anchor,.ad-slot.ad-native-card,.ad-slot.ad-popup-preview,.ad-slot.ad-video,.ad-slot.ad-search-unit,.ad-slot.ad-offerwall,.ad-slot.ad-brand-takeover{grid-template-columns:1fr}.ad-slot.ad-native-card.compact,.ad-slot.ad-related-article,.related-list .card.compact,.related-commerce-card{grid-template-columns:142px minmax(0,1fr)}.article-end-ad .ad-slot,.article-end-ad .ad-slot.ad-video{grid-template-columns:1fr;max-height:min(58vh,460px);overflow-y:auto}.article-end-ad .ad-copy{padding:18px}.article-end-ad .ad-media img{min-height:170px;max-height:210px}.commerce-card{grid-template-columns:1fr}.commerce-body{padding:0 14px 14px}.commerce-head{align-items:flex-start;flex-direction:column}.ad-copy{padding:18px}.ad-multiplex-grid{grid-template-columns:1fr}.lead img{min-height:280px}.site-footer{align-items:flex-start;flex-direction:column}.brand-takeover-bar{top:12px}.brand-takeover-bar a{grid-template-columns:1fr;gap:6px}.header-billboard .ad-slot{grid-template-columns:1fr;min-height:0!important}.header-billboard .ad-copy{padding:0 18px 18px}.header-billboard .ad-media img{min-height:180px;max-height:220px}.comments-inline-ad .ad-slot{grid-template-columns:142px minmax(0,1fr);margin-left:54px}}@media(max-width:620px){.topbar,.categories,.shell,.site-footer{width:min(var(--max),100% - 20px)}.site-header{overflow:hidden}.topbar{align-items:flex-start;flex-direction:column;gap:10px;min-height:0;padding:12px 0 8px}.brand{font-size:26px;line-height:1.1}.topbar nav{width:100%;gap:6px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.topbar nav::-webkit-scrollbar,.categories::-webkit-scrollbar{display:none}.topbar a:not(.brand),.categories a{font-size:13px;padding:7px 9px}.categories{gap:6px;min-height:40px}.shell{padding-top:12px}.page-title{margin-top:0;padding:20px}.showcase-hero,.showcase-section{padding:18px}.showcase-hero h1{font-size:36px}.showcase-hero p{font-size:16px}.project-diagram,.database-diagram,.database-grid{grid-template-columns:1fr}.diagram-node{min-height:0}.section-title h2,.page-title h1{font-size:28px}.media img{height:176px}.ad-media img{min-height:160px}.fixed-video-ad{left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom,0px));max-height:min(46vh,360px)}.fixed-video-ad .ad-slot{padding-top:30px}.fixed-video-ad .ad-media img{min-height:120px;max-height:148px}.fixed-video-ad .ad-copy{padding:10px 12px 12px}.fixed-video-ad .ad-copy h2{font-size:16px}.fixed-video-ad .ad-cta{padding:7px 9px}.article-end-ad .ad-slot,.article-end-ad .ad-slot.ad-video{max-height:min(52vh,390px)}.article-end-ad .ad-media img{min-height:136px;max-height:168px}.article-end-ad .ad-copy{padding:14px}.article-end-ad .ad-copy h2{font-size:21px;line-height:1.16}.native-ad-list,.related-articles{margin-left:0;margin-right:0}.ad-slot.ad-related-article,.related-list .card.compact,.related-commerce-card{grid-template-columns:1fr}.related-commerce-body{padding:12px 14px}.comments-section{margin-left:20px;margin-right:20px}.comment-toast{bottom:calc(16px + env(safe-area-inset-bottom,0px));justify-content:center;width:calc(100vw - 32px);border-radius:8px;text-align:center}.comments-head,.comment-compose-actions,.comment-content header{align-items:flex-start;grid-template-columns:1fr;flex-direction:column}.comment-item{grid-template-columns:34px minmax(0,1fr)}.comment-avatar{width:34px;height:34px}.comment-item.reply{margin-left:0!important}.comments-inline-ad .ad-slot{grid-template-columns:1fr;margin-left:0}.ad-native-body h3{font-size:17px}.fp-popup-media img{height:190px}.fp-popup-copy{padding:18px}.fp-popup-copy h2{font-size:26px}.fp-popup-copy p{font-size:15px}.brand-takeover-bar strong{font-size:16px;white-space:normal}.brand-takeover-bar a{min-height:0;padding:14px 54px 14px 14px}.card.compact{grid-template-columns:1fr}.search{flex-direction:column}}.load-more{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin:2rem 0}.load-more button{padding:.7rem 2.4rem;font-size:1rem;cursor:pointer;border:1px solid rgba(15,23,42,.18);border-radius:999px;background:#fff;transition:background .15s ease}.load-more button:hover:not(:disabled){background:#0f172a0a}.load-more button:disabled{opacity:.6;cursor:default}.load-more-count{font-size:.85rem;opacity:.7}.lead-time{display:block;margin-top:.5rem;font-size:.85rem;opacity:.7}@media(min-width:1100px){.article-share-rail{position:sticky;top:90px;float:left;display:flex;flex-direction:column;align-items:stretch;gap:.5rem;width:116px;margin-left:-140px;padding-right:.5rem}.article-share-rail>a,.article-share-rail>button{width:100%;text-align:center;font-size:.8rem;padding:.5rem .4rem}.article-share-rail>span{font-size:.75rem;text-align:center;opacity:.75}}.sidebar-latest h2,.sidebar-related h2{font-size:1rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.75rem}.sidebar-latest-item{display:grid;grid-template-columns:84px 1fr;gap:.6rem;align-items:start;padding:.55rem 0;border-bottom:1px solid rgba(15,23,42,.08)}.sidebar-latest-item img{width:84px;height:56px;object-fit:cover;border-radius:6px}.sidebar-latest-item span{font-size:.9rem;line-height:1.35}.sidebar-latest-item small{display:block;margin-top:.25rem;font-size:.75rem;opacity:.65}.other-news{margin-top:2.5rem}.tags a{display:inline-block;padding:.3rem .7rem;margin:0 .4rem .4rem 0;border:1px solid rgba(15,23,42,.14);border-radius:999px;font-size:.85rem;color:inherit;text-decoration:none;transition:background .15s ease}.tags a:hover{background:#0f172a0d}.shorts-media app-article-video-block,.shorts-media .article-video{width:100%;height:100%;margin:0}.shorts-media video{width:100%;height:100%;max-height:100%;aspect-ratio:9/16;object-fit:cover;border-radius:12px;background:#000;display:block}.page-lead{max-width:62ch;color:var(--muted, #555);line-height:1.6}.nav-submit{font-weight:600}.submit-form{display:grid;gap:1.25rem;max-width:46rem;margin:1.5rem 0 3rem}.submit-form label{display:grid;gap:.4rem}.submit-form label>span{font-weight:600;font-size:.95rem}.submit-form label>span em{color:#c62828;font-style:normal}.submit-form label small{color:var(--muted, #666);font-size:.8rem}.submit-form input,.submit-form select,.submit-form textarea{width:100%;padding:.65rem .75rem;border:1px solid var(--border, #d5d5d5);border-radius:6px;font:inherit;background:var(--surface, #fff);color:inherit}.submit-form textarea{resize:vertical;min-height:18rem;line-height:1.6}.submit-form input:focus-visible,.submit-form select:focus-visible,.submit-form textarea:focus-visible{outline:2px solid var(--accent, #c62828);outline-offset:1px}.submit-form button[type=submit]{justify-self:start;padding:.7rem 1.6rem;border:0;border-radius:6px;background:var(--accent, #c62828);color:#fff;font-weight:600;cursor:pointer}.submit-form button[type=submit]:disabled{opacity:.5;cursor:not-allowed}.submit-count-low{color:#c62828!important}.submit-check{grid-template-columns:auto 1fr;align-items:start;gap:.6rem!important}.submit-check input{width:auto;margin-top:.2rem}.submit-check span{font-weight:400!important}.submit-note{margin:0;padding:.85rem 1rem;border-left:3px solid var(--accent, #c62828);background:var(--surface-alt, #f6f6f6);font-size:.9rem;line-height:1.55}.submit-error{margin:0;padding:.75rem 1rem;border-radius:6px;background:#fdecea;color:#a61b1b;font-size:.92rem}.submit-done{max-width:46rem;margin:1.5rem 0 3rem;padding:1.5rem;border:1px solid var(--border, #d5d5d5);border-radius:8px;background:var(--surface, #fff)}.submit-done h2{margin-top:0}.submit-done button{padding:.6rem 1.2rem;border:1px solid var(--border, #d5d5d5);border-radius:6px;background:transparent;font:inherit;cursor:pointer}.submit-code code{padding:.15rem .4rem;border-radius:4px;background:var(--surface-alt, #f0f0f0);font-size:.85em}
