.radar-shell{max-width:1450px;margin:auto;padding:125px clamp(20px,5vw,75px) 60px}.radar-heading h1{font:900 clamp(5rem,13vw,10rem)/.9 var(--display);margin:0;letter-spacing:-.04em}.radar-heading h1 span{color:var(--lime)}.radar-heading>p:last-child{color:var(--muted);line-height:1.8}.summary{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:35px 0}.summary div{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--panel);font-size:.8rem}.summary strong{display:block;font:800 2.5rem var(--display);color:var(--lime);margin-bottom:6px}.filters{display:flex;gap:16px;align-items:end;flex-wrap:wrap}.filters label{display:grid;gap:9px;flex:1;font-size:.8rem;color:var(--muted)}.filters input,.filters select{width:100%;min-width:180px;padding:14px;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:10px;font:inherit}.filters button{cursor:pointer}#feedback,.source-note{color:var(--muted);font-size:.85rem;line-height:1.7}.radar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.radar-card{display:flex;flex-direction:column;padding:25px;border:1px solid var(--line);border-radius:20px;background:var(--panel);color:var(--text);text-decoration:none;transition:border-color .2s}.radar-card:hover{border-color:var(--cyan)}.radar-card h2{font:800 2.5rem var(--display);margin:16px 0 0}.radar-card .name{color:var(--cyan);font-size:.85rem}.radar-card p{line-height:1.6}.radar-card .description{color:var(--muted);font-size:.9rem}.badge{font-size:.8rem}.next{margin-top:auto;border-left:3px solid var(--lime);padding-left:14px}.next b{font-size:.7rem;letter-spacing:.12em;color:var(--lime)}.radar-card small{color:var(--muted);margin-top:20px}.project-detail{scroll-margin-top:100px;margin-top:35px;padding:clamp(20px,4vw,45px);border:1px solid var(--cyan);border-radius:24px;background:var(--panel)}.project-detail h2{font:800 clamp(2.5rem,6vw,4rem) var(--display);margin:15px 0}.project-detail h3{color:var(--cyan);margin-top:30px}.project-detail p,.project-detail li{line-height:1.75}.project-detail li{margin-bottom:8px}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}.project-detail a,.source-note a,noscript a{color:var(--lime)}.project-detail pre{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;font:inherit;color:var(--muted)}.project-detail summary{cursor:pointer;color:var(--cyan);padding:20px 0}.queue{list-style:none;padding:0}.queue li{padding:16px;border:1px solid var(--line);border-radius:12px}.queue strong{display:block}.queue pre{margin-bottom:0}.source-note{margin-top:40px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--cyan);outline-offset:5px}[hidden]{display:none!important}@media(max-width:1000px){.radar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.radar-grid,.detail-columns{grid-template-columns:1fr}.summary{grid-template-columns:repeat(2,1fr)}.filters{align-items:stretch;flex-direction:column}.radar-heading>p:last-child{font-size:.85rem}}

.gallery-hint{color:var(--cyan);font-size:.85rem}.gallery-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;align-items:start}.project-gallery figure{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:16px;background:var(--bg)}.project-gallery a{display:block}.project-gallery img{display:block;width:100%;height:auto}.project-gallery figcaption{padding:15px 18px;font-size:.85rem;line-height:1.6;color:var(--muted)}@media(max-width:620px){.gallery-grid{grid-template-columns:1fr}}

.network-nodes{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.network-node{padding:16px;border:2px solid var(--cyan);border-radius:12px}.network-node.wireless{border-color:var(--pink)}.network-node.planned{border-style:dashed}.network-node small{color:var(--muted)}.network-table-wrap{overflow-x:auto}.network-section table{border-collapse:collapse;width:100%;font-size:.85rem}.network-section th,.network-section td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}.network-section th{color:var(--cyan)}
