/* Dialog system: a quiet frame, a clear task, one scroll surface per panel. */
body>dialog:not(:where(#arcade-studio)) {font:14px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#242833;background:#fbfbfc;border:1px solid #d4d6dc;border-radius:20px;box-shadow:0 32px 110px #070b154d;max-height:calc(100dvh - 40px);scrollbar-width:thin;scrollbar-color:#abb0bc transparent;}
body>dialog::backdrop{background:#121722d1;backdrop-filter:blur(9px);}
body>dialog:not(:where(#arcade-studio)) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea){font:inherit;min-height:44px;height:auto;background:#fff;border:1px solid #cccfd7;border-radius:9px;color:#21293b;padding:10px 12px;box-shadow:none;max-width:100%;}
body>dialog:not(:where(#arcade-studio)) input:focus-visible,body>dialog:not(:where(#arcade-studio)) select:focus-visible{outline:3px solid #4b629633;outline-offset:1px;border-color:#324779;}
body>dialog:not(:where(#arcade-studio)) button{height:auto;min-height:40px;font-family:inherit;font-size:13px;line-height:1.4;font-weight:600;white-space:normal;padding:9px 14px;border-radius:9px;}
body>dialog .dialog-heading{border-bottom:1px solid #dee0e4;padding-bottom:20px;margin-bottom:22px;gap:20px;}
body>dialog .dialog-heading h2{font-size:24px;line-height:1.2;letter-spacing:-.8px;color:#202736;}
body>dialog .dialog-heading button{width:40px;flex:0 0 40px;background:#edeef2;border:0;font-size:23px;}
body>dialog .dialog-actions{gap:10px;border-top:1px solid #dddfe4;padding-top:18px;margin-top:24px;}
body>dialog .dialog-actions .primary{background:#242b3d;color:white;border-color:#242b3d;}
body>dialog p{line-height:1.6;}
#properties-dialog{width:min(720px,calc(100vw - 40px));padding:0;overflow:hidden;}
#properties-dialog[open]{display:flex;flex-direction:column;}
#properties-dialog>.dialog-heading{flex:0 0 auto;padding:22px 26px;margin:0;background:#eef0f4;}
#properties-dialog>.dialog-heading h2{font-size:19px;letter-spacing:-.5px;}
#properties-dialog #properties-host{padding:24px 26px;overflow:auto;min-height:0;overscroll-behavior:contain;}
#properties-dialog .component-description{color:#5d6370;font-size:14px;}
#properties-dialog #element-form>label{display:block;margin:6px 0;font-size:12px;font-weight:600;}
#properties-dialog #element-form>label>input,#properties-dialog #element-form>label>select{display:block;width:100%;margin-top:7px;}
#properties-dialog .component-preview{width:58px;height:58px;padding:9px;background:#e7eaf0;border-color:#d0d5e0;border-radius:13px;}
#properties-dialog .pin-assignment{display:none;}
#properties-dialog .signal-card .quick-input-group:only-child{grid-column:1/-1;}
#properties-dialog .signal-card .variable-quick-bar:empty{display:none;}
#properties-dialog .signal-card .variable-quick-bar{margin:10px 0 0;}
#properties-dialog .signal-card .signal-pin-link{display:flex;justify-content:space-between;width:100%;margin-top:12px;background:transparent;border:0;border-top:1px solid #dce0e8;border-radius:0;padding:12px 0 0;font-size:11px;color:#505a70;}
#properties-dialog #element-mapping{display:none;}
#properties-dialog .button-row{margin-top:12px;}
#properties-dialog #element-form>.primary{margin-top:18px;min-height:46px;background:#263046;border-color:#263046;}

#properties-dialog #inspector-content{padding:0;overflow:visible;font-size:14px;}
#properties-dialog #inspector-content>h2{font-size:30px;margin:8px 0;letter-spacing:-1px;}
#properties-dialog #inspector-content>p{font-size:14px;margin:8px 0 22px;color:#616672;}
#properties-dialog .appearance-options{background:#f0f1f3;border:1px solid #d9dce2;border-radius:10px;padding:12px;margin-top:22px;}
#properties-dialog .appearance-options summary{font-size:13px;font-weight:600;}
#properties-dialog :is(.property-grid,.signal-grid){gap:14px;}
#properties-dialog .signal-card{box-shadow:none!important;border-radius:12px!important;padding:16px!important;margin:12px 0!important;}
#properties-dialog .signal-card-head{padding-bottom:10px;border-bottom:1px solid #e6e8eb;margin-bottom:6px;}
#properties-dialog .signal-role-title{font-size:15px;}
#properties-dialog .variable-quick-bar{background:transparent;padding:0;gap:12px;}
#properties-dialog .signal-card[data-signal-key="element-address"] .variable-quick-bar{display:none!important;}
#properties-dialog .signal-pin-help{font-size:12px;}
#properties-dialog .variable-trigger{min-height:60px!important;}
#mapping-dialog .board-layout{align-items:start;}
#mapping-dialog .board-preview{margin-block:16px;}
#mapping-dialog .section-title{align-items:center;gap:12px;}
#mapping-dialog .section-title>strong{min-width:100px;font-size:15px;}
#mapping-dialog .table-scroll{border:1px solid #d7dae0;border-radius:12px;}
#mapping-dialog th{font-family:inherit;font-size:11px;line-height:1.5;font-weight:600;text-transform:uppercase;letter-spacing:.05em;}
#mapping-dialog td{padding:8px;}
#mapping-dialog .board-info{background:#f0f1f4;box-shadow:none;}
#variable-picker.signal-picker[open]{padding:0;width:min(920px,calc(100vw - 40px));max-width:920px;height:min(740px,calc(100dvh - 40px));max-height:calc(100dvh - 40px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;}
#variable-picker.signal-picker:not([open]){display:none;}
#variable-picker .sp-head{display:flex;align-items:center;gap:16px;padding:26px 30px;background:#fff;border-bottom:1px solid #e0e2e6;}
#variable-picker .sp-emblem{background:#202839;color:#d4dced;width:52px;height:52px;flex:0 0 52px;display:grid;place-items:center;border-radius:14px;}
#variable-picker .sp-emblem svg{width:30px;height:30px;}
#variable-picker .sp-overline{font:600 10px/1.4 ui-monospace,monospace;letter-spacing:.15em;color:#646c80;margin:0 0 6px;}
#variable-picker h2{font-size:27px;letter-spacing:-1px;line-height:1.2;margin:0;color:#1d2434;}
#variable-picker .sp-subtitle{font-size:13px;line-height:1.4;color:#717681;margin:6px 0 0;}
#variable-picker .sp-subtitle strong{color:#30384a;}
#variable-picker .sp-close{margin-left:auto;align-self:flex-start;flex:0 0 40px;width:40px;min-height:40px;padding:0;border:1px solid #dcdfe5;background:#f4f5f7;font-size:25px;font-weight:400;}
#variable-picker .sp-layout{min-height:0;display:grid;grid-template-columns:214px minmax(0,1fr);}
#variable-picker .sp-sidebar{padding:24px 18px;background:#edeef2;border-right:1px solid #dbdde3;display:flex;flex-direction:column;gap:12px;overflow:auto;}
#variable-picker .sp-section-label{font:600 10px/1.4 ui-monospace,monospace;color:#5c6373;text-transform:uppercase;letter-spacing:.08em;}
#variable-picker .sp-filters{display:flex;flex-direction:column;gap:5px;}
#variable-picker .sp-filters button{min-height:42px;padding:11px 10px;display:flex;justify-content:space-between;gap:8px;text-align:left;border:0;background:transparent;color:#595f6d;font-size:12px;}
#variable-picker .sp-filters button[aria-pressed=true]{background:#fff;color:#20283b;box-shadow:0 2px 5px #212a3e0a;}
#variable-picker .sp-filters code{font-size:11px;color:#767d8e;}
#variable-picker .sp-board{margin-top:auto;border-top:1px solid #d3d7df;padding-top:20px;}
#variable-picker .sp-board>strong{display:block;margin:8px 0 12px;font-size:12px;line-height:1.5;}
#variable-picker .sp-board p{font-size:11px;color:#6f7481;margin:8px 0 16px;}
#variable-picker .sp-capacity{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:#5c6375;}
#variable-picker .sp-capacity>span:first-child{font-size:20px;font-weight:650;color:#273045;}
#variable-picker .sp-capacity small{font-size:10px;font-weight:400;}
#variable-picker meter{width:100%;height:9px;display:block;margin:8px 0;accent-color:#485574;}
#variable-picker #variable-manage{width:100%;background:transparent;border:1px solid #c1c6d2;font-size:11px;display:flex;justify-content:space-between;}
#variable-picker .sp-main{display:flex;flex-direction:column;min-width:0;min-height:0;padding:24px 24px 18px;background:#fafbfc;}
#variable-picker .sp-search{margin:0;position:relative;display:block;flex:0 0 auto;}
#variable-picker .sp-search>svg{position:absolute;top:14px;left:14px;width:20px;height:20px;color:#707787;pointer-events:none;}
#variable-picker #variable-query{padding:12px 14px 12px 43px;min-height:48px;width:100%;font-size:14px;border:1px solid #cbcfd7;background:#fff;}
#variable-picker .sp-list-heading{display:flex;justify-content:space-between;margin:22px 2px 10px;font-size:11px;line-height:1.4;color:#727784;flex:0 0 auto;}
#variable-picker .sp-choices{flex:1 1 auto;min-height:60px;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:8px;padding:2px 4px 8px 2px;scrollbar-width:thin;}
#variable-picker button.sp-option{flex:0 0 auto;min-height:76px;height:auto;width:100%;display:grid;grid-template-columns:78px minmax(0,1fr) 22px;gap:14px;align-items:center;padding:14px;background:#fff;border:1px solid #dfe1e6;border-radius:12px;text-align:left;font-weight:400;}
#variable-picker button.sp-option:hover{background:#eff1f6;border-color:#a9afbd;}
#variable-picker button.sp-option[aria-pressed=true]{background:#edeff5;border:1px solid #717a8e;box-shadow:inset 3px 0 #35415e;}
#variable-picker .sp-address{font:600 13px/1.4 ui-monospace,monospace;background:#edf2f5;border:1px solid #dbe4e9;color:#3d6479;border-radius:7px;padding:9px 6px;text-align:center;}
#variable-picker .sp-address[data-signal-kind=Q]{color:#304064;background:#edeff4;border-color:#d4d9e4;}
#variable-picker .sp-address[data-signal-kind=T],#variable-picker .sp-address[data-signal-kind=C]{color:#896226;background:#f7f2e6;border-color:#eee2c8;}
#variable-picker .sp-option-copy{min-width:0;display:grid;gap:6px;}
#variable-picker .sp-option-copy strong{font-size:13px;font-weight:650;color:#292f3d;line-height:1.4;overflow-wrap:anywhere;white-space:normal;}
#variable-picker .sp-option-copy small{font-size:11px;color:#626773;line-height:1.4;}
#variable-picker .sp-option-copy small span{margin:0 4px;}
#variable-picker .sp-selected{color:#7d8598;font-size:18px;}
#variable-picker .sp-option[aria-pressed=true] .sp-selected{color:#2b3c62;}
#variable-picker .sp-empty{text-align:center;padding:30px 14px;}
#variable-picker .sp-empty strong{font-size:15px;}
#variable-picker .sp-empty p{font-size:12px;color:#747986;}
#variable-picker .sp-create{flex:0 0 auto;border-top:1px solid #dfe1e7;margin-top:12px;padding-top:12px;}
#variable-picker #variable-new{background:#eceef2;border:1px solid #d8dce4;width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:12px;color:#3c4457;}
#variable-picker #variable-new>span:nth-child(2){flex:1;font-size:12px;}
#variable-picker #variable-new strong{font-weight:400;display:block;font-size:10px;margin-top:3px;color:#5c6373;}
#variable-picker .sp-plus{font-size:24px;font-weight:400;}
#variable-picker #variable-create-form{padding-top:12px;margin:0;}
#variable-picker .sp-create-fields{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:12px;}
#variable-picker .sp-create-fields label{font-size:11px;margin:0;display:grid;gap:5px;}
#variable-picker .sp-create-fields input,#variable-picker .sp-create-fields select{width:100%;font-size:12px;}
#variable-picker .sp-create-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:12px;gap:8px;font-size:11px;color:#7a808d;}
#variable-picker #variable-create-error:empty{display:none;}
#variable-picker #variable-create-error{font-size:12px;color:#a33726;margin:10px 0 0;}
#variable-picker .sp-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 26px;border-top:1px solid #dadde5;background:#fff;}
#variable-picker .sp-footer>span{font-size:11px;color:#5f6471;display:flex;align-items:center;gap:7px;}
#variable-picker .sp-footer i{width:6px;height:6px;border-radius:50%;background:#727e9b;flex:0 0 6px;}
#variable-picker .sp-done{background:#fff;border:1px solid #d8dbe3;}
#ui-feedback-dialog{width:min(450px,calc(100vw - 24px));padding:26px;}
#ui-feedback-dialog .audio-option{padding:16px 0;border-bottom:1px solid #dfe1e7;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:20px;text-align:left;}
#ui-feedback-dialog .audio-option strong{display:block;font-size:14px;}
#ui-feedback-dialog .audio-option small{display:block;font-size:12px;color:#7b7f89;margin-top:4px;}
#ui-feedback-dialog .audio-option input{appearance:none;width:42px;height:26px;min-height:26px;flex:0 0 42px;border:1px solid #bcc1cb;border-radius:20px;background:#d3d6dd;position:relative;cursor:pointer;margin:0;}
#ui-feedback-dialog .audio-option input::before{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:white;box-shadow:0 1px 3px #1e263833;transition:transform .15s;}
#ui-feedback-dialog .audio-option input:checked{background:#313e5e;border-color:#313e5e;}
#ui-feedback-dialog .audio-option input:checked::before{transform:translateX(16px);}
#ui-feedback-dialog .audio-option input:focus-visible{outline:3px solid #939db5;outline-offset:3px;}
#ui-feedback-dialog .audio-volume{margin:24px 0;display:grid;gap:12px;}
#ui-feedback-dialog .audio-volume>span{display:flex;justify-content:space-between;font-size:12px;}
#ui-feedback-dialog input[type=range]{width:100%;accent-color:#313d59;}
#ui-feedback-toggle{display:flex;align-items:center;gap:5px;}
#ui-feedback-toggle svg{width:14px;height:14px;}
#toast{border-radius:12px!important;box-shadow:0 8px 30px #19213322!important;border:1px solid #d5d9e2!important;background:#fff!important;color:#2b3347!important;font-size:13px!important;padding:14px 20px!important;max-width:min(560px,calc(100vw - 24px));}
#toast[data-tone=error]{border-color:#e8bbab!important;color:#8f3326!important;background:#fff6f0!important;}
#toast[data-tone=success]{border-left:4px solid #41527b!important;}
@media(max-width:650px){
 body>dialog:not(:where(#arcade-studio)){max-height:calc(100dvh - 16px);max-width:calc(100vw - 16px);border-radius:16px;padding:20px;}
 #properties-dialog{width:calc(100vw - 16px);padding:0;}
 #properties-dialog>.dialog-heading{padding:16px 18px;}
 #properties-dialog>.dialog-heading h2{font-size:17px;}
 #properties-dialog #properties-host{padding:18px;}
 #properties-dialog .property-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
 body>dialog .dialog-heading h2{font-size:21px;}
 body>dialog .dialog-actions{flex-wrap:wrap;}
 #variable-picker.signal-picker[open]{width:calc(100vw - 16px);height:calc(100dvh - 16px);max-height:calc(100dvh - 16px);margin:8px auto;padding:0;}
 #variable-picker .sp-head{padding:18px;gap:12px;}
 #variable-picker .sp-emblem{width:40px;height:40px;flex-basis:40px;border-radius:11px;}
 #variable-picker .sp-emblem svg{width:24px;height:24px;}
 #variable-picker h2{font-size:22px;}
 #variable-picker .sp-overline{font-size:8px;}
 #variable-picker .sp-subtitle{font-size:12px;}
 #variable-picker .sp-close{width:36px;flex-basis:36px;min-height:36px;}
 #variable-picker .sp-layout{display:flex;flex-direction:column;}
 #variable-picker .sp-sidebar{padding:8px 14px;flex:0 0 auto;border:0;border-bottom:1px solid #dbdde3;overflow:visible;gap:0;}
 #variable-picker .sp-sidebar>.sp-section-label,#variable-picker .sp-board{display:none;}
 #variable-picker .sp-filters{flex-direction:row;overflow:auto;gap:5px;}
 #variable-picker .sp-filters button{white-space:nowrap;flex:0 0 auto;min-height:42px;font-size:11px;padding:10px;}
 #variable-picker .sp-filters code{display:none;}
 #variable-picker .sp-main{padding:14px;flex:1;}
 #variable-picker .sp-list-heading{margin:15px 2px 8px;}
 #variable-picker button.sp-option{grid-template-columns:64px minmax(0,1fr) 18px;gap:10px;padding:12px;min-height:76px;}
 #variable-picker .sp-option-copy strong{font-size:12px;}
 #variable-picker .sp-option-copy small{font-size:10px;}
 #variable-picker .sp-address{font-size:12px;padding:8px 4px;}
 #variable-picker .sp-footer{padding:10px 16px;}
 #variable-picker .sp-footer>span{font-size:10px;max-width:220px;}
 #variable-picker .sp-create-fields{grid-template-columns:1fr 112px;gap:8px;}
 #variable-picker .sp-create-bottom{align-items:flex-start;}
}
@media(max-height:590px){#variable-picker .sp-head{padding:12px 18px;}#variable-picker .sp-emblem{display:none;}#variable-picker .sp-overline{display:none;}#variable-picker h2{font-size:20px;}#variable-picker .sp-subtitle{margin-top:2px;}#variable-picker .sp-main{padding:10px 16px;}#variable-picker .sp-list-heading{margin:8px 0;}#variable-picker .sp-create{margin-top:6px;padding-top:6px;}#variable-picker .sp-footer{padding:8px 16px;}#variable-picker .sp-board{display:none;}}
@media(prefers-reduced-motion:no-preference){body>dialog[open]{animation:dialog-arrive .18s cubic-bezier(.2,.7,.3,1);} @keyframes dialog-arrive{from{opacity:0;transform:translateY(8px) scale(.985);}to{opacity:1;transform:none;}}}
#variable-picker .sp-main:has(#variable-create-form:not([hidden])){overflow:auto;}
#variable-picker .sp-main:has(#variable-create-form:not([hidden])) .sp-choices{flex:0 0 auto;max-height:160px;}

@media(prefers-reduced-motion:reduce){body>dialog,body>dialog *{animation:none!important;transition:none!important;}}

#properties-dialog #inspector-content :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),select){min-height:44px;border-radius:9px;padding:10px 12px;font-size:13px;border-color:#cbcfd7;}
#properties-dialog #inspector-content .signal-card{margin:6px 0!important;background:#f5f6f9!important;border-color:#d5d9e2!important;}
#properties-dialog #inspector-content .variable-trigger{background:#fff!important;border-color:#cacfdc!important;border-radius:9px!important;}

#properties-dialog #element-form>.primary{position:sticky;bottom:0;z-index:2;box-shadow:0 -10px 20px #fbfbfc;}
#mapping-dialog #board-pinout-details{margin:0;border-top:1px solid #d7dae2;padding-top:12px;}
#mapping-dialog #board-pinout-details summary{font-size:12px;color:#454f65;cursor:pointer;min-height:36px;display:list-item;}
#mapping-dialog .board-layout{background:#f3f4f8;}
#mapping-dialog .dialog-heading h2{color:#242b3d;}
#mapping-dialog .pin-capacity-card{background:#eaedf4;border-color:#cfd5e2;}
@media(max-width:768px){
 #mapping-dialog .board-layout{padding:16px;gap:20px;}
 #mapping-dialog .board-info{padding:14px!important;gap:10px;}
 #mapping-dialog .pin-capacity-card{padding:10px;margin:0;}
 #mapping-dialog .pin-capacity-note{display:none;}
 #mapping-dialog .pin-capacity-meter-wrap{margin-block:6px;}
 #mapping-dialog .board-info>label{margin:0;}
}

/* Zolvek Cobalt: controls share the commercial identity. Signal states retain their colors. */
body>dialog{--ink:#142036;--muted:#48566b;--green:#2347d9;--green-soft:#e7edff;--wash:#f2f5fb;}
#variable-picker :is(.sp-subtitle,.sp-section-label,.sp-list-heading,.sp-option-copy small,.sp-footer>span,.sp-create-bottom,.sp-board p),#ui-feedback-dialog .audio-option small{color:#48566b;}
#variable-picker :is(.sp-overline,.sp-filters code,.sp-capacity){color:#3d5275;}
#variable-picker .sp-emblem{background:#142036;color:#e8efff;}
#variable-picker .sp-filters button[aria-pressed=true]{color:#2347d9;background:#fff;}
#variable-picker button.sp-option[aria-pressed=true]{background:#eaf0ff;border-color:#5676c9;box-shadow:inset 3px 0 #2347d9;}
#variable-picker .sp-selected,#variable-picker .sp-option[aria-pressed=true] .sp-selected{color:#2347d9;}
#ui-feedback-dialog .audio-option input:checked{background:#2347d9;border-color:#2347d9;}
#ui-feedback-dialog input[type=range]{accent-color:#2347d9;}
#properties-dialog #element-form>.primary,body>dialog .dialog-actions .primary{background:#2347d9;border-color:#2347d9;color:white;}
#properties-dialog .component-heading .eyebrow,#properties-dialog .appearance-options summary,#mapping-dialog .cap-label{color:#48566b;}
