/* Dark is the original design. Color fallbacks in the component sheets retain
   its exact tones; these semantic paints are defined only for the light theme. */
:root{color-scheme:dark}
:root[data-theme=light]{
 color-scheme:light;
 --bg:#fafafa;--surface:#f1f1f1;--ink:#262626;--muted:#616161;--line:#cfcfcf;--silver:#656565;
 --paint-text-primary:38 38 38;--paint-text-secondary:73 73 73;--paint-text-muted:97 97 97;
 --paint-border-subtle:212 212 212;--paint-border-medium:179 179 179;--paint-border-strong:123 123 123;
 --paint-surface-base:255 255 255;--paint-surface-raised:243 243 243;--paint-surface-inset:232 232 232;
 --paint-surface-contrast:38 38 38;--paint-mark:95 95 95;--paint-shadow:34 34 34;
}
.theme-toggle{flex-shrink:0;width:40px;height:40px;display:grid;place-items:center;padding:9px;border:1px solid var(--line);background:transparent;color:var(--ink)}
.theme-toggle:hover{border-color:var(--silver);background:var(--surface)}
.theme-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.theme-moon{display:none}html[data-theme=light] .theme-sun{display:none}html[data-theme=light] .theme-moon{display:block}
html[data-theme=light] ::selection{background:#d7d7d7;color:#1d1d1d}
html[data-theme=light] .approach{background:#ebebeb;color:var(--ink)}
html[data-theme=light] .button-light,html[data-theme=light] .language-switch a[aria-current=true],html[data-theme=light] .journey-controls [data-follow][aria-pressed=true]{background:#2c2c2c;color:#fff;border-color:#2c2c2c}
html[data-theme=light] .button-light:hover{background:#161616;color:#fff}
html[data-theme=light] .language-switch a:hover{background:#e4e4e4;color:#242424}
html[data-theme=light] .language-switch a[aria-current=true]:hover{background:#2c2c2c;color:#fff}
html[data-theme=light] .nav-contact:hover,html[data-theme=light] .contact-orbit:hover,html[data-theme=light] .round-link:hover{background:#2c2c2c;color:#fff}
html[data-theme=light] .page-hero{background:linear-gradient(120deg,#fafafa 42%,#efefef)}
html[data-theme=light] .architecture-screen{background:radial-gradient(ellipse at 50% 42%,#e3e3e366,transparent 68%),#fff;border-color:#cacaca;box-shadow:0 8px 28px #30303005}
html[data-theme=light] .hero-grid{background-image:linear-gradient(#3e3e3e06 1px,transparent 1px),linear-gradient(90deg,#3e3e3e06 1px,transparent 1px)}
html[data-theme=light] .network-callout>div{background:#fafafad9}
html[data-theme=light] .book-image img{box-shadow:12px 15px 0 #e0e0e0,0 12px 28px #2c2c2c0d}
html[data-theme=light] .model-toolbar select,html[data-theme=light] .contact-form input,html[data-theme=light] .contact-form select,html[data-theme=light] .contact-form textarea{color-scheme:light;background:#fff;border-color:#9f9f9f;color:#2b2b2b}
html[data-theme=light] .contact-form input:focus-visible,html[data-theme=light] .contact-form textarea:focus-visible,html[data-theme=light] .contact-form select:focus-visible{background:#fff;outline-color:#5c5c5c}
html[data-theme=light] .model-toolbar select:focus-visible,html[data-theme=light] .journey-page button:focus-visible,html[data-theme=light] .journey-page input:focus-visible,html[data-theme=light] .journey-page summary:focus-visible{outline-color:#404040}
html[data-theme=light] .framework-radar-area{fill:#65656515;stroke:#5d5d5d}
html[data-theme=light] .framework-radar-point{fill:#5d5d5d;stroke:#fff}
html[data-theme=light] .framework-radar-node[data-selected=true] .framework-radar-point{fill:#292929}
html[data-theme=light] .journey-player{background:#fff;border-color:#cacaca;box-shadow:0 10px 40px #2c2c2c05}
html[data-theme=light] .journey-toolbar{background:#f5f5f5f5;border-color:#d4d4d4}
html[data-theme=light] .journey-scene{background:radial-gradient(ellipse at 50% 43%,#e3e3e340,transparent 70%)}
html[data-theme=light] .journey-chapters button[aria-current]{background:#eaeaea;color:#252525;box-shadow:inset 0 -2px #4c4c4c}
html[data-theme=light] .journey-chapters button:hover{background:#f2f2f2;color:#2b2b2b}
html[data-theme=light] .journey-timeline input{accent-color:#4a4a4a}
html[data-theme=light] .journey-fields polygon{fill:#67676726;stroke:#575757}
html[data-theme=light] .journey-fields svg>circle{fill:#393939}
@media(min-width:1281px) and (max-width:1450px){.header{gap:15px}.desktop-nav{gap:17px}.header .brand{font-size:25px}.brand-lockup small{font-size:11px}}
@media(max-width:540px){.header{gap:10px}.theme-toggle{width:34px;height:36px;padding:7px}.header .brand{font-size:22px}.header .language-switch{margin-left:auto}.brand-lockup small{display:none}}
@media(max-width:400px){.header{padding-inline:16px;gap:8px}.header .brand{font-size:20px;gap:7px}.header .brand-symbol{width:22px}}
@media(max-width:350px){.header .brand-symbol{display:none}.header .brand{font-size:19px}}
@media(prefers-contrast:more){html[data-theme=light]{--muted:#393939;--line:#828282;--paint-text-muted:57 57 57;--paint-border-subtle:130 130 130}}
@media print{.theme-toggle{display:none}}
