@font-face{font-family:Gowun Dodum;font-style:normal;font-display:swap;font-weight:400;src:url(./gowun-dodum-korean-400-normal-kyfibGs5.woff2) format("woff2"),url(./gowun-dodum-korean-400-normal-BH5HIN7-.woff) format("woff")}@font-face{font-family:Black Han Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./black-han-sans-korean-400-normal-BRSjNtUw.woff2) format("woff2"),url(./black-han-sans-korean-400-normal-B_VfM2lb.woff) format("woff")}:root{--bg: #121315;--panel: #1a1b1e;--panel2: #222326;--line: #2f3034;--text: #e6dfcf;--mute: #9a9488;--accent: #d9b45f;--danger: #e2604f;--good: #8cc77a;--blue: #6fb2d9;--font: "Gowun Dodum", system-ui, sans-serif;--title: "Black Han Sans", "Gowun Dodum", sans-serif}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--font);overflow:hidden;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:8px 10px;cursor:pointer;touch-action:manipulation}button:hover:not(:disabled){border-color:#4a4b50;background:#2a2b2f}button:disabled{opacity:.38;cursor:default}button.primary{background:#3b3220;border-color:#7a6331;color:#f3dfa8}button.primary:hover:not(:disabled){background:#4a3e26}button.ghost{background:transparent;color:var(--mute)}kbd{font:10px var(--font);color:var(--mute);border:1px solid var(--line);border-radius:3px;padding:0 3px;margin-left:4px}small{color:var(--mute)}.danger{color:var(--danger)!important}.warn{color:#e0a85a!important}#app{display:grid;grid-template-columns:1fr 360px;height:100dvh}#mapwrap{position:relative;overflow:hidden}#map{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab;display:block}#map:active{cursor:grabbing}#top{position:absolute;left:0;right:0;top:0;display:flex;align-items:center;gap:12px;padding:10px 12px;background:linear-gradient(#0d0e10ee,#0d0e1000);pointer-events:none}#top>*{pointer-events:auto}#clock{font-size:14px;white-space:nowrap}#clock b{font-family:var(--title);font-weight:400;font-size:18px;color:var(--accent);margin-right:4px}#clock span{color:var(--mute);margin-left:6px}#clock .wx{color:var(--text)}#where{flex:1;text-align:center;font-size:15px;color:#f0e6cf;text-shadow:0 1px 3px #000;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#menu-btn{padding:4px 10px;background:#1a1b1ecc}#hud{position:absolute;left:12px;top:48px;width:230px;pointer-events:none}#stats{display:grid;gap:4px;background:#121315cc;border:1px solid #2a2b2f;border-radius:10px;padding:8px 10px}.stat{display:grid;grid-template-columns:34px 1fr 46px;align-items:center;gap:6px;font-size:12px;position:relative}.stat span{color:var(--mute)}.stat i{display:block;height:6px;border-radius:3px;background:#888;position:relative}.stat:before{content:"";position:absolute;left:40px;right:52px;height:6px;border-radius:3px;background:#2a2b2f}.stat i{z-index:1;transition:width .4s}.stat em{font-style:normal;text-align:right;font-variant-numeric:tabular-nums}.stat.hp i{background:#c9564a}.stat.food i{background:#d39a48}.stat.water i{background:#4f9ac8}.stat.temp i{background:linear-gradient(90deg,#5a8ed0,#e0c070)}.stat.energy i{background:#c8c060}.stat.low em,.stat.low span{color:var(--danger);animation:blink 1.2s infinite}@keyframes blink{50%{opacity:.45}}#chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.chip{font-weight:400;font-size:11px;padding:2px 7px;border-radius:10px;background:#2a2b2fdd;border:1px solid #3a3b40}.chip.red{background:#4a1f1add;border-color:#8a3a30;color:#ffb3a8}.chip.blue{background:#1a2e40dd;border-color:#2f5a80;color:#a8d4ff}.chip.warm{background:#4a3518dd;border-color:#8a6530;color:#ffd38a}#zoom{position:absolute;right:12px;top:52px;display:flex;flex-direction:column;gap:6px}#zoom button{width:38px;height:38px;padding:0;font-size:18px;background:#1a1b1ecc}#toast{position:absolute;left:50%;top:56px;transform:translate(-50%,-10px);max-width:min(90%,460px);padding:9px 14px;border-radius:10px;background:#1b1c1fee;border:1px solid #3a3b40;font-size:14px;opacity:0;transition:.25s;pointer-events:none;text-align:center}#toast.show{opacity:1;transform:translate(-50%)}#toast.loot{border-color:#6a5a30;color:#f0dca0}#toast.danger{border-color:#8a3a30;color:#ffb3a8}#logbox{position:absolute;left:12px;bottom:12px;width:min(460px,calc(100% - 24px));max-height:92px;overflow:hidden;background:#0f1012d9;border:1px solid #2a2b2f;border-radius:10px;padding:6px 10px;font-size:13px;line-height:1.45;cursor:pointer;display:flex;flex-direction:column}#logbox.open{max-height:55%;overflow-y:auto}#logbox p{margin:2px 0}#logbox time{color:#6a665e;font-size:11px;margin-right:6px}#logbox .story{color:#e9dcb8}#logbox .hint{color:#a9c79a}#logbox .loot{color:#f0d890}#logbox .good{color:var(--good)}#logbox .warn{color:#e0a85a}#logbox .danger,#logbox .death{color:#ff8f80}#logbox .day{color:var(--accent);font-family:var(--title)}#logbox .weather{color:var(--blue)}#panel{background:var(--panel);border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0}#panel-body{flex:1;overflow-y:auto;padding:14px}#panel h3{margin:0 0 4px;font-size:17px}.sub{color:var(--mute);font-size:13px;margin:2px 0 8px}.goal{font-size:13px;background:#182a33;border:1px solid #2c5466;border-radius:8px;padding:6px 9px;color:#bfe6f6}.places{display:grid;gap:6px}.place{display:grid;grid-template-columns:20px 1fr 46px;align-items:center;gap:8px;text-align:left;padding:9px 10px}.place .k{color:var(--mute);font-size:12px}.place .nm small{margin-left:4px}.stock{height:5px;background:#2a2b2f;border-radius:3px;overflow:hidden}.stock i{display:block;height:100%;background:#b9a46a}.places-mini{font-size:13px;color:#cfc6b0}.row{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}.row button{flex:1}.col{display:grid;gap:8px}#actions{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:10px;border-top:1px solid var(--line)}#actions button{display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 4px;position:relative}#actions button b{font-weight:400;font-size:14px}#actions button small{font-size:11px}#actions button kbd{position:absolute;top:3px;right:4px;margin:0;border:0}#actions button.on{border-color:#7a6331;color:#f3dfa8}#modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:#050506b0;z-index:10;padding:16px}#modal.show{display:flex}#modal-box{background:var(--panel);border:1px solid #34353a;border-radius:14px;padding:18px;width:min(440px,100%);max-height:100%;overflow-y:auto;box-shadow:0 20px 60px #000a}#modal.wide #modal-box{width:min(620px,100%)}#modal h2{margin:0 0 10px;font-family:var(--title);font-weight:400;font-size:22px;color:var(--accent)}#modal h4{margin:14px 0 6px;font-size:13px;color:var(--mute);font-weight:400;border-bottom:1px solid var(--line);padding-bottom:4px}.mhead{display:flex;align-items:center;justify-content:space-between}.mhead .x{padding:4px 10px}.items{display:grid;gap:2px}.item{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:7px 4px;border-bottom:1px solid #25262a}.item>div:first-child{min-width:0}.item b{font-weight:400}.item em{font-style:normal;color:var(--accent);font-size:13px}.item small{display:block;font-size:12px;margin-top:2px}.item small.out{color:#cbbf9e}.item.dim b{color:var(--mute)}.btns{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end;flex-shrink:0}.btns button{padding:5px 9px;font-size:13px}.weight{position:relative;height:22px;background:#2a2b2f;border-radius:6px;overflow:hidden;margin-bottom:10px}.weight i{position:absolute;inset:0 auto 0 0;background:#5e5233}.weight.over i{background:#7a3328}.weight span{position:relative;font-size:12px;line-height:22px;padding-left:8px}.eqs{display:grid;gap:4px}.eq{display:grid;grid-template-columns:52px 1fr auto;align-items:center;gap:2px 8px;font-size:14px;background:#1f2023;border-radius:8px;padding:6px 8px}.eq span{color:var(--mute);font-size:12px;grid-row:span 2}.eq em{color:#5a5752;font-style:normal}.eq b{font-weight:400}.eq small{grid-column:2;font-size:11px}.eq button{grid-row:1 / span 2;grid-column:3;padding:4px 8px;font-size:12px}.help{padding-left:18px;line-height:1.6;font-size:14px}.help li{margin-bottom:6px}.credit{font-size:11px;color:#6c685f;margin-top:14px}#modal.title-modal{background:radial-gradient(circle at 50% 40%,#0a0b0c90,#050506f0)}#modal.title-modal #modal-box{background:#141517f0;text-align:center;padding:28px 24px}.title h1{font-family:var(--title);font-weight:400;font-size:56px;margin:0;color:#e9dcb8;letter-spacing:2px;text-shadow:0 0 24px #b8473c55,3px 3px 0 #5a1f18}.title .tag{color:#b5ab96;margin:6px 0 22px}.title .col button{padding:12px;font-size:16px}.runs{margin-top:18px;text-align:left;font-size:13px;color:#b5ab96}.runs p{margin:3px 0}#modal.combat-modal{background:#1a0606b8}.combat .chead{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}.combat .chead h2{color:#ff8f80!important}.combat .chead span{font-size:13px;color:var(--mute)}.combat .chead b{color:var(--text);font-weight:400}.zlist{display:grid;gap:6px;margin:6px 0 10px}.zrow{display:grid;grid-template-columns:1fr 120px;grid-template-areas:"n lane" "hp d";gap:4px 10px;text-align:left;padding:8px 10px;background:#241c1c;border-color:#3a2a2a}.zrow.sel{border-color:#d9b45f}.zrow.dead{opacity:.35}.zrow .zn{grid-area:n}.zrow.k-runner .zn{color:#ffb070}.zrow.k-brute .zn{color:#ff7a6a}.zhp{grid-area:hp;height:5px;background:#3a2a2a;border-radius:3px;overflow:hidden;align-self:center}.zhp i{display:block;height:100%;background:#b8473c}.lane{grid-area:lane;display:flex;gap:3px;align-items:center;justify-content:flex-end}.lane i{width:18px;height:8px;border-radius:2px;background:#2f2626}.lane i.on{background:#d0544a;box-shadow:0 0 6px #d0544a}.lane .me{font-size:11px;color:#f3ead2;margin-left:4px}.zd{grid-area:d;font-size:12px;color:var(--mute);text-align:right}.clog{background:#120d0d;border-radius:8px;padding:8px 10px;min-height:92px;font-size:13px;line-height:1.5}.clog p{margin:1px 0}.clog .good{color:var(--good)}.clog .danger{color:#ff8f80}.clog .warn{color:#e0a85a}.clog .loot{color:#f0d890}.cacts{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:10px}.cacts button{display:flex;flex-direction:column;align-items:center;padding:8px 2px;position:relative}.cacts button b{font-weight:400}.cacts button small{font-size:10px;text-align:center}.cacts kbd{position:absolute;top:2px;right:3px;border:0;margin:0}.cacts .flee{border-color:#3a4a5a}.meds{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.meds button{font-size:12px;padding:4px 8px}.end{text-align:center}.end h1{font-family:var(--title);font-weight:400;font-size:40px;margin:6px 0;color:#ff8f80}.end.win h1{color:#8fd4f0}.end .cause{color:#cfc6b0}.nums{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0}.nums b{display:block;font-family:var(--title);font-weight:400;font-size:26px;color:var(--accent)}.nums span{font-size:12px;color:var(--mute)}@media(max-width:820px){#app{grid-template-columns:1fr;grid-template-rows:1fr auto}#panel{border-left:0;border-top:1px solid var(--line);max-height:44dvh}#panel-body{padding:10px 12px}#actions{grid-template-columns:repeat(4,1fr);padding:8px;padding-bottom:max(8px,env(safe-area-inset-bottom))}#actions kbd,.cacts kbd,.place .k{display:none}.place{grid-template-columns:1fr 40px}#hud{width:180px;top:44px;left:8px}#stats{padding:6px 8px;gap:3px}.stat{grid-template-columns:28px 1fr 40px;font-size:11px}.stat:before{left:34px;right:46px}#top{padding:8px 10px;gap:8px}#clock span:not(.wx){display:none}#clock{font-size:12px}#where{font-size:13px;text-align:right}#logbox{left:8px;bottom:8px;max-height:64px;font-size:12px}#zoom{top:auto;bottom:10px;right:8px}#logbox{width:calc(100% - 66px)}.cacts{grid-template-columns:repeat(3,1fr)}.title h1{font-size:46px}}img[hidden]{display:none!important}.scene-art{display:block;width:100%;height:142px;object-fit:cover;border-radius:9px;margin:8px 0}.title-art{width:100%;height:220px;object-fit:cover;object-position:65% center;border-radius:10px;margin-bottom:16px}#modal.title-modal #modal-box{width:min(760px,95vw)}.ending-art{width:100%;max-height:230px;object-fit:cover;border-radius:10px}.enemy-art{width:60px;height:80px;object-fit:contain;float:left;margin-right:10px}.survivor-art{width:42px;height:60px;object-fit:contain}.zrow .zn{align-self:center}.zd small{display:block;font-size:10px;color:#e6ba8f}.forecast,.advice{padding:9px 11px;background:#202a2c;border-left:3px solid #79a9b3;border-radius:5px;font-size:12px;line-height:1.6}.forecast small{display:block;color:#edb285}.change{color:#b8c9ca;font-size:11px;line-height:1.5}.route-info{font-size:12px;line-height:1.6;color:#b8c9ca}.route-segments{margin:8px 0;font-size:12px;line-height:1.7;color:#b8c9ca}.route-legend{display:flex;flex-wrap:wrap;gap:5px 12px;font-size:11px;line-height:1.6;color:#dfdaca;margin:8px 0}.route-legend span{display:inline-flex;align-items:center;gap:5px}.route-legend i{width:22px;border-top:3px solid}.route-segments li[aria-current=step]{color:#fff2cc;font-weight:700}.route-progress{display:block;width:100%;height:6px;accent-color:#f3d393}.route-segments summary{cursor:pointer}.route-segments ol{max-height:180px;overflow:auto;padding-left:28px}.search-info{display:block;font-size:11px;line-height:1.55;margin:5px 0 0!important}.map-filters{display:flex;gap:5px}.map-filters button{flex:1;font-size:12px;padding:7px 4px}.map-filters button[aria-pressed=true],[data-act=building-type][aria-pressed=true]{background:#3b3220;border-color:#d9b45f}.item-art,.item-placeholder{width:42px;height:42px;object-fit:contain;float:left;margin:0 10px 4px 0}.item-placeholder{display:grid;place-items:center;background:#292a2c;color:#948a72;border-radius:7px}.recap{text-align:left;font-size:12px;line-height:1.6;background:#202124;padding:10px;margin-bottom:14px;border-radius:8px}.recap p{margin:4px 0}.recap time{color:var(--mute)}#chips button{pointer-events:auto}.clog p:last-child{animation:result-in .25s ease-out}@keyframes result-in{0%{background:#a9793b55;transform:translateY(3px)}to{background:transparent;transform:none}}@media(max-width:820px){.scene-art{height:86px}.title-art{height:155px}.enemy-art{width:44px;height:62px;margin-right:6px}.zrow{grid-template-columns:1fr 115px}.ending-art{max-height:145px}.advice{font-size:11px;margin:6px 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-width:820px){#panel{max-height:52dvh}#actions{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}#actions button{min-height:44px;padding:5px 2px}#actions button b{font-size:12px}#actions button small{font-size:10px}.scene-art{height:56px}}.hit-note{display:block;color:#ffb28f;font-size:12px;animation:result-in .25s ease-out}#toast .item-art{float:none;vertical-align:middle;width:28px;height:28px;margin:0 5px 0 0}#modal-box .event-art{height:clamp(140px,23dvh,210px);object-position:center}#modal-box [hidden]{display:none!important}.list-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,.65fr);gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}.list-controls label{min-width:0;font-size:12px;color:var(--mute)}.list-controls input[type=search],.list-controls select{display:block;width:100%;min-width:0;margin-top:4px;padding:9px;border:1px solid #48443b;border-radius:6px;background:#202124;color:var(--text);font:inherit;font-size:16px}.list-controls .ready-filter{grid-column:1 / -1;display:flex;align-items:center;gap:7px;padding:5px 0;color:var(--text)}.list-count{grid-column:1 / -1;color:var(--mute)}.item small.equipment-compare{clear:both;color:#a9c5c7;padding-top:5px;line-height:1.5}.item:has(>.equipment-compare){display:grid;grid-template-columns:minmax(0,1fr) auto}.item>.equipment-compare{grid-column:1 / -1}.guide-link{width:100%;text-align:left;font-size:12px;padding:7px 9px;margin:5px 0;color:#cbd5ba}.guide-steps{display:grid;gap:12px}.guide-steps section{background:#202124;padding:12px;border-radius:8px}.guide-steps h3{margin:0;color:var(--accent);font-size:16px}.guide-steps p{font-size:14px;line-height:1.6}.material-hints{clear:both;margin-top:7px;font-size:12px;color:#b9cbcb}.material-hints summary{cursor:pointer;padding:4px 0}.material-hints button{margin:4px 4px 0 0;font-size:12px;padding:5px 7px}.trail-choice{border-top:1px solid #3c4144;padding:8px 0}.trail-choice .item-art,.trail-choice .item-placeholder{float:none;vertical-align:middle;width:28px;height:28px;margin:0 4px}.source-note{display:block;color:var(--mute);font-size:12px;line-height:1.6}.shelter-facilities{display:grid;gap:12px;margin:16px 0}.shelter-facilities section{padding:12px;background:#202124;border-radius:8px}.shelter-facilities h3{margin:0;color:var(--accent)}.shelter-facilities p{line-height:1.6}.shelter-facilities small{display:block;line-height:1.6}.shelter-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-bottom:1px solid var(--line)}.shelter-item>span{min-width:0}.shelter-item button{flex-shrink:0}.meds{max-height:160px;overflow-y:auto}.travel-card{padding:6px 2px}.travel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#8eaaa9;font-size:12px}.travel-mode{background:#183a3b;color:#9ce8df;border:1px solid #325956;border-radius:20px;padding:4px 10px}.travel-card h3{margin:16px 0 18px;color:#f1f1e8;font-size:18px;line-height:1.4;overflow-wrap:anywhere}.travel-caption{margin:0;font-size:11px;color:#9aaaa9}.travel-card #travel-distance{margin:4px 0 18px;font-size:clamp(18px,4.8vw,24px);font-weight:700;color:#b0f1e8;letter-spacing:-.5px}.travel-card .route-progress{height:4px;accent-color:#77d9cc;margin-bottom:18px}.travel-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.travel-actions button{min-height:44px;font-size:12px}.travel-actions [data-act=travel-stop]{background:#3b2928;color:#ffd0bc;border-color:#795048}.travel-note{color:#9caaa7;font-size:11px;line-height:1.8;margin:14px 0}.travel-overview{width:100%;font-size:12px;min-height:38px}.travel-details{border-top:1px solid #343d3d;margin-top:18px;padding-top:14px;color:#9caaa7;font-size:12px}.travel-details summary{cursor:pointer}.travel-active #logbox:not(.open){max-height:36px;background:#12191bd9;font-size:11px}.travel-active #logbox:not(.open) p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.travel-active #logbox:not(.open) p:not(:first-child){display:none}#hud-toggle{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:40px;padding:8px 10px;background:#142327ed;border-color:#385255;border-radius:9px;color:#c8e4df;font-size:12px}#hud-toggle-label{font-size:11px;color:#9eb9b6;white-space:nowrap}#hud-toggle:focus-visible{outline:2px solid #9ce8df;outline-offset:3px}#hud-toggle.has-warning{border-color:#c98665}#hud #stats{margin-top:5px}#hud #stats[hidden],#hud-alert[hidden]{display:none}#hud-alert{margin-top:5px;padding:7px 9px;background:#3d211ced;border:1px solid #985347;border-radius:8px;color:#ffc8b5;font-size:11px;line-height:1.6;overflow-wrap:anywhere}#hud.collapsed{width:174px}.arrival-card{margin:0 0 16px;padding:14px;border:1px solid #466963;border-radius:12px;background:#192b29}.arrival-badge{font-size:11px;color:#9fe6d5}.arrival-card h3{font-size:18px;line-height:1.4;margin:6px 0 14px;overflow-wrap:anywhere}.arrival-steps{display:flex;list-style:none;gap:5px;padding:0;margin:0 0 12px;font-size:11px;color:#8caaa2}.arrival-steps li{flex:1;padding:6px 3px;border-bottom:2px solid #354a44;text-align:center}.arrival-steps [aria-current=step]{color:#baf5e4;border-color:#8ad9bd}.arrival-status{color:#cedbd3;font-size:12px;line-height:1.6}.arrival-card>button{display:block;width:100%;min-height:44px;margin:8px 0;text-align:left}.arrival-card button:not(:disabled){border-color:#62877b}.arrival-card>p{font-size:12px;line-height:1.6}.arrival-help{margin-top:14px;color:#9cafaa;font-size:11px;line-height:1.6}.arrival-help summary{cursor:pointer}.preview-card{padding:12px;border:1px solid #466963;border-radius:12px;background:#192b29}.preview-card h3{margin:5px 0 8px;font-size:18px;line-height:1.4;overflow-wrap:anywhere}.preview-facilities,.preview-card .building-status{font-size:11px;line-height:1.5;color:#b0c8bc;margin:6px 0}.preview-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 0 6px}.preview-metrics span{display:block;font-size:11px;color:#98b3a9}.preview-metrics b{display:block;font-size:18px;color:#c6f2de;margin-top:4px;overflow-wrap:anywhere}.preview-arrival{font-size:11px;color:#bacbbf;margin:6px 0 12px}.preview-actions{display:grid;grid-template-columns:2fr 1fr;gap:8px;margin:12px 0 8px}.preview-actions button{min-height:44px;font-size:12px}.preview-warnings{color:#f0c08e;font-size:11px;line-height:1.6;padding:7px 9px;background:#3a3027;border-radius:6px}.preview-details{margin-top:12px;padding-top:12px;border-top:1px solid #385046;font-size:11px;color:#a7beb2}.preview-details summary{cursor:pointer}
