:root{--bg:#f0f1f3;--surface:#fff;--surface-2:#f5f5f7;--ink:#202124;--muted:#686c73;--border:#d9dce1;--accent:#1769b3;--blue-light:#edf4fb;--orange-light:#fff5e6;--orange:#a65e00;--accent-light:#edf5ef;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
:root[data-theme=dark]{--bg:#18191b;--surface:#232427;--surface-2:#2d2e32;--ink:#f2f2f4;--muted:#b2b5bc;--border:#404247;--accent:#81b8ee;--blue-light:#233449;--orange-light:#3b3020;--orange:#efbf73;--accent-light:#24382a;color-scheme:dark}
@media(prefers-color-scheme:dark){:root[data-theme=system]{--bg:#18191b;--surface:#232427;--surface-2:#2d2e32;--ink:#f2f2f4;--muted:#b2b5bc;--border:#404247;--accent:#81b8ee;--blue-light:#233449;--orange-light:#3b3020;--orange:#efbf73;--accent-light:#24382a;color-scheme:dark}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.45}button,input,select{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button,a,input,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[role=button]:focus-visible{outline:3px solid var(--accent);outline-offset:3px}h1,h2,h3,p{margin:0}main:focus{outline:0}.icon{width:22px;height:22px;flex-shrink:0;vertical-align:middle}.app-shell{max-width:720px;min-height:100dvh;margin:auto;background:var(--bg);border-left:1px solid var(--border);border-right:1px solid var(--border)}.app-bar{height:calc(56px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 12px 0;position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;background:var(--surface);border-bottom:1px solid var(--border)}.bar-leading{width:42px;display:grid;place-items:center}.bar-leading>.icon{color:var(--accent);width:27px;height:27px}.bar-title{flex:1;min-width:0;text-align:center;font-size:17px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.icon-button{width:42px;height:42px;display:grid;place-items:center;color:var(--accent);border:0;background:none;border-radius:5px}.bottom-nav{display:flex;position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:720px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);z-index:40}.bottom-nav a{flex:1;min-height:48px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;font-size:11px;color:var(--muted)}.bottom-nav .active{color:var(--accent);font-weight:600}.bottom-nav .icon{width:23px;height:23px}main{padding:14px 16px calc(90px + env(safe-area-inset-bottom));min-height:calc(100dvh - 56px)}.search-box{display:flex;align-items:center;gap:9px;padding:0 11px;background:var(--surface);border:1px solid var(--border);border-radius:7px;height:42px;margin-bottom:12px;color:var(--muted)}.search-box input{width:100%;min-width:0;border:0;outline:0;background:none;color:var(--ink);font-size:15px;height:100%}.search-box .icon{width:18px;height:18px}.search-box button{border:0;background:none;color:var(--muted);font-size:24px;width:32px;height:36px}.filter-row{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:17px}.chip{border:1px solid var(--border);border-radius:5px;color:var(--ink);background:var(--surface);font-size:12px;min-height:34px;padding:6px 10px}.chip.selected{border-color:var(--accent);color:var(--accent);background:var(--blue-light)}.section-label{font-size:13px;font-weight:500;color:var(--muted);margin:17px 2px 7px}.tool-grid{display:flex;flex-direction:column;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface)}.tool-card{position:relative;border-bottom:1px solid var(--border)}.tool-card:last-child{border-bottom:0}.tool-link{display:flex;align-items:center;gap:12px;padding:12px 61px 12px 13px;min-height:70px}.tool-link:hover{background:var(--surface-2)}.tool-icon{color:var(--accent);width:28px;display:grid;place-items:center;flex-shrink:0}.tool-text{flex:1;min-width:0}.tool-text h3{font-size:15px;font-weight:500;margin-bottom:3px}.tool-text p{font-size:12px;color:var(--muted)}.tool-link>.icon:last-child{width:16px;height:16px;color:var(--muted)}.favourite{position:absolute;right:4px;top:50%;transform:translateY(-50%);height:44px;width:44px;border:0;border-left:1px solid var(--border);color:var(--muted);background:none}.favourite>.icon{width:19px;height:19px}.favourite.is-favourite{color:#a16900}.favourite.is-favourite>.icon{fill:#e3b74c}.page-title{margin:5px 0 16px}.page-title h1{font-size:21px;font-weight:600}.page-title p{font-size:13px;color:var(--muted);margin-top:7px}.calculator-layout{display:block}.form-panel{background:var(--surface);border:1px solid var(--border);padding:15px;border-radius:6px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.panel-heading h1,.panel-heading h2{font-size:16px;font-weight:600}.text-button{background:none;border:0;padding:8px;color:var(--accent);font-size:13px;min-height:36px}.field{margin-bottom:15px;min-width:0}.field label{display:flex;justify-content:space-between;gap:8px;font-size:13px;margin-bottom:6px;font-weight:500}.field label span{color:var(--muted);font-weight:400}.field input,.field select{width:100%;min-width:0;height:43px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--ink);padding:9px 10px;font-size:16px}.field select{padding-right:25px;text-overflow:ellipsis}.field small{display:block;margin-top:5px;font-size:12px;color:var(--muted)}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:43px;padding:10px 14px;border:1px solid var(--border);border-radius:5px;font-size:14px;font-weight:500;background:var(--surface);color:var(--ink)}.button.primary{background:#1769b3;border-color:#1769b3;color:#fff}.button .icon{width:18px;height:18px}.calculate-button{width:100%;margin-top:8px}.method-note,.band-edit{border-top:1px solid var(--border);margin-top:10px;padding-top:10px;font-size:13px;color:var(--muted)}summary{cursor:pointer;color:var(--accent);padding:6px 0;min-height:32px}.method-note p{margin:7px 0;line-height:1.6}.band-edit>div{padding-top:14px}.callout{font-size:12px;color:var(--muted);line-height:1.65;padding:10px 12px;margin:12px 0;background:var(--surface-2);border-left:2px solid var(--border)}.callout.amber{background:var(--orange-light);border-color:var(--orange)}.checkbox{display:flex;gap:8px;align-items:flex-start;font-size:13px;margin:10px 0}.checkbox input{width:18px;height:18px;accent-color:#1769b3}.assumptions{font-size:12px;color:var(--muted);background:var(--surface-2);padding:11px;border-radius:4px;margin-bottom:12px}.assumptions h3{font-size:12px;font-weight:500;margin-bottom:6px}.assumptions dl{margin:0}.assumptions dl>div,.result-details>div{display:flex;justify-content:space-between;gap:15px;padding:5px 0}.assumptions dd,.result-details dd{margin:0;text-align:right}.form-error{font-size:13px;color:#b83e32;padding:10px 0}.result-panel{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:15px;margin-top:12px;scroll-margin-top:68px}.result-placeholder{font-size:13px;color:var(--muted);padding:8px 0}.result-content>h2{font-size:13px;color:var(--muted);font-weight:500}.result-value{font-size:34px;font-weight:500;line-height:1.3;margin:6px 0 13px;overflow-wrap:anywhere}.result-value>span{font-size:18px;margin-left:6px;color:var(--muted);font-weight:400}.result-value.binary-value{font-family:ui-monospace,monospace;font-size:27px;letter-spacing:2px}.result-value.codes-value{font:20px/1.6 ui-monospace,monospace}.suggestion{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:11px 0;display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:13px;margin-bottom:10px}.suggestion b{font-size:17px;white-space:nowrap}.result-details{margin:8px 0 0;font-size:12px}.result-details dt{color:var(--muted)}.result-details>div{padding:8px 0;border-bottom:1px solid var(--border)}.formula{background:var(--surface-2);padding:9px;font:12px/1.5 ui-monospace,monospace;margin-top:13px;border-radius:4px}.fine-print{font-size:12px;color:var(--muted);margin-top:12px;line-height:1.6}.result-actions{display:flex;gap:7px;padding-top:13px;margin-top:13px;border-top:1px solid var(--border)}.result-actions .button{flex:1;font-size:13px;padding:9px;min-width:0}.recommendation{padding:12px;background:var(--surface-2);border-left:3px solid var(--muted);margin:12px 0}.recommendation h3{font-size:15px;margin-bottom:6px}.recommendation p{font-size:13px;line-height:1.6}.recommendation.preliminary{background:var(--orange-light);border-color:var(--orange)}.recommendation.full{border-color:#bd4938;background:#bd493810}.converted-text{font-family:ui-monospace,monospace;margin-bottom:10px}.list-panel{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.list-row{display:flex;align-items:center;gap:12px;padding:13px;border-bottom:1px solid var(--border)}.list-row:last-child{border-bottom:0}.row-icon{display:grid;place-items:center;color:var(--accent);width:27px;flex-shrink:0}.list-row h3{font-size:15px;font-weight:500}.list-row p{font-size:12px;color:var(--muted);margin-top:3px}.list-row>.icon:last-child{width:15px;height:15px;color:var(--muted);margin-left:auto}.status-tag{font-size:11px;color:var(--muted);border:1px solid var(--border);padding:3px 6px;white-space:nowrap}.list-row .status-tag{margin-left:auto}.back-link{display:none}.article-panel,.history-card{border:1px solid var(--border);border-radius:6px;background:var(--surface);padding:16px;margin-bottom:12px}.article-panel h2{font-size:17px;margin:20px 0 9px;font-weight:600}.article-panel h2:first-child{margin-top:0}.article-panel h3{font-size:15px;margin:18px 0 8px}.article-panel p{font-size:14px;color:var(--muted);line-height:1.65;margin-bottom:12px}.article-panel .callout{margin-top:0}.topic-list{list-style:none;padding:0}.topic-list li{font-size:13px;padding:10px 0;border-bottom:1px solid var(--border)}.topic-list li span{font-size:12px;display:block;color:var(--muted);margin-top:3px}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:12px;margin:15px 0}caption{text-align:left;color:var(--muted);font-size:12px;margin-bottom:10px}th,td{padding:10px 6px;text-align:left;border-bottom:1px solid var(--border)}thead{background:var(--surface-2)}.wire{height:14px;width:4px;display:inline-block;background:var(--wire);margin-right:6px;vertical-align:middle}.wire-green{--wire:#128655}.wire-orange{--wire:#db7a23}.wire-blue{--wire:#2275bb}.wire-brown{--wire:#855a36}.about-icon{color:var(--accent);margin-bottom:12px}.about-icon>.icon{height:34px;width:34px}.history-card h2{font-size:15px}.history-card small{font-size:12px;color:var(--muted)}.history-card pre{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.7 ui-monospace,monospace;padding:12px;background:var(--surface-2)}.text-link{display:inline-block;color:var(--accent);font-size:13px;margin-left:12px}.danger{color:#c04434!important}.empty-state{padding:24px 12px;color:var(--muted);font-size:13px;text-align:center}.empty-state h2{font-size:17px}.empty-state p{margin:10px 0}.empty-state .button{margin-top:12px}.empty-state .icon{margin-bottom:10px}#toast{position:fixed;z-index:90;bottom:calc(80px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:calc(100vw - 32px);padding:11px 16px;background:#2d3036;color:white;font-size:13px;border-radius:6px;opacity:0;pointer-events:none}#toast.visible{opacity:1}[hidden]{display:none!important}
/* Shared brand: transparent mark and theme-aware wordmark. */
.brand-mark{display:block;width:72px;height:72px;object-fit:contain;flex:0 0 auto}
.brand-mark-small{width:34px;height:34px}
.bar-title.bar-brand{white-space:normal;font-size:14px;line-height:1.18;text-overflow:clip}
.bar-brand span{display:block}
.bar-brand span:last-child{font-size:12px;font-weight:500;margin-top:2px}
.brand-heading{display:flex;align-items:center;gap:16px;margin:12px 0 25px}
.brand-heading h1{font-size:28px;line-height:1.15;font-weight:650;letter-spacing:-.025em}
.brand-heading h1 span{display:block}
.brand-heading p{margin:9px 0 0;font-size:13px;color:var(--muted)}
.about-brand{display:flex;gap:12px;align-items:center;margin-bottom:16px}
.about-brand .brand-mark{width:56px;height:56px}
.about-brand h2{font-size:17px;line-height:1.25;margin:0}
.about-brand h2 span{display:block}
@media(max-width:540px){.brand-heading{gap:11px}.brand-heading .brand-mark{width:60px;height:60px}.brand-heading h1{font-size:22px}.brand-heading p{font-size:12px}}
@media(max-width:360px){.brand-heading h1{font-size:20px}.brand-heading .brand-mark{width:50px;height:50px}.brand-heading{gap:9px}}
/* Physical DIP switch control, not a decorative result graphic. */
.dip-board{border:1px solid #777c84;border-radius:5px;background:#39434c;padding:10px 8px 8px;margin:8px 0;color:white}.dip-on-label{font-size:10px;letter-spacing:.5px;display:block;margin-left:3px;margin-bottom:3px}.dip-switches{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px}.dip-board[data-count="6"] .dip-switches{grid-template-columns:repeat(6,minmax(0,1fr))}.dip-board[data-count="7"] .dip-switches{grid-template-columns:repeat(7,minmax(0,1fr))}.dip-board[data-count="9"] .dip-switches{grid-template-columns:repeat(9,minmax(0,1fr))}.dip-board[data-count="10"] .dip-switches{grid-template-columns:repeat(10,minmax(0,1fr))}.dip-control{border:0;border-radius:3px;min-width:0;min-height:95px;padding:3px 1px;background:none;color:white;touch-action:none;user-select:none}.dip-track{display:block;position:relative;width:22px;height:50px;margin:0 auto 5px;background:#11191e;border:1px solid #7c848a;border-radius:3px;box-shadow:inset 0 2px 3px #0007}.dip-track>i{position:absolute;width:16px;height:21px;left:2px;bottom:2px;background:linear-gradient(#f8f7ed,#c7c6bd);border:1px solid #bcbcb5;border-radius:2px;box-shadow:0 2px 2px #0005;transition:bottom .09s}.dip-control.on .dip-track>i{bottom:25px}.dip-number,.dip-weight{display:block;font-size:11px}.dip-weight{font-size:9px;color:#c9d2d9;margin-top:2px}.dip-control:focus-visible{outline-color:#9dc9f3}
/* Vector resistor: readable at any scale, every band is interactive. */
.resistor-display{margin:4px -8px 8px}.resistor-svg{width:100%;height:auto;display:block;max-height:190px}.resistor-band{cursor:pointer;touch-action:none}.resistor-band:focus{outline:none}.resistor-band:focus-visible .band-outline{stroke-width:4px}.resistor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:0 8px;font-size:11px;color:var(--muted)}.resistor-toolbar .text-button{font-size:12px}.band-picker{border:1px solid var(--border);padding:12px 10px;border-radius:5px;background:var(--surface-2)}.band-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}.band-picker-heading>div{flex:1;text-align:center;font-size:13px}.band-picker-heading b,.band-picker-heading span{display:block}.band-picker-heading span{font-size:12px;color:var(--muted);margin-top:3px}.step-button{border:1px solid var(--border);width:42px;height:40px;border-radius:5px;background:var(--surface);color:var(--accent);font-size:23px}.colour-palette{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.colour-option{display:flex;align-items:center;flex-direction:column;gap:4px;border:1px solid transparent;border-radius:5px;background:none;color:var(--ink);font-size:10px;min-width:0;min-height:56px;padding:5px 2px}.colour-option.chosen{border-color:var(--accent);background:var(--blue-light)}.colour-option span{max-width:100%;overflow:hidden;text-overflow:ellipsis}.band-picker .fine-print{font-size:11px;margin-top:10px}.section-heading{margin:18px 0 9px}.section-heading h2{font-size:14px;font-weight:500}
@media(max-width:380px){main{padding-left:10px;padding-right:10px}.form-panel,.result-panel{padding:12px}.field-grid{gap:0 8px}.field label{font-size:12px}.list-row .status-tag{display:none}.bar-title{font-size:15px}.dip-track{width:19px}.dip-track>i{width:13px}.dip-weight{font-size:8px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
:root{scrollbar-color:var(--border) var(--surface)}
.clock-strip{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:12px;font-size:13px;margin-bottom:12px}.clock-strip span{color:var(--muted)}.clock-strip strong{font-variant-numeric:tabular-nums;font-weight:500}.word-browser{border-top:1px solid var(--border);margin-top:14px;padding-top:8px}.word-browser summary{font-size:13px}.word-search-label{display:block;font-size:12px;margin:8px 0 6px}.word-browser input{display:block;width:100%;padding:9px 10px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--ink)}.word-results{max-height:245px;overflow-y:auto;margin-top:8px;border:1px solid var(--border);border-radius:5px;overscroll-behavior:contain}.word-row{width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:0;border-bottom:1px solid var(--border);background:var(--surface);color:var(--ink);padding:10px 12px;min-height:39px;font-size:13px}.word-row:last-child{border-bottom:0}.word-row:hover{background:var(--blue-light)}.word-row span:first-child{flex:1}.word-row b{font-family:ui-monospace,monospace;font-weight:500;color:var(--accent)}.word-row span:last-child{font-size:17px;color:var(--muted)}.galaxy-steps{font-size:12px}.galaxy-steps td:last-child{font-family:ui-monospace,monospace}.galaxy-steps th{white-space:normal}.table-scroll{max-width:100%}.binary-value{font-variant-numeric:tabular-nums}
@media(min-width:900px){.app-shell{max-width:1180px;position:relative;padding-left:90px;border:0}.app-bar{height:56px;padding-top:0}.bar-title{text-align:left}.bottom-nav{left:max(0px,calc((100vw - 1180px)/2));top:0;bottom:0;transform:none;width:90px;max-width:90px;border-top:0;border-right:1px solid var(--border);padding:12px 6px;flex-direction:column;justify-content:flex-start;gap:5px}.bottom-nav a{flex:none;min-height:70px;border-radius:6px}.bottom-nav a:hover{background:var(--surface-2)}.bottom-nav .active{background:var(--blue-light)}main{padding:20px 24px 30px}.calculator-layout{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,1fr);gap:18px;align-items:start}.form-panel,.result-panel{padding:20px}.result-panel{margin-top:0;position:sticky;top:76px}.tool-grid{border:1px solid var(--border);border-radius:6px;overflow:hidden}.tool-link{min-height:66px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field input,.field select{font-size:15px}.word-results{max-height:290px}}
/* Searchable panel guides and independently drawn control schematics. */
.guide-shortcuts{margin-bottom:18px}.guide-result{border-bottom:1px solid var(--border)}.guide-result:last-child{border-bottom:0}.guide-result .list-row{border-bottom:0}.guide-matches{padding:0 14px 12px 52px;display:flex;flex-direction:column;gap:9px;font-size:12px;color:var(--accent)}.guide-matches a{display:flex;gap:6px;align-items:center}.guide-matches .icon{width:13px;height:13px}.guide-matches>span{color:var(--muted)}.guide-footer{color:var(--muted);font-size:12px;line-height:1.6;margin:12px 0}.guide-actions{display:flex;gap:18px;justify-content:flex-end;margin:0 0 10px}.guide-topic{background:var(--surface);border:1px solid var(--border);border-radius:6px;margin:0 0 8px;scroll-margin-top:70px}.guide-topic>summary{padding:14px 16px;cursor:pointer;font-weight:500;font-size:14px}.guide-topic>summary small{display:block;color:var(--orange);font-size:11px;font-weight:400;margin:4px 0 0 18px}.guide-topic[open]>summary{border-bottom:1px solid var(--border);color:var(--accent)}.guide-topic-body{padding:14px 18px;font-size:14px;line-height:1.65;overflow-wrap:break-word}.guide-topic-body p{margin:0 0 12px}.guide-scope{font-size:12px;color:var(--muted);border-left:3px solid var(--border);padding-left:10px}.guide-steps{padding-left:24px;margin:0 0 12px}.guide-steps li{padding:0 0 8px 3px}.guide-notes{padding-left:20px;margin:10px 0;font-size:12px;color:var(--muted);line-height:1.65}.guide-notes li{margin-bottom:8px}.guide-citations{border-top:1px solid var(--border);padding-top:10px;font-size:11px;color:var(--muted)}.guide-citations .text-button{display:block;text-align:left;font-size:11px}.guide-provenance{color:var(--muted);font-size:12px;margin:18px 0}.guide-provenance summary{cursor:pointer;padding:8px 0}.guide-provenance p{margin:8px 0;line-height:1.65}summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.address-diagram{display:flex;gap:10px;margin:16px 0;flex-wrap:wrap}.address-diagram>div{flex:1;min-width:60px;text-align:center;border:1px solid var(--border);border-radius:5px;padding:12px 6px;background:var(--surface-2)}.address-diagram strong{display:block;font:600 24px ui-monospace,monospace}.address-diagram span{font-size:12px;color:var(--muted)}.keypad-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.keypad-card{min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:16px}.keypad-card h2{font-size:15px;margin-bottom:14px}.keypad-card .text-link{margin:4px 0 0;font-size:12px}.keypad-card .text-link .icon{width:14px;height:14px}.keypad-diagram{max-width:240px;margin:0 auto 16px;border:1px solid var(--border);border-radius:6px;padding:12px;background:var(--surface-2);color:var(--ink)}.keypad-display{border:1px solid var(--border);background:var(--blue-light);padding:9px;font:12px ui-monospace,monospace;margin-bottom:10px;text-align:center}.keypad-functions{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px;justify-content:center}.keypad-functions span{font-size:9px;border:1px solid var(--border);padding:4px;background:var(--surface)}.keypad-keys{display:grid;gap:5px}.keypad-keys.cols-3{grid-template-columns:repeat(3,1fr)}.keypad-keys.cols-4{grid-template-columns:repeat(4,1fr)}.keypad-keys span{border:1px solid var(--border);border-radius:3px;text-align:center;padding:7px 2px;font:11px ui-monospace,monospace;background:var(--surface)}.keypad-cover{min-height:115px;display:grid;place-items:center;text-align:center;font-size:11px;color:var(--muted);border:1px dashed var(--border);padding:12px}.keypad-diagram small{display:block;text-align:center;margin-top:9px;font-size:9px;color:var(--muted)}.legacy-table table{min-width:540px}.legacy-table td{font-variant-numeric:tabular-nums}.table-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:540px){.keypad-grid{grid-template-columns:1fr}.guide-topic-body{padding:12px}.guide-topic>summary{padding:13px 12px}}
/* Model-specific fire access reference. */
.fire-manufacturer{display:block;margin-top:4px;font-weight:400;color:var(--muted)}
.fire-code-list{margin:0 0 16px;display:grid;gap:8px}
.fire-code-list>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:9px 0;border-bottom:1px solid var(--border)}
.fire-code-list dt{font-weight:500}.fire-code-list dd{margin:0;font-family:ui-monospace,monospace;font-weight:650;overflow-wrap:anywhere}
.fire-status{white-space:normal;text-align:right}.fire-status.documented{color:#24714a}.fire-status.unresolved{color:#976623}
.fire-unverified-note{font-weight:600}.fire-evidence{margin-top:16px}.fire-evidence>summary{cursor:pointer;font-weight:600}.fire-evidence p{overflow-wrap:anywhere}
@media(max-width:480px){.fire-code-list>div{grid-template-columns:1fr;gap:4px}.fire-entry>summary{align-items:flex-start}}

:root[data-theme=dark] .fire-status.documented{color:#8bcba3}
:root[data-theme=dark] .fire-status.unresolved{color:#efbf73}
@media(prefers-color-scheme:dark){:root[data-theme=system] .fire-status.documented{color:#8bcba3}:root[data-theme=system] .fire-status.unresolved{color:#efbf73}}

/* Equipment catalogue: compact model records and source provenance. */
.catalogue-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:end;margin:14px 0 22px}
.catalogue-filters label{display:grid;gap:6px;font-size:13px;font-weight:600;min-width:0}
.catalogue-filters select{width:100%;min-width:0;min-height:40px;padding:7px 9px;background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:6px;font-size:14px;font-weight:400}
.catalogue-filters button{margin:0;white-space:nowrap}
.equipment-entry summary>span{min-width:0;overflow-wrap:anywhere}
.equipment-entry summary small{white-space:normal}
.catalogue-meta,.catalogue-access-note{font-size:13px}
.catalogue-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.manual-source{border-top:1px solid var(--border,#abb4bb);padding:16px 0;overflow-wrap:anywhere}
.manual-source h4{margin:6px 0;font-size:14px;line-height:1.5}
.manual-source p{font-size:13px;margin:6px 0}
.catalogue-tag{font-size:11px;text-transform:uppercase;letter-spacing:.04em;font-weight:700}
.catalogue-note{border-left:3px solid #648c9d;padding-left:14px;margin:18px 0}
.catalogue-note h3{font-size:15px}
.catalogue-relations{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:12px 0 20px}
.catalogue-relations button{text-align:left;white-space:normal;overflow-wrap:anywhere}
.manual-source .link-warning{color:var(--amber,#996000)}
:root[data-theme=dark] .manual-source .link-warning{color:#efbf73}
.fire-status.configured,.fire-status.model-dependent,.fire-status.not-applicable{background:#e7ebef;color:#35444e}
[data-theme="dark"] .fire-status.configured,[data-theme="dark"] .fire-status.model-dependent,[data-theme="dark"] .fire-status.not-applicable{background:#33434f;color:#e4edf3}
@media(max-width:650px){.catalogue-filters{grid-template-columns:1fr 1fr}.catalogue-filters label:first-child{grid-column:1/-1}.catalogue-filters button{grid-column:1/-1}.equipment-entry summary{align-items:flex-start;gap:8px}.equipment-entry .fire-status{max-width:95px;font-size:10px}}

/* 0.7 equipment identification and document provenance */
.keypad-card{display:flex;flex-direction:column;overflow:hidden;padding:0;min-width:0}
.keypad-art{background:#f3f5f7;aspect-ratio:1/1;display:flex;align-items:center;justify-content:center}
.keypad-art img{display:block;width:100%;height:100%;object-fit:contain}
.keypad-card-body{padding:20px}.keypad-card-body h2{margin:0 0 6px}.keypad-card-body .text-link{display:block;margin-top:12px}
.keypad-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr));gap:20px}
.source-host{display:inline-block;font-size:11px;border:1px solid currentColor;padding:2px 6px;border-radius:5px;margin:4px 0}
.source-host.official{color:var(--accent,#157858)}.source-host.archive{color:var(--muted,#756756)}
.manual-locator{font-size:13px;color:var(--muted);border-left:3px solid var(--accent,#157858);padding-left:10px}
.compatibility-card{background:var(--surface-2,#edf3f1);border:1px solid var(--border,#d9e5e0);border-radius:10px;padding:14px;margin:14px 0}
.compatibility-card h3{margin-top:0}.topic-sources{margin:12px 0}.guide-kind-tabs{margin:20px 0 10px}
.guide-topic summary small{white-space:normal;max-width:42%;text-align:right}
@media(max-width:540px){.keypad-card-body{padding:16px}.keypad-grid{grid-template-columns:1fr}.guide-topic summary{gap:8px}}

.fire-panel-art {height:280px;padding:18px;background:#f6f6f6}.fire-panel-art img {width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.guide-panel-illustrations {display:flex;gap:16px;flex-wrap:wrap;margin:16px 0}.guide-panel-illustrations figure {margin:0;max-width:260px;flex:1 1 180px}.guide-panel-illustrations img {display:block;width:100%;height:210px;object-fit:contain;border-radius:12px;background:#f5f5f5}.guide-panel-illustrations figcaption {font-size:.85rem;padding:8px 2px}.guide-panel-illustrations small {display:block;color:var(--muted)}.fire-panel-card .text-button {display:block;margin:8px 0;text-align:left}

/* Reader identity and evidence accompany each supported system relationship. */
.reader-profile,.reader-backlinks{margin:22px 0}.reader-specs{margin:12px 0}.reader-specs>div{display:grid;grid-template-columns:minmax(112px,1fr) 2fr;gap:12px;padding:9px 0;border-bottom:1px solid var(--border)}.reader-specs dt{font-weight:650}.reader-specs dd{margin:0;overflow-wrap:anywhere}.reader-match{padding:14px;margin:12px 0;border:1px solid var(--border);border-radius:12px}.reader-match h4{margin:10px 0 6px}.reader-match p{margin:8px 0}.reader-match a{display:block;margin-top:8px;overflow-wrap:anywhere}.reader-evidence{display:inline-block;padding:4px 9px;border:1px solid var(--border);border-radius:20px;font-size:12px;font-weight:650;color:var(--text)}.reader-evidence.candidate{border-style:dashed}.reader-backlinks .text-button{display:block;text-align:left;margin-top:8px}.reader-profile .text-button{margin:8px 0}

.reader-filters label{min-width:0}.reader-filters select{width:100%}

.generator-context{margin:8px 0 20px;padding:14px;border:1px solid var(--border,#b7c8cd);border-radius:10px;overflow-wrap:anywhere}.generator-context p{margin:6px 0;font-size:14px}.generator-context small{opacity:.8}

/* 0.8.1: discipline-led navigation and compact, readable references. */
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 10px}.section-heading h2,.section-label{font-size:14px;font-weight:650;color:var(--ink)}.section-heading>a{color:var(--accent);font-size:13px}.page-title h1{font-size:24px;line-height:1.25}.page-title p{font-size:14px;line-height:1.55;max-width:76ch}.search-box{height:46px}.word-search-label{font-size:13px;font-weight:550}.discipline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 22px}.discipline-card{display:flex;align-items:center;gap:10px;min-height:104px;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:14px;transition:border-color .15s}.discipline-card:hover,.list-row:hover{background:var(--surface-2)}.discipline-card>span:nth-child(2){min-width:0;flex:1}.discipline-card strong{display:block;font-size:15px;font-weight:650;line-height:1.3}.discipline-card small{display:block;font-size:12px;color:var(--muted);line-height:1.45;margin-top:5px}.discipline-icon{color:var(--accent);align-self:flex-start}.discipline-icon>.icon{width:24px;height:24px}.discipline-card>.icon:last-child{height:16px;width:16px;display:none}.list-panel,.tool-grid{border:1px solid var(--border);border-radius:8px;overflow:hidden}.list-row{min-height:68px}.list-row>div{min-width:0;flex:1}.list-row h3{font-weight:600;overflow-wrap:anywhere;line-height:1.4}.list-row p{font-size:13px}.guide-group{margin-bottom:24px}.guide-filter-row,.gallery-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.guide-filter-row label,.gallery-filters label{display:grid;gap:5px;min-width:0;font-size:13px;font-weight:550}.guide-filter-row select,.gallery-filters select{min-width:0;width:100%;background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:5px;min-height:44px;padding:8px;font:inherit}.gallery-filters>button{justify-self:start}.result-count{font-size:13px;color:var(--muted);margin:14px 0}.guide-topic>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--ink);list-style:none;min-height:54px}.guide-topic>summary::-webkit-details-marker{display:none}.guide-topic>summary:after{content:'+';font-size:21px;font-weight:400;color:var(--accent);margin-left:auto;flex-shrink:0}.guide-topic[open]>summary:after{content:'−'}.guide-topic>summary>span{flex:1;min-width:0}.guide-topic>summary small{max-width:none;text-align:right;white-space:normal;font-size:12px;color:var(--muted);margin:0}.guide-topic-body{font-size:15px;line-height:1.7}.guide-steps li{padding-bottom:14px}.guide-notes{font-size:13px}.topic-sources{border-top:1px solid var(--border);padding-top:9px;margin:18px 0 0}.topic-sources>summary{font-size:13px}.guide-manuals{margin-top:20px}.guide-manuals>summary{font-size:14px;font-weight:600}.manual-source{padding:14px 0}.manual-source .text-link{margin-left:0}.source-host{font-size:11px}.catalogue-tag{font-size:11px}.guide-actions{gap:8px;justify-content:flex-start;flex-wrap:wrap}.guide-actions .text-button{padding-left:0;padding-right:16px;min-height:44px}.checklist-intro{padding:13px 15px;background:var(--blue-light);border-left:3px solid var(--accent);font-size:14px;line-height:1.6;margin:16px 0}.service-checklist{list-style:none;padding:0;margin:0}.service-checklist li{position:relative;padding:0 0 16px 27px}.service-checklist li:before{content:'';position:absolute;left:0;top:.43em;width:12px;height:12px;border:1.5px solid var(--muted);border-radius:2px}.service-checklist li+li{border-top:1px solid var(--border);padding-top:15px}.service-checklist li+li:before{top:calc(15px + .43em)}.primary-filters{grid-template-columns:repeat(3,minmax(0,1fr));margin:14px 0}.filter-drawer{border:1px solid var(--border);background:var(--surface);border-radius:6px;padding:3px 12px}.filter-drawer>summary{font-size:13px;min-height:40px;display:flex;align-items:center}.filter-drawer .catalogue-filters{grid-template-columns:repeat(3,minmax(0,1fr));margin:8px 0 12px}.filter-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:4px 0;font-size:12px;color:var(--muted)}.filter-actions .text-button{padding-left:0}.equipment-maker{display:block;font-size:12px;color:var(--muted);margin-bottom:3px}.equipment-row{padding:15px;min-height:84px}.pagination{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:22px 0;font-size:13px}.pagination .button{min-width:86px}.button:disabled{opacity:.4;cursor:default}.equipment-entry>summary{font-size:15px}.equipment-entry .fire-status{display:none}.equipment-entry .fire-manufacturer{display:block;text-align:left;max-width:none;margin-top:4px}.equipment-entry .guide-topic-body>.catalogue-meta{color:var(--muted)}.keypad-art{height:250px;aspect-ratio:auto;padding:14px}.keypad-art img{height:100%;width:100%;object-fit:contain}.fire-panel-art{height:220px}.keypad-card h2{font-weight:650;line-height:1.4}.keypad-card-body{padding:16px}.keypad-card .guide-notes{font-size:13px}.keypad-grid{gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,265px),1fr))}.more-links{margin-bottom:22px}.legacy-notes{margin:18px 0}.legacy-notes p{margin-top:10px}.legacy-notes summary{font-size:14px}.text-link{overflow-wrap:anywhere}.back-link{display:inline-flex;align-items:center;gap:4px;margin:0 0 12px;font-size:13px;color:var(--accent)}.back-link>.icon{width:17px;height:17px}.guide-panel-illustrations{margin:16px 0}.guide-panel-illustrations figure{max-width:210px}.guide-panel-illustrations img{height:150px}.guide-panel-illustrations figcaption{font-size:12px}.guide-panel-illustrations small{font-size:11px}main{scroll-padding-top:70px}.equipment-results,.keypad-grid,#reference-results,#catalogue-results{scroll-margin-top:72px}.reader-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.reader-match{border-radius:6px}.reader-evidence{border-radius:4px;font-size:11px}.catalogue-filters select{min-height:44px}
@media(max-width:540px){.discipline-card{flex-direction:column;align-items:flex-start;gap:8px;padding:13px;min-height:132px}.discipline-card strong{font-size:15px}.discipline-card small{font-size:12px}.primary-filters{grid-template-columns:1fr}.primary-filters label:first-child{grid-column:1/-1}.primary-filters label:last-child{grid-column:1/-1}.filter-drawer .catalogue-filters{grid-template-columns:1fr}.guide-filter-row{grid-template-columns:1fr 1fr}.gallery-filters{grid-template-columns:1fr 1fr}.guide-filter-row select,.gallery-filters select{font-size:14px}.bottom-nav{padding-left:2px;padding-right:2px}.bottom-nav a{font-size:10px;min-width:0}.page-title h1{font-size:22px}.guide-topic-body{padding:14px}.keypad-grid{grid-template-columns:1fr}.catalogue-filters label:first-child{grid-column:auto}.primary-filters label:first-child{grid-column:1/-1}.keypad-art{height:260px}.fire-panel-art{height:215px}.guide-topic>summary{font-size:14px}.guide-topic>summary small{font-size:11px}.equipment-entry>summary{align-items:center}.guide-topic-body .table-scroll{margin-left:-2px;margin-right:-2px}.fire-code-list>div{grid-template-columns:1fr}.filter-actions{align-items:baseline}}
@media(min-width:900px){.app-shell{max-width:1280px;padding-left:170px}.bottom-nav{left:max(0px,calc((100vw - 1280px)/2));width:170px;max-width:170px;padding:76px 10px 16px;gap:6px}.bottom-nav a{flex-direction:row;justify-content:flex-start;gap:13px;padding:0 14px;min-height:50px;font-size:14px}.bottom-nav .icon{width:21px;height:21px}.app-bar{height:60px}.bar-title{font-size:18px}.discipline-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.discipline-card{min-height:118px;padding:18px;gap:12px}.discipline-card strong{font-size:16px}.discipline-card small{font-size:13px}.discipline-icon{align-self:center}.discipline-icon>.icon{width:27px;height:27px}main{padding:24px 28px 40px}.settings-grid{gap:20px}.keypad-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.guide-topic-body{padding:18px 22px}.guide-steps,.service-checklist{max-width:85ch}.catalogue-filters{gap:14px}.page-title{margin:2px 0 22px}.calculator-layout{grid-template-columns:minmax(0,1.04fr) minmax(0,1fr)}}
@media print{.app-bar,.bottom-nav,.back-link,.search-box,.word-search-label,.guide-actions,.pagination,.filter-actions,.filter-drawer,.guide-manuals,.topic-sources{display:none!important}.app-shell{padding:0;max-width:none;border:0}main{padding:0}body{background:#fff;color:#000}.guide-topic{break-inside:auto}.service-checklist li{break-inside:avoid}}

/* 0.8.2: one unframed presentation for equipment, with native proportions. */
.keypad-card{background:transparent;border:0;border-bottom:1px solid var(--border);border-radius:0;box-shadow:none;overflow:visible;padding:0 0 24px;}
.keypad-grid{gap:28px 22px;align-items:start;}
.equipment-art{display:block;position:relative;width:100%;height:275px;padding:12px;border:0;border-radius:0;background:transparent;cursor:zoom-in;appearance:none;color:var(--muted);}
.equipment-art img{display:block;width:100%;height:100%;object-fit:contain;background:transparent;border:0;border-radius:0;mix-blend-mode:normal;}
.keypad-card-body{padding:12px 4px 0;}
.art-view{color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.03em;margin:0 0 6px;}
.art-enlarge{position:absolute;bottom:0;right:6px;display:flex;align-items:center;gap:4px;font-size:11px;opacity:0;transition:opacity .12s;}
.art-enlarge .icon{width:14px;height:14px;}
.equipment-art:hover .art-enlarge,.equipment-art:focus-visible .art-enlarge{opacity:1;}
.equipment-art:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px;}
.guide-panel-illustrations .equipment-art{height:200px;padding:10px;}
.guide-panel-illustrations img{height:100%;background:transparent;border-radius:0;}
.secondary-artwork{margin:16px 0;border-top:1px solid var(--border);padding-top:12px;}
.secondary-artwork>summary{cursor:pointer;font-size:14px;font-weight:600;}
.art-dialog{width:min(780px,calc(100vw - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;padding:22px;border:1px solid var(--border);border-radius:10px;background:var(--surface);color:var(--ink);}
.art-dialog::backdrop{background:rgba(15,29,38,.7);}
.art-dialog>button{float:right;margin:0 0 12px 12px;}
.art-dialog h2{font-size:19px;margin:2px 0 7px;}
.art-dialog p{font-size:13px;color:var(--muted);}
.art-dialog>img{width:100%;height:min(65dvh,650px);object-fit:contain;display:block;clear:both;}
.app-update-notice{position:fixed;right:18px;bottom:82px;z-index:50;width:min(380px,calc(100vw - 36px));padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 35px #0003;box-sizing:border-box;}
.app-update-notice p{margin:0 0 12px;font-size:14px;}
#web-app-status{margin:20px 0;}#web-app-status .button{margin:4px 10px 4px 0;}
@media(max-width:540px){.equipment-art{height:285px;padding:16px 22px;}.keypad-grid{gap:22px}.art-enlarge{opacity:1}.gallery-filters{grid-template-columns:1fr 1fr}.gallery-filters>label:first-child{grid-column:1/-1;}.art-dialog{padding:16px}.app-update-notice{bottom:80px;}}
@media(min-width:980px){.app-update-notice{bottom:22px;}.equipment-art{height:275px;}}
.equipment-picture{display:block;width:100%;height:100%;overflow:visible;}

/* Catalogue links and long manufacturer part numbers. */
.equipment-row h3,.catalogue-meta,.manual-source h4{overflow-wrap:anywhere}
#product-results .pagination{margin-block:1.2rem}
.filter-actions>label{display:grid;gap:.35rem}
.filter-actions>label{font-size:13px;font-weight:550;color:var(--ink);max-width:75%;min-width:0}
.filter-actions select{min-height:44px;max-width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--ink);font:inherit;font-weight:400}
.guide-filter-row label:nth-child(3){grid-column:1/-1}
#product-results{scroll-margin-top:72px}
@media(min-width:541px){.primary-filters{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}
/* Technical illustrations share one clean canvas and a readable enlarged view. */
.guide-figure{margin:22px 0;max-width:100%}.guide-figure-open{display:block;width:100%;padding:0;border:0;background:transparent;color:var(--accent);text-align:left}.guide-figure-open img{display:block;width:100%;height:auto;background:#fff;border-radius:4px}.guide-figure-open span{display:inline-block;padding:9px 0;font-size:13px;text-decoration:underline;text-underline-offset:3px}.guide-figure figcaption{font-size:13px;line-height:1.6;color:var(--muted);max-width:85ch}.guide-figure-dialog{width:min(1100px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);padding:18px;background:var(--surface);color:var(--ink);border:1px solid var(--border);border-radius:8px}.guide-figure-dialog::backdrop{background:#071321c9}.guide-figure-dialog h2{font-size:20px;line-height:1.35;margin:14px 0}.guide-figure-dialog>p{margin-top:14px;font-size:14px;line-height:1.6}.guide-figure-toolbar{display:flex;gap:10px;justify-content:space-between;position:sticky;top:-18px;background:var(--surface);padding:8px 0;z-index:1}.guide-figure-viewport{overflow:auto;max-height:70dvh;background:white;border-radius:4px;overscroll-behavior:contain}.guide-figure-viewport img{display:block;width:100%;height:auto}.guide-figure-viewport.is-zoomed img{width:max(100%,1200px);max-width:none}.guide-figure-viewport:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media(max-width:540px){.guide-figure-dialog{padding:12px}.guide-figure-toolbar{top:-12px}.guide-figure-dialog h2{font-size:18px}.guide-figure-viewport{max-height:64dvh}}@media print{.guide-figure{break-inside:avoid}.guide-figure-open span{display:none}.guide-figure figcaption{color:#333}}

.reader-summary-picture{width:72px;height:100px;object-fit:contain;flex:0 0 72px;margin-right:12px}.source-provenance{margin-top:24px;border-top:1px solid var(--border);padding-top:16px}.source-provenance summary{cursor:pointer;font-weight:600}

/* Battery calculation introduction */
.battery-intro{display:flex;gap:16px;align-items:center;padding:20px;margin:8px 0 24px;border-radius:16px;background:var(--surface-alt,rgba(43,145,123,.09));border:1px solid rgba(43,145,123,.25)}.battery-intro>svg{width:48px;height:48px;color:#319c84;flex-shrink:0}.battery-intro strong{font-size:1.15rem}.battery-intro p{margin:5px 0 0;font-size:.9rem}.assumptions dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}.assumptions dl>div{padding:12px;border:1px solid rgba(128,128,128,.25);border-radius:12px;display:block}.assumptions dd{margin:7px 0 0;font-weight:700}

/* 0.9.7 — The field workbench. Paper, ink and a brass index. */
:root{--bg:#f0efea;--surface:#ffffff;--surface-2:#e8e7e2;--ink:#252a30;--muted:#59616a;--border:#c8cbd0;--accent:#245b8e;--blue-light:#eaf1f8;--orange-light:#f6ecd3;--orange:#805500;--accent-light:#eaf1f8;--brass:#dfba57;--rail:#e7e6df;font-family:"Segoe UI",Arial,sans-serif}
:root[data-theme=dark]{--bg:#181b20;--surface:#23272e;--surface-2:#2d323a;--ink:#f1f3f5;--muted:#bdc4ce;--border:#4a535f;--accent:#91c4f5;--blue-light:#293541;--orange-light:#3c3425;--orange:#e6c478;--accent-light:#293541;--brass:#dfba57;--rail:#20242b}
@media(prefers-color-scheme:dark){:root[data-theme=system]{--bg:#181b20;--surface:#23272e;--surface-2:#2d323a;--ink:#f1f3f5;--muted:#bdc4ce;--border:#4a535f;--accent:#91c4f5;--blue-light:#293541;--orange-light:#3c3425;--orange:#e6c478;--accent-light:#293541;--brass:#dfba57;--rail:#20242b}}
body{font-size:15px}.app-shell{max-width:none;border:0}.app-bar{background:var(--bg);border-bottom:1px solid var(--border);height:64px}.bar-title{text-align:left;font-size:15px;font-weight:650}.header-search{display:flex;align-items:center;gap:9px;border:0;background:none;color:var(--muted);min-height:44px;padding:8px}.header-search span,.header-search kbd{display:none}.workbench-rail{display:none}.skip-link{position:fixed;left:12px;top:-80px;z-index:100;background:var(--brass);color:#202e2a;padding:12px}.skip-link:focus{top:12px}main{max-width:1440px;margin:auto;padding:24px 18px 100px}.workbench-footer{display:none}.workbench-intro{margin-bottom:28px;border-bottom:2px solid var(--ink);padding-bottom:20px}.edition-line{display:flex;justify-content:space-between;gap:12px;font:10px/1.4 ui-monospace,monospace;letter-spacing:.08em;color:var(--muted);border-top:4px solid var(--brass);padding-top:14px;margin-bottom:20px}.workbench-intro h1{font-size:clamp(32px,4vw,48px);line-height:1.08;letter-spacing:-.045em;font-weight:750}.workbench-intro>p{font-size:14px;color:var(--muted);margin:12px 0 22px}.search-box{height:50px;border-radius:3px;border-color:var(--border);box-shadow:0 2px 0 var(--border);margin-bottom:16px}.workbench-intro .search-box{height:56px;margin-bottom:0;border-color:var(--ink);box-shadow:3px 3px 0 var(--brass)}.search-box:focus-within{outline:2px solid var(--accent);outline-offset:2px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px}.section-heading h2{font-size:15px;font-weight:700}.section-heading>a{font-size:12px;color:var(--accent)}.section-number{font:11px ui-monospace,monospace;letter-spacing:.06em;color:var(--muted);margin-right:9px}.discipline-grid{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--border)}.discipline-card{position:relative;display:flex;flex-direction:row;align-items:center;gap:12px;min-height:78px;padding:14px 10px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:none;box-shadow:none}.discipline-card:hover{background:var(--surface)}.discipline-card>span:not([class]){flex:1}.discipline-card strong{font-size:15px;display:block}.discipline-card small{font-size:12px;line-height:1.45;color:var(--muted)}.discipline-index{font:11px ui-monospace,monospace;color:var(--muted)}.discipline-icon{color:var(--discipline,var(--accent));width:30px;align-self:auto}.discipline-icon .icon{width:23px;height:23px}.discipline-card>.icon{width:15px;margin-left:auto}.discipline-card[data-discipline=fire]{--discipline:#b65330}.discipline-card[data-discipline=intruder]{--discipline:#6972b1}.discipline-card[data-discipline=cctv]{--discipline:#378099}.discipline-card[data-discipline=access]{--discipline:#418569}.discipline-card[data-discipline=emergency]{--discipline:#9b781d}.bench-tools{margin-top:30px}.tool-grid{border:1px solid var(--border);border-radius:3px;overflow:hidden}.tool-link{min-height:82px;padding-top:16px;padding-bottom:16px}.tool-text h3{font-weight:650}.tool-icon{color:var(--accent)}.bench-hint{color:var(--muted);font-size:12px;margin:10px 0 20px}.saved-strip{display:flex;align-items:center;gap:10px;border-block:1px solid var(--border);padding:14px 3px;font-size:13px}.saved-strip span{flex:1}.saved-strip b{font:13px ui-monospace,monospace;padding:3px 8px;background:var(--surface-2)}.saved-strip>.icon{width:18px}.identify-strip{margin:32px 0;background:var(--rail);color:#f4f1e6;padding:24px 20px;border-top:4px solid var(--brass)}.identify-strip .section-number{color:#dfba57;font-size:10px}.identify-strip h2{font-size:26px;letter-spacing:-.025em;margin:10px 0}.identify-strip p{font-size:13px;color:#bdc9c0;max-width:35ch}.identify-links{margin-top:20px}.identify-links .list-row{border-color:#45574d;padding:13px 0}.identify-links .row-icon,.identify-links .list-row>.icon{color:#dfba57}.identify-links .list-row p{color:#bdc9c0}.identify-links .list-row h3{font-size:14px}.bench-reference .list-panel{background:none}.bench-reference .list-row{padding:16px 4px}.page-title{padding:0 0 20px;border-bottom:2px solid var(--ink);margin-bottom:24px}.page-title h1{font-size:clamp(25px,3vw,34px);letter-spacing:-.025em;font-weight:750;line-height:1.2}.page-title p{max-width:85ch;font-size:14px;line-height:1.6}.list-panel{border-radius:0}.list-row:hover{background:var(--surface-2)}.list-row h3{font-weight:600}.chip{border-radius:2px;min-height:40px}.chip.selected{background:var(--ink);color:var(--bg);border-color:var(--ink)}.section-label{font:11px/1.5 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.07em;margin-top:26px}.form-panel,.result-panel,.article-panel,.guide-topic,.filter-drawer{border-radius:3px}.form-panel{border-top:4px solid var(--ink)}.panel-heading{border-bottom:1px solid var(--border);padding-bottom:14px}.panel-heading h1{font-size:20px}.field label{font-size:14px;font-weight:600}.field input,.field select{height:48px;border-radius:2px;background:var(--bg)}.field input{font-variant-numeric:tabular-nums}.field small{line-height:1.6}.button{border-radius:3px;min-height:46px;font-weight:600}.button.primary{background:var(--brass);color:#202e2a;border-color:#b39138;box-shadow:0 2px 0 #9b7c2c}.button.primary:hover{filter:brightness(1.06)}.result-panel{border-top:4px solid var(--accent);background:var(--blue-light);min-height:180px}.result-value{font:600 38px/1.25 ui-monospace,monospace;letter-spacing:-.04em;margin-block:16px}.result-content>h2{font:12px ui-monospace,monospace;text-transform:uppercase;letter-spacing:.07em}.result-placeholder{padding:14px 0;line-height:1.8}.result-panel .formula{background:var(--surface)}.guide-topic>summary{padding:18px;font-size:15px;color:var(--ink);font-weight:650}.guide-topic[open]{border-left:3px solid var(--accent)}.guide-topic-body{line-height:1.75}.guide-topic-body p,.guide-steps,.guide-notes{max-width:85ch}.guide-index{background:var(--surface-2);border-block:1px solid var(--border);padding:10px 16px;margin:22px 0}.guide-index>summary{font-weight:650;color:var(--ink)}.guide-index>summary>span{float:right;font:12px ui-monospace,monospace;color:var(--muted);margin:4px 0}.guide-index nav{display:grid;gap:0;margin:12px 0}.guide-index nav a{display:flex;gap:14px;padding:10px 0;border-top:1px solid var(--border);font-size:14px;color:var(--accent)}.guide-index nav a span{font:11px ui-monospace,monospace;color:var(--muted);padding-top:4px}.guide-manuals{margin-top:25px}.keypad-card{border-top:1px solid var(--border);padding-top:10px}.keypad-card h2{font-size:18px}.equipment-art{background:transparent}.art-enlarge{opacity:1}.battery-intro{border-radius:3px;background:var(--blue-light);border-color:var(--border)}.assumptions dl>div{border-radius:2px}.bottom-nav{max-width:none;left:0;transform:none;border-top:2px solid var(--ink)}.bottom-nav .active{background:var(--blue-light);color:var(--accent);border-radius:3px}.bottom-nav a{min-height:52px}.bottom-nav .icon{width:21px;height:21px}a,button{touch-action:manipulation}.catalogue-filters select{border-radius:2px}.guide-panel-illustrations{border-bottom:1px solid var(--border);padding-bottom:18px}.guide-topic,.equipment-results,#topic-results{scroll-margin-top:80px}
@media(min-width:600px){.discipline-grid{grid-template-columns:1fr 1fr;column-gap:24px}.identify-links{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.bench-reference .list-panel{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.bench-reference .list-row:last-child{border-bottom:1px solid var(--border)}.guide-index nav{grid-template-columns:1fr 1fr;column-gap:24px}.workbench-intro .search-box{max-width:760px}}
@media(min-width:1000px){.app-shell{padding-left:224px;max-width:none}.workbench-rail{display:flex;flex-direction:column;position:fixed;left:0;top:0;bottom:0;width:224px;padding:28px 18px 20px;background:var(--rail);color:#f4f1e6;z-index:35;overflow-y:auto}.rail-brand{display:flex;align-items:center;gap:10px;margin-bottom:38px}.rail-brand .brand-mark{width:40px;height:48px}.rail-brand>span{font-size:14px;line-height:1.25;font-weight:700}.rail-brand>span>span{display:block}.rail-brand>span>span:last-child{font-size:11px;font-weight:400;color:#c1cec5;margin-top:5px}.rail-label{font:10px ui-monospace,monospace;color:#b2c2b7;letter-spacing:.12em;margin:0 12px 10px;display:block}.workbench-rail nav{display:grid;gap:4px}.workbench-rail nav a{display:flex;align-items:center;gap:13px;padding:13px 12px;font-size:14px;border-left:3px solid transparent}.workbench-rail nav a:hover{background:#ffffff0a}.workbench-rail nav a.active{border-color:var(--brass);background:#35473d;color:#f1d68f}.workbench-rail nav .icon{width:19px;height:19px}.rail-disciplines{border-top:1px solid #405249;padding-top:24px;margin-top:26px}.rail-disciplines>a{display:block;font-size:12px;padding:7px 12px;color:#bdc9c0}.rail-disciplines>a:hover{color:#fff;text-decoration:underline}.rail-footer{margin-top:auto;padding:28px 12px 0;font-size:12px;line-height:1.8;color:#bdc9c0}.rail-footer span{font:10px ui-monospace,monospace;color:#dfba57}.bottom-nav{display:none}.app-bar{padding:0 34px;height:64px}.app-bar .bar-leading{width:32px}.app-bar .brand-mark-small{width:26px;height:26px}.header-search span,.header-search kbd{display:block}.header-search{font-size:12px}.header-search kbd{padding:1px 7px;border:1px solid var(--border);border-radius:2px;margin-left:18px}.header-search .icon{width:17px}main{padding:32px 34px 50px;min-height:calc(100dvh - 130px)}.workbench-columns{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.85fr);gap:32px}.bench-tools{margin:0}.workbench-columns .discipline-grid{grid-template-columns:1fr}.discipline-card{min-height:72px}.identify-strip{display:grid;grid-template-columns:.8fr 1.5fr;gap:32px;align-items:center;padding:28px}.identify-links{margin:0}.workbench-footer{display:flex;justify-content:space-between;gap:16px;margin:0 34px;padding:18px 0;border-top:1px solid var(--border);font:11px ui-monospace,monospace;color:var(--muted)}.calculator-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:24px}.result-panel{top:88px}.form-panel,.result-panel{padding:24px}.keypad-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:28px}.settings-grid{grid-template-columns:1fr 1fr}.guide-topic-body{padding:20px 26px}.guide-topic>summary{padding:20px 24px}.equipment-row{min-height:90px}.list-row{padding:16px}.app-update-notice{bottom:22px}}
@media(min-width:1400px){.workbench-columns{grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr)}.workbench-columns .discipline-grid{grid-template-columns:1fr 1fr}.workbench-columns .discipline-card{min-height:104px}.workbench-intro{padding-top:8px}.workbench-intro h1{font-size:52px}main{padding-inline:48px}.app-bar{padding-inline:48px}}
@media(min-width:900px) and (max-width:999px){.app-shell{padding-left:0}.bottom-nav{display:flex;flex-direction:row;top:auto;bottom:0;width:100%;max-width:none;padding:6px 8px;gap:0}.bottom-nav a{flex:1;flex-direction:column;justify-content:center;font-size:11px;padding:0;gap:3px}.settings-grid{display:block}}
@media(max-width:380px){main{padding-inline:12px}.edition-line{font-size:9px}.workbench-intro h1{font-size:32px}.bottom-nav a{font-size:9px}.identify-strip{padding:20px 15px}.field-grid{grid-template-columns:1fr}}
@media print{.workbench-rail,.workbench-footer,.header-search,.skip-link,.guide-index{display:none!important}.app-shell{padding:0}.result-panel{position:static}.workbench-intro{border-color:#000}main{max-width:none;padding:0}}

/* All app chrome follows the selected theme; equipment colours remain literal. */
.identify-strip{background:var(--surface-2);color:var(--ink);border-top-color:var(--border)}
.identify-strip .section-number,.identify-strip p,.identify-links .list-row p{color:var(--muted)}
.identify-links .row-icon,.identify-links .list-row>.icon{color:var(--accent)}
.identify-links .list-row{border-color:var(--border)}
.inline-link{display:inline;margin:0;color:var(--accent);font:inherit;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.result-panel{background:var(--surface);border-top-color:var(--brass)}
.result-value{color:var(--ink)}
@media(min-width:1000px){
 .workbench-rail{background:var(--rail);color:var(--ink);border-right:1px solid var(--border)}
 .rail-brand>span>span:last-child,.rail-label,.rail-disciplines>a,.rail-footer{color:var(--muted)}
 .rail-disciplines{border-color:var(--border)}
 .workbench-rail nav a.active{background:var(--surface);color:var(--ink);border-left-color:var(--accent)}
 .workbench-rail nav a:hover{background:var(--surface-2)}
 .rail-disciplines>a:hover,.rail-footer span{color:var(--accent)}
}
/* Standards reference and extinguisher provision tools. */
.catalogue-filters input{width:100%;min-width:0;min-height:44px;padding:9px 10px;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:2px}
.r99-travel{margin-top:24px}.r99-travel .callout{font-size:14px}.r99-travel .field-grid{align-items:end}
#r99-provision>h2{margin-bottom:18px}#r99-provision-result p{margin:12px 0}#r99-provision-result h3{margin-top:20px}#r99-results h3{overflow-wrap:anywhere}#r99-results .list-row>span{margin-left:auto}#r99-travel-result p{margin:8px 0 0}

/* Illustrated camera and entry reference. */
.learning-plate{margin:1.2rem 0 2rem}.learning-image{display:block;width:100%;border:0;padding:0;background:#fff;cursor:zoom-in;border-radius:8px;overflow:hidden}.learning-image img{display:block;width:100%;height:auto}.learning-plate figcaption{font-size:.85rem;color:var(--muted);padding:.6rem 0}.reader-art-gallery{margin:1.5rem 0 2rem}.reader-art-gallery .keypad-card{padding:1rem}.reader-art-gallery .keypad-card h3{margin:.6rem 0}.reader-art-gallery .keypad-card p{font-size:.9rem}.reader-art-gallery .artwork-figure{margin:0}

.reader-art-gallery .equipment-art{height:250px;width:100%;background:transparent}.reader-art-gallery .equipment-art img{height:100%;width:100%;object-fit:contain}

/* Individual camera artwork shares the page surface in either theme. */
.camera-art-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1.25rem;margin:1.5rem 0 2rem}.camera-art-card{min-width:0;padding:.75rem;border-bottom:1px solid var(--border)}.camera-cutout{width:100%;height:210px;display:flex;align-items:center;justify-content:center;background:transparent;border:0;padding:0;cursor:zoom-in}.camera-cutout img{width:100%;height:100%;object-fit:contain}.camera-art-card h3{font-size:1rem;margin:.7rem 0 .3rem}.camera-art-card p{font-size:.9rem;color:var(--muted);margin:.3rem 0 .7rem}@media(max-width:520px){.camera-art-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.camera-cutout{height:155px}.camera-art-card{padding:.35rem}.camera-art-card h3{font-size:.95rem}}

#generator-fields{display:grid;gap:1rem}#generator-access{padding:1rem 0;border-bottom:1px solid var(--border);margin-bottom:1rem}#unlock-generators{display:grid;gap:.75rem}#generator-access-code{width:100%;box-sizing:border-box}

/* 1.0.3: unfilled browsing surfaces in both themes. */
.list-panel,.tool-grid,.tool-card,.discipline-card,.keypad-card,.camera-art-card,.history-card,.article-panel{background:transparent;box-shadow:none}
.discipline-card:hover,.list-row:hover,.tool-link:hover{background:var(--surface-2)}
.discipline-card[data-discipline=extinguishers]{--discipline:#b65330}
.discipline-card[data-discipline=suppression]{--discipline:#378099}
/* 1.0.5: consistent unframed, text-labelled extinguisher identification. */
.extinguisher-colour-guide{margin:22px 0 30px}.extinguisher-colour-guide>h2{font-size:22px;margin-bottom:8px}.extinguisher-colour-guide>p{max-width:80ch;color:var(--muted);font-size:14px;line-height:1.6}
.extinguisher-colour-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:22px 0}
.extinguisher-type{display:block;min-width:0;border-bottom:1px solid var(--border);padding:0 10px 18px}.extinguisher-type:hover{background:var(--surface-2)}
.extinguisher-drawing{display:block;width:100%;height:220px;max-width:180px;margin:0 auto 12px;overflow:visible}
.extinguisher-type h3{font-size:16px;margin:0 0 5px}.extinguisher-type p{font-size:13px;color:var(--muted);line-height:1.5}.extinguisher-type .extinguisher-band-name{color:var(--ink);font-weight:600;margin:4px 0 8px}
.rating-formula{border-left:3px solid var(--accent)}.rating-formula .rating-equation{font-size:clamp(17px,2.2vw,24px);font-weight:650;color:var(--ink);line-height:1.4;margin:12px 0}
@media(max-width:600px){.extinguisher-colour-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 10px}.extinguisher-drawing{height:180px}.extinguisher-type{padding-inline:4px}}
