html,body{margin:0;height:100%;overflow:hidden;background:#bcd6ea;font-family:-apple-system,Pretendard,Apple SD Gothic Neo,Noto Sans KR,sans-serif;-webkit-user-select:none;user-select:none;touch-action:none;-webkit-tap-highlight-color:transparent;color:#1d3a2a}[hidden]{display:none!important}button{font:inherit;border:0;cursor:pointer;color:inherit}#scene{position:fixed;inset:0;width:100%;height:100%;display:block}.pill{background:#2f7d4f;color:#fff;font-weight:700;font-size:16px;padding:13px 22px;border-radius:999px;box-shadow:0 3px 10px #0000002e}.pill:disabled{background:#9db5a6;box-shadow:none}.pill.ghost{background:#ffffffe6;color:#1d3a2a;box-shadow:none;border:1px solid rgba(29,58,42,.15)}.round{width:52px;height:52px;border-radius:50%;background:#ffffffe6;font-size:24px;box-shadow:0 3px 10px #0000002e}.chip{background:#ffffffd9;font-size:13px;padding:6px 11px;border-radius:999px;pointer-events:auto;backdrop-filter:blur(6px)}.chip b{color:#2f7d4f}#topleft{position:fixed;left:calc(env(safe-area-inset-left) + 12px);top:calc(env(safe-area-inset-top) + 12px);display:flex;flex-direction:column;align-items:flex-start;gap:7px;pointer-events:none}#brand{font-weight:700;font-size:15px;background:#ffffffd9;padding:6px 12px;border-radius:999px;backdrop-filter:blur(6px)}#online{font-weight:500;font-size:12px;color:#2f7d4f;margin-left:4px}#place{font-size:13px;color:#fff;background:#14281e8c;padding:5px 11px;border-radius:999px;opacity:0;transition:opacity .4s}#place.on{opacity:1}#minimap{position:fixed;right:calc(env(safe-area-inset-right) + 12px);top:calc(env(safe-area-inset-top) + 12px);width:124px;height:124px;border-radius:50%;border:2.5px solid rgba(255,255,255,.92);box-shadow:0 3px 12px #00000038;background:#9cc27a}#stick{position:fixed;left:calc(env(safe-area-inset-left) + 22px);bottom:calc(env(safe-area-inset-bottom) + 26px);width:120px;height:120px;border-radius:50%;background:#ffffff47;border:1.5px solid rgba(255,255,255,.6);touch-action:none}#knob{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:#ffffffe0;box-shadow:0 2px 8px #0003}#actions{position:fixed;right:calc(env(safe-area-inset-right) + 16px);bottom:calc(env(safe-area-inset-bottom) + 26px);display:flex;flex-direction:column;align-items:flex-end;gap:10px}#actions .row{display:flex;gap:10px}#emotes{display:grid;grid-template-columns:repeat(4,46px);gap:6px;background:#ffffffeb;padding:8px;border-radius:18px;box-shadow:0 3px 12px #0003}#emotes button{width:46px;height:46px;font-size:24px;background:none;border-radius:12px}#emotes button:active{background:#2f7d4f26}#toast{position:fixed;left:50%;top:22%;transform:translate(-50%);background:#14281ed1;color:#fff;padding:11px 18px;border-radius:16px;font-size:15px;text-align:center;max-width:78vw;opacity:0;transition:opacity .35s;pointer-events:none;white-space:pre-line}#toast.on{opacity:1}#mapview{position:fixed;inset:0;background:#0f1e16b8;backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}#bigmap{width:min(94vw,68vh,620px);height:min(94vw,68vh,620px);border-radius:18px;border:2.5px solid rgba(255,255,255,.92);touch-action:none}#mapview p{color:#fff;margin:0;font-size:14px}.sheet{position:fixed;left:50%;bottom:0;transform:translate(-50%);width:min(100vw,480px);box-sizing:border-box;max-height:76vh;overflow-y:auto;background:#fbfaf5;border-radius:22px 22px 0 0;padding:20px 18px calc(env(safe-area-inset-bottom) + 18px);box-shadow:0 -6px 30px #00000040;display:flex;flex-direction:column;gap:12px;touch-action:pan-y}.sheet h2{margin:0;font-size:19px}.sheet p{margin:0;font-size:14px;opacity:.75;line-height:1.5}.sheet ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}#wishForm{display:flex;gap:8px}#wishForm input,#nick{flex:1;min-width:0;font:inherit;font-size:16px;padding:12px 14px;border-radius:14px;border:1.5px solid rgba(29,58,42,.2);background:#fff;outline:none;-webkit-user-select:text;user-select:text}#wishForm input:focus,#nick:focus{border-color:#2f7d4f}#wishColors,#capColors{display:flex;gap:10px;justify-content:center}#wishColors button,#capColors button{width:30px;height:30px;border-radius:50%;border:3px solid transparent;box-shadow:0 0 0 1px #0000001a}#wishColors button.on,#capColors button.on{border-color:#fff;box-shadow:0 0 0 2.5px #1d3a2a}#wishList li{background:#fff;border-radius:12px;padding:10px 12px;font-size:14px;border-left:5px solid #ccc;line-height:1.45;-webkit-user-select:text;user-select:text}#wishList li small{display:block;opacity:.55;font-size:12px;margin-top:2px}#stampList li{display:flex;align-items:center;gap:10px;background:#fff;border-radius:12px;padding:10px 12px;font-size:15px}#stampList li span{font-size:20px;width:26px;text-align:center}#stampList li.got{background:#eaf5ec;font-weight:600}#stampList li small{margin-left:auto;opacity:.55;font-size:12px}#join{position:fixed;inset:0;background:linear-gradient(#bcd6ea8c,#e9f1e4eb);display:flex;align-items:center;justify-content:center;transition:opacity .5s}#join.done{opacity:0;pointer-events:none}#join .card{width:min(84vw,340px);display:flex;flex-direction:column;align-items:stretch;gap:12px;text-align:center;background:#ffffffe6;padding:26px 22px;border-radius:24px;box-shadow:0 10px 40px #0000002e;backdrop-filter:blur(8px)}#join h1{margin:0;font-size:30px;letter-spacing:-.5px}#join p{margin:-6px 0 4px;font-size:14px;opacity:.7}#join i{height:4px;background:#1d3a2a1f;border-radius:2px;overflow:hidden}#join em{display:block;height:100%;width:0;background:#2f7d4f;transition:width .3s}#join small{font-size:12px;opacity:.55}
