/* Midnight palette. Borders recede; lime marks actions and selection. */
:root[data-theme=dark]{
 --bg:#0b0812;--surface:#171020;--surface-secondary:#21182d;--selected:#28351c;
 --ink:#eee9f6;--muted:#aaa1ba;--line:#30253e;--blue:#c1f75b;--green:#91c7a2;
 --shadow-card:0 3px 14px #0002;--shadow-sheet:0 20px 70px #0009;
 color-scheme:dark;
}
:root[data-theme=dark] header,:root[data-theme=dark] .bottomnav{background:#120d1b;border-color:#281f35}
:root[data-theme=dark] .bottomnav button.active{background:#222d20;color:var(--blue)}
:root[data-theme=dark] .primary,:root[data-theme=dark] .chips button.active,:root[data-theme=dark] .calendar-options .primary{background:var(--blue);color:#172010;border-color:transparent}
:root[data-theme=dark] .secondary,:root[data-theme=dark] .iconbtn{background:var(--surface);color:#c5cbd7;border-color:var(--line)}
:root[data-theme=dark] .segmented{background:#100b19}
:root[data-theme=dark] .segmented button.active{background:#2b203a;color:var(--ink);box-shadow:0 2px 6px #0003}
:root[data-theme=dark] .agenda-days button.active{background:#222d20;border-color:#506044}
:root[data-theme=dark] .topic-pill{background:#242136;color:#beb3df}
:root[data-theme=dark] .topic-pill[data-topic=career],:root[data-theme=dark] .topic-pill[data-topic=networking]{background:#202630;color:#b1b9c7}
:root[data-theme=dark] .topic-pill[data-topic=community],:root[data-theme=dark] .topic-pill[data-topic=wellbeing]{background:#1d2d26;color:#9acbae}
:root[data-theme=dark] .topic-choice[aria-pressed=true],:root[data-theme=dark] .personal-choices button[aria-pressed=true],:root[data-theme=dark] .language-picker button.active{border-color:#526747}
:root[data-theme=dark] .sheethead,:root[data-theme=dark] .sheetfooter{background:var(--surface);border-color:#252b37}
:root[data-theme=dark] .sheethead .close{background:#281f35;color:#cbd1dc}
:root[data-theme=dark] dialog::backdrop{background:#020307c9}
:root[data-theme=dark] input,:root[data-theme=dark] textarea,:root[data-theme=dark] select{background:#110c1b;border-color:#303745;color:var(--ink)}
:root[data-theme=dark] .searchbox{background:#1c1428}
:root[data-theme=dark] .searchbox input{background:transparent}
:root[data-theme=dark] input::placeholder,:root[data-theme=dark] textarea::placeholder{color:#8992a5;opacity:1}
:root[data-theme=dark] .reaction[data-reaction=rough]{background:#2d1d25;color:#dda1b1}
:root[data-theme=dark] .reaction[data-reaction=okay]{background:#2a271a;color:#d5c48b}
:root[data-theme=dark] .reaction[data-reaction=great]{background:#192d25;color:#9dceb2}
:root[data-theme=dark] .reaction[aria-pressed=true]{box-shadow:0 0 0 2px var(--bg),0 0 0 3px currentColor}
:root[data-theme=dark] .schedule-warning{color:#d4bc88}
:root[data-theme=dark] #mapShell{background:#0d0915;border-color:#282e3a}
:root[data-theme=dark] #canvas>svg>rect{fill:#130e1e}
:root[data-theme=dark] #canvas>svg>polygon{fill:#231f32}
:root[data-theme=dark] #canvas>svg>polyline{stroke:#303745}
:root[data-theme=dark] #canvas>svg>text{fill:#969daf}
:root[data-theme=dark] #canvas .boothshape{fill:#251c32;stroke:#44344f}
:root[data-theme=dark] #canvas .boothname,:root[data-theme=dark] #canvas .boothnumber{fill:#bfc6d2}
:root[data-theme=dark] #canvas .booth.saved .boothshape{fill:#2b3827;stroke:#789658}
:root[data-theme=dark] #canvas .booth.selected .boothshape{fill:#35442c;stroke:#c1f75b}
:root[data-theme=dark] .map-marker{background:#251b33;color:#e3e8f0;border-color:#424d60;box-shadow:0 2px 6px #0003}
:root[data-theme=dark] .map-marker img{background:#e4e4e9;border-radius:4px;padding:2px}
:root[data-theme=dark] .map-cluster{background:#20172d;border-color:#48566c}
:root[data-theme=dark] .map-cluster small{color:#acb7ca}
:root[data-theme=dark] .map-marker.saved{border-color:#87a761;box-shadow:0 0 0 1px #87a761}
:root[data-theme=dark] .map-marker.selected{outline-color:var(--blue)}
:root[data-theme=dark] .map-compass,:root[data-theme=dark] .mapfoot button{background:#1c1428;color:#bdc6d6;border-color:#333e50}
:root[data-theme=dark] .venue-context .venue-corridor{stroke:#252336}
:root[data-theme=dark] .venue-context .hotel-walk{stroke:#9d8bbd}
:root[data-theme=dark] .venue-context .route-dot{fill:#a696c2;stroke:#171020}
:root[data-theme=dark] .venue-context .entrance-label,:root[data-theme=dark] .venue-context .corridor-label,:root[data-theme=dark] .venue-context .skywalk-label{fill:#a69db8}
:root[data-theme=dark] .venue-context .route-caption{fill:#8b829c}
:root[data-theme=dark] .venue-context .street-line{stroke:#50485e}
:root[data-theme=dark] .westin-block rect{fill:#332943;stroke:#59476e}
:root[data-theme=dark] .venue-context .hotel-name{fill:#d1c1e9}
:root[data-theme=dark] .venue-context .hotel-city{fill:#ac9abe}
:root[data-theme=dark] .booth-logo-base{display:block;fill:#e4e4e9;opacity:var(--floor-label-opacity,1)}
:root[data-theme=dark] .qr{background:white;border:8px solid white;border-radius:12px}

/* Sheets are one continuous purple surface, including the drag-handle cap. */
:root[data-theme=dark] dialog,
:root[data-theme=dark] dialog .handle,
:root[data-theme=dark] dialog .sheethead,
:root[data-theme=dark] dialog .sheetbody,
:root[data-theme=dark] dialog .sheetfooter{background:var(--surface);color:var(--ink)}
:root[data-theme=dark] dialog .sheethead,
:root[data-theme=dark] dialog .sheetfooter{border-color:var(--line)}
:root[data-theme=dark] dialog .handle:after{background:#675977}
:root[data-theme=dark] .sheetbody input:not([type=checkbox]),
:root[data-theme=dark] .sheetbody textarea,
:root[data-theme=dark] .sheetbody select{background:#110c1b;border-color:var(--line);color:var(--ink)}
:root[data-theme=dark] dialog .infobox,
:root[data-theme=dark] dialog .creator{background:var(--surface-secondary);color:var(--muted)}
