/* Live theme (2026-10-23): white background, navy text and logo, Red Hat type, readability fixes.
   Overrides colours and fonts in style.css; layout is unchanged. The previous dark site is in previous-dark/. */
:root{color-scheme:light;--bg:#f4f6f7;--bg-2:#eef1f3;--panel:#ffffff;--line:rgba(25,40,75,.11);--line-2:rgba(25,40,75,.22);--fg:#19284b;--muted:#4b5670;--dim:#5f6880;--silver:#2b3654;--signal:#2b4f86;
  --display:"Red Hat Display","Helvetica Neue",Arial,sans-serif;--body:"Red Hat Text","Helvetica Neue",Arial,sans-serif;--mono:"Red Hat Mono",ui-monospace,Menlo,Consolas,monospace}
body{font-family:var(--body)}
h1,h2,h3,.statement,.contact h2,.email{font-family:var(--display)}
.defs{position:absolute;width:0;height:0;overflow:hidden}

/* Navy logo and light surfaces */
.brand img,.foot-top img{filter:url(#navy)}
.site-header{background:rgba(244,246,247,.86)}
.btn-solid:hover{color:#fff}
.hero-fallback{background:radial-gradient(ellipse 70% 50% at 75% 75%,#e2e7ef 0%,var(--bg) 70%)}
.live{box-shadow:0 0 0 0 rgba(43,79,134,.5)}
@keyframes live{0%{box-shadow:0 0 0 0 rgba(43,79,134,.45)}
70%{box-shadow:0 0 0 10px rgba(43,79,134,0)}
100%{box-shadow:0 0 0 0 rgba(43,79,134,0)}
}
.hero-foot{background:linear-gradient(180deg,rgba(244,246,247,0),rgba(244,246,247,.78))}
.tile{background:rgba(255,255,255,.75)}
.card .shade{background:linear-gradient(180deg,rgba(255,255,255,0) 30%,rgba(255,255,255,.9) 64%,var(--panel) 100%)}
.card .chip,.card .status{background:rgba(255,255,255,.8)}
.card .status.now,.acc-btn .when.now{border-color:rgba(43,79,134,.5)}
.card.is-soon{background:#f8fafb;border-color:rgba(25,40,75,.15)}
.card.is-soon .viz{opacity:.5}
.card .detail p{color:#33405f}
.card .viz .still{filter:grayscale(.75) contrast(1.05) brightness(1.15)}
.slab .top{fill:#ffffff;stroke:rgba(25,40,75,.30)}
.slab .side{fill:#e6ebf0;stroke:rgba(25,40,75,.20)}
.slab.soon .top{fill:rgba(255,255,255,.55)}
.slab.soon .side{fill:rgba(230,235,240,.55)}
.slab .tick{stroke:rgba(25,40,75,.22)}
.slab .dots circle{fill:#c3c8d4}
.slab.on .top{fill:#e8ecf4;stroke:var(--silver)}
.slab.on .side{fill:#d4dbe9;stroke:rgba(25,40,75,.45)}
.contact-card{background:rgba(255,255,255,.9)}

/* Readability: larger, darker small text; normal-weight headings; text kept clear of the dot animation */
.mono{font-size:13px;letter-spacing:.04em}
.nav a{color:var(--silver)}
.element .meta{font-size:12px}
.acc-btn .when,.card .chip,.card .status{font-size:12px}
h2.title,.card h3,.market h3{font-weight:400}
.statement .muted,h2.title .muted,.contact h2 .muted{color:#626c88}
.card.is-soon h3{color:#5f6880}
.card .soon-line{font-size:15px;color:var(--muted)}
.acc-item:not(.is-open) .acc-btn .t{color:#4b5670}
.acc-panel p{font-family:var(--body);font-size:16px;letter-spacing:0;line-height:1.6;color:var(--muted)}
.tagline{color:var(--fg)}
.hint{color:var(--muted)}
.hero-body .eyebrow,.tagline,.hero h1{text-shadow:0 0 18px var(--bg),0 0 6px var(--bg),0 0 2px var(--bg)}
.hero .btn-line{background:rgba(244,246,247,.88)}
.market canvas{opacity:.4}
.market p{color:var(--muted);font-size:16px}
.slab .st,.slab .sub{fill:#66708a}
.slab .lbl{fill:#4b5670}

@media (max-width:900px){.card .shade{background:linear-gradient(180deg,rgba(255,255,255,0) 40%,var(--panel) 100%)}
}

/* Footer disclaimer */
.disclaimer{margin-top:48px;max-width:88ch;font-size:13px;line-height:1.6;color:var(--muted)}
.disclaimer+.foot-bottom{margin-top:24px}

/* Hero and section labels: bolder, aligned sizes (2026-10-23) */
.hero-body .eyebrow,.tagline{font-weight:600}
.foot-grid{grid-template-columns:auto 1fr 1fr}
.element .meta{font-size:13px;letter-spacing:.04em}
.element .meta b,.coord b{font-weight:600}
.label{font-size:15px;font-weight:500}
.label i{width:9px;height:9px}
@media (max-width:1080px){.foot-grid{grid-template-columns:auto 1fr 1fr}
}

/* Language switch (English / Japanese) */
.lang{flex-shrink:0;display:inline-flex;align-items:center;min-height:38px;padding:0 12px;border:1px solid var(--line-2);border-radius:2px;color:var(--fg);font-family:var(--mono);font-size:13px;letter-spacing:.04em;white-space:nowrap}
.lang:hover{border-color:var(--fg)}
.nav+.lang{margin-left:-12px}
@media (max-width:900px){.header-inner{gap:16px}.lang{margin-left:auto}.menu-btn{margin-left:0}}

/* Japanese pages: Noto Sans JP for Japanese characters, Red Hat for Latin; looser line height, phrase-aware wrapping */
html[lang="ja"]{--display:"Red Hat Display","Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;--body:"Red Hat Text","Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;--mono:"Red Hat Mono","Noto Sans JP",ui-monospace,monospace}
html[lang="ja"] body{line-height:1.75}
html[lang="ja"] h2,html[lang="ja"] h3,html[lang="ja"] .statement,html[lang="ja"] .contact h2,html[lang="ja"] .acc-btn .t{letter-spacing:0;word-break:auto-phrase}
html[lang="ja"] .statement{max-width:22em;font-size:clamp(23px,2.7vw,38px);line-height:1.5}
html[lang="ja"] h2.title{font-size:clamp(28px,3.8vw,56px);line-height:1.3}
html[lang="ja"] .contact h2{font-size:clamp(38px,5.6vw,88px);line-height:1.2}
html[lang="ja"] .pillars-head p{max-width:26em}
html[lang="ja"] .card .soon-line,html[lang="ja"] .market p,html[lang="ja"] .foot-top p{max-width:20em}
html[lang="ja"] .acc-panel p{max-width:32em;line-height:1.8}
html[lang="ja"] .acc-btn .t{font-size:clamp(19px,2vw,28px);line-height:1.4}
html[lang="ja"] .mono{letter-spacing:.06em}
html[lang="ja"] .card h3,html[lang="ja"] .market h3{font-size:clamp(28px,2.8vw,44px);word-break:keep-all;line-height:1.25}
