:root{color-scheme:light;--surface:#fff;--surface-soft:#edf6f3;--page:#f7faf8;--settings-shadow:0 25px 90px #071b2433}
:root[data-theme=dark]{color-scheme:dark;--page:#08191f;--surface:#102a32;--surface-soft:#15343b;--ink:#e3efed;--muted:#aec4c4;--line:#2c4c53;--teal:#68d5cc;--aqua:#6fd9cd;--mint:#173a3f;--cream:#1b3034;--settings-shadow:0 25px 90px #0008;background:var(--page)}
[data-theme=dark] body{background:linear-gradient(180deg,#08191f,#0d252b);color:var(--ink)}
[data-theme=dark] .site-header{background:#0d252bf5}
[data-theme=dark] .brand,[data-theme=dark] .section-intro h2,[data-theme=dark] .card-copy h3,[data-theme=dark] .local-area h2,[data-theme=dark] .detail-grid h2,[data-theme=dark] .contact-panel h2,[data-theme=dark] .experience h2{color:var(--ink)}
[data-theme=dark] .promise,[data-theme=dark] .service-grid article,[data-theme=dark] .detail-grid article,[data-theme=dark] .contact-panel,[data-theme=dark] .experience{background:var(--surface)}
[data-theme=dark] .demo-controls,[data-theme=dark] .notice{background:var(--surface-soft)}
[data-theme=dark] .demo-pill{background:#204348;color:#a4ede3}
[data-theme=dark] .scene-choice{background:#29464d;color:var(--ink)}
[data-theme=dark] .scene-choice.active{background:#7bded3;color:#09262d}
[data-theme=dark] .demo-controls output{color:#7bdfd5}
[data-theme=dark] .demo-reset{background:#70d2c9;color:#09262d}
[data-theme=dark] .demo-reset:hover{background:#9ce9df}
[data-theme=dark] .coming-soon{background:#102e38;border:1px solid var(--line)}
[data-theme=dark] .demo-controls input[type=color]{background:var(--surface);border:1px solid var(--line)}
[data-theme=dark] .demo-controls input{accent-color:#67d5ca}
.site-settings-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;min-height:42px;padding:10px 13px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:700 12px system-ui;cursor:pointer}
.site-settings-button:hover{border-color:var(--teal);background:var(--surface-soft)}
.site-settings-dialog{width:min(520px,calc(100% - 28px));max-height:calc(100dvh - 32px);margin:auto;padding:28px;border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--ink);box-shadow:var(--settings-shadow);overflow:auto}
.site-settings-dialog::backdrop{background:#031218a6;backdrop-filter:blur(5px)}
.settings-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:28px}
.settings-heading h2{font:500 32px/1.15 Georgia,serif;margin:8px 0 0;color:var(--ink)}
.settings-close{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--surface-soft);color:var(--ink);font:26px/1 system-ui;cursor:pointer}
.theme-options{margin:0;padding:0;border:0;min-width:0}
.theme-options legend{font-size:15px;font-weight:750;padding:0}
#theme-summary{font-size:13px;line-height:1.6;color:var(--muted);margin:9px 0 18px}
.theme-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.theme-choices label{position:relative;cursor:pointer;min-width:0}
.theme-choices input{position:absolute;top:12px;left:12px;margin:0;width:16px;height:16px;accent-color:var(--teal)}
.theme-choices span{display:flex;flex-direction:column;gap:6px;min-height:102px;padding:39px 11px 13px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}
.theme-choices b{font-size:14px}
.theme-choices small{font-size:10px;color:var(--muted);line-height:1.4}
.theme-choices input:checked+span{border-color:var(--teal);box-shadow:inset 0 0 0 1px var(--teal)}
.theme-choices input:focus-visible+span{outline:3px solid var(--aqua);outline-offset:3px}
.settings-save-status{margin:20px 0 0;padding-top:17px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.7}
.site-settings-button:focus-visible,.settings-close:focus-visible{outline:3px solid var(--aqua);outline-offset:3px}
@media(max-width:640px){.site-header{gap:10px}.site-header .status{display:none}.site-settings-button{margin-left:auto;min-height:44px}.site-settings-dialog{padding:23px 18px}.theme-choices{gap:7px}.theme-choices span{padding-inline:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
