:root{--ink: #29262b;--ink-dim: rgba(41, 38, 43, .62);--card: rgba(255, 255, 255, .9);--pill: #ffffff;--primary: #ffb81c;--shadow: rgba(0, 0, 0, .22);--edge: rgba(0, 0, 0, .08);--track: rgba(0, 0, 0, .07);--veil: rgba(0, 0, 0, .35);--toast: rgba(0, 0, 0, .62);--glass: rgba(22, 27, 36, .52);--glass-hi: rgba(34, 40, 52, .62);--glass-edge: rgba(255, 255, 255, .22);--glass-text: rgba(255, 255, 255, .92);--glass-dim: rgba(255, 255, 255, .72);--mint: #7fe3bf;--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px);font-family:Noto Sans KR,Apple SD Gothic Neo,system-ui,sans-serif;font-weight:500}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:#0f1420;color:var(--ink);overscroll-behavior:none}body{touch-action:none;-webkit-user-select:none;user-select:none}#scene{position:fixed;inset:0;width:100%;height:100%;display:block}[hidden]{display:none!important}button{font:inherit;color:inherit;border:0;cursor:pointer;background:none}button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.pill{border-radius:999px;background:var(--pill);color:var(--ink);border:1px solid var(--edge);box-shadow:0 3px 0 var(--shadow);font-weight:700;padding:12px 22px;font-size:15px;transition:transform .06s,box-shadow .06s}.pill.primary{background:var(--primary)}.entry .pill.primary:not(:disabled){box-shadow:0 3px #c47f00,0 0 18px #ffb81c73}.pill:active{transform:translateY(2px);box-shadow:0 1px 0 var(--shadow)}.pill:disabled{background:#ffffff59;color:var(--ink-dim);box-shadow:none;border-color:transparent;cursor:default;transform:none}.sheet{position:fixed;inset:0;display:grid;place-items:center;padding:16px;background:var(--veil);z-index:20}.card{width:min(560px,100%);max-height:calc(100% - 32px);overflow:auto;background:var(--card);border-radius:22px;padding:22px 20px 20px;box-shadow:0 3px 0 var(--shadow)}.card.small{width:min(380px,100%)}.card.map{width:min(640px,100%)}.eyebrow{margin:0 0 14px;font-size:13px;font-weight:700;color:var(--ink-dim)}h2{margin:0 0 14px;font-size:18px;font-weight:700}.entry{position:fixed;inset:0;z-index:20;display:flex;flex-direction:column;justify-content:space-between;padding:calc(14px + var(--safe-t)) calc(16px + var(--safe-r)) calc(16px + var(--safe-b)) calc(16px + var(--safe-l));background:linear-gradient(to bottom,#0a0e169e,#0a0e1600 32% 58%,#0a0e16b3);pointer-events:none}.entry>*{pointer-events:auto}.entry-top,.entry-bottom{width:min(760px,100%);margin:0 auto}.brandrow{position:relative;width:min(760px,100%);margin:10px auto 0;text-align:center}.brandrow .brand,.brandrow .creditlink{margin:0;font-weight:500}.brandrow .creditlink{position:absolute;right:12px;top:50%;transform:translateY(-50%);margin:0}.creditlink{padding:10px 12px;margin:-10px -12px;font-size:11px;color:var(--glass-dim);opacity:.75;text-decoration:underline;text-underline-offset:2px}.card.credits{width:min(600px,100%)}.card .note{margin:0;font-size:15px;line-height:1.6;color:var(--ink-dim)}.card.credits h3{margin:14px 0 6px;font-size:14px}.card.credits ul{margin:0;padding-left:18px;font-size:13px;line-height:1.6;color:var(--ink-dim)}.card.credits .mine{margin:14px 0 0;font-size:13px;color:var(--ink-dim)}.brand{margin:0 0 10px;font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--glass-dim)}.camplist{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:29px}.campcard{display:grid;gap:3px;text-align:left;padding:11px 12px 10px;border-radius:16px;background:var(--glass);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--glass-text);transition:background .15s,border-color .15s}.campcard .ch{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:700}.campcard .ch svg{width:20px;height:20px}.campcard .cnt{display:grid;grid-template-columns:20px 1fr;column-gap:7px;align-items:center;font-size:12px;color:var(--glass-dim);font-variant-numeric:tabular-nums;margin-top:2px}.campcard .cnt i{width:7px;height:7px;border-radius:50%;background:#ffffff59;justify-self:center}.campcard .cnt.live i{background:var(--mint);box-shadow:0 0 6px var(--mint)}.campcard .cnt.live{color:var(--glass-text)}.campcard[aria-checked=true]{background:#ffffffe6;border-color:transparent;color:var(--ink);box-shadow:0 3px 0 var(--shadow)}.campcard[aria-checked=true] .cnt{color:var(--ink-dim)}.campcard[aria-checked=true] .cnt.live{color:var(--ink)}.campcard[aria-checked=true] .cnt i{background:#00000038}.campcard[aria-checked=true] .cnt.live i{background:#2fbf8a;box-shadow:none}.campcard[aria-busy=true]{opacity:.6}.entry-bottom{margin-top:auto;padding:12px;border-radius:22px;background:var(--glass);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.species{display:grid;grid-template-columns:repeat(10,1fr);gap:6px}.sp{aspect-ratio:1;border-radius:14px;background:#ffffff1a;display:grid;place-items:center;padding:2px;position:relative;overflow:hidden;transition:background .12s,transform .12s}.sp img{width:100%;height:100%;object-fit:contain}.sp:hover{background:#ffffff2e}.sp[aria-pressed=true]{background:#ffffffeb;transform:translateY(-2px)}.entry-row{display:flex;align-items:center;gap:12px;margin-top:12px}.nick{flex:1;min-width:0;min-height:26px;margin:0;font-size:16px;display:flex;gap:10px;align-items:center;color:var(--glass-text)}.nick b{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nick .hint{color:var(--glass-dim);font-size:14px}.nick .hint.warn{color:#ffb38a;font-size:13px}.nick .pill{padding:6px 12px;font-size:13px;flex:none}.nickin{flex:1;min-width:0;max-width:220px;padding:7px 12px;border-radius:999px;border:1px solid var(--glass-edge);background:#ffffff1f;color:var(--glass-text);font:inherit;font-size:15px;outline:none}.nickin:focus{border-color:var(--primary)}#go{flex:none;padding:14px 26px;font-size:16px}@media(max-width:560px){.camplist{grid-template-columns:repeat(2,1fr)}.species{grid-template-columns:repeat(5,1fr)}.entry-row{flex-wrap:wrap}#go{width:100%}}.seg{display:grid;grid-template-columns:1fr 1fr;padding:3px;border-radius:999px;background:var(--track)}.seg button{padding:11px 10px;border-radius:999px;font-size:14px;color:var(--ink-dim)}.seg button[aria-pressed=true]{background:var(--pill);color:var(--ink);box-shadow:0 1.5px 0 var(--shadow);font-weight:700}.seg.seg3{grid-template-columns:1fr 1fr 1fr}.close{margin-top:16px;width:100%}#hud{position:fixed;inset:0;pointer-events:none;z-index:10}#hud>*{pointer-events:auto}.topbar{position:absolute;top:calc(12px + var(--safe-t));left:calc(12px + var(--safe-l));right:calc(12px + var(--safe-r));display:flex;justify-content:space-between;align-items:flex-start;gap:10px;pointer-events:none}.topbar>*{pointer-events:auto}.status{background:var(--glass);border:1px solid var(--glass-edge);border-radius:16px;padding:10px 14px 10px 12px;color:var(--glass-text);-webkit-backdrop-filter:blur(12px) saturate(1.2);backdrop-filter:blur(12px) saturate(1.2);box-shadow:0 6px 20px #00000040;min-width:200px}.statushead{display:flex;align-items:center;justify-content:space-between;gap:12px}.campsel{display:inline-flex;align-items:center;gap:7px;padding:2px 4px 2px 0;border-radius:10px;font-size:17px;color:var(--glass-text)}.campsel b{font-weight:700}.campsel .ci{width:20px;height:20px;display:grid}.campsel .chev{width:16px;height:16px;display:grid;opacity:.7;transition:transform .15s}.campsel[aria-expanded=true] .chev{transform:rotate(180deg)}.campsel svg,.si svg,.campmenu svg{width:100%;height:100%}.fuel{margin-top:2px;font-size:14px;color:var(--glass-dim);line-height:1.75;font-variant-numeric:tabular-nums}.fuel .row{display:flex;align-items:center;gap:6px;min-width:0}.fuel .si{width:18px;height:18px;display:grid;flex:none}.fuel em{font-style:normal;font-weight:700;color:var(--mint)}.fuel .lv{flex:none;font-size:12px;font-weight:700;padding:1px 7px;border-radius:999px;background:#ffb81c38;color:#ffd27a}.fuel .lv.warn{background:#ff785038;color:#ffb38a}@media(max-width:420px){.fuel .lv{display:none}.fuel{font-size:13px}}.fuel .row>span:last-child{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fuel .warn{color:#ffcf6b;font-weight:700}.statusleft{display:flex;align-items:center;gap:8px;min-width:0}.people{font-size:13px;font-weight:700;color:var(--mint);font-variant-numeric:tabular-nums;white-space:nowrap}.campmenu{position:fixed;z-index:30;min-width:210px;padding:6px;border-radius:16px;background:#161b24d1;border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 10px 30px #00000059;display:grid;gap:2px}.campmenu .mc{font-size:13px;font-weight:700;color:var(--mint);font-variant-numeric:tabular-nums;min-width:34px;text-align:right}.campmenu button{display:grid;grid-template-columns:22px 1fr auto 18px;align-items:center;gap:10px;padding:10px 12px;border-radius:11px;font-size:15px;color:var(--glass-text);text-align:left}.campmenu button:hover,.campmenu button:focus-visible{background:#ffffff1a;outline:none}.campmenu button[aria-checked=true]{font-weight:700}.campmenu .ci{width:22px;height:22px;display:grid}.campmenu .ck{width:18px;height:18px;display:grid}.tools{display:flex;gap:8px}@media(max-width:600px){.tools{flex-direction:column;gap:10px}}.icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--glass);border:1px solid var(--glass-edge);box-shadow:0 4px 14px #00000040,inset 0 1px #ffffff1f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.icon svg{width:64%;height:64%}.icon[aria-pressed=true]{background:var(--glass-hi)}.actions{position:absolute;left:50%;transform:translate(-50%);bottom:calc(20px + var(--safe-b));display:flex;gap:13px}@media(max-width:600px){.actions{left:auto;right:calc(14px + var(--safe-r));transform:none;gap:10px;flex-direction:column-reverse}.drop{width:56px!important;height:56px!important}}.drop{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;position:relative;background:var(--glass);border:1px solid var(--glass-edge);box-shadow:0 6px 18px #0000004d,inset 0 1px #ffffff1f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .08s,border-color .15s,box-shadow .15s}.drop svg{width:70%;height:70%}.drop.on{border:2px solid rgba(255,255,255,.92);box-shadow:0 0 0 3px #ffffff24,0 0 18px #ffffff47,0 6px 18px #0000004d;background:var(--glass-hi)}@media(hover:hover){.drop:hover{border-color:#ffffff73}}.drop:active{transform:scale(.94)}.drop:disabled{opacity:.45}.stick{position:absolute;left:calc(26px + var(--safe-l));bottom:calc(30px + var(--safe-b));width:124px;height:124px;border-radius:50%;background:transparent;border:1.5px solid rgba(255,255,255,.16);touch-action:none;transition:background .15s,border-color .15s}.stick .knob{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:#ffffff29;border:1px solid rgba(255,255,255,.22);transition:background .15s}.stick.on{background:#ffffff14;border-color:#ffffff52}.stick.on .knob{background:#ffffffd9}@media(hover:hover)and (pointer:fine){.stick{display:none}}@media(min-width:601px)and (pointer:coarse){.actions{left:auto;right:calc(26px + var(--safe-r));transform:none}}.toasts{position:absolute;top:calc(124px + var(--safe-t));left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none;width:min(92vw,420px)}.toast{background:var(--toast);color:#fff;padding:9px 18px;border-radius:999px;font-size:14px;animation:toastIn .25s ease-out both;text-align:center}.toast.out{animation:toastOut .4s ease-in both}@keyframes toastIn{0%{opacity:0}to{opacity:1}}@keyframes toastOut{to{opacity:0}}.myname{position:absolute;transform:translate(-50%,-100%);padding:3px 10px;border-radius:999px;background:var(--toast);color:#fff;font-size:12px;white-space:nowrap;pointer-events:none}.maphead{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;flex-wrap:nowrap}.maphead h2{margin:0}.maphead{gap:10px}.mapzoom{margin-left:auto}.mapzoom button{padding:7px 14px;font-size:13px;white-space:nowrap}.maphead .pill{padding:7px 16px;font-size:14px;flex:none;white-space:nowrap}#mapCanvas{width:100%;aspect-ratio:1;border-radius:16px;display:block;touch-action:none;cursor:pointer}@media(prefers-reduced-motion:reduce){.toast,.toast.out{animation:none}.pill{transition:none}}.app #campList,.app .brand,.app #species,.app #nick{display:none}.paircard{position:absolute;left:50%;bottom:calc(110px + var(--safe-b));transform:translate(-50%);width:min(340px,calc(100% - 32px));padding:14px 16px;border-radius:18px;background:var(--glass);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--glass-text);pointer-events:auto;animation:toastIn .25s ease-out both}.paircard p{margin:0 0 10px;font-size:15px;text-align:center}.paircard .row{display:flex;gap:8px}.paircard .pill{flex:1;padding:10px 12px;font-size:14px}@media(orientation:landscape)and (max-height:500px){.drop{width:56px!important;height:56px!important}.actions{bottom:calc(10px + var(--safe-b));gap:10px}.stick{bottom:calc(10px + var(--safe-b))}}
