*{box-sizing:border-box}body{margin:0;overflow:hidden;font-family:Arial,'Noto Sans KR',sans-serif;color:#172b43;background:#dce8f0}#viewport{position:fixed;inset:0}canvas{display:block}header{position:fixed;top:20px;left:24px;right:24px;height:68px;background:#ffffffed;backdrop-filter:blur(12px);border:1px solid #fff;border-radius:14px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;box-shadow:0 6px 24px #12304a0d}.brand b{font-size:25px;letter-spacing:-1px}.brand b span{margin-left:9px;font-size:13px;letter-spacing:1px;color:#de343e}.brand small{display:block;font-size:12px;color:#5e6e7e;margin-top:3px}nav{display:flex;gap:5px}button{font:inherit;border:0;cursor:pointer;color:#263e57;background:#eef2f6;border-radius:8px;padding:11px 15px;font-size:14px}button:hover{background:#dce6ef}button.active{background:#17344f;color:#fff}button:focus-visible{outline:3px solid #da3949;outline-offset:2px}aside{position:fixed;top:104px;bottom:24px;left:24px;width:275px;background:#fffffff2;border-radius:14px;padding:24px;overflow-y:auto;box-shadow:0 10px 40px #10294112}.eyebrow{font-size:12px;font-weight:bold;letter-spacing:1.8px;color:#758397}h1{font-size:23px;margin:10px 0}p{font-size:14px;line-height:1.65;color:#617187}.intro{margin-bottom:21px}.summary{display:flex;justify-content:space-between;padding:18px 0;border-top:1px solid #e4e9ef;border-bottom:1px solid #e4e9ef;font-size:12px;color:#6f7d8c}.summary strong{display:block;font-size:22px;color:#20384e;margin-bottom:6px}.summary small{font-size:12px}#tanklist{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:22px 0}#tanklist button{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:10px;background:#f0f3f6;border:1px solid transparent}#tanklist button.selected{border-color:#dc3b45;background:#fff0f0;color:#a9232d}#tanklist button span{width:5px;height:5px;background:#a4b3c0;border-radius:50%}#detail{border-top:1px solid #e4e9ef;padding-top:18px}h2{font-size:20px;margin:10px 0}dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:14px}dt{color:#718194}dd{margin:0;text-align:right;font-weight:bold}.note{font-size:12px;border-top:1px solid #e4e9ef;padding-top:16px;margin-bottom:0}#help{position:fixed;bottom:24px;left:50%;transform:translateX(-35%);background:#102940e8;color:white;border-radius:10px;padding:14px 20px;display:flex;align-items:center;gap:14px;max-width:calc(100% - 48px);font-size:14px}#help span{color:#cad7e2;font-size:13px}#capture{font-size:12px;padding:8px;white-space:nowrap}#mini{position:fixed;right:24px;bottom:24px;padding:12px;background:#ffffffed;border-radius:12px;box-shadow:0 6px 20px #193b4914}#mini span{display:block;font-size:12px;color:#66798b;margin-top:5px}#touch{display:none;position:fixed;bottom:110px;left:24px;text-align:center}#touch button{margin:3px;background:#16334cd9;color:#fff;width:45px;height:45px;padding:0;touch-action:none}#loading{position:fixed;inset:0;display:grid;place-items:center;background:#e8f0f5;font-size:16px}#viewport canvas{touch-action:none}@media(max-width:900px){#mini{display:none}#help{left:auto;right:24px;transform:none;max-width:calc(100% - 350px);display:block}#help span{display:block;margin-top:6px}}@media(max-width:600px){header{top:10px;left:10px;right:10px;height:60px;padding:0 12px}.brand b{font-size:21px}.brand small{font-size:11px}nav button{font-size:12px;padding:10px 8px}#full{display:none}aside{top:80px;left:10px;bottom:auto;width:168px;max-height:46vh;padding:14px}h1{font-size:18px}.intro,.summary,.note{display:none}#tanklist{margin:12px 0;gap:4px}#tanklist button{font-size:11px;padding:8px 5px}#detail p{font-size:12px}#detail h2{font-size:17px}dl{font-size:12px}#help{bottom:15px;left:10px;right:10px;max-width:none;padding:12px}#touch{left:auto;right:15px;bottom:100px}body.walk #touch{display:block}}
.map-settings{border-top:1px solid #e4e9ef;padding-top:16px;margin-top:16px}.map-settings label{display:flex;gap:8px;align-items:center;font-size:14px}.map-settings input{width:17px;height:17px;accent-color:#17344f}.map-settings p{font-size:12px;margin-bottom:0}#credits{position:fixed;bottom:8px;right:25px;font-size:12px;line-height:1.4;text-align:right;color:#17344f;background:#ffffffdc;padding:5px 8px;border-radius:5px}#credits a{color:inherit}#mini{bottom:67px}#help{bottom:67px}@media(max-width:600px){header .brand small{display:none}header .brand b{font-size:17px}header .brand b span{font-size:10px;margin-left:4px}nav{gap:3px}nav button{font-size:11px;padding:10px 6px}#reset{display:none}#credits{font-size:10px;left:10px;right:10px;bottom:5px}#help{bottom:53px}#touch{bottom:145px}.map-settings label{font-size:12px}.map-settings p{font-size:11px}}
#stationlist{display:flex;gap:7px;margin-top:18px}#stationlist button{flex:1;font-size:14px;background:#f7eccb;color:#705412;padding:10px 5px}#stationlist button:hover{background:#ecdaa3}@media(max-width:600px){#stationlist button{font-size:12px}}
#pumpcontrols{display:flex;gap:7px;margin-top:18px}#pumpcontrols button{flex:1;font-size:13px;background:#e0eaf1;color:#264c69;padding:10px 4px}#pumpcontrols button:hover{background:#cbdce9}@media(max-width:600px){#pumpcontrols button{font-size:11px}}

#perspective{position:fixed;top:104px;right:24px;display:flex;gap:4px;padding:5px;background:#fffffff2;border-radius:12px;box-shadow:0 6px 24px #12304a18}#perspective button{min-width:76px;font-size:14px}#perspective button[aria-pressed="true"]{background:#17344f;color:#fff}body.walk #help{max-width:calc(100% - 650px);flex-wrap:wrap}body.walk #help b{white-space:nowrap}@media(max-width:900px){body.walk #help{max-width:calc(100% - 350px)}}@media(max-width:600px){#perspective{top:80px;right:10px;padding:4px;gap:3px}#perspective button{min-width:62px;padding:10px 8px}body.walk #help{max-width:none}body.walk aside{max-height:40vh}}

@media(pointer:coarse){body.walk #touch{display:block;left:auto;right:15px;bottom:145px}#touch button{width:48px;height:48px}}

#stairAction,#tankClimb{background:#d4a63c;color:#172b43;font-size:14px}#stairAction[hidden]{display:none}#tankClimb{width:100%;margin:8px 0}body.walk #help{max-width:calc(100% - 380px)}@media(max-width:600px){body.walk #help{max-width:none}}
