
.im,.im *{box-sizing:border-box}
.im{font-family:'IBM Plex Sans',sans-serif;color:#14201B;display:flex;flex-direction:column;gap:14px}
.im a{text-decoration:none;color:#0B6E4F}
.im .bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.im .seg{display:inline-flex;border:1.5px solid #B9C6BF;border-radius:999px;padding:3px;background:#FFFFFF}
.im .seg button{min-height:38px;padding:0 16px;border:0;border-radius:999px;background:transparent;font:600 14px 'IBM Plex Sans',sans-serif;color:#4E5B55;cursor:pointer}
.im .seg button[aria-pressed="true"]{background:#0A3B2C;color:#FFFFFF}
.im .chips{display:flex;gap:6px;flex-wrap:wrap}
.im .fc{min-height:36px;padding:0 12px;border-radius:999px;border:1.5px solid #DCE4DF;background:#FFFFFF;font:600 13px 'IBM Plex Sans',sans-serif;color:#14201B;cursor:pointer;display:inline-flex;align-items:center;gap:7px}
.im .fc[aria-pressed="true"]{border-color:#0B6E4F;background:#E6F2EC;color:#0A3B2C}
.im .fc i{width:10px;height:10px;border-radius:50%;flex:none}
.im .srch{display:flex;align-items:center;gap:8px;border:1.5px solid #B9C6BF;border-radius:999px;min-height:44px;padding:0 14px;background:#FFFFFF;flex:1 1 220px;max-width:360px}
.im .srch input{border:0;outline:0;font:500 15px 'IBM Plex Sans',sans-serif;flex:1;min-width:0;background:transparent}
.im .stage{display:grid;grid-template-columns:minmax(0,720px) minmax(280px,1fr);gap:22px;align-items:start}
.im.home .stage{grid-template-columns:minmax(0,1fr);position:relative}
.im .mapw{position:relative;width:100%;aspect-ratio:600 / 680;background:#0A3B2C;border-radius:22px;overflow:hidden}
.im .mapw svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.im .mk{position:absolute;transform:translate(-50%,-50%);border:0;padding:0;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;width:22px;height:22px;z-index:2}
.im .mk .d{width:12px;height:12px;border-radius:50%;background:#F5B323;border:2px solid #0A3B2C;box-shadow:0 0 0 2px rgba(245,179,35,.35);transition:transform .15s}
.im .mk.cl .d{width:20px;height:20px;display:flex;align-items:center;justify-content:center;font:700 10px 'IBM Plex Mono',monospace;color:#14201B}
.im .mk.b{width:14px;height:14px;z-index:1}
.im .mk.b .d{width:7px;height:7px;background:#9FE0BE;border:1.5px solid #0A3B2C;box-shadow:none}
.im .mk.c{width:12px;height:12px;z-index:1}
.im .mk.c .d{width:6px;height:6px;background:transparent;border:1.5px solid #86A99A;box-shadow:none}
.im .mk.dim{opacity:.18}
.im .mk:hover .d,.im .mk.on .d{transform:scale(1.35)}
.im .mk.on .d{background:#FFFFFF;border-color:#F5B323}
.im .mk:focus-visible{outline:3px solid #FFFFFF;outline-offset:1px;border-radius:50%}
.im .lb{position:absolute;white-space:nowrap;font:600 12px 'IBM Plex Sans',sans-serif;color:#FFFFFF;text-shadow:0 1px 2px #0A3B2C,0 0 3px #0A3B2C;pointer-events:none}
.im .lb.r{left:100%;margin-left:2px}.im .lb.l{right:100%;margin-right:2px}
.im .lb.t{bottom:100%;left:50%;transform:translateX(-50%)}.im .lb.b2{top:100%;left:50%;transform:translateX(-50%)}
.im .lb.no{display:none}
.im .leg{position:absolute;left:14px;top:14px;display:flex;flex-direction:column;gap:5px;background:rgba(10,59,44,.86);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:10px 12px;color:#D6E8DF;font-size:12.5px;z-index:3}
.im .leg>span{display:flex;align-items:center;gap:8px}
.im .leg i{width:12px;height:12px;border-radius:50%;flex:none}
.im .hint{position:absolute;right:14px;top:14px;font:500 11px 'IBM Plex Mono',monospace;letter-spacing:.06em;color:#9FE0BE;z-index:3;text-align:right}
.im .card{position:relative;background:#FFFFFF;border:1px solid #DCE4DF;border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:10px}
.im.home .card{position:absolute;right:14px;bottom:14px;width:min(300px,calc(100% - 28px));z-index:4;box-shadow:0 20px 40px -24px rgba(0,0,0,.6)}
.im .card .cls{position:absolute;right:8px;top:8px;width:36px;height:36px;border:0;background:transparent;font-size:16px;cursor:pointer;border-radius:10px}
.im .card .cls:hover{background:#F2F5F3}
.im .pill{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font:600 12px 'IBM Plex Sans',sans-serif;border-radius:999px;padding:3px 10px}
.im .pA{background:#E6F2EC;color:#0A3B2C}.im .pB{background:#FFF3D6;color:#6A4600}.im .pC{background:#F2F5F3;color:#4E5B55}
.im .tg{display:flex;gap:5px;flex-wrap:wrap}
.im .tg>span{font:500 11px 'IBM Plex Mono',monospace;letter-spacing:.03em;border:1px solid #DCE4DF;border-radius:6px;padding:2px 6px;color:#4E5B55}
.im .mem{display:flex;flex-wrap:wrap;gap:6px}
.im .mem>a{font:600 13px 'IBM Plex Sans',sans-serif;border:1px solid #DCE4DF;border-radius:999px;padding:5px 10px;color:#14201B;background:#F6F8F5}
.im .mem>a:hover{border-color:#0B6E4F}
.im .cta{display:flex;gap:8px;flex-wrap:wrap}
.im .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border-radius:12px;font:700 14.5px 'Bricolage Grotesque',sans-serif;border:0;white-space:nowrap;cursor:pointer}
.im .b1{background:#F5B323;color:#14201B}.im .b1:hover{background:#E3A112}
.im .b3{background:#FFFFFF;border:1.5px solid #B9C6BF;color:#14201B}
.im .side{display:flex;flex-direction:column;gap:12px;position:sticky;top:120px}
.im .empty{border:1px dashed #B9C6BF;border-radius:18px;padding:18px;color:#4E5B55;font-size:14.5px;line-height:1.55;background:#FFFFFF}
.im .stat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.im .stat>div{background:#FFFFFF;border:1px solid #DCE4DF;border-radius:14px;padding:10px 12px;display:flex;flex-direction:column}
.im .stat>div>b{font:800 22px 'Bricolage Grotesque',sans-serif}
.im .stat>div>span{font-size:12px;color:#4E5B55}
.im .list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}
.im.home .list{grid-template-columns:repeat(2,minmax(0,1fr))}
.im .rg{background:#FFFFFF;border:1px solid #DCE4DF;border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:2px}
.im .rg h3{margin:0 0 6px;font:500 12px 'IBM Plex Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:#0B6E4F}
.im .rg h4{margin:10px 0 2px;font:700 14px 'IBM Plex Sans',sans-serif;color:#14201B}
.im .ct{display:flex;flex-wrap:wrap;align-items:center;gap:4px 9px;min-height:36px;padding:4px 8px;border-radius:10px;color:#14201B;font:500 14.5px 'IBM Plex Sans',sans-serif}
.im .ct:hover{background:#E6F2EC}
.im .ct i{width:9px;height:9px;border-radius:50%;flex:none}
.im .ct small{margin-left:auto;font:500 11px 'IBM Plex Mono',monospace;color:#4E5B55;text-align:right}
.im .note{font-size:12.5px;color:#4E5B55;line-height:1.5}
.im .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:1023px){.im .stage{grid-template-columns:minmax(0,1fr)}.im .side{position:static}.im .list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.im .list,.im.home .list{grid-template-columns:minmax(0,1fr)}.im .lb.sm{display:none}.im .lb{font-size:11px}.im .leg{left:10px;top:10px;padding:8px 10px;font-size:11.5px}.im .hint{display:none}.im.home .card{position:static;width:auto;box-shadow:none}.im .mapw{border-radius:16px}.im .mk{width:28px;height:28px}.im .mk.b{width:18px;height:18px}.im .mk.c{width:16px;height:16px}.im .mk.b,.im .mk.c{pointer-events:none}}
@media (prefers-reduced-motion:reduce){.im .mk .d{transition:none}}

.im [hidden]{display:none!important}
.im .mem>span{font:600 13px 'IBM Plex Sans',sans-serif;border:1px solid #DCE4DF;border-radius:999px;padding:5px 10px;color:#14201B;background:#F6F8F5}
