/* PATCHBAY appearance: light/dark and independent high contrast. */
:root {
 --muted-2:#a7ada3; --red:#ef8e87;
 --button-text:#11150f; --button-hover:#b0dd93; --input-bg:#141715;
 --success-bg:#253024; --warning-bg:#382f22; --error-bg:#402524;
 --placeholder:#abb3a6; --map-bg:#131c17; --map-node:#263d31;
 --map-boundary:#9cac7020; --map-line:#aaca8d; --map-label:#eff3e5; --map-caption:#b8caaa; --violet:#b19aca;
 --security-green:var(--green); --security-green-deep:var(--green-deep);
 --security-amber:var(--amber); --security-red:var(--red); --security-blue:var(--blue); --security-violet:var(--violet);
 --security-panel:var(--panel); --security-panel-2:var(--panel-2); --security-rule:var(--line);
 --security-cream:var(--ink); --security-muted:var(--muted);
 --border:var(--line); --border-color:var(--line); --text:var(--ink); --link:var(--green);
 --focus:0 0 0 3px var(--bg),0 0 0 6px var(--amber);
}
:root[data-color-mode="light"] {
  color-scheme: light;
  --ink: #18251d;
  --ink-strong: #102017;
  --muted: #4b5c50;
  --muted-2: #586359;
  --green: #23623a;
  --green-deep: #23623a;
  --amber: #80500c;
  --amber-soft: #80500c;
  --red: #9c2626;
  --blue: #205a77;
  --bg: #f3f5ef;
  --bg-2: #eaf0e7;
  --rail: #f8faf5;
  --panel: #ffffff;
  --panel-2: #edf2e9;
  --panel-3: #dce8d6;
  --line: #7c8a7b;
  --line-soft: #bdc9b8;
  --cream-paper: #536247;
  --shadow: 0 8px 24px rgba(30,55,30,.07);
  --button-text: #ffffff;
  --button-hover: #1b4a2c;
  --input-bg: #ffffff;
  --success-bg: #e6f3e4;
  --warning-bg: #fff3d6;
  --error-bg: #ffebe7;
  --placeholder: #576653;
  --map-bg: #f5f8f0;
  --map-node: #ffffff;
  --map-boundary: #e6efd966;
  --map-line: #23623a;
  --map-label: #18251d;
  --map-caption: #46583e;
  --violet: #654281;
}
:root[data-contrast="high"] {
  color-scheme: dark;
  --ink: #ffffff;
  --ink-strong: #ffffff;
  --muted: #f2f2f2;
  --muted-2: #e6e6e6;
  --green: #b5ff7e;
  --green-deep: #b5ff7e;
  --amber: #ffde82;
  --amber-soft: #ffde82;
  --red: #ffa7a7;
  --blue: #a5dfff;
  --bg: #000000;
  --bg-2: #000000;
  --rail: #000000;
  --panel: #000000;
  --panel-2: #111111;
  --panel-3: #242424;
  --line: #ffffff;
  --line-soft: #dddddd;
  --cream-paper: #ffffff;
  --shadow: none;
  --button-text: #000000;
  --button-hover: #d2ffb1;
  --input-bg: #000000;
  --success-bg: #000000;
  --warning-bg: #000000;
  --error-bg: #000000;
  --placeholder: #e6e6e6;
  --map-bg: #000000;
  --map-node: #000000;
  --map-boundary: #000000;
  --map-line: #b5ff7e;
  --map-label: #ffffff;
  --map-caption: #ffffff;
  --violet: #ebc2ff;
}
:root[data-color-mode="light"][data-contrast="high"] {
  color-scheme: light;
  --ink: #000000;
  --ink-strong: #000000;
  --muted: #1b1b1b;
  --muted-2: #252525;
  --green: #004523;
  --green-deep: #004523;
  --amber: #5c3400;
  --amber-soft: #5c3400;
  --red: #830015;
  --blue: #003a78;
  --bg: #ffffff;
  --bg-2: #ffffff;
  --rail: #ffffff;
  --panel: #ffffff;
  --panel-2: #ffffff;
  --panel-3: #eeeeee;
  --line: #000000;
  --line-soft: #222222;
  --cream-paper: #000000;
  --shadow: none;
  --button-text: #ffffff;
  --button-hover: #002f19;
  --input-bg: #ffffff;
  --success-bg: #ffffff;
  --warning-bg: #ffffff;
  --error-bg: #ffffff;
  --placeholder: #252525;
  --map-bg: #ffffff;
  --map-node: #ffffff;
  --map-boundary: #ffffff;
  --map-line: #004523;
  --map-label: #000000;
  --map-caption: #000000;
  --violet: #4b1466;
}
@media (prefers-color-scheme:light) {
:root[data-color-mode="system"] {
  color-scheme: light;
  --ink: #18251d;
  --ink-strong: #102017;
  --muted: #4b5c50;
  --muted-2: #586359;
  --green: #23623a;
  --green-deep: #23623a;
  --amber: #80500c;
  --amber-soft: #80500c;
  --red: #9c2626;
  --blue: #205a77;
  --bg: #f3f5ef;
  --bg-2: #eaf0e7;
  --rail: #f8faf5;
  --panel: #ffffff;
  --panel-2: #edf2e9;
  --panel-3: #dce8d6;
  --line: #7c8a7b;
  --line-soft: #bdc9b8;
  --cream-paper: #536247;
  --shadow: 0 8px 24px rgba(30,55,30,.07);
  --button-text: #ffffff;
  --button-hover: #1b4a2c;
  --input-bg: #ffffff;
  --success-bg: #e6f3e4;
  --warning-bg: #fff3d6;
  --error-bg: #ffebe7;
  --placeholder: #576653;
  --map-bg: #f5f8f0;
  --map-node: #ffffff;
  --map-boundary: #e6efd966;
  --map-line: #23623a;
  --map-label: #18251d;
  --map-caption: #46583e;
  --violet: #654281;
}
:root[data-color-mode="system"][data-contrast="high"] {
  color-scheme: light;
  --ink: #000000;
  --ink-strong: #000000;
  --muted: #1b1b1b;
  --muted-2: #252525;
  --green: #004523;
  --green-deep: #004523;
  --amber: #5c3400;
  --amber-soft: #5c3400;
  --red: #830015;
  --blue: #003a78;
  --bg: #ffffff;
  --bg-2: #ffffff;
  --rail: #ffffff;
  --panel: #ffffff;
  --panel-2: #ffffff;
  --panel-3: #eeeeee;
  --line: #000000;
  --line-soft: #222222;
  --cream-paper: #000000;
  --shadow: none;
  --button-text: #ffffff;
  --button-hover: #002f19;
  --input-bg: #ffffff;
  --success-bg: #ffffff;
  --warning-bg: #ffffff;
  --error-bg: #ffffff;
  --placeholder: #252525;
  --map-bg: #ffffff;
  --map-node: #ffffff;
  --map-boundary: #ffffff;
  --map-line: #004523;
  --map-label: #000000;
  --map-caption: #000000;
  --violet: #4b1466;
}
}

