
/* Shared experience layer: same copper identity, two deliberate color schemes. */
:root{--surface:#202320;--inset:#121512}
:root[data-theme="light"]{color-scheme:light;--bg:#f5f2ea;--fg:#202820;--muted:#596255;--line:#c2c6b9;--accent:#974622;--surface:#eae8de;--inset:#fffdf7}
button,input,select,textarea{font:inherit}
button,select{min-height:44px;min-width:44px}
button{color:var(--fg);background:transparent;border:1px solid var(--line);padding:10px 16px;cursor:pointer;border-radius:3px}
button:hover{border-color:var(--accent);color:var(--accent)}
button:disabled{cursor:default;opacity:.55}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
input,select,textarea{border:1px solid var(--line);background:var(--inset);color:var(--fg);border-radius:3px;padding:12px;max-width:100%}
label{font-size:13px;line-height:1.6}
header{flex-wrap:wrap;gap:20px}
.site-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding-top:14px;border-top:1px solid var(--line)}
.site-tools button{font-size:12px;border:0;padding-left:0}
kbd{font-family:inherit;font-size:11px;border:1px solid var(--line);padding:2px 6px;margin-left:20px;border-radius:3px}
.theme-label{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px}
.theme-label select{font-size:12px;padding:8px 12px;background:transparent}
.hero-note{color:var(--muted);font-size:15px;line-height:1.7;max-width:460px;margin:24px 0 0}
.feature-section{border-top:1px solid var(--line);padding:64px 0;scroll-margin-top:24px;display:grid;grid-template-columns:1fr 1.1fr;gap:64px}
.section-intro h2{font-size:clamp(28px,3.2vw,48px);line-height:1.13;letter-spacing:-1.8px}
.section-intro p,.contact-section p{color:var(--muted);font-size:15px;line-height:1.75;max-width:430px;margin-top:24px}
.section-intro .small-note{font-size:12px}
.capability{border-bottom:1px solid var(--line)}
.capability summary{list-style:none;cursor:pointer;display:flex;gap:18px;align-items:center;padding:24px 0;min-height:64px;font-size:23px;letter-spacing:-.7px}
.capability summary::-webkit-details-marker{display:none}
.detail-plus{margin-left:auto;color:var(--accent);font-size:22px}
.capability[open] .detail-plus{transform:rotate(45deg)}
.cap-body{padding:0 0 24px 42px}
.cap-body p{font-size:14px;line-height:1.75;color:var(--muted);margin:0}
.cap-body .tool-list{color:var(--fg);font-size:12px;margin-bottom:16px}
.capabilities{grid-template-columns:minmax(0,1fr);gap:32px}
.capability-heading{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:start}
.capability-lede{padding-top:0;max-width:560px}
.capability-lede p{color:var(--muted);font-size:16px;line-height:1.75;margin:0 0 14px}
.capability-lede p:first-child{color:var(--fg)}
.capability-explorer{border-top:1px solid var(--line);padding-top:24px}
.capability-filter-label{font-size:12px;color:var(--muted);margin-bottom:14px}
.capability-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.capability-filters{display:flex;flex-wrap:wrap;gap:8px}
.capability-filters button{font-size:12px;line-height:1.4;padding:11px 16px;border-radius:2px}
.capability-filters button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--bg)}
#capability-count{font-size:12px;color:var(--muted);margin:0}
.capability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.capability-card{display:flex;flex-direction:column;min-width:0;padding:28px 0;border-bottom:1px solid var(--line)}
.capability-card[hidden]{display:none}
.capability-card-heading{display:flex;gap:16px;align-items:baseline}
.capability-card-heading h3{font-size:22px;line-height:1.3;letter-spacing:-.6px;font-weight:400;margin:0}
.capability-scope{font-size:14px;line-height:1.8;color:var(--muted);margin:16px 0 20px;padding-left:0;max-width:650px}
.capability-platforms{font-size:12px;line-height:1.8;color:var(--fg);margin:auto 0 0;padding-left:0;overflow-wrap:anywhere}
.capability-bridge{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.capability-bridge p{font-size:13px;color:var(--muted);margin:0}
.capability-bridge a{display:inline-flex;align-items:center;gap:24px;min-height:44px;font-size:13px;color:var(--fg)}
.capability-bridge a:hover{color:var(--accent)}
.capability-bridge svg{color:var(--accent)}
@media(prefers-reduced-motion:no-preference){.capability-card:not([hidden]){animation:capability-arrive .18s ease-out both}@keyframes capability-arrive{from{opacity:.65;transform:translateY(4px)}to{opacity:1;transform:none}}}
@media(max-width:1050px){.capability-heading{gap:36px}.capability-grid{column-gap:28px}.capability-card-heading h3{font-size:20px}}
@media(max-width:760px){.capability-heading{grid-template-columns:1fr;gap:18px}.capability-lede{padding-top:0;max-width:none}.capability-lede p{font-size:15px}.capability-grid{grid-template-columns:1fr}.capability-scope{max-width:none}.capability-controls{gap:16px}.capability-card{padding:24px 0}}
@media(max-width:420px){.capability-card-heading{gap:12px}.capability-scope,.capability-platforms{padding-left:0}.capability-card-heading h3{font-size:20px}.capability-filters{gap:6px}.capability-filters button{padding:10px 12px}.capability-bridge{gap:4px}}
.signal-lab{border:1px solid var(--line);background:var(--surface);padding:28px;min-width:0;border-radius:4px}
.signal-lab form{display:grid;gap:12px}
.check-label{display:flex;gap:10px;align-items:center;min-height:44px}
.check-label input{width:20px;height:20px;accent-color:var(--accent)}
.button-row{display:flex;flex-wrap:wrap;gap:10px}
.primary-button{background:var(--accent);color:var(--bg);border-color:var(--accent)}
.primary-button:hover{color:var(--bg);filter:brightness(1.12)}
.live-status{font-size:13px;line-height:1.65;border-left:2px solid var(--accent);padding-left:14px;margin:24px 0;min-height:44px}
.signal-stages{display:flex;gap:12px;justify-content:space-between;list-style:none;padding:0;margin:20px 0;font-size:11px;color:var(--muted)}
.signal-stages span{display:block;color:var(--accent);margin-bottom:8px}
.payload-grid{display:grid;gap:20px}
.payload-grid h3{font-size:12px;font-weight:400;color:var(--muted);margin:0 0 8px}
pre{background:var(--inset);color:var(--fg);border:1px solid var(--line);padding:18px;font:12px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}
.field-note{margin-top:24px;font-size:13px;line-height:1.65}
.field-note summary{min-height:44px;cursor:pointer;padding:10px 0}
.field-note p{color:var(--muted)}
.field-note pre{margin-top:12px;font-size:11px}
.contact-link{display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line);padding:20px 0;min-height:44px;font-size:20px}
.contact-link span{color:var(--accent)}
footer{flex-wrap:wrap}
footer .quiet-button{border:0;padding:8px 0;color:var(--muted);font-size:12px}
.utility-dialog{color:var(--fg);background:var(--bg);border:1px solid var(--line);padding:28px;width:min(560px,calc(100vw - 32px));max-height:calc(100svh - 32px);overflow:auto}
.utility-dialog::backdrop{background:rgb(0 0 0/.75)}
.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}
.dialog-top h2{font-size:28px}
.utility-dialog p{font-size:14px;line-height:1.7;color:var(--muted)}
.utility-dialog>input{display:block;width:100%;margin:10px 0 20px}
.jump-results{display:grid}
.jump-results a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;border-bottom:1px solid var(--line);font-size:15px}
.jump-results a[hidden]{display:none}
.jump-results a:hover{color:var(--accent)}
.game-board-wrap{display:flex;gap:10px;align-items:center;margin:28px 0}
.port-label{font-size:10px;color:var(--accent);writing-mode:vertical-rl}
.game-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;flex:1}
.game-board button{padding:8px;aspect-ratio:1;border:1px solid var(--line);background:var(--surface)}
.game-board svg{width:100%;height:100%;display:block;stroke:var(--accent);stroke-width:5;stroke-linecap:round;fill:none}
.game-board button:disabled{opacity:.3}
.draft-banner{padding:14px 24px;background:var(--accent);color:var(--bg);font-size:13px;line-height:1.6}
.draft-banner a{margin-left:16px;text-decoration:underline}
:root[data-theme="light"] .project-visual .image-caption{color:#efedf6}
@media(prefers-reduced-motion:no-preference){
  .title-row{animation:arrive .5s ease-out both}
  button,.capability summary,.contact-link{transition:border-color .16s,color .16s,background .16s}
  @keyframes arrive{from{opacity:.7;transform:translateY(8px)}to{opacity:1;transform:none}}
}
@media(max-width:1050px){.feature-section{gap:36px}}
@media(max-width:760px){.feature-section{grid-template-columns:1fr;gap:30px;padding:44px 0}.signal-lab{padding:20px}.section-intro h2{font-size:34px}.capability summary{font-size:21px}.section-intro p{max-width:100%}}
@media(max-width:420px){.header-nav{flex-wrap:wrap}.utility-dialog{padding:18px}.dialog-top h2{font-size:24px}.cap-body{padding-left:0}.site-tools{gap:12px}.theme-label{gap:6px}.signal-stages{gap:8px}.button-row button{flex:1}.section-intro h2{font-size:30px}}
@media(forced-colors:active){.game-board svg{stroke:ButtonText}.primary-button{border:1px solid ButtonText}}

.utility-open{overflow:hidden}

.contact-link{width:100%;background:none;text-align:left;border-width:0 0 1px;border-radius:0}
.contact-alternative{display:inline-flex;min-height:44px;align-items:center;color:var(--muted);font-size:13px;margin-top:12px}
.contact-dialog textarea,.contact-dialog input:not([name=website]){width:100%;margin-top:10px}
.contact-dialog textarea{resize:vertical;line-height:1.65}
.chat-bubble{background:var(--surface);padding:18px;border-left:2px solid var(--accent)}
.assistant-disclosure{font-size:12px!important}
.contact-dialog dt{color:var(--muted);font-size:12px;margin-top:14px}
.contact-dialog dd{margin:6px 0 0;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}
.form-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
