:root{--ink: #f4efe6;--ink-dim: #c9c1b3;--glass: rgba(28, 25, 22, .62);--glass-strong: rgba(24, 21, 18, .9);--line: rgba(255, 245, 225, .14);--gold: #d9bb7f;--paper: #f6f1e7;--paper-ink: #2b2520;--radius: 999px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);font-family:Noto Sans KR,Pretendard,system-ui,sans-serif;color:var(--ink)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#1c1a17;-webkit-tap-highlight-color:transparent}#scene{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:grab}#scene:active{cursor:grabbing}button{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:default}.pill{display:flex;align-items:center;gap:10px;padding:8px 14px;border-radius:var(--radius);background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.hud-top{position:fixed;top:calc(14px + var(--safe-top));left:16px;right:16px;display:flex;justify-content:space-between;gap:8px;pointer-events:none;z-index:5}.hud-top>*{pointer-events:auto}.brand strong{font-family:"Noto Serif KR",serif;font-weight:600;letter-spacing:.02em}.divider{width:1px;height:14px;background:var(--line)}.online{font-size:13px;color:var(--ink-dim);white-space:nowrap}.tools{padding:4px;gap:2px}.tools button{border:0;background:transparent;padding:7px 12px;border-radius:var(--radius);font-size:13px;display:flex;align-items:center;white-space:nowrap}.tools button:hover{background:#ffffff14}.hint,.tally{position:fixed;left:50%;transform:translate(-50%);margin:0;font-size:12px;color:var(--ink);text-shadow:0 1px 4px rgba(0,0,0,.7);white-space:nowrap;pointer-events:none;z-index:4}.hint{top:calc(70px + var(--safe-top));opacity:.85;transition:opacity 1s 6s}.entered .hint{opacity:0}.tally{bottom:calc(96px + var(--safe-bottom));color:var(--ink-dim)}.actions{position:fixed;left:50%;bottom:calc(18px + var(--safe-bottom));transform:translate(-50%);display:flex;gap:4px;padding:6px;border-radius:28px;background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);z-index:5}.actions button{border:0;background:transparent;width:72px;padding:8px 0 6px;border-radius:22px;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:12px}.actions button:not(:disabled):hover{background:#ffffff14}.actions svg{width:22px;height:22px;fill:currentColor}.toast{position:fixed;left:50%;top:calc(100px + var(--safe-top));transform:translate(-50%,-6px);padding:8px 16px;border-radius:var(--radius);background:var(--glass-strong);border:1px solid var(--line);font-size:13px;opacity:0;transition:opacity .35s,transform .35s;pointer-events:none;z-index:6;max-width:calc(100vw - 32px);text-align:center}.toast.show{opacity:1;transform:translate(-50%)}.entry{position:fixed;inset:0;display:grid;place-items:center;padding:16px;background:radial-gradient(ellipse at center,#14120f59,#0c0b09cc);z-index:10;transition:opacity .8s}.entry.hidden{opacity:0;pointer-events:none}.entry-card{width:min(420px,100%);padding:32px 28px 24px;border-radius:22px;background:var(--paper);color:var(--paper-ink);text-align:center;box-shadow:0 30px 80px #00000080}.entry-card h1{font-family:"Noto Serif KR",serif;font-weight:600;font-size:26px;margin:0 0 6px}.entry-sub{margin:0 0 14px;color:#6b6157;font-size:14px}.entry-epitaph{font-family:"Noto Serif KR",serif;margin:0 0 22px;font-size:15px;line-height:1.7;padding:12px 0;border-top:1px solid #e2d9c8;border-bottom:1px solid #e2d9c8}#entry-form{display:grid;gap:8px;text-align:left}#entry-form label{font-size:12px;color:#6b6157}#entry-form input,.guest-form input,.guest-form textarea{font:inherit;width:100%;padding:11px 14px;border-radius:12px;border:1px solid #d8cfbe;background:#fffdf8;color:var(--paper-ink)}#entry-form button,.guest-form button{border:0;padding:12px;border-radius:12px;background:#2b2520;color:#f6f1e7;font-weight:500;margin-top:4px}.entry-note{font-size:12px;color:#8a7f72;margin:14px 0 0;line-height:1.5}.panel{width:min(560px,calc(100vw - 32px));max-height:min(80vh,760px);padding:0;border:0;border-radius:20px;background:var(--paper);color:var(--paper-ink);box-shadow:0 30px 80px #00000080;overflow:hidden}.panel[open]{display:flex;flex-direction:column}.panel::backdrop{background:#0a09088c;backdrop-filter:blur(3px)}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e2d9c8;margin:0}.panel-head h2{margin:0;font-family:"Noto Serif KR",serif;font-size:18px;font-weight:600}.panel-head button{border:0;background:transparent;font-size:16px;padding:4px 8px;color:#6b6157}.panel-body{padding:18px 20px 22px;overflow-y:auto}.guest-form{display:grid;gap:8px;margin-bottom:16px}.guest-form textarea{resize:vertical;min-height:72px}.guest-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.guest-row button{margin:0;padding:10px 18px;white-space:nowrap}.guest-status{font-size:12px;color:#8a7f72}.guest-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.guest{padding:12px 14px;border-radius:12px;background:#fffdf8;border:1px solid #e8e0d1}.guest.empty{color:#8a7f72;font-size:14px;text-align:center}.guest-head{display:flex;justify-content:space-between;gap:8px;font-size:13px;margin-bottom:4px}.guest-head time{color:#8a7f72}.guest p{margin:0;font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.exit{border:0;background:transparent;padding:4px;margin:-4px 0 -4px -6px;border-radius:var(--radius);display:flex}.exit:hover{background:#ffffff1a}body:not(.entered) .exit{display:none}.dday-chip{font-size:12px;font-weight:700;color:#ffd27a;white-space:nowrap}.entry-dday{margin:0 0 6px;font-size:15px;font-weight:700;color:#b8322a;letter-spacing:.02em}.wish-card .panel-body{padding:22px 24px 26px}.one-message{font-family:"Noto Serif KR",serif;font-size:18px;line-height:1.7;margin:0 0 14px;white-space:pre-wrap;overflow-wrap:anywhere}.one-meta{margin:0;font-size:13px;color:#8a7f72}.one-pos{margin-left:6px;font-family:Noto Sans KR,sans-serif;font-size:13px;font-weight:400;color:#8a7f72}.wish-card .one-body{display:flex;align-items:center;gap:8px;padding-left:10px;padding-right:10px}.one-content{flex:1;min-width:0}.one-nav{flex:none;width:36px;height:36px;border:1px solid #d8cfbe;border-radius:50%;background:#fffdf8;color:var(--paper-ink);font-size:13px;display:grid;place-items:center}.one-nav:not(:disabled):hover{background:#f1ead9}.one-nav:disabled{opacity:.3}body:not(.admin) .admin-only{display:none}body:not(.pay) .pay-only{display:none}#btn-support{color:#ffb4b4}.support-text{margin:0 0 14px;font-size:14px;line-height:1.6}.support-thanks{margin:0 0 4px;font-size:17px;font-weight:700;text-align:center}#dlg-support .support-text{margin:14px 0 0;text-align:center;color:#6b6158}.support-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.support-options button{border:1px solid #d8cfbe;background:#fffdf8;color:var(--paper-ink);border-radius:12px;padding:14px 0;font-weight:700}.support-options button:hover{background:#f1ead9}.pay-sheet{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:16px;background:#0a09088c}.pay-sheet[hidden]{display:none}.pay-card{width:min(520px,100%);max-height:calc(100vh - 32px);overflow-y:auto;border-radius:20px;background:#fff;color:var(--paper-ink);box-shadow:0 30px 80px #00000080}.pay-summary{display:flex;justify-content:space-between;margin:0 0 8px;font-size:15px}.pay-consent{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:#6b6157;margin:8px 4px;line-height:1.5}.pay-status{min-height:18px;margin:4px;font-size:13px;color:#b8322a}.pay-go{width:100%;border:0;padding:14px;border-radius:12px;background:#3182f6;color:#fff;font-weight:700;font-size:15px}.step-ask[hidden],.transfer[hidden]{display:none}.wide-btn{display:block;width:100%;border:0;padding:12px;border-radius:12px;background:#2b2520;color:#f6f1e7;font-weight:600;text-align:center;text-decoration:none;margin-top:4px}.transfer{text-align:center}.transfer p{margin:4px 0}.transfer-what{font-size:14px}.transfer-label{font-size:12px;color:#8a7f72;margin-top:12px!important}.transfer-code{font-size:30px;font-weight:800;letter-spacing:.06em;color:#b8322a;user-select:all}.transfer-step{font-size:14px;text-align:left}.transfer-account{font-size:14px;font-weight:600}.kakao-btn{background:#fee500;color:#191919;margin:12px 0 8px}.kakao-qr{width:160px;height:auto;margin:6px auto 0;display:block;border-radius:8px}.banner-colors{display:flex;gap:8px}.banner-preview{width:100%;height:auto;border-radius:6px;box-shadow:0 4px 14px #00000026}.claim.approved,.claim.rejected,.claim.expired{opacity:.55}.claim-actions{display:flex;gap:8px;margin-top:8px}.claim-actions .ink-btn{border:1px solid #d8cfbe;background:#fffdf8;color:var(--paper-ink);border-radius:8px;padding:6px 14px}#dlg-claims{width:min(680px,calc(100vw - 32px))}.my-claims{margin-top:16px;text-align:left}.my-claims:empty{display:none}.my-claim{font-size:13px;padding:8px 10px;border-radius:10px;background:#fffdf8;border:1px solid #e8e0d1;margin-top:6px}.my-claim.rejected{border-color:#e2b3ae;background:#fff4f2}.my-claim.approved strong{color:#2f7a4a}.my-reason{margin:4px 0 0;color:#a2271c;font-size:12px}#paid-text{white-space:pre-line}.claim-reject{display:flex;gap:8px;margin-top:8px}.claim-reject[hidden],.claim-actions[hidden]{display:none}.claim-reject input{flex:1;min-width:0;font:inherit;font-size:13px;padding:6px 10px;border:1px solid #d8cfbe;border-radius:8px;background:#fffdf8;color:var(--paper-ink)}.claim-reject .danger,.hide-btn.armed{background:#b8322a;color:#fff;border-color:#b8322a}.biz-empty p:first-child{display:none}.biz-empty{border-top:0;margin-top:8px;padding-top:0}.biz{margin-top:14px;padding-top:10px;border-top:1px solid #e2d9c8;font-size:10.5px;line-height:1.6;color:#8a7f72;text-align:left}.biz p{margin:0}.biz-links{margin-top:4px!important}.biz-credit{margin-top:2px!important;font-size:10px;color:#a0968a}.biz a{color:#6b6157}.hide-btn{margin-top:12px;border:1px solid #c0392b;background:#fff3f1;color:#a2271c;border-radius:10px;padding:7px 12px;font-size:13px}#farewell .entry-card h1{font-size:22px}#btn-reenter{width:100%;border:0;padding:12px;border-radius:12px;background:#2b2520;color:#f6f1e7;font-weight:500}.picker{position:fixed;left:50%;bottom:calc(92px + var(--safe-bottom));transform:translate(-50%);width:min(520px,calc(100vw - 32px));padding:10px 10px 12px;border-radius:20px;background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);z-index:5;transition:opacity .3s,transform .3s}.picker-title{margin:0 0 8px;text-align:center;font-size:13px;color:var(--ink-dim)}.picker-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.card{border:1px solid var(--line);background:#ffffff0f;border-radius:14px;padding:10px 6px 9px;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}.card:hover{background:#ffffff24}.card-icon svg{width:26px;height:26px;fill:var(--gold)}.card strong{font-family:"Noto Serif KR",serif;font-size:16px;font-weight:600}.card-sub{font-size:11px;color:var(--ink-dim);white-space:nowrap}.card-count{font-size:11px;color:#ffd27a;min-height:14px}body:not([data-space=lobby]) .picker,body:not(.entered) .picker{opacity:0;pointer-events:none;transform:translate(-50%,10px)}body[data-space=lobby] .tally{bottom:calc(232px + var(--safe-bottom))}body[data-space=lobby] #btn-lobby,.actions button[hidden]{display:none}.field-label,#entry-form label{font-size:12px;color:#6b6157}#entry-form label small{color:#9a8f82}.name-row{display:flex;gap:8px;align-items:stretch;margin-bottom:6px}#entry-form .name-box{flex:1;min-width:0;font-weight:700}#entry-form .reroll{margin:0;padding:0 12px;background:#fffdf8;color:var(--paper-ink);border:1px solid #d8cfbe;font-size:13px;white-space:nowrap}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:12px;background:#ece4d4}.tabs button{border:0;padding:8px;border-radius:9px;background:transparent;color:#6b6157;font-size:13px;margin:0}.tabs button[aria-selected=true]{background:#fffdf8;color:var(--paper-ink);font-weight:600;box-shadow:0 1px 3px #0000001f}.guest-form .tabs button{margin:0;padding:8px;background:transparent;color:#6b6157}.guest-form .tabs button[aria-selected=true]{background:#fffdf8;color:var(--paper-ink)}.ink-box{display:grid;gap:8px;justify-items:center}.ink-box[hidden],#wish-message[hidden]{display:none}.ink-pad,.ink-view{width:min(300px,100%,calc((80vh - 290px)*.75));aspect-ratio:3 / 4;border-radius:6px;border:1px solid #e2d6bd;background:#fffaf0;box-shadow:0 6px 18px #0000001f;touch-action:none;cursor:crosshair}.ink-view{display:block;margin:0 auto 12px;cursor:default}.ink-view[hidden]{display:none}.ink-tools{width:min(300px,100%,max(220px,calc((80vh - 290px)*.75)));display:flex;justify-content:space-between;align-items:center;gap:8px}.ink-colors{display:flex;gap:6px}.guest-form .swatch{width:26px;height:26px;padding:0;margin:0;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #cfc5b2}.guest-form .swatch[aria-pressed=true]{box-shadow:0 0 0 2px #2b2520}.guest-form .ink-btn{margin:0;padding:6px 10px;font-size:12px;background:#fffdf8;color:var(--paper-ink);border:1px solid #d8cfbe}.ink-open{border:1px dashed #c8b894;background:#fbf6ea;color:#6b5a3a;border-radius:10px;padding:8px 10px;font-size:13px;width:100%;text-align:left;margin-bottom:4px}.fade{position:fixed;inset:0;background:#0c0b09;opacity:0;pointer-events:none;transition:opacity .35s;z-index:8}.fade.on{opacity:1}@media(max-width:560px){.card-sub{font-size:10px}.ink-pad,.ink-view{width:min(250px,100%,calc((80vh - 290px)*.75))}.brand strong{max-width:34vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tools button{padding:7px 8px;font-size:12px}.actions button{width:66px}.hint{white-space:normal;text-align:center;width:calc(100vw - 32px)}.dday-chip{display:none}}@media(max-width:400px){.brand .divider,.brand .online{display:none}.actions button{width:60px;font-size:11px}}
