html{font-size:calc(16px * var(--fs,1))}:root{--bg:#1b1612;--panel:#2a211a;--ink:#f6ead2;--dim:#b4a58c;--gold:#f0b84a;--red:#d9533f;--ok:#6cc08a;--dock:calc(132px + (var(--fs,1) - 1) * 125px);--top:44px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;color:var(--ink);overscroll-behavior:none;touch-action:manipulation;background:#0d0a08;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Apple SD Gothic Neo,Noto Sans KR,sans-serif}#app{background:var(--bg);flex-direction:column;max-width:540px;height:100%;margin:0 auto;display:flex;position:relative;overflow:hidden}#top{height:var(--top);flex:none;justify-content:space-between;align-items:center;padding:2px 10px;display:flex}#top h1{letter-spacing:.5px;margin:0;font-size:.875rem}button{font:inherit;color:inherit}#btn-settings{background:#0003;border:1px solid #fff3;border-radius:8px;width:44px;height:44px;font-size:1.125rem}#stage{background:#000;flex:none;justify-content:center;align-items:flex-start;min-height:0;display:flex;overflow:hidden}#view{width:min(100%, calc((100dvh - var(--top) - var(--dock)) * .6667));aspect-ratio:2/3;position:relative}#game{touch-action:none;background:#14110e;width:100%;height:100%;display:block}#hud{pointer-events:none;text-shadow:0 1px 2px #000;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;padding:4px 6px;font-size:.75rem;font-weight:700;display:flex;position:absolute;top:0;left:0;right:0}.pill{background:#14100c;border-radius:12px;padding:2px 9px}.pill.night{background:#1a2350cc}.hull{background:#000a;border-radius:7px;width:5.25rem;height:1rem;position:relative;overflow:hidden}.hull>i{background:var(--ok);position:absolute;top:0;bottom:0;left:0;right:auto}.hull.low>i{background:var(--red)}.hull>b{background:#14100c;border-radius:6px;padding:0 4px;font-size:.75rem;line-height:1rem;position:absolute;top:0;left:50%;transform:translate(-50%)}.prog{background:#0006;height:3px;position:absolute;top:0;left:0;right:0}.prog>i{background:var(--gold);height:100%;display:block}#edges{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.edge{pointer-events:auto;color:var(--ink);overflow-wrap:anywhere;background:#0009;border:1px solid #fff3;border-radius:8px;max-width:5.25rem;min-height:44px;padding:10px 4px;font-size:.75rem;font-weight:700;line-height:1.25;position:absolute;top:44%}.edge.r{right:4px}.edge.l{left:4px}.edge.ready{border-color:var(--ink);background:#000d;transform:scale(1.08)}.edge.alert{border-color:var(--red);animation:.6s infinite alternate pulse}.badge{background:var(--red);color:#fff;border-radius:9px;min-width:18px;margin-left:4px;padding:0 4px;font-style:normal;display:inline-block}@keyframes pulse{0%{background:#000b}to{background:#7a1c10cc}}.roomtag{white-space:nowrap;background:#000a;border-radius:10px;padding:1px 10px;font-size:.75rem;position:absolute;bottom:6px;left:50%;transform:translate(-50%)}#finger{border:3px solid var(--gold);pointer-events:none;border-radius:50%;width:56px;height:56px;margin:-28px 0 0 -28px;animation:.7s infinite tapp;position:absolute}@keyframes tapp{0%{opacity:1;transform:scale(.7)}to{opacity:0;transform:scale(1.5)}}#bubble{pointer-events:none;flex-direction:column;gap:4px;display:flex;position:absolute;bottom:calc(10px + 1.4rem);left:6px;right:6px}.bub{background:#000c;border-radius:10px;padding:6px 10px;font-size:.7812rem;line-height:1.4}.bub.hint{color:var(--gold);text-align:center;font-size:.875rem;font-weight:700}.bub.radio{color:#bfe8ff}#dock{flex:1 1 var(--dock);min-height:var(--dock);background:var(--panel);border-top:1px solid #fff2;flex-direction:column;gap:6px;padding:6px 8px;display:flex}.rc .rn{display:none}.legbar{color:var(--dim);align-items:center;gap:8px;font-size:.75rem;display:none}.legbar span{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;max-width:34%;overflow:hidden}.legbar i{background:#fff3;border-radius:2px;flex:1;height:4px;position:relative}.legbar b{background:var(--gold);border-radius:3px;width:12px;height:12px;margin-left:-6px;position:absolute;top:-4px}@media (min-height:700px){#dock{justify-content:space-evenly}.rc{flex-direction:column;gap:1px;padding:7px 4px}.rc .rn{color:var(--dim);font-size:.75rem;display:block}.rc.warn .rn{color:#ffd9d2}.legbar{display:flex}#dock .drow .btn{min-height:50px}}.chips-row{justify-content:space-between;gap:6px;display:flex}.rc{background:#0004;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:4px;padding:3px 4px;font-size:.875rem;display:flex}.rc.warn{background:#6a2218}.rc .wm{color:#6a2218;text-align:center;background:#ffd9d2;border-radius:50%;flex:none;min-width:1.1rem;height:1.1rem;font-size:.75rem;font-style:normal;font-weight:800;line-height:1.1rem;display:inline-block}.ico{vertical-align:-5px;text-align:center;background-position:50%;background-repeat:no-repeat;background-size:contain;width:22px;height:22px;font-size:.75rem;line-height:22px;display:inline-block}.drow{align-items:center;gap:6px;min-height:44px;display:flex}.grow{flex:1;min-width:0}.dim{color:var(--dim);font-size:.75rem}.hintline{color:var(--gold);margin:4px 0;font-size:.7812rem;font-weight:700;line-height:1.35}.btn{background:var(--gold);color:#1b140c;border:0;border-radius:10px;min-height:44px;padding:8px 12px;font-weight:800}.btn.sm{min-height:44px;padding:6px 10px;font-size:.8125rem}.btn.sub{color:var(--ink);background:#fff2}.btn.ad{color:#fff;background:#4c7fd0}.btn.choice{text-align:left;width:100%;color:var(--ink);background:#fff2;border:1px solid #fff3;margin:6px 0;font-weight:700;display:block}.btn:disabled,.btn.off{opacity:1;color:#a89b86;background:#3a3128}.lack{color:#ff8a7a}.lack .lm{margin-left:2px;font-size:.75rem;font-style:normal;font-weight:800}#modal{z-index:5;background:#000b;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}#modal[hidden]{display:none}.sheet{background:var(--panel);border:1px solid #fff3;border-radius:14px;width:100%;max-height:100%;margin:10px;padding:14px;overflow-y:auto}.sheet.full{border-radius:0;flex-direction:column;height:100%;margin:0;padding:8px 10px;display:flex;overflow:hidden}.sheet.full[data-sheet=map]{overflow-y:auto}.sheet.big{text-align:center}.sheet h2{margin:0 0 8px;font-size:1rem}.sheet h1{margin:6px 0;font-size:1.75rem}.shead{justify-content:space-between;align-items:center;display:flex}.shead .x{background:#0003;border:1px solid #fff3;border-radius:8px;min-width:44px;min-height:44px;padding:4px 10px}.sbody{flex:1;padding-bottom:6px;overflow-y:auto}.sfoot{padding-top:6px}.sfoot .btn{width:100%}.tabs{gap:4px;margin:6px 0;display:flex}.tabs button{background:#0003;border:1px solid #fff2;border-radius:8px;flex:1;min-height:44px;padding:8px 2px;font-size:.8125rem;position:relative}.tabs button.on{background:var(--gold);color:#1b140c;font-weight:800}.tabs .dot{background:var(--red);border-radius:4px;width:8px;height:8px;position:absolute;top:3px;right:6px}.card{background:#0003;border:1px solid #fff2;border-radius:10px;margin-bottom:8px;padding:8px 10px}.card h3{margin:0 0 4px;font-size:.875rem}.card p{margin:3px 0;font-size:.8125rem;line-height:1.4}.card .story{color:var(--dim);font-size:.75rem;font-style:italic}.row{align-items:center;gap:8px;display:flex}.row.sp{justify-content:space-between}.lv{color:var(--gold);font-size:.75rem}.tag{background:#fff2;border-radius:8px;padding:1px 8px;font-size:.75rem}.tag.bad{background:#7a1c10}.nodecard{background-position:50%;background-size:cover;border:1px solid #fff2;border-radius:10px;align-items:flex-end;height:92px;margin-bottom:8px;display:flex}.nodecard p{background:linear-gradient(#0000,#000c);border-radius:0 0 10px 10px;width:100%;margin:0;padding:14px 8px 6px;font-size:.75rem}.boxes{gap:8px;margin:4px 0;display:flex}.box{text-align:center;background:#0003;border:2px solid #fff3;border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;min-height:76px;padding:8px 2px;display:flex}.box.open{border-color:var(--ok)}.boxq{color:var(--gold);font-size:1.625rem}.box small{color:var(--dim);font-size:.75rem}.chips{flex-wrap:wrap;gap:6px;margin:4px 0;display:flex}.chip2{background:#0004;border:1px solid #fff3;border-radius:22px;min-height:44px;padding:7px 12px;font-size:.8125rem}.chip2.sel{border-color:var(--ok);background:#2d5a40}.chip2.sel:before{content:"✓ ";font-weight:800}.mini{vertical-align:middle;background:#0006;border-radius:4px;width:70px;height:8px;margin:0 4px;display:inline-block;overflow:hidden}.mini>i{background:var(--ok);height:100%;display:block}.mini.hull>i{background:#d9a03f}.portrait{background-position:bottom;background-repeat:no-repeat;background-size:contain;flex:none;width:44px;height:64px}.mapbox{aspect-ratio:1;background-position:50%;background-size:cover;border:1px solid #fff2;border-radius:10px;flex:none;width:100%;max-height:48vh;margin:4px auto;position:relative;overflow:hidden}.mapbox svg{width:100%;height:100%}.mapbox:before{content:"";background:#0009;position:absolute;top:0;bottom:0;left:0;right:0}.mapbox svg{position:relative}.mapbox .ed{stroke:#fff3;stroke-width:.7px}.mapbox .ed.on{stroke-width:1.4px;stroke-dasharray:2 1.5}.ed.highway{stroke:#6fa8ff}.ed.local{stroke:#8fd08a}.ed.city{stroke:#ffa44a}.mn circle{fill:#2a211a;stroke:#fff5;stroke-width:.6px}.mn text{fill:currentColor;color:#fff;text-anchor:middle;pointer-events:none;font-size:4.2px;font-weight:700}.mn.vis circle{fill:#3a4a36}.mn.here circle{stroke:var(--gold);stroke-width:1.4px;fill:#6a4a14}.mn.opt{cursor:pointer}.mn.opt circle{stroke:#fff;stroke-width:1px}.mn.sel circle{fill:var(--gold)}.mn.sel text{color:#1b140c}.mn.lock{opacity:.45}.mn .sv{fill:#ff7ab0;stroke:none}.card-sheet{text-align:left;flex-direction:column;max-width:520px;padding:0 0 12px;display:flex;overflow:hidden}.card-sheet h2,.card-sheet p,.card-sheet .choices{padding:0 14px}.cardimg{background-position:50%;background-size:cover;height:150px;margin-bottom:10px}.choices .btn.choice small{color:var(--gold);font-weight:700}.adbox{z-index:9;background:#000d;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.adbox .sheet{max-width:320px}.sheet.title{background-image:linear-gradient(#2a211acc,#1b1612f2);margin:auto 18px;padding:28px 18px}.sheet.title .btn{width:100%;margin-top:10px}.sheet.big .btn{width:100%;margin-top:8px}.sheet select{color:var(--ink);background:#0005;border:1px solid #fff3;border-radius:8px;min-height:44px;padding:6px;font-size:.875rem}.sheet .row.sp{padding:6px 0}.tog{background:#0004;border:1px solid #fff3;border-radius:14px;min-width:56px;min-height:44px;padding:6px 10px}.tog.on{background:var(--ok);color:#0b1b10;font-weight:700}#toasts{pointer-events:none;z-index:10;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;top:70px;left:0;right:0}.toast{text-align:center;background:#000d;border-radius:10px;max-width:90%;padding:6px 12px;font-size:.8125rem}@media (prefers-reduced-motion:reduce){#finger,.edge.alert{animation:none}}.btn .lack{color:#8a1c10}.btn.off .lack,.btn:disabled .lack{color:#ff9c8c}.set-col{padding:6px 0}.set-sub{opacity:.7;margin:0;font-size:.75rem}.seg{gap:6px;display:flex}.seg .chip2{text-align:center;flex:1;padding:7px 4px}