body {background:var(--bg)}
body::before {display:none}
body .topbar,body .mobile-dock,.lifecycle-band span,.tag-list span {background:var(--bg-2);border-color:var(--line)}
.security-product .site-rail,.security-product .topbar {border-color:var(--line)}
input,textarea,select {background:var(--input-bg);color:var(--ink);accent-color:var(--green)}
input::placeholder,textarea::placeholder {color:var(--placeholder);opacity:1}
body .button.primary,body .mobile-dock .dock-create span {color:var(--button-text)}
body .button.primary:hover {background:var(--button-hover);color:var(--button-text)}
body .button.danger {background:var(--error-bg);color:var(--red);border-color:var(--red)}
body .danger,body .text-button.danger {color:var(--red)}
.count-badge,.mobile-dock b,.skip-link {color:var(--bg)}
.patch-panel,.jack-grid i,.note-code,.prose pre,.plain-pre,.hash {background:var(--bg-2);color:var(--ink)}
.choice input:checked + span,.notification-row.unread {background:var(--panel-3)}
.flash {background:var(--success-bg);color:var(--ink);border-color:var(--green)}
.flash.error,.error-list {background:var(--error-bg);color:var(--ink);border-color:var(--red)}
.flash.notice,.form-note.warning,.authorization-check,.safety-note {background:var(--warning-bg);color:var(--ink);border-color:var(--amber)}
.sensitivity-community {color:var(--green)}
.sensitivity-client_confidential {color:var(--amber)}
.record-table th,.record-table-wrap,.compact-record,.dense-form,.mini-metrics div {background:var(--bg-2)}
body .map-toolbar {background:var(--panel-2);border-color:var(--line)}
body .map-viewport,body .interface-map {background:var(--map-bg)}
body .map-node rect,body .map-node[class*="type-"] rect {fill:var(--map-node);stroke:var(--map-line)}
body .map-node.boundary rect {fill:var(--map-boundary);stroke:var(--amber)}
body .map-node text,body .map-node.boundary text {fill:var(--map-label)}
body .map-node .node-type {fill:var(--map-caption)}
body .map-edges line {stroke:var(--map-line)}
body .map-edges text {fill:var(--map-label);stroke:var(--map-bg)}
body .interface-map marker path {fill:var(--map-line)}
body .map-node:focus rect {stroke:var(--amber);stroke-width:3}
body .map-help {color:var(--muted)}
body .table-scroll td,body .table-scroll th {border-color:var(--line)}
.appearance-menu {position:relative;flex:none;font-size:.88rem}
.appearance-menu > summary {list-style:none;cursor:pointer;min-height:40px}
.appearance-menu > summary::-webkit-details-marker {display:none}
.appearance-menu:not([open]) > .appearance-popover {display:none}
.appearance-popover {position:absolute;z-index:150;right:0;top:calc(100% + 10px);width:min(290px,calc(100vw - 24px));padding:20px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;gap:16px}
.appearance-popover fieldset {border:0;padding:0;margin:0;min-width:0}
.appearance-popover legend {font-weight:750;margin-bottom:8px}
.appearance-popover p {color:var(--muted);font-size:.83rem;line-height:1.45;margin:0}
.appearance-choice {display:flex;align-items:center;gap:10px;min-height:42px;cursor:pointer}
.appearance-choice input,.appearance-popover .check-row input {width:18px;min-height:18px;height:18px;flex:none;margin:0}
.appearance-popover .check-row {align-items:center;cursor:pointer;margin:0}
.appearance-popover .button {margin:0}
.appearance-popover {max-height:calc(100vh - 100px);max-height:calc(100dvh - 100px);overflow:auto;overscroll-behavior:contain}
:root[data-contrast="high"] .panel,:root[data-contrast="high"] .button,:root[data-contrast="high"] input,:root[data-contrast="high"] select,:root[data-contrast="high"] textarea {border-width:2px}
:root[data-contrast="high"] a:not(.button):not(.brand):not(.settings-card):not(.note-person) {text-decoration:underline;text-underline-offset:.22em}
:root[data-contrast="high"] :is(small,dt,.muted,.mini-metrics dt,.record-table td small,.compact-record small) {opacity:1}
:root[data-contrast="high"] .map-node rect {stroke-width:2.5}
:root[data-contrast="high"] :focus-visible {outline:3px solid var(--amber);outline-offset:4px}
:root[data-contrast="high"] .record-table th {color:var(--ink)}
:root[data-contrast="high"] .panel::after {display:none}
@media(max-width:650px) {.topbar{gap:.6rem}.top-actions{gap:.4rem}.topbar .network-state{display:none}.appearance-menu>summary{padding:.45rem .55rem;font-size:.8rem}.page-ident strong{font-size:.85rem}.page-ident .eyebrow{font-size:.55rem}.topbar .top-actions>.button{font-size:.75rem;padding:.4rem .5rem}.appearance-popover{position:fixed;right:12px;top:calc(var(--topbar-h) + 8px)}}
@media(forced-colors:active) {.panel,.button,input,select,textarea,.appearance-popover{border:2px solid CanvasText}.map-node rect,.map-node[class*="type-"] rect{fill:Canvas!important;stroke:CanvasText!important}.map-node text,.map-edges text{fill:CanvasText!important;stroke:none!important}.map-edges line{stroke:CanvasText!important}a{color:LinkText}input{accent-color:auto}}
:root[data-color-mode="light"] .bench-page {--bench-primary:var(--green)!important;--bench-secondary:var(--muted)!important;--bench-accent:var(--amber)!important;--bench-bg:var(--bg-2)!important;--bench-panel:var(--panel)!important;--bench-text:var(--ink)!important;--bench-muted:var(--muted)!important;--bench-link:var(--green)!important;--bench-border:var(--line)!important;--bench-image:none!important;background-image:none!important}
:root[data-color-mode="light"] .bench-header {background-image:none!important}
:root[data-color-mode="light"] .bench-header::after {display:none}
:root[data-contrast="high"] .bench-page {--bench-primary:var(--green)!important;--bench-secondary:var(--muted)!important;--bench-accent:var(--amber)!important;--bench-bg:var(--bg-2)!important;--bench-panel:var(--panel)!important;--bench-text:var(--ink)!important;--bench-muted:var(--muted)!important;--bench-link:var(--green)!important;--bench-border:var(--line)!important;--bench-image:none!important;background-image:none!important}
:root[data-contrast="high"] .bench-header {background-image:none!important}
:root[data-contrast="high"] .bench-header::after {display:none}
@media(prefers-color-scheme:light){:root[data-color-mode="system"] .bench-page {--bench-primary:var(--green)!important;--bench-secondary:var(--muted)!important;--bench-accent:var(--amber)!important;--bench-bg:var(--bg-2)!important;--bench-panel:var(--panel)!important;--bench-text:var(--ink)!important;--bench-muted:var(--muted)!important;--bench-link:var(--green)!important;--bench-border:var(--line)!important;--bench-image:none!important;background-image:none!important}
:root[data-color-mode="system"] .bench-header{background-image:none!important}:root[data-color-mode="system"] .bench-header::after{display:none}}
@media print{.appearance-menu{display:none!important}:root[data-color-mode][data-contrast]{color-scheme:light;--ink:#000000;--ink-strong:#000000;--muted:#222222;--muted-2:#333333;--bg:#ffffff;--bg-2:#ffffff;--rail:#ffffff;--panel:#ffffff;--panel-2:#ffffff;--panel-3:#ffffff;--button-text:#ffffff;--violet:#4b1466;--line:#555555;--line-soft:#777777;--green:#004523;--amber:#5c3400;--red:#830015;--blue:#003a78;--map-bg:#ffffff;--map-node:#ffffff;--map-label:#000000;--map-caption:#222222;--map-line:#004523;--map-boundary:#ffffff}.assessment-report .panel{box-shadow:none}}

.recovery-codes{white-space:pre;overflow-x:auto;padding:1rem;border:1px solid var(--line);background:var(--panel-2);color:var(--ink);font-size:clamp(.65rem,2.5vw,.95rem)}
@media(max-width:650px){:root{--topbar-h:60px}.page-ident{flex:1;min-width:0}.top-actions{flex:none}.appearance-popover{max-height:calc(100dvh - 90px);overflow:auto}}

/* A constrained Personal Bench preview, independent of the global page shell. */
.bench-page.mobile-preview{width:390px;max-width:100%;margin-inline:auto;padding:12px;overflow-wrap:anywhere}
.bench-page.mobile-preview .preview-banner{display:grid;gap:.4rem;margin-bottom:1rem}
.bench-page.mobile-preview .bench-header{display:flex;flex-direction:column;align-items:stretch;padding:1rem;gap:1rem}
.bench-page.mobile-preview .bench-header h1{font-size:2rem;overflow-wrap:anywhere}
.bench-page.mobile-preview .bench-header-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.bench-page.mobile-preview .bench-modules,.bench-page.mobile-preview .split-grid,.bench-page.mobile-preview .label-lists{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}
.bench-page.mobile-preview .bench-modules{margin-block:1rem}
.bench-page.mobile-preview :is(.bench-module,.bench-panel,.bench-owner){min-width:0;max-width:100%}
.bench-page.mobile-preview :is(audio,video,img){max-width:100%}
