/* Approved reading quality, with topic-specific editorial treatments. */
.editorial-edition[data-edition=wifi]{--edition-accent:#176d6a;--edition-dark:#123f43;--edition-wash:#eaf5f2;--edition-ink:#183e41;--edition-mark:#d4aa61;--topic-ink:#176d6a;--topic-wash:#eaf5f2}
.editorial-edition[data-edition=dns]{--edition-accent:#72516f;--edition-dark:#392b44;--edition-wash:#f3eef5;--edition-ink:#47364f;--edition-mark:#bd945b;--topic-ink:#72516f;--topic-wash:#f3eef5}
body:has(.editorial-edition[data-edition=wifi]){background:#f4f8f6}body:has(.editorial-edition[data-edition=dns]){background:#f8f5f8}
.editorial-edition .router-hero h1,.editorial-edition .router-hero h1 span,.editorial-edition .router-contrast h2,.editorial-edition .router-contrast h3,.editorial-edition .prose h2,.editorial-edition .answer-box h2,.editorial-edition .faq-section h2,.editorial-edition .sources-section h2,.editorial-edition .router-sidebar-title{color:var(--edition-ink)}
.editorial-edition .router-hero-actions .button{background:var(--edition-accent);border-color:var(--edition-accent)}.editorial-edition .router-hero-actions .button:hover{background:var(--edition-dark)}.editorial-edition .router-hero .tag{color:var(--edition-accent);background:var(--edition-wash)}
.editorial-edition .router-read-lenses,.editorial-edition .router-journey{background:var(--edition-dark)}.editorial-edition .router-read-lenses a:hover{background:#ffffff12}.editorial-edition .router-cover img{box-shadow:16px 16px 0 var(--edition-wash),0 25px 55px -30px #20354760}
.editorial-edition .router-contrast-role a,.editorial-edition .router-role-symbol,.editorial-edition .prose a{color:var(--edition-accent)}.editorial-edition .answer-box{background:var(--edition-wash);border-top-color:var(--edition-accent)}.editorial-edition .figure-legend,.editorial-edition .sidebar-note,.editorial-edition .router-takeaway,.editorial-edition .explain-box{background:var(--edition-wash)}.editorial-edition .prose strong,.editorial-edition .prose td:first-child,.editorial-edition .router-takeaway>span{color:var(--edition-ink)}.editorial-edition .prose th{background:var(--edition-dark)}.editorial-edition .prose caption{color:var(--edition-ink);background:var(--edition-wash)}.editorial-edition .faq-section details[open],.editorial-edition .sticky-sidebar nav a[aria-current=location]{background:var(--edition-wash);border-left-color:var(--edition-accent);color:var(--edition-ink)}
.editorial-edition .router-flow{background:#00000022}.editorial-edition .router-journey-controls button{background:#ffffff0a}.editorial-edition .router-journey-controls button[aria-pressed=true]{background:#e5b975;color:#16374d}.editorial-edition .router-journey-status{background:var(--edition-wash);color:var(--edition-ink)}
.router-role-symbol.directory{border:2px solid currentColor;width:35px;height:33px}.router-role-symbol.directory i{display:block;height:5px;width:23px;border-bottom:1px solid currentColor;margin:3px 4px}
.wifi-flow .router-flow-node:nth-of-type(2):after{content:"無線区間";display:block;font-size:10px;margin-top:8px;color:#e5d3a3}.wifi-flow .router-flow-arrow:nth-of-type(1){color:#e5b975}.wifi-flow .router-flow-node:last-of-type{border-left:1px dashed #abc8cf66;padding-left:8px}
.dns-cache-controls{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 15px}.dns-cache-controls[hidden]{display:none}.dns-cache-controls button{cursor:pointer;padding:11px 14px;border:1px solid #b5a4c0;background:#ffffff08;color:#f0e6f5;font-size:12px}.dns-cache-controls button[aria-pressed=true]{border-color:#e5b975;background:#e5b975;color:#36273f;font-weight:700}.dns-cache-controls button:focus-visible{outline:3px solid #f3d69e;outline-offset:3px}
.dns-lookup{position:relative;display:grid;grid-template-columns:.75fr 60px .95fr 1.2fr;gap:14px;align-items:center;min-height:270px;background:#201a2b;border:1px solid #b8a3c340;padding:28px 24px 36px;color:#f4edf7}.dns-client,.dns-resolver{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}.dns-client strong,.dns-resolver strong{font-size:15px}.dns-client small,.dns-resolver small{font-size:12px;line-height:1.7;color:#d3c4dd}.dns-client-link{font-size:11px;color:#d9bd89;text-align:center;line-height:1.8}.dns-resolver{border:1px solid #b8a3c350;background:#4d3b5f55;padding:20px 7px;position:relative}.dns-resolver:after{content:"⇄";position:absolute;right:-21px;top:47%;color:#dcc293;font-size:20px}
.dns-authorities{display:grid;gap:9px;padding-left:16px;border-left:1px solid #9b819b;position:relative}.dns-authorities>div{border:1px solid #ad94b866;padding:10px 12px;position:relative;background:#44314e66}.dns-authorities>div:before{content:"";position:absolute;left:-17px;top:50%;width:16px;border-top:1px solid #9b819b}.dns-authorities span{display:block;font-size:13px;font-weight:700}.dns-authorities small{display:block;margin-top:4px;font-size:11px;line-height:1.6;color:#d3c4dd}.dns-lookup .router-packet{left:12%;top:auto;bottom:15px}.dns-lookup[data-stage="1"] .router-packet{left:49%}.dns-lookup[data-stage="2"] .router-packet{left:80%}.dns-lookup[data-stage="3"] .router-packet{left:12%}.dns-lookup[data-stage="2"][data-cache="miss"] .dns-authorities>div{border-color:#e5b975}.dns-lookup[data-cache="hit"] .dns-authorities{border-style:dashed}.dns-lookup[data-cache="hit"] .dns-authorities:after{content:"この問い合わせを省略できる";color:#edd3a1;font-size:11px;line-height:1.7}.dns-cache-note{font-size:13px;line-height:1.8;color:#e6d8ef;border-left:2px solid #c9aa70;padding-left:14px;margin:16px 0 20px}
@media(max-width:1100px){.dns-lookup{grid-template-columns:.7fr 32px 1fr 1.2fr;padding:22px 15px;gap:10px}.dns-client strong,.dns-resolver strong{font-size:13px}.dns-resolver:after{right:-15px}.dns-authorities{padding-left:12px}.dns-authorities>div{padding:9px}.dns-authorities>div:before{left:-13px;width:12px}}
@media(max-width:800px){.editorial-edition .router-cover img{box-shadow:8px 8px 0 var(--edition-wash)}.wifi-flow .router-flow-node:nth-of-type(2):after{grid-column:2;margin-top:4px;font-size:11px}.wifi-flow .router-flow-node:last-of-type{border-left:0;border-top:1px dashed #abc8cf66;padding-top:12px;padding-left:0}.dns-lookup{grid-template-columns:1fr 1fr;gap:20px 17px;padding:23px 16px 37px}.dns-client{grid-column:1}.dns-resolver{grid-column:2;padding:17px 5px}.dns-client-link{position:absolute;left:42%;top:58px;width:16%;z-index:2;font-size:10px;pointer-events:none}.dns-client strong,.dns-resolver strong{font-size:13px}.dns-resolver:after{content:"↓";top:auto;bottom:-22px;right:46%;font-size:18px}.dns-authorities{grid-column:1/-1;padding-left:22px;margin-left:6px;gap:9px}.dns-authorities>div{padding:12px 15px}.dns-authorities>div:before{left:-23px;width:22px}.dns-authorities span{font-size:14px}.dns-authorities small{font-size:12px}.dns-lookup .router-packet{left:24%;bottom:13px;top:auto}.dns-lookup[data-stage="1"] .router-packet{left:75%}.dns-lookup[data-stage="2"] .router-packet{left:75%}.dns-lookup[data-stage="3"] .router-packet{left:24%}.dns-cache-controls{display:grid;grid-template-columns:1fr;gap:7px}.dns-cache-controls button{font-size:12px;padding:12px;text-align:left}.dns-cache-note{font-size:13px}}
@media(prefers-reduced-motion:reduce){.editorial-edition *{animation:none!important;transition:none!important}}

.dns-client-link{font-size:10px;white-space:nowrap}
@media(min-width:801px) and (max-width:1100px){.dns-lookup{grid-template-columns:.7fr 56px 1fr 1.2fr}}
@media(max-width:800px){.dns-client,.dns-resolver{order:0}.dns-client-link{position:static;grid-column:1/-1;order:1;width:auto;font-size:12px;background:#ffffff06;padding:7px 0}.dns-authorities{order:2}.dns-resolver:after{display:none}.dns-authorities:before{content:"リゾルバーが、それぞれに質問";display:block;color:#e5d3a3;font-size:12px;line-height:1.7}}

/* Inline explanations have separate portrait artwork, not a shrunken desktop chart. */
.editorial-edition .inline-observation picture{display:block}.editorial-edition .inline-observation img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}.editorial-edition .inline-observation figcaption{font-size:14px;color:var(--edition-ink)}.editorial-edition .inline-observation .figure-legend{grid-template-columns:1fr}.editorial-edition .inline-observation .figure-legend li{font-size:14px}
@media(max-width:760px){.editorial-edition .inline-observation img{aspect-ratio:2/3}.editorial-edition .inline-observation figcaption{font-size:13px;line-height:1.85}}

/* Browser assembly and protected communication retain distinct editorial identities. */
.editorial-edition[data-edition=web-page]{--edition-accent:#315f95;--edition-dark:#19354f;--edition-wash:#eaf1f8;--edition-ink:#243e59;--edition-mark:#c19757;--topic-ink:#315f95;--topic-wash:#eaf1f8}
.editorial-edition[data-edition=https]{--edition-accent:#8a602a;--edition-dark:#3d352e;--edition-wash:#f7eedf;--edition-ink:#493927;--edition-mark:#c19757;--topic-ink:#8a602a;--topic-wash:#f7eedf}
body:has(.editorial-edition[data-edition=web-page]){background:#f4f7fa}body:has(.editorial-edition[data-edition=https]){background:#faf7f0}
.editorial-sequence{display:grid;grid-template-columns:repeat(var(--sequence-count,4),minmax(0,1fr));gap:12px;margin:24px 0;background:#ffffff05;padding:16px;border:1px solid #ffffff26}
.editorial-sequence-node{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;border:1px solid #ffffff30;padding:16px 12px;background:#00000017;min-width:0}
.editorial-sequence-node .sequence-number{align-self:flex-start;font:600 13px ui-monospace,monospace;color:#dbc39c;border-bottom:1px solid #dbc39c;padding-bottom:5px}
.editorial-sequence-node strong{font-size:14px;color:#fff;line-height:1.6}.editorial-sequence-node small{font-size:12px;line-height:1.8;color:#d7e1eb}.editorial-sequence-node .router-device{margin:5px 0}
.editorial-sequence[data-stage="0"]>.editorial-sequence-node:nth-child(1),.editorial-sequence[data-stage="1"]>.editorial-sequence-node:nth-child(2),.editorial-sequence[data-stage="2"]>.editorial-sequence-node:nth-child(3),.editorial-sequence[data-stage="3"]>.editorial-sequence-node:nth-child(4){background:#ffffff13;border-color:#e5b975;box-shadow:inset 0 3px 0 #e5b975}
.editorial-sequence[data-stage="4"]>.editorial-sequence-node:nth-child(5){background:#ffffff13;border-color:#e5b975;box-shadow:inset 0 3px 0 #e5b975}
.browser-material-lab{margin:30px 0;padding:28px;border:1px solid #bacbdc;background:#f0f5fa;box-shadow:7px 7px 0 #e3ebf3}.browser-material-lab h3{margin:10px 0 18px;color:#243e59;font-size:24px;line-height:1.6}.browser-material-lab p{font-size:15px!important;line-height:1.85!important}
.material-controls{display:flex;gap:8px;margin:22px 0;flex-wrap:wrap}.material-controls[hidden]{display:none}.material-controls button{cursor:pointer;padding:12px 15px;background:white;color:#243e59;border:1px solid #a2b8ce;font:inherit;font-size:13px;font-weight:700}.material-controls button[aria-pressed=true]{background:#243e59;color:white;border-color:#243e59}.material-controls button:hover{border-color:#315f95}.material-controls button:focus-visible{outline:3px solid #8faed0;outline-offset:3px}
.material-browser{border:1px solid #a9b9c9;background:#fff;overflow:hidden}.material-address{display:flex;align-items:center;gap:6px;padding:13px 18px;background:#e4eaf0;border-bottom:1px solid #c2cfdb;color:#566c82;font-size:11px}.material-address i{width:6px;height:6px;border-radius:50%;background:#7b94ad}.material-address span{margin-left:12px}
.editorial-edition .material-preview{padding:28px 30px;background:#fff;color:#222}.editorial-edition .material-preview h4{font-size:20px;font-weight:700;line-height:1.7;margin:14px 0}.editorial-edition .material-preview p{margin:12px 0}.editorial-edition .material-preview img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;margin:22px 0}.editorial-edition .material-preview a{display:inline-block;font-size:14px;cursor:pointer}.sample-category{font-size:12px}
.editorial-edition .material-preview:not([data-preview="0"]){background:#f9faf6;border-left:7px solid #315f95}.material-preview:not([data-preview="0"]) .sample-category{display:inline-block;padding:5px 11px;background:#315f95;color:white}.editorial-edition .material-preview:not([data-preview="0"]) h4{color:#243e59;font-size:26px;line-height:1.55;letter-spacing:.02em}.editorial-edition .material-preview:not([data-preview="0"]) a{color:#315f95;font-weight:700;border-bottom:2px solid #c19757;text-decoration:none}
.material-preview[data-preview="0"] img,.material-preview[data-preview="1"] img{display:none}.material-description{border-left:3px solid #315f95;padding-left:14px;color:#243e59;margin-top:20px!important}.browser-material-lab .lab-footnote{font-size:13px!important;color:#42596d}
@media(max-width:1100px){.editorial-sequence{grid-template-columns:repeat(2,minmax(0,1fr))}.editorial-sequence-node{min-height:160px}}
@media(max-width:800px){.editorial-sequence{padding:10px;gap:10px}.editorial-sequence-node{min-height:0;padding:14px 10px}.editorial-sequence-node strong{font-size:13px}.editorial-sequence-node small{font-size:12px}.browser-material-lab{padding:20px 16px;box-shadow:4px 4px 0 #e3ebf3}.browser-material-lab h3{font-size:21px}.material-controls{display:grid;grid-template-columns:1fr;width:100%}.material-controls button{padding:13px;text-align:left}.editorial-edition .material-preview{padding:20px 17px}.editorial-edition .material-preview:not([data-preview="0"]) h4{font-size:23px}}
@media(max-width:360px){.editorial-sequence{grid-template-columns:1fr}.editorial-sequence-node{display:grid;grid-template-columns:30px 40px 1fr;text-align:left;align-items:center;gap:9px}.editorial-sequence-node .sequence-number{align-self:center}.editorial-sequence-node small{grid-column:3}}

.editorial-edition[data-edition=email]{--edition-accent:#925b3f;--edition-dark:#42342e;--edition-wash:#f7ecdf;--edition-ink:#49382f;--edition-mark:#c19757;--topic-ink:#925b3f;--topic-wash:#f7ecdf}
.editorial-edition[data-edition=bluetooth]{--edition-accent:#366f9c;--edition-dark:#1c3b53;--edition-wash:#eaf3f9;--edition-ink:#243e58;--edition-mark:#c19757;--topic-ink:#366f9c;--topic-wash:#eaf3f9}
body:has(.editorial-edition[data-edition=email]){background:#faf6f0}body:has(.editorial-edition[data-edition=bluetooth]){background:#f3f8fb}
@media(max-width:1100px){.editorial-edition[data-edition=email] .editorial-sequence-node:last-child{grid-column:1/-1;border-top:2px solid #9bb8d3}}

.editorial-edition[data-edition=air-conditioner]{--edition-accent:#277b82;--edition-dark:#173e43;--edition-wash:#e5f2f0;--edition-ink:#24444a;--edition-mark:#ce9456;--topic-ink:#277b82;--topic-wash:#e5f2f0}
.editorial-edition[data-edition=refrigerator]{--edition-accent:#3a7193;--edition-dark:#203c50;--edition-wash:#e7f0f7;--edition-ink:#294356;--edition-mark:#ce9456;--topic-ink:#3a7193;--topic-wash:#e7f0f7}
body:has(.editorial-edition[data-edition=air-conditioner]){background:#f3f8f5}body:has(.editorial-edition[data-edition=refrigerator]){background:#f4f8fb}
.editorial-edition[data-edition=air-conditioner] .router-cover img,.editorial-edition[data-edition=refrigerator] .router-cover img{aspect-ratio:16/9;object-fit:contain}
.router-device.thermal-exchanger{width:52px;height:38px;border:2px solid #a6ccd2;border-radius:3px;background:repeating-linear-gradient(90deg,transparent 0 6px,#a6ccd266 6px 8px)}
.router-device.thermal-compressor{width:40px;height:40px;border:2px solid #e7ba7c;border-radius:50%;background:#e7ba7c22;box-shadow:inset 0 0 0 7px #00000022}
.router-device.thermal-valve{width:46px;height:34px;border-block:2px solid #a6ccd2;background:linear-gradient(45deg,transparent 40%,#a6ccd2 41% 44%,transparent 45%),linear-gradient(-45deg,transparent 40%,#a6ccd2 41% 44%,transparent 45%)}
.router-device.thermal-control{width:36px;height:40px;border:2px solid #a6ccd2;border-radius:3px;background:linear-gradient(#a6ccd2,#a6ccd2) center 9px/21px 10px no-repeat}
.router-device.thermal-control:after{content:"";position:absolute;bottom:6px;left:12px;width:8px;height:8px;border:1px solid #e7ba7c;border-radius:50%}
.router-device[class*=thermal-] i{display:none}
.editorial-edition .comparison{margin:28px 0;background:#f6faf9;border:1px solid #a9c5c4;box-shadow:6px 6px 0 #dbeceb}
.editorial-edition .comparison h2{font-size:clamp(22px,3vw,28px);margin-top:12px}
.editorial-edition .comparison .mode-controls button{cursor:pointer;font-size:14px;padding:12px 22px}
.editorial-edition .comparison .mode-controls button:focus-visible{outline:3px solid #277b82;outline-offset:4px}
.editorial-edition .comparison .mode-panel{opacity:1;background:#fff;border:1px solid #bacbd0}
.editorial-edition .comparison .mode-panel.selected{border:2px solid #277b82;background:#e5f2f0}
.editorial-edition .comparison [data-panel=warm].selected{border-color:#a96634;background:#faf0e5}
.editorial-edition .comparison .mode-panel h3{font-size:18px;line-height:1.7;margin-top:0}
.editorial-edition .comparison .heat-strip{font-weight:700;font-size:16px;color:#24444a}
@media(max-width:800px){.editorial-edition .comparison{padding:20px 16px;box-shadow:3px 3px 0 #dbeceb}.editorial-edition .comparison .mode-panel p{font-size:14px}.editorial-edition .comparison .mode-controls{gap:10px}}

.editorial-edition[data-edition=microwave-oven]{--edition-accent:#9b6433;--edition-dark:#4b3829;--edition-wash:#f6eddd;--edition-ink:#513c2b;--edition-mark:#c99456;--topic-ink:#9b6433;--topic-wash:#f6eddd}
.editorial-edition[data-edition=induction-heating]{--edition-accent:#277567;--edition-dark:#193f37;--edition-wash:#e5f2eb;--edition-ink:#254942;--edition-mark:#c99456;--topic-ink:#277567;--topic-wash:#e5f2eb}
body:has(.editorial-edition[data-edition=microwave-oven]){background:#fbf7f0}body:has(.editorial-edition[data-edition=induction-heating]){background:#f3f8f4}
.editorial-edition[data-edition=microwave-oven] .router-cover img{aspect-ratio:16/9;object-fit:contain}
.router-device.heating-coil{width:45px;height:36px;border:2px solid #dca968;border-radius:50%;box-shadow:inset 0 0 0 4px #193f37,inset 0 0 0 6px #dca968,inset 0 0 0 10px #193f37,inset 0 0 0 12px #dca968}
.router-device.heating-pan{width:43px;height:33px;border:2px solid #dca968;border-bottom-width:5px;border-radius:0 0 8px 8px}
.router-device.heating-pan:after{content:"";position:absolute;width:15px;right:-16px;top:4px;border-top:3px solid #dca968}
.router-device.heating-wave{width:42px;height:36px;border:2px solid #dca968;background:repeating-linear-gradient(0deg,transparent 0 7px,#dca96888 7px 9px)}
.router-device[class*=heating-] i{display:none}

.editorial-edition[data-edition=electric-kettle]{--edition-accent:#965c34;--edition-dark:#463529;--edition-wash:#f7eddf;--edition-ink:#49392c;--edition-mark:#cb9555;--topic-ink:#965c34;--topic-wash:#f7eddf}
.editorial-edition[data-edition=hair-dryer]{--edition-accent:#28777a;--edition-dark:#183f42;--edition-wash:#e5f1ef;--edition-ink:#244549;--edition-mark:#bf8956;--topic-ink:#28777a;--topic-wash:#e5f1ef}
body:has(.editorial-edition[data-edition=electric-kettle]){background:#fbf7f1}
body:has(.editorial-edition[data-edition=hair-dryer]){background:#f5f8f5}
.router-device.appliance-fan{width:40px;height:40px;border:2px solid #dca968;border-radius:50%;background:repeating-conic-gradient(from 20deg,#dca96899 0deg 32deg,transparent 32deg 120deg)}
.router-device.appliance-fan:after{content:"";position:absolute;width:9px;height:9px;top:13px;left:13px;background:#dca968;border-radius:50%}
.router-device.appliance-fan i{display:none}

.editorial-edition[data-edition=vacuum-cleaner]{--edition-accent:#637b47;--edition-dark:#343f2d;--edition-wash:#eef1e2;--edition-ink:#35452e;--edition-mark:#c29459;--topic-ink:#637b47;--topic-wash:#eef1e2}
.editorial-edition[data-edition=air-purifier]{--edition-accent:#3f7c66;--edition-dark:#244c3d;--edition-wash:#e9f2e9;--edition-ink:#294b3e;--edition-mark:#be9859;--topic-ink:#3f7c66;--topic-wash:#e9f2e9}
body:has(.editorial-edition[data-edition=vacuum-cleaner]){background:#f8f8f1}
body:has(.editorial-edition[data-edition=air-purifier]){background:#f4f8f2}
.router-device.air-filter{width:36px;height:36px;border:2px solid #dca968;background:repeating-linear-gradient(90deg,transparent 0 6px,#dca96899 6px 8px)}
.router-device.air-carbon{width:37px;height:37px;border:2px solid #dca968;border-radius:8px;background:radial-gradient(circle,#dca968 2px,transparent 3px) 0 0/10px 10px}
.router-device.air-stream{width:43px;height:36px;border-top:2px solid #dca968;border-bottom:2px solid #dca968}
.router-device.air-stream:after{content:"→";position:absolute;inset:-3px 0;text-align:center;font-size:25px;color:#dca968}
.router-device[class*=air-] i{display:none}

.editorial-edition[data-edition=motor]{--edition-accent:#956435;--edition-dark:#46382b;--edition-wash:#f6eddf;--edition-ink:#4d3929;--edition-mark:#c89956;--topic-ink:#956435;--topic-wash:#f6eddf}
.editorial-edition[data-edition=generator]{--edition-accent:#416994;--edition-dark:#263e59;--edition-wash:#e8eff6;--edition-ink:#294561;--edition-mark:#c89956;--topic-ink:#416994;--topic-wash:#e8eff6}
body:has(.editorial-edition[data-edition=motor]){background:#faf6ef}
body:has(.editorial-edition[data-edition=generator]){background:#f4f7fa}
.router-device.motor-coil{width:37px;height:35px;border:2px solid #dca968;border-radius:9px;box-shadow:inset 0 0 0 3px #263e59,inset 0 0 0 5px #dca968}
.router-device.motor-shaft{width:33px;height:33px;border:2px solid #dca968;border-radius:50%}
.router-device.motor-shaft:after{content:"";position:absolute;top:13px;left:13px;width:29px;border-top:4px solid #dca968}
.router-device.motor-contact{width:36px;height:36px;border-radius:50%;border:4px solid #dca968;background:linear-gradient(90deg,transparent 42%,#263e59 42% 58%,transparent 58%)}
.router-device.motor-magnet{width:47px;height:35px;border-left:7px solid #dca968;border-right:7px solid #81abc1}
.router-device.motor-magnet:after{content:"N  S";position:absolute;top:8px;left:2px;font-size:11px;color:#efdfbc;white-space:pre}
.router-device[class*=motor-] i{display:none}

.editorial-edition[data-edition=battery]{--edition-accent:#376b50;--edition-dark:#253e30;--edition-wash:#eaf1e5;--edition-ink:#294a37;--edition-mark:#c29a56;--topic-ink:#376b50;--topic-wash:#eaf1e5}
.editorial-edition[data-edition=transformer]{--edition-accent:#946039;--edition-dark:#453629;--edition-wash:#f5ebde;--edition-ink:#4b392a;--edition-mark:#c49854;--topic-ink:#946039;--topic-wash:#f5ebde}
body:has(.editorial-edition[data-edition=battery]){background:#f6f8f1}
body:has(.editorial-edition[data-edition=transformer]){background:#faf6ef}
.router-device.cell-electrode{width:28px;height:37px;border:2px solid #dca968;border-radius:5px;background:linear-gradient(90deg,#dca96855 0 48%,transparent 48%)}
.router-device.cell-electrode:after{content:"";position:absolute;width:11px;left:6px;top:-6px;border-top:4px solid #dca968}
.router-device.cell-electron{width:35px;height:35px;border:2px solid #81abc1;border-radius:50%}
.router-device.cell-electron:after{content:"−";position:absolute;inset:0;color:#b9d7e7;text-align:center;font-size:25px;line-height:30px}
.router-device.cell-ion{width:35px;height:35px;border:2px solid #b6d3a6;border-radius:50%}
.router-device.cell-ion:after{content:"+";position:absolute;inset:0;color:#b6d3a6;text-align:center;font-size:25px;line-height:30px}
.router-device.power-core{width:39px;height:34px;border:6px double #dca968;border-radius:2px}
.router-device.power-wave{width:44px;height:32px;border-bottom:1px solid #dca968}
.router-device.power-wave:after{content:"∿";position:absolute;inset:-12px 0;color:#dca968;font-size:42px;text-align:center}
.router-device[class*=cell-] i,.router-device[class*=power-] i{display:none}

.editorial-edition[data-edition=led]{--edition-accent:#946b28;--edition-dark:#453b28;--edition-wash:#f7efd9;--edition-ink:#4a3e25;--edition-mark:#ccac59;--topic-ink:#946b28;--topic-wash:#f7efd9}
.editorial-edition[data-edition=speaker]{--edition-accent:#436985;--edition-dark:#263c4b;--edition-wash:#e8eff2;--edition-ink:#294656;--edition-mark:#c49860;--topic-ink:#436985;--topic-wash:#e8eff2}
body:has(.editorial-edition[data-edition=led]){background:#fbf8ee}
body:has(.editorial-edition[data-edition=speaker]){background:#f4f7f8}
.router-device.light-chip{width:37px;height:30px;border:2px solid #dca968;border-radius:5px;background:linear-gradient(0deg,#dca96866 0 42%,transparent 42%)}
.router-device.light-chip:after{content:"";position:absolute;width:48px;left:-7px;bottom:-6px;border-top:3px solid #dca968}
.router-device.light-rays{width:40px;height:36px;border:2px solid #dca968;border-radius:50% 50% 3px 3px}
.router-device.light-rays:after{content:"";position:absolute;inset:6px 8px;background:linear-gradient(90deg,#81abc1 0 24%,transparent 24% 38%,#dca968 38% 62%,transparent 62% 76%,#dca968 76%)}
.router-device.sound-cone{width:40px;height:36px;border:2px solid #dca968;border-radius:50%}
.router-device.sound-cone:after{content:"";position:absolute;inset:9px;border:2px solid #dca968;border-radius:50%}
.router-device.sound-wave{width:40px;height:36px;background:repeating-linear-gradient(90deg,transparent 0 5px,#dca968 5px 7px)}
.router-device[class*=light-] i,.router-device[class*=sound-] i{display:none}
.editorial-edition[data-edition=microphone]{--edition-accent:#945d42;--edition-dark:#48362e;--edition-wash:#f5eade;--edition-ink:#49392f;--edition-mark:#c59a60;--topic-ink:#945d42;--topic-wash:#f5eade}
.editorial-edition[data-edition=washing-machine]{--edition-accent:#267980;--edition-dark:#25484d;--edition-wash:#e5f2f0;--edition-ink:#29484b;--edition-mark:#c09555;--topic-ink:#267980;--topic-wash:#e5f2f0}
body:has(.editorial-edition[data-edition=microphone]){background:#fbf7f2}
body:has(.editorial-edition[data-edition=washing-machine]){background:#f4f9f7}
.router-device.laundry-drum{width:39px;height:39px;border:2px solid #dca968;border-radius:50%;background:radial-gradient(circle,transparent 0 10px,#dca96866 11px 13px,transparent 14px)}
.router-device.laundry-drum:after{content:"";position:absolute;inset:8px;border:2px dashed #dca968;border-radius:50%}
.router-device.water-inlet,.router-device.water-outlet{width:41px;height:35px;border:2px solid #dca968;border-radius:4px;background:linear-gradient(0deg,#dca96855 0 30%,transparent 30%)}
.router-device.water-inlet:after,.router-device.water-outlet:after{content:"↓";position:absolute;inset:-10px 0;text-align:center;font-size:27px;color:#dca968}
.router-device.water-outlet:after{content:"→";inset:0 -11px 0 0}
.router-device.laundry-drum i,.router-device.water-inlet i,.router-device.water-outlet i{display:none}

.editorial-edition[data-edition=flush-toilet]{--edition-accent:#637b59;--edition-dark:#344b3d;--edition-wash:#edf2e8;--edition-ink:#314c3f;--edition-mark:#bf995c;--topic-ink:#637b59;--topic-wash:#edf2e8}
.editorial-edition[data-edition=faucet]{--edition-accent:#3b7890;--edition-dark:#284653;--edition-wash:#e8f2f5;--edition-ink:#2c4d5b;--edition-mark:#bf995c;--topic-ink:#3b7890;--topic-wash:#e8f2f5}
body:has(.editorial-edition[data-edition=flush-toilet]){background:#f6f8f1}
body:has(.editorial-edition[data-edition=faucet]){background:#f3f8fa}
.router-device.water-valve{width:39px;height:35px;border:2px solid #dca968;border-radius:4px;background:linear-gradient(90deg,transparent 43%,#dca968 43% 57%,transparent 57%)}
.router-device.water-valve:after{content:"";position:absolute;inset:12px -6px;border-top:3px solid #dca968}
.router-device.water-seal{width:37px;height:36px;border:3px solid #dca968;border-top:0;border-radius:0 0 13px 13px;background:linear-gradient(0deg,#81abc199 0 42%,transparent 42%)}
.router-device.water-valve i,.router-device.water-seal i{display:none}

.editorial-edition[data-edition=water-supply]{--edition-accent:#367c81;--edition-dark:#294d50;--edition-wash:#e7f2ed;--edition-ink:#2e4d4c;--edition-mark:#bf995c;--topic-ink:#367c81;--topic-wash:#e7f2ed}
.editorial-edition[data-edition=sewerage]{--edition-accent:#8c694c;--edition-dark:#4b3e31;--edition-wash:#f3eee2;--edition-ink:#4b4032;--edition-mark:#bd9859;--topic-ink:#8c694c;--topic-wash:#f3eee2}
body:has(.editorial-edition[data-edition=water-supply]){background:#f3f8f4}
body:has(.editorial-edition[data-edition=sewerage]){background:#faf7f0}
.router-device.city-tank{width:39px;height:34px;border:2px solid #dca968;border-radius:5px;background:linear-gradient(0deg,#81abc188 0 45%,transparent 45%)}
.router-device.city-filter{width:37px;height:35px;border:2px solid #dca968;background:repeating-linear-gradient(0deg,transparent 0 7px,#dca96877 7px 9px)}
.router-device.city-pipe{width:42px;height:33px;border-left:3px solid #dca968;border-bottom:3px solid #dca968;border-radius:0 0 0 7px}
.router-device.city-pipe:after{content:"→";position:absolute;right:-5px;bottom:-13px;color:#dca968;font-size:25px}
.router-device.city-bubbles{width:39px;height:35px;border:2px solid #dca968;border-radius:5px;background:radial-gradient(circle,#81abc1 2px,transparent 3px) 0 0/12px 12px}
.router-device.city-branch{width:42px;height:34px;border-bottom:3px solid #dca968}
.router-device.city-branch:after{content:"";position:absolute;height:30px;left:19px;top:5px;border-left:3px solid #dca968}
.router-device[class*=city-] i{display:none}

.editorial-edition[data-edition=elevator]{--edition-accent:#737646;--edition-dark:#42482e;--edition-wash:#eff0e3;--edition-ink:#3e482f;--edition-mark:#bd9859;--topic-ink:#737646;--topic-wash:#eff0e3}
.editorial-edition[data-edition=escalator]{--edition-accent:#3d7a73;--edition-dark:#2d4c48;--edition-wash:#e8f1eb;--edition-ink:#304d47;--edition-mark:#bd9859;--topic-ink:#3d7a73;--topic-wash:#e8f1eb}
body:has(.editorial-edition[data-edition=elevator]){background:#f8f8f0}
body:has(.editorial-edition[data-edition=escalator]){background:#f4f8f3}
.router-device.lift-wheel{width:38px;height:38px;border:3px solid #dca968;border-radius:50%;background:radial-gradient(circle,#dca968 0 4px,transparent 5px)}
.router-device.lift-car,.router-device.lift-call{width:31px;height:39px;border:2px solid #dca968;border-radius:3px;background:linear-gradient(90deg,transparent 47%,#dca968 47% 53%,transparent 53%)}
.router-device.lift-call{width:25px;background:radial-gradient(circle,#dca968 0 3px,transparent 4px) 50% 9px/12px 12px no-repeat}
.router-device.lift-brake{width:32px;height:32px;border:2px solid #dca968;border-radius:50%;box-shadow:8px 0 0 -4px #dca968,-8px 0 0 -4px #dca968}
.router-device.lift-rail{width:36px;height:38px;border-left:3px solid #dca968;border-right:3px solid #81abc1}
.router-device.lift-step{width:39px;height:30px;border-top:3px solid #dca968;border-right:3px solid #dca968}
.router-device.lift-return{width:42px;height:32px;border:2px solid #dca968;border-radius:17px}
.router-device.lift-return:after{content:"←";position:absolute;inset:0;color:#dca968;text-align:center;font-size:23px;line-height:26px}
.router-device[class*=lift-] i{display:none}

.editorial-edition[data-edition=gps]{--edition-accent:#3b7191;--edition-dark:#294757;--edition-wash:#e8f1f6;--edition-ink:#2b4b5f;--edition-mark:#c09855;--topic-ink:#3b7191;--topic-wash:#e8f1f6}
.editorial-edition[data-edition=qr-code]{--edition-accent:#496f68;--edition-dark:#2e4946;--edition-wash:#edf3ee;--edition-ink:#304d49;--edition-mark:#c09855;--topic-ink:#496f68;--topic-wash:#edf3ee}
body:has(.editorial-edition[data-edition=gps]){background:#f3f7fa}
body:has(.editorial-edition[data-edition=qr-code]){background:#f7f9f3}
.router-device.position-satellite{width:40px;height:34px;background:linear-gradient(90deg,#81abc1 0 28%,transparent 28% 35%,#dca968 35% 65%,transparent 65% 72%,#81abc1 72%);border-block:2px solid #dca968}
.router-device.position-clock{width:36px;height:36px;border:2px solid #dca968;border-radius:50%}
.router-device.position-clock:after{content:"";position:absolute;left:16px;top:5px;width:10px;height:13px;border-left:2px solid #dca968;border-bottom:2px solid #dca968}
.router-device.position-ranges{width:40px;height:34px;border:2px solid #dca968;border-radius:50%;box-shadow:10px 0 0 -3px #81abc1,-10px 0 0 -3px #dca96866}
.router-device.position-result,.router-device.code-result{width:39px;height:33px;border:2px solid #dca968;border-radius:3px;background:repeating-linear-gradient(0deg,transparent 0 8px,#dca96877 8px 10px)}
.router-device.code-data{width:40px;height:32px;border:2px solid #dca968;background:repeating-linear-gradient(90deg,transparent 0 6px,#dca96888 6px 8px)}
.router-device.code-repair{width:35px;height:35px;border:2px solid #dca968;border-radius:5px}
.router-device.code-repair:after{content:"+";position:absolute;inset:0;text-align:center;font-size:28px;line-height:29px;color:#dca968}
.router-device.code-finder{width:35px;height:35px;border:4px double #dca968;background:linear-gradient(#dca968,#dca968) center/11px 11px no-repeat}
.router-device[class*=position-] i,.router-device[class*=code-] i{display:none}

.editorial-edition[data-edition=printer]{--edition-accent:#417a93;--edition-dark:#2b4856;--edition-wash:#e8f1f5;--edition-ink:#2c4c5a;--edition-mark:#c19857;--topic-ink:#417a93;--topic-wash:#e8f1f5}
.editorial-edition[data-edition=vending-machine]{--edition-accent:#6c794d;--edition-dark:#3b4b32;--edition-wash:#eff2e5;--edition-ink:#3d4d35;--edition-mark:#c19857;--topic-ink:#6c794d;--topic-wash:#eff2e5}
body:has(.editorial-edition[data-edition=printer]){background:#f4f8fa}
body:has(.editorial-edition[data-edition=vending-machine]){background:#f8f9f0}
.router-device.print-data{width:35px;height:38px;border:2px solid #dca968;background:repeating-linear-gradient(0deg,transparent 0 8px,#dca96877 8px 10px)}
.router-device.print-dot{width:35px;height:35px;background:radial-gradient(circle,#81abc1 0 3px,transparent 4px) 0 0/12px 12px}
.router-device.print-paper{width:39px;height:32px;border:2px solid #dca968;transform:skewY(-8deg);background:linear-gradient(90deg,transparent 0 30%,#81abc1 30% 45%,transparent 45% 60%,#dca968 60% 75%,transparent 75%)}
.router-device.print-fix{width:38px;height:32px;border-block:8px solid #dca968;border-radius:12px}
.router-device.print-ready{width:35px;height:35px;border:2px solid #dca968;border-radius:50%}
.router-device.print-ready:after{content:"↻";position:absolute;inset:0;text-align:center;font-size:29px;line-height:30px;color:#dca968}
.router-device.vend-select{width:35px;height:35px;border:2px solid #dca968;background:radial-gradient(circle,#dca968 0 3px,transparent 4px) 0 0/12px 12px}
.router-device.vend-control{width:32px;height:32px;border:3px double #dca968;box-shadow:0 0 0 4px #dca96833}
.router-device.vend-gate{width:36px;height:36px;border-inline:2px solid #dca968;background:linear-gradient(0deg,transparent 0 30%,#dca968 30% 36%,transparent 36% 70%,#81abc1 70% 76%,transparent 76%)}
.router-device.vend-hatch{width:38px;height:28px;border:2px solid #dca968;border-radius:5px;background:linear-gradient(#dca96855,transparent)}
.router-device.vend-ready{width:33px;height:36px;border:2px solid #dca968;border-radius:5px;background:linear-gradient(90deg,#81abc166 0 50%,#dca96855 50%)}
.router-device[class*=print-] i,.router-device[class*=vend-] i{display:none}
