/* 실험 기능 (A-1·B·C 전용) */
.xtn{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;line-height:1.2;padding:3px 8px;border-radius:980px;white-space:nowrap;vertical-align:middle;font-style:normal}
.xtn.good{background:rgba(114,175,44,.14);color:#3f6f12}.xtn.good::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--g)}
.xtn.co{background:#1d1d1f;color:#fff}.xtn.act{background:rgba(0,0,0,.06);color:#424245}.xtn.iss{border:1px solid rgba(0,0,0,.14);color:#86868b}
/* sites */
.xt{padding-top:32px}.xt-n{font-weight:400;color:var(--m);font-size:13px;margin-left:6px}
.xgd{display:flex;gap:14px;align-items:flex-start;border-radius:14px;padding:14px 16px;margin:6px 0 18px;background:rgba(114,175,44,.08);border:1px solid rgba(114,175,44,.35)}
.xgd>b{font-size:12px;color:#3f6f12;white-space:nowrap;padding-top:2px}.xgd ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.xgd a{font-size:15px;font-weight:600;line-height:1.4}.xgd a:hover{color:var(--g)}.xgd small{color:var(--m);font-size:12px;margin-left:8px}
.xyr{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,1fr);overflow-x:auto;border-top:2px solid currentColor;-webkit-overflow-scrolling:touch}
.xyc{padding:12px 12px 6px;border-left:1px solid var(--l2);min-height:160px}.xyc:first-child{border-left:0;padding-left:0}
.xyc>b{display:block;font-size:20px;font-weight:700;letter-spacing:-.02em;margin-bottom:10px}.xyc.on>b{color:var(--g)}
.xrc{display:block;border-radius:10px;padding:10px;margin-bottom:8px;font-size:13px;font-weight:600;line-height:1.35;background:rgba(0,0,0,.04)}
.xrc:hover{background:rgba(114,175,44,.12)}.xrc small{display:block;font-weight:400;font-size:11px;color:var(--m);margin-top:4px}
.xnd{display:block;font-size:12px;line-height:1.4;padding:5px 0 5px 10px;border-left:2px solid var(--l);margin-bottom:6px;opacity:.85}
.xnd.good{border-color:var(--g);font-weight:600;opacity:1}.xnd:hover{color:var(--g)}
.xyl{font-size:10px;color:var(--m);margin:10px 0 6px;letter-spacing:.02em}
/* news */
.xg{margin:0 0 40px}.xg-h{display:flex;align-items:baseline;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.xg-h h2{font-size:24px;font-weight:700;letter-spacing:-.02em}.xg-h p{font-size:14px;color:var(--m)}
.xg-r{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.xg-c{display:flex;flex-direction:column;gap:10px;border-radius:18px;padding:20px;border:1px solid var(--l2);background:#fff;transition:border-color .2s;min-height:210px}
.xg-c:hover{border-color:var(--g)}.xg-c .xtn{align-self:flex-start}
.xg-c h3{font-size:16px;font-weight:600;line-height:1.4;letter-spacing:-.01em}.xg-c p{font-size:13px;color:var(--m);line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.xg-c small{margin-top:auto;font-size:12px;color:var(--m)}
.xsort{display:flex;justify-content:flex-end;margin:0 0 12px}
.xseg{display:inline-flex;background:rgba(0,0,0,.06);border-radius:980px;padding:3px}
.xseg button{border:0;background:transparent;font:inherit;font-size:13px;padding:7px 14px;border-radius:980px;cursor:pointer;color:inherit;opacity:.75}
.xseg button[aria-pressed="true"]{background:#fff;color:#1d1d1f;font-weight:600;opacity:1;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.nc-tg .xtn{margin-left:6px}
/* project */
.xp-in{display:grid;grid-template-columns:1fr 1fr;gap:28px;border:1px solid var(--l2);border-radius:20px;padding:28px}
.xp-t{font-size:26px;font-weight:700;letter-spacing:-.02em;margin:6px 0 4px}.xp-s{font-size:13px;color:var(--m);line-height:1.5;margin-bottom:16px}
.xp-l{font-size:12px;font-weight:600;color:var(--m);margin:0 0 8px}
.xys{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px}
.xys a,.xys span{font-size:13px;font-weight:600;padding:6px 12px;border-radius:980px;border:1px solid var(--l)}
.xys .on{background:var(--g);border-color:var(--g);color:#fff}.xys a:hover{border-color:var(--g);color:var(--g)}
.xp-go{display:inline-flex;gap:8px;align-items:center;font-size:14px;font-weight:600;padding:12px 18px;border-radius:980px;background:#1d1d1f;color:#fff}
.xp-go:hover{background:var(--g)}
.xp-b ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.xp-b li a{font-size:15px;font-weight:600;line-height:1.4;display:block}.xp-b li a:hover{color:var(--g)}
.xp-b li small{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--m);margin-top:4px}
/* B: 다크 */
.b .xrc{background:#1c1c1e}.b .xrc:hover{background:rgba(114,175,44,.18)}.b .xyc{border-color:#2a2a2c}
.b .xg-c{background:#161617;border-color:#2a2a2c}.b .xp-in{border-color:#2a2a2c;background:#111}
.b .xtn.good{color:#9fd36a}.b .xtn.co{background:#f5f5f7;color:#1d1d1f}.b .xtn.act{background:#2a2a2c;color:#d2d2d7}.b .xtn.iss{border-color:#424245;color:#a1a1a6}
.b .xgd{background:rgba(114,175,44,.1)}.b .xgd>b{color:#9fd36a}.b .xseg{background:#2a2a2c}.b .xp-go{background:#f5f5f7;color:#1d1d1f}.b .xp-go:hover{background:var(--g);color:#fff}
.b .xys .on{color:#111}
/* C: 타일 */
.c .xp-in{background:#fff;border:0}.c .xrc{background:#f5f5f7}
@media(max-width:1068px){.xg-r{grid-template-columns:repeat(2,1fr)}}
@media(max-width:734px){.xg-r{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:84%;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:4px}.xg-c{scroll-snap-align:start}.xg-c{min-height:0}.xsort{justify-content:flex-start}
 .xyr{grid-auto-flow:row;grid-auto-columns:auto;border-top:0}
 .xyc{border-left:0!important;border-top:1px solid var(--l2);min-height:0;display:grid;grid-template-columns:52px 1fr;column-gap:12px;padding:12px 0!important}
 .xyc>b{grid-row:1/span 20;font-size:17px;margin:0}.xyc>*:not(b){grid-column:2}
 .xgd{flex-direction:column;gap:8px}.xgd small{display:block;margin:2px 0 0}
 .xp-in{grid-template-columns:1fr;padding:20px;gap:20px}}

/* xnd-clamp: related-news titles max 2 lines */
.xyc .xnd{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;text-overflow:ellipsis;word-break:keep-all;overflow-wrap:anywhere}
.xyc .xnd{padding-top:0;padding-bottom:0;margin:6px 0 10px;max-height:2.8em}
.xyc .xrc{word-break:keep-all}

/* 이 사업지 분석: inline year switch */
.xys button{font:inherit;font-size:13px;font-weight:600;padding:6px 12px;border-radius:980px;border:1px solid var(--l);background:none;color:inherit;cursor:pointer;font-variant-numeric:tabular-nums;transition:background .2s,border-color .2s,color .2s}
.xys button:hover{border-color:#72AF2C;color:#72AF2C}
.xys button.on{background:#72AF2C;border-color:#72AF2C;color:#fff}
.xp-d{min-height:176px;margin:-6px 0 18px;transition:opacity .22s ease,transform .22s ease}
.xp-d.fx,.xp-nl.fx{opacity:0;transform:translateY(4px);transition:none}
.xp-w{font-size:17px;font-weight:600;letter-spacing:-.01em;line-height:1.35;word-break:keep-all}
.xp-m{font-size:13px;color:var(--m);margin-top:2px;font-variant-numeric:tabular-nums}
.xp-ths{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px;height:72px}
.xp-th{position:relative;padding:0;border:0;border-radius:10px;overflow:hidden;background:#f5f5f7;cursor:zoom-in;height:72px}
.xp-th img{width:100%;height:100%;object-fit:cover;display:block}
.xp-th.more{position:absolute;right:0;top:0;width:calc(25% - 4.5px);height:72px;background:rgba(0,0,0,.45);color:#fff;font-size:15px;font-weight:600;cursor:pointer}
.xp-ths{position:relative}
.xp-np{grid-column:1/-1;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#f5f5f7;color:var(--m);font-size:13px}
.xp-o{display:inline-block;margin-top:10px;font-size:14px;font-weight:600;color:#72AF2C}
.xp-o.here{color:var(--m);font-weight:500}
.xp-o:not(.here):hover{text-decoration:underline}
.xp-nl{max-height:330px;overflow:auto;transition:opacity .22s ease,transform .22s ease;overscroll-behavior:contain;padding-right:4px}
.xp-b ul.xp-nl{gap:12px}
.xp-nl li.dim{opacity:.55}
.xp-nl li.xp-sep{font-size:12px;font-weight:600;color:var(--m);padding-top:6px;border-top:1px solid var(--l2)}
.b .xp-th,.b .xp-np{background:#1d1d1f}
.b .xys button.on{color:#111}
@media(max-width:833px){.xp-ths{height:64px}.xp-th,.xp-th.more{height:64px}.xp-d{min-height:166px}.xp-nl{max-height:300px}}

/* 반월 녹조 전·후 */
.ba-l{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:12px}
.ba-l li{display:grid;grid-template-columns:56px 1fr 1fr;gap:10px;align-items:center}
.ba-y{font-size:20px;font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.ba-t{position:relative;display:block;padding:0;border:0;border-radius:12px;overflow:hidden;background:#f5f5f7;cursor:zoom-in;aspect-ratio:4/3}
.ba-t img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.ba-t:hover img{transform:scale(1.03)}
.ba-t span{position:absolute;left:8px;top:8px;padding:3px 9px;border-radius:980px;font-size:12px;font-weight:600;color:#fff;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.ba-t:last-child span{background:rgba(114,175,44,.9)}
.ba-n{margin-top:10px;font-size:13px;color:var(--m)}
@media(min-width:834px){.ba-l{max-width:640px}}
@media(max-width:833px){.ba-l li{grid-template-columns:44px 1fr 1fr;gap:8px}.ba-y{font-size:17px}}
.ba-t img[src]{filter:none}

.xp-ry{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 10px}
.xp-ry button{min-height:30px;padding:0 12px;border-radius:980px;border:1px solid var(--l2,#d2d2d7);background:transparent;color:inherit;font-size:13px;cursor:pointer}
.xp-ry button.on{border-color:#72AF2C;color:#5f9a22;font-weight:600}
.xp-ry span{font-size:12px;color:var(--m);margin-left:4px}
/* 반월 연도별 같은 자리 (단일 행) */
.ba-r{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:760px}
.ba-r li{min-width:0}
.ba-r .ba-t span{background:rgba(0,0,0,.55)}
.ba-r li:last-child .ba-t span{background:rgba(114,175,44,.9)}
@media(max-width:833px){.ba-r{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px;margin-right:-22px;padding-right:22px;scrollbar-width:none}.ba-r::-webkit-scrollbar{display:none}.ba-r li{flex:0 0 72%;scroll-snap-align:start}}
