/* RIAC app chrome. Functional game artwork and signal plots own their palettes. */
:root{
 --riac-ink:#101010;--riac-muted:#494949;--riac-paper:#f5f5ef;--riac-line:#aaa9a3;--riac-accent:#d7ef49;
 --riac-font:'Helvetica Neue',Helvetica,Arial,sans-serif;--riac-mono:'Courier New',monospace;
 --bg:#fff;--night:#fff;--deep:#f5f5ef;--panel:#f5f5ef;--panel2:#f5f5ef;--paper:#f5f5ef;
 --ink:#101010;--text:#101010;--cream:#101010;--muted:#494949;--line:#aaa9a3;--border:#aaa9a3;
 --accent:var(--riac-accent);--accent2:var(--riac-accent);--cyan:#494949;--pink:#494949;--yellow:var(--riac-accent);--purple:#494949;--teal:#494949;--green:var(--riac-accent);--orange:#494949;--acid:var(--riac-accent);
 --phosphor:var(--riac-accent);--screen:#101010;--screen-line:#494949;--terminal-muted:#aaa9a3;--shadow:none;
 color-scheme:light;
}
html:has(.riac-app),body.riac-app{background:#fff!important;color:var(--riac-ink)!important}
html.riac-embedded,html.riac-embedded body.riac-app{min-height:0!important}
body.riac-app{font:16px/1.6 var(--riac-font);margin:0;min-height:100vh}
.riac-app *{box-sizing:border-box}
.riac-app :is(h1,h2,h3){font-family:var(--riac-font);letter-spacing:0!important;color:var(--riac-ink);text-shadow:none!important;text-transform:none}
.riac-app h1{font-size:clamp(32px,4vw,56px);line-height:1.08;font-weight:800;margin:12px 0 18px}
.riac-app h2{font-size:24px;line-height:1.25}.riac-app h3{font-size:20px;line-height:1.3}
.riac-app :is(p,.sub,.intro,.small,.hint,.tiny,.source-note,.how,.mode-text){color:var(--riac-muted);line-height:1.65}
.riac-app :is(.sub,.intro){font-family:var(--riac-font);font-size:16px;letter-spacing:0;text-transform:none}
.riac-app :is(.label,.kicker,.eyebrow,.micro,.case,.badge){font:12px/1.5 var(--riac-mono);letter-spacing:.04em;color:var(--riac-muted);text-shadow:none}
.riac-app :is(.wrap,.shell,.studio-shell){max-width:1280px;margin-inline:auto;padding-bottom:100px}
.riac-app :is(header,.app-header,.marquee){background:#fff!important;border:0;border-bottom:1px solid var(--riac-line);border-radius:0;box-shadow:none;padding:20px 0 28px;margin-bottom:28px;min-height:0}
.riac-app header:after,.riac-app .app-header:after{content:none}
.riac-app .brand{font-family:var(--riac-font);line-height:1.15;letter-spacing:0;color:var(--riac-ink);text-shadow:none}
.riac-app :is(.panel,.card,.instrument,.console,.workbench,.stage-wrap,.game-wrap,.game-frame,.input-controls,.runner-controls,.screen-shell){background:var(--riac-paper)!important;color:var(--riac-ink);border:3px solid var(--riac-ink);border-radius:0!important;box-shadow:none!important}
.riac-app :is(.controls,.toolbar,.recorder,.source-tabs,.source-config,.channel-bar,.capture-controls,.workbench-top,.command-bar,.editor-toolbar,.signal-head,.input-panel,.transport){background:var(--riac-paper);color:var(--riac-ink);border-color:var(--riac-line);border-radius:0;box-shadow:none}
.riac-app :is(.block,.control,.settings,.cal,.info,.voice,.lightbox,.device-panel,.live-badge,.status,.badge,.metrics,.field-guide,.readout,.help,.how li){background:#fff!important;color:var(--riac-ink);border-color:var(--riac-line);border-radius:0!important;box-shadow:none!important}
.riac-app :is(.metrics strong,.metrics span,.status strong,.device-readout strong,.live-badge small,.field-guide summary,.field-guide p,.field-guide h2,.source-config label,.controls label,.source-config output,.monitor-row strong,.setting label,.knob-test label,.how strong,.big,.lightvalue,.live-reading){color:var(--riac-ink)}
.riac-app :is(button,.button,select,input,textarea){font-family:var(--riac-font);letter-spacing:0;border-radius:0;max-width:100%}
.riac-app button,.riac-app .button{background:#fff;color:var(--riac-ink);border:3px solid var(--riac-ink);min-height:44px;padding:10px 16px;font-size:14px;line-height:1.3;font-weight:700;text-shadow:none!important;cursor:pointer;transform:none}
.riac-app button:hover:not(:disabled){background:var(--riac-paper)}
.riac-app :is(button.primary,button.good,button.active,button[aria-selected=true],button[aria-pressed=true],#serialBtn,#sensorBtn,#connect,.signal-head button){background:var(--riac-accent);color:var(--riac-ink)}
.riac-app button:disabled{opacity:.45;cursor:not-allowed}
.riac-app :is(select,input[type=text],input[type=number],textarea){background:#fff;color:var(--riac-ink);border:1px solid var(--riac-ink);padding:10px;font-size:15px;min-height:44px}
.riac-app select option{background:#fff;color:var(--riac-ink)}
.riac-app :is(input[type=range],input[type=checkbox]){accent-color:var(--riac-accent)}
.riac-app :is(button,a,input,textarea,select,summary):focus-visible{outline:3px solid var(--riac-ink);outline-offset:4px}
.riac-app a{color:var(--riac-ink);text-underline-offset:4px}
.riac-app :is(.dot,.led){box-shadow:none;background:var(--riac-color-light)}
.riac-app :is(.dot.on,.dot.live,.led.connected){background:var(--riac-accent);border:1px solid var(--riac-ink)}
.riac-app :is(.meter,.barline,.level,.boost-meter){background:#aaa9a3;border:1px solid var(--riac-ink);border-radius:0;box-shadow:none}
.riac-app :is(.meter-fill,.level-fill,.meter>i,.boost-meter>span,#steerBar,#meterBar,#meterFill){background:var(--riac-accent)!important;box-shadow:none}
.riac-app :is(.canvas-wrap,.scope,.screen,.chart,.log,.gesture){background:#101010;border-color:#494949;border-radius:0!important;box-shadow:none!important;color:#f5f5ef}
.riac-app :is(.chart-heading h2,.chart-heading span,.scope-bottom,.visual-grid .chart p,.log,.scope-readout,.freq-readout,.note){color:#f5f5ef}
.riac-app .chart-heading h2{font:700 13px/1.4 var(--riac-mono)}
.riac-app :is(.overlay,.overlay-card,.overlay-box){color:var(--riac-ink);text-shadow:none;box-shadow:none;border-radius:0}
.riac-app .overlay{background:#f5f5eff0}
.riac-app :is(.overlay h1,.overlay h2,.overlay p,.overlay .tiny){color:var(--riac-ink)}
.riac-app .overlay-card{background:#fff;border:3px solid var(--riac-ink)}
.riac-app dialog{background:#fff;color:var(--riac-ink);border:3px solid var(--riac-ink);border-radius:0;box-shadow:none}
.riac-app dialog::backdrop{background:#10101099}
.riac-app :is(.dialog-body h2,.dialog-body p,.dialog-body .live-reading){color:var(--riac-ink)}
.riac-app button.pad{background:#fff}.riac-app button.pad:active,.riac-app button.pad.active,.riac-app button.pad.hit{background:var(--riac-accent)}
.riac-app .step{background:#fff;border-radius:0;border-color:var(--riac-ink)}
.riac-app .step.has-drum{background:var(--riac-accent)}.riac-app .step.has-bass{box-shadow:inset 0 -7px 0 #494949!important}.riac-app .step.has-chord:after{background:#999}.riac-app .step.has-lead:before{background:#101010}
.riac-app :is(.message,.error,.warning){color:#8a281f}.riac-app .message:empty{display:none}
.riac-app .ebrain-dock{background:#fff!important;color:#101010!important;border:3px solid #101010!important;border-radius:0!important;box-shadow:none!important;backdrop-filter:none!important}
.riac-app .ebrain-dock small{color:#494949!important}.riac-app .ebrain-dock__dot{border-radius:0;box-shadow:none!important}.riac-app .ebrain-dock.is-connected .ebrain-dock__dot{background:var(--riac-color-green)}
@media(max-width:720px){.riac-app :is(.wrap,.shell,.studio-shell){width:100%;padding:18px 16px 110px}.riac-app :is(.top,.intro,.studio-intro){display:flex;flex-direction:column;align-items:stretch;gap:20px}.riac-app .status{min-width:0}.riac-app .source-tabs{grid-template-columns:1fr 1fr}.riac-app :is(.toolbar,.controls,.row,.command-bar){flex-wrap:wrap}.riac-app .riac-app-bar{padding:10px 16px}.riac-app h1{overflow-wrap:break-word}}
@media(prefers-reduced-motion:reduce){.riac-app *, .riac-app *::before,.riac-app *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Component-specific adapters: preserve meaningful states and readable contrast. */
.riac-app :is(.arcade-panel,.inspector){background:var(--riac-paper);color:var(--riac-ink);border:1px solid var(--riac-line);border-radius:0;box-shadow:none}
.riac-app :is(.inspector summary,.inspector .panel-heading h2,.panel-heading>span,#draft-status){color:var(--riac-ink)}
.riac-app :is(.source-section,.terminal){background:#101010;color:#f5f5ef}
.riac-app :is(.source-section p,.source-section .panel-heading h2,.source-section .panel-heading>span,.terminal .panel-heading h2){color:#f5f5ef}
.riac-app #script-text{background:#101010;color:#f5f5ef;font-family:var(--riac-mono)}
.riac-app .channel-bar label{color:var(--riac-ink)!important;border-bottom:3px solid var(--channel);padding-bottom:5px}
.riac-app .note{color:var(--riac-ink)}.riac-app .screen .note{color:#f5f5ef}
.riac-app .range-band{background:color-mix(in srgb,var(--riac-accent) 30%,transparent)}
.riac-app .simon-pad{border-color:var(--pad)!important;color:var(--riac-ink)!important}
.riac-app .simon-pad.lit{background:var(--pad)!important;color:#101010!important}
.riac-app .snake-board,.riac-app .stage,.riac-app .stage img,.riac-app .veil{border-radius:0}
.riac-app button.hotspot{min-height:0;padding:0;border:0!important;background:transparent!important}
.riac-app .highlight{box-shadow:none;border:3px solid #101010;background:color-mix(in srgb,var(--riac-accent) 30%,transparent)}
.riac-app .stage .label{background:#fff;color:#101010;border:1px solid #101010}
.riac-app :is(.hud,.hud span,.hud b,.scope-readout strong,.scope-readout span){color:#f5f5ef!important;text-shadow:none}
.riac-app[data-app=ebrain-explorer] .panel{padding:20px;background:#fff!important;border:0}
.riac-app[data-app=ebrain-explorer] .topbar{background:#f5f5ef;border-radius:0;border:0;padding:0;gap:8px}
.riac-app[data-app=ebrain-explorer] .card{padding:20px;background:#fff!important;border:0;border-top:1px solid #aaa9a3}
.riac-app .riac-app-bar button{text-transform:none}
.riac-app :is(.score,.pill){border:1px solid var(--riac-line);border-radius:0;background:#fff;color:#101010}
.riac-app .pill strong{color:#101010}
.riac-app .simon-pad{min-height:110px;font-size:20px}
@media(max-width:420px){.riac-app .simon-pad{min-height:90px;padding:10px 6px;font-size:15px}}
.riac-app[data-app=hanging-plotter] .shell,.riac-app[data-app=xy-plotter] .wrap{min-width:0}
.riac-app[data-app=hanging-plotter] .shell>*,.riac-app[data-app=xy-plotter] .grid>*{min-width:0}
.riac-app[data-app=mini-one] .app,.riac-app[data-app=mini-one-piezo] .app{max-width:1280px;margin-inline:auto}
.riac-app[data-app=morse-code] .tree-wrap{max-width:100%}
.riac-app[data-app=ebrain-updater]{--blue:var(--riac-ink);--orange:var(--riac-accent)}
.riac-app[data-app=ebrain-updater] .board{border-radius:0;box-shadow:none}
@media(max-width:1100px){.riac-app[data-app=hanging-plotter] .shell,.riac-app[data-app=xy-plotter] .grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.riac-app[data-app=hanging-plotter] header{align-items:flex-start;flex-direction:column}.riac-app[data-app=hanging-plotter] .header-actions{flex-wrap:wrap}.riac-app[data-app=ebrain-updater] .board{grid-template-columns:minmax(0,1fr)}}
.riac-app[data-app=mini-one] :is(.workspace>*,.control-panel,.key-zone>*){min-width:0}
.riac-app[data-app=mini-one] .head{flex-wrap:wrap;gap:8px}
@media(max-width:900px){.riac-app[data-app=mini-one] .workspace{grid-template-columns:minmax(0,1fr)}}
/* Sampler layout and playable cells keep their own sizing and state colors. */
body.riac-app[data-app=mini-one]{display:block;padding:8px}
.riac-app[data-app=mini-one] .unit{margin:0 auto;border:0;border-radius:0;box-shadow:none;background:#fff}
.riac-app[data-app=mini-one] :is(.step,.track-actions button){padding:0;min-width:0}
.riac-app[data-app=mini-one] .step.lit{background:var(--riac-accent)!important}
.riac-app[data-app=mini-one] .option.selected{background:var(--riac-accent)!important}
.riac-app[data-app=mini-one-piezo] .app{border:0;border-radius:0;box-shadow:none;background:#fff}
@media(max-width:560px){.riac-app[data-app=mini-one] .steps{grid-template-columns:repeat(8,minmax(0,1fr))}}
.riac-app[data-app=mini-one] :is(.white,.black){min-width:0;padding:0 0 8px;font-size:10px}
.riac-app[data-app=mini-one] .white.pressed{background:var(--riac-accent)!important}
.riac-app[data-app=mini-one] .black{background:#101010!important;color:#fff!important}
.riac-app[data-app=mini-one] .black.pressed{background:var(--riac-accent)!important;color:#101010!important}
.riac-app[data-app=ebrain-updater] .panel{border:0;background:#fff!important}
.riac-app[data-app=ebrain-updater] :is(.status-block,.current-release,.boot-image,.flash-box){border-radius:0;box-shadow:none}
@media(max-width:520px){.riac-app[data-app=ebrain-updater] .status-top>div{flex:1 1 140px}.riac-app[data-app=ebrain-updater] .pill{margin-left:0}.riac-app[data-app=ebrain-updater] .device-symbol{flex:0 0 48px}}

.riac-app[data-app=remote-control] .number-wrap{border-radius:0;box-shadow:none}.riac-app[data-app=remote-control] .panel{box-shadow:none}.riac-app[data-app=remote-control] .message{max-width:1100px;margin:12px auto}.riac-app[data-app=spirograph-studio] .mark{display:none}

.riac-app[data-app=remote-control] .message{color:var(--riac-muted)}
