/* Standalone technical introduction; original homepage files are untouched. */
:root{scroll-padding-top:108px}.page-label{font-size:14px;color:var(--muted);white-space:nowrap;border-left:1px solid var(--line);padding-left:20px}.site-header nav{margin-left:auto;gap:22px}.nav-wrap{gap:22px}.technical-hero{padding-top:68px;background:linear-gradient(120deg,#fff 12%,#edf7fd)}.intro-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:48px;align-items:center;padding-bottom:60px}.technical-hero h1{font-size:clamp(32px,3.1vw,46px);letter-spacing:-1.8px;line-height:1.4;margin-bottom:24px}.intro{font-size:20px;line-height:1.8;color:#34536c}.intro-detail{color:var(--muted);font-size:16px;margin-bottom:28px}.screen{margin:0;border:1px solid #bad8e8;border-radius:8px;overflow:hidden;box-shadow:0 24px 55px #043b6a17;background:white}.screen-bar{display:flex;justify-content:space-between;gap:12px;background:var(--navy);color:#c5e3f3;padding:15px 18px;font-size:11px;letter-spacing:.8px}.screen img{width:100%;height:auto}.screen figcaption{font-size:13px;color:var(--muted);padding:16px 18px;line-height:1.7}.tinted{background:#edf5fa;border-block:1px solid var(--line)}.scope-note{display:flex;align-items:baseline;gap:26px;padding:24px 28px;border-left:3px solid var(--cyan);background:var(--ice);margin-top:28px}.scope-note>strong{flex:0 0 205px;font-size:17px}.scope-note p{margin:0;color:var(--muted)}.pipeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}.pipeline li{grid-column:span 2;padding:28px;background:white;border:1px solid var(--line);border-radius:5px}.pipeline li:nth-child(n+4){grid-column:span 3}.step{display:inline-block;font-size:29px;font-weight:800;color:#0081ac;margin-bottom:25px}.pipeline h3{font-size:23px;line-height:1.45}.pipeline p{color:var(--muted);font-size:16px}.technical-detail{margin-top:18px;border:1px solid #c7dce9;background:#fff;border-radius:5px}.technical-detail summary{padding:21px 24px;cursor:pointer;font-weight:700;line-height:1.6}.technical-detail>div{padding:0 24px 8px;color:var(--muted)}.operation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.operation-grid article{border-top:3px solid var(--navy);padding:26px 20px;background:var(--ice);display:flex;flex-direction:column}.operation-grid h3{font-size:24px;margin:20px 0 12px}.operation-grid p{color:var(--muted);flex:1}.purpose{border-top:1px solid #c7dce9;padding-top:15px;font-size:14px;color:#007599}.architecture-block{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:center;margin-top:64px}.architecture-block h3{font-size:29px;line-height:1.5;letter-spacing:-1px}.architecture-block p{color:var(--muted)}.architecture-block .caption{font-size:13px}.performance{background:#072a49;color:white}.prediction-promise{background:#EDF2F7;padding:30px 34px;border-radius:8px}.prediction-promise strong{display:block}.prediction-time{font-size:44px;line-height:1.3;color:#C62828}.prediction-outcome{font-size:30px;line-height:1.5;color:#6B21A8;margin-top:10px;word-break:keep-all;overflow-wrap:break-word}.time-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin:32px 0}.time-grid article{padding:10px 0 10px 24px;border-left:2px solid #39b2d6}.time-grid span{font-size:14px;color:#b5cbdc}.time-grid h3{font-size:28px;margin:10px 0}.time-grid p{color:#c0d4e2;margin:0}.performance-note{font-size:14px;color:#bed3e2;margin-bottom:12px;max-width:1060px}.future-intro{font-size:20px;max-width:880px;color:var(--muted)}.future-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:32px}.future-flow article{border:1px dashed #b7cbd9;padding:28px;background:#f7fafc}.future-flow span{font-size:13px;color:#a64a16;font-weight:700}.future-flow h3{font-size:24px;margin:18px 0 14px}.future-flow p{color:var(--muted);margin:0}.future-note{font-size:14px;color:#865125;margin:22px 0 0}.reading{max-width:960px}.reading h2{font-size:30px;line-height:1.5}#close-dialog{border:1px solid var(--line);padding:10px 16px;background:var(--ice);color:var(--navy);border-radius:4px}dialog .dialog-content img{height:auto;width:100%}
@media(max-width:1100px){.intro-grid{gap:28px}.page-label{display:none}.operation-grid{grid-template-columns:repeat(2,1fr)}.site-header nav{font-size:14px;gap:16px}.site-header .brand img{width:205px}.pipeline li{padding:23px}.technical-hero h1{font-size:34px}.architecture-block{gap:28px}}
@media(max-width:800px){.intro-grid{grid-template-columns:1fr}.screen{max-width:720px}.pipeline{grid-template-columns:1fr 1fr}.pipeline li,.pipeline li:nth-child(n+4){grid-column:auto}.pipeline li:last-child{grid-column:1/-1}.architecture-block{grid-template-columns:1fr}.site-header nav{gap:12px;font-size:12px}.site-header .brand img{width:170px}}
@media(max-width:700px){:root{scroll-padding-top:88px}.technical-hero{padding-top:36px}.intro-grid{gap:30px;padding-bottom:34px}.technical-hero h1{font-size:31px;letter-spacing:-1px}.intro{font-size:18px}.site-header .brand img{width:205px}.site-header nav{font-size:16px;gap:0}.pipeline,.operation-grid,.future-flow,.time-grid{grid-template-columns:1fr}.pipeline li:last-child{grid-column:auto}.pipeline li{display:flex;gap:20px;padding:24px 20px}.step{font-size:24px;margin:0}.pipeline h3{font-size:22px}.pipeline p{margin-bottom:12px}.scope-note{display:block;padding:21px}.scope-note>strong{display:block;margin-bottom:12px}.operation-grid{gap:16px}.operation-grid article{padding:24px}.operation-grid h3{margin-top:14px}.architecture-block{margin-top:40px}.prediction-promise{padding:22px 20px}.prediction-time{font-size:36px}.prediction-outcome{font-size:24px}.time-grid{gap:22px}.future-intro{font-size:18px}.section-heading .badge{margin-top:22px;white-space:normal}.screen-bar{font-size:10px;padding:13px 12px;letter-spacing:0}.screen figcaption{font-size:12px}.technical-detail summary{padding:18px}.technical-detail>div{padding-inline:18px}.reading h2{font-size:26px}}
/* Weather input development: same NEXSIGHT palette and card language. */
.weather-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:34px}.weather-paths>article{padding:30px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--navy);border-radius:5px}.weather-paths h3{font-size:27px;line-height:1.5;margin:20px 0 16px;letter-spacing:-.7px}.weather-paths p{color:var(--muted)}.input-route{list-style:none;margin:24px 0;padding:0;display:grid;gap:12px}.input-route li{padding:16px 20px;background:var(--ice);border-left:3px solid var(--cyan)}.input-route strong,.input-route span{display:block;line-height:1.7}.input-route strong{font-size:17px}.input-route span{font-size:14px;color:var(--muted)}.input-route li+li:before{content:'↓';display:block;color:var(--cyan);font-size:18px;margin-top:-10px}.path-use{font-size:14px;border-top:1px solid var(--line);padding-top:18px;margin-bottom:0}.path-use strong{color:var(--navy)}.weather-preparation{display:flex;align-items:center;gap:24px;background:#fff;border:1px solid var(--line);padding:24px;margin-top:24px}.weather-preparation p{margin:0;color:var(--muted)}.weather-preparation strong{color:var(--navy)}
@media(min-width:701px){.site-header nav{gap:14px;font-size:13px}.page-label{display:none}}
@media(max-width:700px){.weather-paths{grid-template-columns:1fr;gap:20px}.weather-paths>article{padding:24px 20px}.weather-paths h3{font-size:24px}.weather-paths .feature-mark{font-size:11px;letter-spacing:1px}.weather-preparation{display:block;padding:20px}.weather-preparation .badge{margin-bottom:12px}.input-route li{padding:14px}.weather-preparation p{font-size:15px}}
.weather-roles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:28px}.weather-roles article{padding:26px;background:#fff;border:1px solid var(--line);border-radius:5px}.weather-roles h3{font-size:23px;line-height:1.5;margin:18px 0 14px}.weather-roles p{color:var(--muted);margin:0}.weather-roles .feature-mark{letter-spacing:1px;font-size:11px}@media(max-width:700px){.weather-roles{grid-template-columns:1fr;gap:18px}.weather-roles article{padding:22px}.weather-roles h3{font-size:22px}}
.symbol-library{position:absolute;width:0;height:0;overflow:hidden}.tech-symbol{display:flex;width:54px;height:54px;align-items:center;justify-content:center;border-radius:12px;background:#e8f4fb;color:#007faa;margin-bottom:18px}.tech-symbol svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.weather-concept{margin:32px 0 38px}.weather-concept .image-button{border-color:#c0d9e8;border-radius:10px}.weather-concept figcaption{font-size:13px;color:var(--muted);line-height:1.7;margin-top:12px}.future-flow .tech-symbol{color:#007faa}@media(max-width:700px){.weather-concept .image-button{overflow-x:auto}.weather-concept .image-button img{min-width:700px;max-width:none;width:700px}.weather-concept .image-button>span{position:sticky;display:block;bottom:0;right:auto;border-radius:0;text-align:center}.weather-concept figcaption{font-size:12px}.tech-symbol{width:48px;height:48px}.tech-symbol svg{width:32px;height:32px}}
@media(max-width:700px){#dialog-image[src$="weather-concept.svg"]{min-width:1000px;max-width:none}.dialog-content{overflow:auto}}
/* Anchor destinations align with the sticky header, even in tall windows. */
:root{--technical-header-height:88px;scroll-padding-top:var(--technical-header-height)}
#future{min-height:0}
@media(max-width:700px){:root{--technical-header-height:72px}}

body::after{content:'';display:block;height:var(--anchor-tail-space,0px)}

[hidden]{display:none!important}.page-label{display:block!important;color:#007faa;font-weight:800;font-size:14px}.site-header .brand img{width:165px}.site-header .nav-wrap{flex-wrap:wrap;gap:10px;padding-block:10px}.site-header{height:auto;min-height:88px}.site-header nav{gap:12px;font-size:12px}.main-return{border:1px solid #b8ccd9;padding:9px!important;border-radius:4px}.summary-return{color:#007faa;font-weight:800}.summary-topics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-bottom:30px}.summary-topics a{padding:18px;background:white;border:1px solid var(--line);border-radius:5px}.summary-topics strong,.summary-topics span{display:block}.summary-topics span{font-size:13px;color:var(--muted);margin-top:9px}.technical-hero{padding-top:36px}.intro-grid{padding-bottom:30px}.technical-hero .intro{font-size:18px}.summary-topics a:hover{border-color:var(--cyan)}
@media(max-width:1100px) and (min-width:701px){.site-header nav{width:100%;justify-content:space-between}}
@media(max-width:700px){.summary-topics{grid-template-columns:1fr 1fr}.summary-topics a{padding:14px}.summary-topics strong{font-size:14px}.page-label{font-size:12px;padding-left:8px}.site-header .brand img{width:130px}.site-header{min-height:72px}.site-header nav{top:71px;font-size:15px}.nav-wrap{padding-inline:14px}.summary-topics span{font-size:12px}}
/* Unified header: all controls share one vertical center. */
.site-header{height:88px;min-height:88px}.site-header .nav-wrap{height:100%;flex-wrap:nowrap;align-items:center;padding:0 24px;gap:18px}.site-header nav{align-items:center;flex-wrap:nowrap;width:auto;gap:14px;margin-left:auto}.site-header nav a{white-space:nowrap;line-height:1.5}.summary-home{display:inline-flex!important;align-items:center;justify-content:center;padding:11px 15px;border:1px solid #acd5e6;border-radius:6px;background:#eaf6fc;color:#006f99;font-weight:800;line-height:1.4;white-space:nowrap;font-size:14px;transition:background .15s}.summary-home:hover{background:#d7edf9}.main-return{display:inline-flex;align-items:center;justify-content:center;min-height:38px;background:white}.site-header .brand{display:flex;align-items:center}
@media(min-width:701px) and (max-width:1100px){.site-header .brand img{width:130px}.site-header .nav-wrap{gap:10px;padding-inline:16px}.summary-home{font-size:12px;padding:9px 10px}.site-header nav{gap:9px;font-size:11px}}
@media(max-width:900px){.site-header{height:72px;min-height:72px}.site-header .brand img{width:130px}.site-header .nav-wrap{padding:0 14px;gap:10px}.summary-home{font-size:12px;padding:9px 10px}.menu-toggle{display:flex;margin-left:auto;align-items:center;gap:6px;border:0;background:var(--ice);padding:9px 12px;color:var(--navy);font-size:13px}.site-header nav{display:none;position:absolute;top:71px;left:0;width:100%;background:#fff;border-bottom:1px solid var(--line);padding:16px;flex-direction:column;align-items:stretch;gap:0;font-size:15px;max-height:calc(100dvh - 72px);overflow-y:auto}.site-header nav.open{display:flex}.site-header nav a{padding:13px 8px}.main-return{margin-top:8px}}
/* Separate the overview from the company footer only while details are folded. */
body:has(#technical-details[hidden]) .company-footer{margin-top:64px;padding-top:36px}
@media(max-width:700px){body:has(#technical-details[hidden]) .company-footer{margin-top:40px;padding-top:28px}}
.technical-discovery{text-align:center;padding:4px 0 24px;color:#007599;font-size:14px}.technical-discovery a{display:inline-block;padding:12px 16px;line-height:1.7}.technical-discovery a:hover{text-decoration:underline;text-underline-offset:4px}@media(max-width:700px){.technical-discovery{font-size:13px;padding-bottom:20px}}
.technical-discovery{padding:22px 0 24px}
