*{box-sizing:border-box}html,body,#map{width:100%;height:100%;margin:0}body{overflow:hidden;background:#02070b;color:#eafaff;font:14px system-ui}#map{position:fixed;inset:0}header{position:fixed;z-index:4;top:0;left:0;right:0;height:52px;padding:0 14px;display:flex;align-items:center;gap:16px;background:linear-gradient(#02070bee,transparent);pointer-events:none}header b{letter-spacing:4px;font-size:17px}header b span{font-size:11px;letter-spacing:2px}header time{margin-left:auto;font:10px ui-monospace;color:#a8bec8}#health{display:flex;align-items:center;gap:6px;font-size:10px;color:#93aab5}#health i{width:7px;height:7px;border-radius:50%;background:#f1b94b}.dock{position:fixed;z-index:6;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);display:flex;padding:5px;gap:3px;border:1px solid #214759;border-radius:18px;background:#04111bd9;backdrop-filter:blur(14px);box-shadow:0 8px 35px #000a}.dock button{width:68px;height:48px;border:0;border-radius:13px;background:transparent;color:#d8f6ff;font-size:20px}.dock small{display:block;font-size:9px;margin-top:2px;color:#8da9b5}.sheet{position:fixed;z-index:8;left:50%;bottom:0;width:min(460px,100%);transform:translate(-50%,110%);transition:transform .22s ease;background:#04111bf5;border:1px solid #23546a;border-bottom:0;border-radius:22px 22px 0 0;padding:8px 18px max(22px,env(safe-area-inset-bottom));backdrop-filter:blur(18px);box-shadow:0 -15px 45px #000b}.sheet.open{transform:translate(-50%,0)}.grab{width:42px;height:4px;background:#58727d;border-radius:4px;margin:0 auto 13px}.title{display:flex;justify-content:space-between;align-items:center;letter-spacing:2px;margin-bottom:8px}.title button{border:0;background:none;color:#9db6c1;font-size:24px}.row{display:flex;align-items:center;gap:12px;height:48px;border-top:1px solid #163441;color:#78919c}.row.on{color:#e9fbff}.row span{flex:1}.row strong{color:#6fe9bd}.row small{font-size:9px;color:#6f8792}.sheet p{font-size:20px;margin:8px 0}.sheet>small{color:#8ea7b2;line-height:1.5}.maplibregl-ctrl-bottom-left{display:none}.maplibregl-popup-content{background:#05141e;color:#eaffff;border:1px solid #2a6078;border-radius:10px}@media(min-width:760px){.dock{bottom:18px}.sheet{bottom:82px;border-bottom:1px solid #23546a;border-radius:18px;width:360px}.sheet.open{transform:translate(-50%,0)}header{height:60px;padding:0 20px}.maplibregl-ctrl-bottom-left{display:block;bottom:15px;left:15px}}.legend{position:fixed;z-index:5;top:58px;left:50%;transform:translateX(-50%);display:flex;gap:5px;background:#04111bd9;border:1px solid #214759;border-radius:12px;padding:5px;backdrop-filter:blur(12px)}.legend span{padding:5px 8px;font-size:9px;white-space:nowrap;color:#9bb3bd}.legend span:first-child{color:#ffd54c}.legend span:nth-child(2){color:#ff6d5f}.legend span:nth-child(3){color:#4ed8ff}@media(max-width:700px){.legend{top:48px;width:calc(100% - 20px);justify-content:center}.legend span{flex:1;text-align:center;padding:5px 2px}}
.volcanoMedia{margin:12px 0;border-radius:12px;overflow:hidden;background:#090d11;border:1px solid #27323a}.volcanoMedia img{display:block;width:100%;max-height:240px;object-fit:cover}.volcanoMedia small{display:block;padding:7px 9px;color:#aebbc4;font-size:11px}.mediaLink{display:block;margin:10px 0;padding:10px;border-radius:9px;background:#172128;text-decoration:none}

#placeForm{display:flex;gap:8px;margin:12px 0}#placeInput{flex:1;min-width:0;padding:12px;border-radius:10px;border:1px solid #34434d;background:#0b1116;color:#eef7fa}#placeForm button{padding:0 16px;border-radius:10px;border:0;font-weight:700}

/* Mobile bottom-sheet containment */
.sheet{max-height:min(82dvh,720px);overflow-y:auto;overscroll-behavior:contain;padding-top:54px}
.sheet .close{position:sticky;top:0;z-index:20;float:right;margin-top:-44px;margin-right:0;min-width:42px;min-height:42px;display:grid;place-items:center;background:#172128;border:1px solid #34434d;border-radius:50%}
@media(max-width:700px){.sheet{left:8px;right:8px;bottom:8px;max-height:78dvh;width:auto}.sheet .close{top:0}}
/* Mobile sheet positioning fix */
@media(max-width:700px){
  .sheet{left:8px;right:8px;width:auto;transform:translateY(110%);}
  .sheet.open{transform:translateY(0);}
}

.issLive{margin:8px 0 12px}.issLive iframe{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:12px;background:#000}.issLive small{display:block;margin-top:6px;color:#9db6c1;font-size:9px;letter-spacing:.5px}
