/* The cabinet and controller housings are images; every record and action is HTML. */
body:is([data-page=programs],[data-page=other],[data-page=instructions],[data-page=documents]) .page-heading .eyebrow{display:none}
body:is([data-page=programs],[data-page=other],[data-page=instructions],[data-page=documents]) .breadcrumbs{margin-bottom:23px;padding-bottom:16px}
body:is([data-page=programs],[data-page=other],[data-page=instructions],[data-page=documents]) .page-heading{margin-bottom:24px}
body:is([data-page=programs],[data-page=other],[data-page=instructions],[data-page=documents]) .page-lead{margin-top:12px;font-size:16px}
.catalog-sections{display:flex;gap:26px;margin:-8px 0 26px;font:700 15px/1.5 var(--body)}
.catalog-sections a{padding:8px 0;text-decoration:none;border-bottom:2px solid transparent}
.catalog-sections [aria-current]{border-color:var(--accent)}
.catalog-programs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:28px;margin-top:22px}
.program-module{min-width:0;border:1px solid var(--line);background:var(--paper);box-shadow:0 5px 14px #20282012;overflow:hidden}
.module-plate{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:12px 42px;border-bottom:1px solid var(--line);background:#d8dbd4 url('/themes/assets/module-light.png') center/cover no-repeat;font:700 12px/1.5 Arial,Helvetica,sans-serif;color:#303a30}
.module-version{font-family:var(--mono);white-space:nowrap}
.module-overview{padding:22px 24px 19px;min-height:235px;display:flex;flex-direction:column}
.module-kind{font:400 11px/1.5 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.program-module h2{font-size:26px;margin:9px 0 14px;overflow-wrap:anywhere;line-height:1.25}
.program-module h2 a{text-decoration:none}
.module-description{font-size:14px;line-height:1.8;max-width:60ch;margin-bottom:20px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.module-facts{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;margin-top:auto;font:400 12px/1.5 var(--body);color:var(--muted)}
.module-facts time{white-space:nowrap}
.module-actions{position:relative;padding:10px 22px;border-top:1px solid var(--line);background:var(--soft);min-height:66px}
.module-info{min-width:0}
.module-info summary{display:inline-flex;align-items:center;min-height:44px;padding:6px 2px;max-width:calc(100% - 100px);font:700 14px/1.5 var(--body);text-decoration:underline;text-underline-offset:5px;list-style:none}
.module-info summary::-webkit-details-marker{display:none}
.module-info[open] summary{color:var(--accent)}
.module-download{position:absolute;right:22px;top:10px;display:inline-flex;align-items:center;min-height:44px;padding:7px 15px;border:1px solid var(--accent);font:700 14px/1.5 var(--body);text-decoration:none}
.module-download:hover{background:var(--accent);color:var(--paper)}
.module-drawer{padding:20px 0 9px;margin-top:10px;border-top:1px solid var(--line);font:400 13px/1.8 var(--body);overflow-wrap:anywhere}
.module-drawer h3{font:700 14px/1.5 var(--body);margin-bottom:12px}
.module-drawer h3:not(:first-child){margin-top:24px}
.module-changes{margin:0;padding:0 8px 0 0;list-style:none;max-height:220px;overflow-y:auto;overscroll-behavior:contain}
.module-changes li{padding:9px 0;border-bottom:1px solid var(--line)}
.module-thumbnails{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.module-thumbnails a{display:block;min-width:0}
.module-thumbnails img{display:block;width:100%;height:92px;object-fit:contain;background:var(--paper)}
.module-material{display:inline-block;margin-top:22px;font-weight:700}
.document-entry{display:grid;grid-template-columns:54px minmax(0,1fr);gap:24px;padding:28px 0;border-bottom:1px solid var(--line)}
.document-number{font:400 24px/1.3 var(--mono);color:var(--accent);padding-top:3px}
.document-copy{min-width:0}
.document-entry h2{font-size:27px;margin:6px 0 13px;line-height:1.3;overflow-wrap:anywhere}
.document-entry h2 a{text-decoration:none}
.document-entry .entry-summary{font-size:15px;max-width:75ch}
.document-author{margin-top:16px;font:400 12px/1.7 var(--body);color:var(--muted)}
.document-author a{color:var(--ink);font-weight:700}
body[data-theme=warm] .module-plate{background-image:url('/themes/assets/module-warm.png')}
body[data-theme=warm] .program-module{box-shadow:0 5px 18px #3b322017}
body[data-theme=warm] .module-kind,body[data-theme=warm] .module-facts,body[data-theme=warm] .module-actions,body[data-theme=warm] .document-author{font-family:Arial,Helvetica,sans-serif}
body[data-theme=warm] .document-number{font-family:Georgia,'Times New Roman',serif;font-size:29px}
body[data-theme=pixel] .module-plate{background-image:url('/themes/assets/module-pixel.png');background-position:center 15%;color:var(--ink);image-rendering:pixelated}
body[data-theme=pixel] .program-module{border:2px solid var(--line);box-shadow:3px 3px 0 #141d17}
body[data-theme=pixel] .program-module h2{font-size:21px;line-height:1.5}
body[data-theme=pixel] .module-overview{min-height:265px}
body[data-theme=pixel] .module-description{font-size:13px}
body[data-theme=pixel] .module-download:hover{color:#172113}
body[data-theme=pixel] .document-number{font-family:Russo,var(--mono)}
@media(max-width:820px){.catalog-programs{gap:20px}.module-overview{padding:20px;min-height:265px}.program-module h2{font-size:24px}.module-plate{padding-inline:36px}.module-actions{padding-inline:18px}.module-download{right:18px}.document-entry{grid-template-columns:40px minmax(0,1fr);gap:16px}.document-entry h2{font-size:25px}}
@media(max-width:650px){.catalog-programs{grid-template-columns:1fr;gap:24px}.module-overview,body[data-theme=pixel] .module-overview{min-height:0}.module-description{margin-bottom:22px}.catalog-sections{gap:22px;margin-bottom:22px}.document-entry{grid-template-columns:1fr;gap:10px;padding:25px 0}.document-number{font-size:18px}.document-entry h2{font-size:23px}.document-entry .entry-summary{font-size:14px}}

/* One open cabinet, with a continuous rail behind each row of independent modules. */
.cabinet-catalog{--cabinet-art:url('/themes/assets/cabinet-light.png');--cabinet-metal:#c6c8c2;--cabinet-ink:#303a32;--display-ink:#bbdf9d;--display-muted:#b1c3a6;--plate-y:13%;--display-y:26%;--display-end:35%;--control-y:.985;position:relative;margin:22px -10px 30px;padding:20px 18px 30px;border:solid transparent;border-width:26px 34px;background:var(--cabinet-metal);border-image-source:var(--cabinet-art);border-image-slice:78 94;border-image-width:26px 34px;border-image-repeat:round;box-shadow:0 9px 18px #1720162b;color:var(--cabinet-ink)}
.cabinet-caption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;padding:10px 14px;margin-bottom:24px;background:#f0f0e5;border:1px solid #8d9587;font:700 12px/1.5 var(--mono);letter-spacing:.05em;text-transform:uppercase}
.cabinet-caption span{font-weight:400;letter-spacing:0}
.cabinet-group+.cabinet-group{margin-top:40px}
.cabinet-group-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #828d7e;margin:0 0 22px;padding:0 3px 11px;font:12px/1.5 var(--mono)}
.page-view .cabinet-group-heading h2{font:700 14px/1.5 var(--mono);letter-spacing:.025em;text-transform:uppercase}
.cabinet-modules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:20px;row-gap:32px;align-items:start}
.module-cell{position:relative;min-width:0;container-type:inline-size}
.module-cell::before{content:none;position:absolute;left:-18px;width:calc(300% + 76px);top:calc(70cqw - 19px);height:38px;background:var(--cabinet-art) center 49.3%/115% 410px no-repeat;pointer-events:none}
.module-cell:nth-child(3n+1)::before{content:''}
.physical-module{position:relative;z-index:1;min-width:0;container-type:inline-size;color:var(--ink)}
.controller-face{position:relative;aspect-ratio:5/7;min-width:0}
.controller-face:is([data-module-face],[data-module-link]){cursor:pointer}
.controller-shell{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;pointer-events:none;background:var(--cabinet-metal)}
.controller-plate{position:absolute;left:11%;right:11%;top:var(--plate-y);height:7.5%;display:flex;align-items:center;justify-content:space-between;gap:7px;color:#3a4437;font:700 clamp(10px,3.6cqw,12px)/1.4 var(--mono)}
.controller-plate span:last-child{white-space:nowrap}
.controller-display{position:absolute;left:11.5%;right:11.5%;top:var(--display-y);bottom:var(--display-end);display:flex;flex-direction:column;gap:10px;min-width:0;overflow:hidden;color:var(--display-ink);font-family:var(--mono)}
.controller-kind{font:400 clamp(10px,3.6cqw,12px)/1.4 var(--mono);color:var(--display-muted);text-transform:uppercase;letter-spacing:.04em;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.page-view .controller-display h2{font:700 clamp(16px,6cqw,21px)/1.23 var(--mono);letter-spacing:-.03em;overflow-wrap:anywhere;margin:0}
.controller-display h2 a{text-decoration:none;color:inherit}
.controller-display h2 a:hover{color:#e8f8ce;text-decoration:underline}
.controller-display a:focus-visible{outline-color:#d3efa7;outline-offset:1px}
.controller-description{margin:0;font:400 clamp(12px,4.25cqw,14px)/1.65 var(--mono);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.controller-facts{display:flex;justify-content:space-between;flex-wrap:wrap;gap:3px 10px;margin:0;margin-top:auto;font:400 clamp(10px,3.65cqw,12px)/1.4 var(--mono);color:var(--display-muted)}
.controller-facts time{white-space:nowrap}
.physical-module>.module-info{position:static;margin:0}
.physical-module>.module-info>summary,.physical-module>.module-download,.controller-enter{position:absolute;top:calc(100cqw * var(--control-y));height:44px;min-height:44px;margin:0;display:flex;align-items:center;justify-content:center;padding:5px 4px;border:1px solid #7d8975;background:#edeee3;color:#2a3e2b;font:700 clamp(11px,4cqw,13px)/1.4 Arial,Helvetica,sans-serif;text-decoration:none;white-space:nowrap}
.physical-module>.module-info>summary{left:11%;width:38%;max-width:none}
.physical-module>.module-download{left:52%;right:11%;width:auto;background:#34533b;color:#f2f3de;border-color:#2e4633}
.physical-module>.module-info[open]>summary{background:#d4debd;color:#254128;border-color:#3e6036}
.physical-module>.module-info>summary:hover{background:#dfe7ce}
.physical-module>.module-download:hover{background:#223f2a;color:#fff}
.physical-module>.module-info>summary:focus-visible,.physical-module>.module-download:focus-visible,.controller-enter:focus-visible{outline-color:#89af5f;outline-offset:3px}
.controller-enter{left:11%;right:11%;top:calc(100cqw * var(--control-y))}
.controller-enter:hover{background:#dfe7ce;color:#213523}
.physical-module .module-drawer{padding:20px 17px 22px;margin-top:13px;background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:0 5px 12px #15201429;font:400 13px/1.8 var(--body)}
.physical-module .module-drawer h3{font:700 17px/1.5 var(--heading);margin:0 0 18px;overflow-wrap:anywhere}
.physical-module .module-drawer h4{font:700 12px/1.6 var(--body);text-transform:uppercase;letter-spacing:.04em;margin:20px 0 9px}
.physical-module .module-drawer h3+h4{margin-top:0}
.physical-module .module-thumbnails{gap:6px}
.physical-module .module-thumbnails img{height:70px}
.cabinet-navigation .cabinet-modules{grid-template-columns:repeat(2,minmax(0,300px));justify-content:center;column-gap:65px}
.cabinet-navigation .module-cell::before{content:none}
.cabinet-navigation .module-cell:first-child::before{content:'';width:calc(200% + 101px)}
.cabinet-navigation .controller-display{gap:14px}
body[data-theme=warm] .cabinet-catalog{--cabinet-art:url('/themes/assets/cabinet-warm.png');--cabinet-metal:#c9c3b3;--display-ink:#dddfad;--display-muted:#b9c1a0;--plate-y:14%;--display-y:27%;--display-end:35%;border-image-slice:62 94}
body[data-theme=warm] .cabinet-caption{background:#eae3ce;border-color:#938d74}
body[data-theme=warm] .controller-display h2{font-family:Georgia,'Times New Roman',serif;letter-spacing:0}
body[data-theme=pixel] .cabinet-catalog{--cabinet-art:url('/themes/assets/cabinet-pixel.png');--cabinet-metal:#626b64;--cabinet-ink:#edf0d7;--plate-y:16%;--display-y:29%;--display-end:36%;border-image-slice:80 77;image-rendering:pixelated;box-shadow:5px 5px 0 #141d17}
body[data-theme=pixel] .cabinet-caption{background:#333d34;color:#d9dfcb;border-color:#b4b99b}
body[data-theme=pixel] .cabinet-group-heading{border-color:#abb29c}
body[data-theme=pixel] .controller-shell{image-rendering:pixelated}
body[data-theme=pixel] .controller-display h2{font-family:var(--mono);font-size:clamp(16px,6cqw,21px);line-height:1.23;letter-spacing:-.03em}
body[data-theme=pixel] .physical-module>.module-info>summary,body[data-theme=pixel] .physical-module>.module-download,body[data-theme=pixel] .controller-enter{border-width:2px;font-family:var(--mono)}
@media(max-width:1000px) and (min-width:651px){.cabinet-modules{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px}.module-cell:nth-child(3n+1)::before{content:none}.module-cell:nth-child(2n+1)::before{content:'';width:calc(200% + 58px)}.cabinet-navigation .cabinet-modules{column-gap:26px}.cabinet-navigation .module-cell:first-child::before{width:calc(200% + 62px)}}
@media(max-width:650px){.cabinet-catalog{margin-inline:-13px;padding:15px 12px 25px;border-width:22px 20px;border-image-width:22px 20px}.cabinet-modules,.cabinet-navigation .cabinet-modules{grid-template-columns:minmax(0,330px);justify-content:center;row-gap:25px}.cabinet-caption{padding:8px;font-size:10px;gap:4px;margin-bottom:22px}.cabinet-group-heading{margin-bottom:19px}.page-view .cabinet-group-heading h2{font-size:12px}.module-cell::before,.cabinet-navigation .module-cell::before,.cabinet-navigation .module-cell:first-child::before{content:'';left:-12px;width:calc(100% + 24px);background-size:310% 410px}.controller-display{gap:9px}.physical-module .module-drawer{padding-inline:14px}}
@media(max-width:355px){.cabinet-catalog{margin-inline:-13px;padding-inline:7px;border-width:20px 15px;border-image-width:20px 15px}.controller-display{gap:7px;left:10%;right:10%}.controller-description{-webkit-line-clamp:2}.physical-module>.module-info>summary,.physical-module>.module-download,.controller-enter{top:calc(100cqw * var(--control-y) - 3px)}.physical-module .module-drawer{padding-inline:11px}}
