:root{--plate:#f6efe4;--plate-2:#efe5d6;--field:#fffaf1;--ink:#2b2620;--muted:#6f6355;--line:#c9b48c;--brass:#94733c;--brass-fill:#8a6a30;--on-brass:#fffaf0;--danger:#a03c28;--shadow:0 1px 2px rgba(60,44,24,.18),0 10px 26px rgba(60,44,24,.16);--page-bg:#efe0d2;--r:8px;--r-lg:12px;--hud-top:max(16px,env(safe-area-inset-top,0px));--hud-bottom:max(16px,env(safe-area-inset-bottom,0px));--hud-left:max(16px,env(safe-area-inset-left,0px));--hud-right:max(16px,env(safe-area-inset-right,0px));--ui-font:Pretendard,"Apple SD Gothic Neo","Segoe UI","Malgun Gothic",sans-serif;--title-font:"Gowun Batang","Noto Serif KR",Batang,serif}body[data-hall="2"]{color-scheme:dark;--plate:#141b3a;--plate-2:#1c2550;--field:#1c2550;--ink:#f3eddf;--muted:#b9b6c8;--line:#6d6a86;--brass:#dcb96f;--brass-fill:#c9a35a;--on-brass:#141b3a;--danger:#f0a595;--shadow:0 1px 2px rgba(0,0,0,.4),0 10px 26px rgba(0,0,0,.35)}body[data-hall="3"]{--plate:#f3e8d6;--plate-2:#e8d8bf;--field:#fbf3e6;--ink:#2c2118;--muted:#6d5a45;--line:#b9976a;--brass:#8c5f2c;--brass-fill:#8f6028;--on-brass:#fff8ec;--danger:#9a3825}@media(max-width:640px){:root{--hud-top:max(10px,env(safe-area-inset-top,0px));--hud-bottom:max(8px,env(safe-area-inset-bottom,0px));--hud-left:max(10px,env(safe-area-inset-left,0px));--hud-right:max(10px,env(safe-area-inset-right,0px))}}@font-face{font-family:Pretendard;font-weight:400 500;font-display:swap;src:url(/fonts/Pretendard-SemiBold.subset.woff2) format("woff2")}@font-face{font-family:Pretendard;font-weight:600 900;font-display:swap;src:url(/fonts/Pretendard-Bold.subset.woff2) format("woff2")}@font-face{font-family:Gowun Batang;font-weight:400 900;font-display:swap;src:url(/fonts/GowunBatang-Bold.subset.woff2) format("woff2")}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--page-bg);color:var(--ink);font:400 14px/1.5 var(--ui-font);word-break:keep-all;overflow:hidden;-webkit-font-smoothing:antialiased;overscroll-behavior:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}:focus-visible{outline:2px solid var(--brass);outline-offset:2px}#app{position:fixed;inset:0;overflow:hidden}#world{position:absolute;inset:0}#world canvas{display:block;width:100%;height:100%}#loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--ink);background:var(--page-bg);z-index:50;text-align:center;padding:24px}#loading strong{font:700 22px/1.3 var(--title-font)}#loading span{font-size:14px;color:var(--muted)}#loading a,#loading button{color:var(--ink)}svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex:none}.name-plate,.top-right .icon-button,.top-btn,.way,.bag-toggle,.claim-fab,.view-reset,.hud-btn,.pill,.niche-nav,.tool,.sns-menu,.ui-show{background:var(--plate);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow)}.topbar{position:absolute;top:var(--hud-top);left:var(--hud-left);right:var(--hud-right);display:flex;align-items:flex-start;justify-content:space-between;gap:8px;z-index:20;pointer-events:none}.topbar>*{pointer-events:auto}.name-plate{display:flex;flex-direction:column;gap:2px;min-width:0;min-height:44px;padding:9px 14px 10px;border-radius:var(--r);text-decoration:none}.brand{display:flex;align-items:center;gap:6px;font:700 16px/1.2 var(--title-font);white-space:nowrap}.brand svg{width:18px;height:18px;color:var(--brass)}.where{display:flex;align-items:center;gap:6px;font-size:12px;line-height:1.3;color:var(--muted);white-space:nowrap}.presence-dot{width:5px;height:5px;border-radius:50%;background:var(--brass);flex:none}.top-right{display:flex;gap:8px;flex:none}.icon-button{width:48px;height:44px;padding:0;border:0;border-radius:var(--r);background:transparent;color:var(--ink);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.icon-button[hidden]{display:none}.icon-button svg{width:18px;height:18px;stroke-width:1.5;color:var(--brass)}.icon-button small{font-size:10px;line-height:1;font-weight:500;color:var(--muted);white-space:nowrap}#hud-menu-toggle{width:44px}#hud-menu-toggle svg{color:var(--ink)}.top-btn{height:44px;padding:0 14px;display:inline-flex;align-items:center;gap:6px;border-radius:var(--r);font-size:14px;font-weight:600;white-space:nowrap}.top-btn svg{width:18px;height:18px;color:var(--brass)}.icon-button:hover,.top-btn:hover,.view-reset:hover,.bag-toggle:hover,.hud-btn:hover,.pill:hover,.tool:hover{background:var(--plate-2)}.way{position:absolute;left:50%;bottom:var(--hud-bottom);transform:translate(-50%);display:flex;align-items:stretch;gap:2px;padding:5px;border-radius:var(--r-lg);z-index:20;max-width:calc(100% - 24px)}.way button{min-width:76px;height:50px;padding:0 10px;border:0;border-radius:var(--r);background:transparent;color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:12px;font-weight:500;white-space:nowrap}.way button[hidden]{display:none}.way button:hover{background:var(--plate-2)}.way button svg{width:19px;height:19px;color:var(--brass)}.way button.main{background:var(--brass-fill);color:var(--on-brass);font-weight:700;min-width:112px;flex-direction:row;gap:7px;font-size:14px}.way button.main svg{color:var(--on-brass)}.bag-toggle{position:absolute;right:var(--hud-right);bottom:var(--hud-bottom);width:64px;height:64px;border-radius:50%;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;z-index:20}.bag-toggle svg{width:22px;height:22px;color:var(--brass)}.bag-toggle img{display:block;width:30px;height:30px}.bag-toggle img[hidden]{display:none}.bag-toggle img:not([hidden])+svg{display:none}.bag-label{font-size:11px;font-weight:600;line-height:1.1}.bag-toggle b{position:absolute;top:-3px;right:-3px;min-width:20px;height:18px;padding:0 5px;line-height:18px;border-radius:9px;background:var(--brass-fill);color:var(--on-brass);font-size:11px;font-weight:600;text-align:center}.view-reset{position:absolute;right:var(--hud-right);bottom:calc(var(--hud-bottom) + 76px);height:44px;padding:0 12px;border-radius:22px;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;white-space:nowrap;z-index:20}.view-reset svg{width:18px;height:18px;color:var(--brass)}.claim-fab{display:none;position:absolute;right:var(--hud-right);width:56px;height:56px;border-radius:50%;padding:0;flex-direction:column;align-items:center;justify-content:center;gap:2px;z-index:20}.claim-fab svg{width:20px;height:20px;color:var(--brass)}.claim-fab:hover{background:var(--plate-2)}.movement{display:none;position:absolute;left:var(--hud-left);bottom:var(--hud-bottom);z-index:20}@media(pointer:coarse){.movement{display:block}}.joystick{position:relative;width:96px;height:96px;border-radius:50%;background:color-mix(in srgb,var(--plate) 55%,transparent);border:1px solid var(--line);touch-action:none}.stick{position:absolute;left:50%;top:50%;width:48px;height:48px;margin:-24px;border-radius:50%;background:var(--plate);border:1px solid var(--brass);box-shadow:var(--shadow);pointer-events:none}body:not([data-mode=world]) .view-reset,body.ui-hidden .view-reset,body.in-ceremony .view-reset{display:none}body:not([data-mode=world]) .claim-fab,body.ui-hidden .claim-fab,body.in-ceremony .claim-fab{display:none}body[data-mode=niche] .way,body[data-mode=niche] .movement,body[data-mode=niche] .place-actions,body[data-mode=niche] .top-btn{display:none}body:not([data-mode=niche]) .niche-hud{display:none}body[data-mode=stars] .topbar,body[data-mode=stars] .way,body[data-mode=stars] .bag-toggle,body[data-mode=stars] .movement{display:none}body:not([data-mode=stars]) .stars-ui{display:none}body.in-ceremony .topbar,body.in-ceremony .niche-hud>*,body.in-ceremony .bag-toggle{visibility:hidden}body.ui-hidden .test-stats,body.ui-hidden .topbar,body.ui-hidden .niche-hud>*:not(.ui-show),body.ui-hidden .bag-toggle,body.ui-hidden .way,body.ui-hidden .movement{visibility:hidden}.ui-show{display:none;min-height:44px;padding:0 14px;border-radius:var(--r);font-size:13px;font-weight:500}body.ui-hidden .ui-show{display:block;position:absolute;left:var(--hud-left);top:var(--hud-top);z-index:30}.place-actions{position:absolute;left:50%;transform:translate(-50%);bottom:calc(var(--hud-bottom) + 76px);display:flex;gap:8px;flex-wrap:wrap;justify-content:center;z-index:21;max-width:calc(100% - 160px)}.pill{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 14px;border-radius:var(--r);font-size:14px;font-weight:500}.pill svg{color:var(--brass)}.pill[aria-pressed=true]{background:var(--brass-fill);border-color:var(--brass-fill);color:var(--on-brass)}.pill[aria-pressed=true] svg{color:var(--on-brass)}.hud-btn{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 14px;border-radius:var(--r);font-size:13px;font-weight:500}.hud-btn svg{color:var(--brass)}.notice-card{position:absolute;top:calc(var(--hud-top) + 64px);right:var(--hud-right);z-index:31;width:min(340px,calc(100% - 32px));display:grid;grid-template-columns:44px 1fr;gap:12px;padding:14px 44px 14px 14px;background:var(--plate);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);animation:ic-in .25s cubic-bezier(.16,1,.3,1)}.notice-card img{border-radius:10px}.notice-card strong{display:block;font-size:15px;margin-bottom:2px}.notice-card p{margin:0 0 10px;font-size:13px;line-height:1.5;color:var(--muted)}.ic-btns{display:flex;gap:8px;flex-wrap:wrap}.ic-x{position:absolute;top:2px;right:2px;width:44px;height:44px;border:0;background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:center;border-radius:50%}@keyframes ic-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}@media(min-width:860px){body:has(#panel:not([hidden])) .notice-card{right:calc(var(--hud-right) + min(440px,calc(100% - 32px)) + 12px)}}@media(max-width:859px){body:has(#panel:not([hidden])) .notice-card{display:none}}body:has(#sns-menu) .notice-card{display:none}body:not([data-mode=world]) .notice-card,body.ui-hidden .notice-card,body.in-ceremony .notice-card,body.entering .notice-card{display:none}.niche-hud{position:absolute;inset:0;pointer-events:none;z-index:19}.niche-hud>*{pointer-events:auto}.niche-hud .back{position:absolute;right:var(--hud-right);top:calc(var(--hud-top) + 56px)}.niche-tools{position:absolute;left:var(--hud-left);top:calc(var(--hud-top) + 94px);display:flex;flex-direction:column;gap:10px}.owner-tools{position:absolute;right:var(--hud-right);top:calc(var(--hud-top) + 110px);display:flex;flex-direction:column;gap:10px}.tool{width:56px;height:52px;border-radius:var(--r);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:10px;font-weight:500;padding:0}.tool svg{width:20px;height:20px;color:var(--brass)}.tool small{font-size:10px;line-height:1.1;white-space:nowrap}.pen-over{position:absolute;left:calc(50% + 120px);top:44%;width:48px;height:48px;padding:0;border-radius:var(--r);border:1px solid var(--line);background:var(--plate);color:var(--ink);box-shadow:var(--shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.pen-over svg{color:var(--brass)}.pen-over small{font-size:10px;line-height:1.1}.niche-info{position:absolute;left:50%;transform:translate(-50%);bottom:144px;width:min(calc(100vw - 24px),440px);display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.pet-family{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;padding:4px 12px;border-radius:var(--r);background:var(--plate);border:1px solid var(--line);color:var(--ink);font-size:15px;font-weight:600}.pet-family small{font-size:11px;font-weight:500;color:var(--muted);width:100%}.tribute-count{font-size:12px;padding:3px 10px;border-radius:var(--r);background:var(--plate);border:1px solid var(--line);color:var(--ink)}.tribute-counts{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.link{border:0;background:none;min-height:44px;color:var(--ink);font-size:12px;text-decoration:underline;text-underline-offset:3px;display:inline-flex;gap:4px;align-items:center}.tribute-btn{position:absolute;left:50%;transform:translate(-50%);bottom:84px;height:52px;padding:0 22px;border-radius:var(--r);background:var(--brass-fill);color:var(--on-brass);border:1px solid var(--brass-fill);box-shadow:var(--shadow);display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600}.tribute-btn svg{stroke:var(--on-brass)}.niche-nav{position:absolute;left:50%;transform:translate(-50%);bottom:18px;height:56px;border-radius:var(--r);display:flex;align-items:center;padding:0 6px}.niche-nav button{height:44px;padding:0 12px;border:0;background:transparent;color:var(--ink);display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600}.niche-nav button svg{color:var(--brass)}.niche-nav button.sep{border-left:1px solid var(--line);margin-left:4px}.niche-nav button.nav-report{padding:0 8px;min-width:44px;justify-content:center;gap:4px;color:var(--muted);font-weight:500}.niche-nav output{min-width:64px;text-align:center;font-size:14px}.decor-bar{position:absolute;left:50%;transform:translate(-50%);bottom:calc(var(--hud-bottom) + 8px);width:min(520px,calc(100% - 24px));display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:var(--r);background:var(--plate);border:1px solid var(--line);box-shadow:var(--shadow);color:var(--ink)}.decor-note{margin:0;font-size:13px;line-height:1.4;text-align:center;word-break:keep-all}.decor-btns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.decor-btns.two{grid-template-columns:repeat(2,minmax(0,1fr))}.decor-btns .pill{justify-content:center;padding:0 6px;gap:4px;font-weight:600;white-space:nowrap}.decor-btns .pill svg{width:16px;height:16px}.decor-btns .pill:disabled{opacity:.45}.decor-btns .pill.save{background:var(--brass-fill);border-color:var(--brass-fill);color:var(--on-brass)}body.decorating[data-mode=niche] .bag-toggle{display:none}.sns-share{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:52px;margin-top:4px;padding:8px;border:0;border-top:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;border-radius:0 0 var(--r) var(--r)}.sns-share b{font-size:15px}.sns-share small{font-size:12px;color:var(--muted)}.sns-share:hover{background:var(--plate-2)}#share-card{width:min(440px,calc(100% - 24px))}.share-stage{display:flex;justify-content:center;background:var(--plate-2);border-radius:var(--r);padding:10px;margin-bottom:8px}.share-preview{display:block;max-width:100%;max-height:min(44dvh,420px);width:auto;height:auto;border-radius:10px;box-shadow:var(--shadow)}.share-ratio,.share-lines{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:6px 0}.share-lines[hidden],.share-custom[hidden]{display:none}.share-lines .pill{height:44px;font-size:13px;padding:0 10px}.share-custom{width:100%;min-height:44px;margin:4px 0 10px;padding:0 12px;border:1px solid var(--line);border-radius:var(--r);background:var(--field);color:var(--ink);font:inherit}.share-main{width:100%}.share-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}.share-grid .sns-open{grid-column:1/-1}.sns-pick{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:6px}.sns-pick[hidden]{display:none}.bag-item.held .bag-gift{outline:2px solid var(--brass);outline-offset:-2px}.ceremony{position:absolute;inset:0;z-index:30;pointer-events:none}.ceremony canvas{position:absolute;inset:0;width:100%;height:100%}.ceremony button{position:absolute;right:12px;top:12px;pointer-events:auto}.ceremony p{position:absolute;left:50%;bottom:9%;transform:translate(-50%);margin:0;color:#fffaf0;font-size:16px;text-shadow:0 1px 6px rgba(0,0,0,.6);white-space:nowrap}.stars-ui{position:absolute;inset:0;z-index:20;pointer-events:none;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.7)}.stars-ui .hud-btn,.stars-ui .scope-card,.stars-ui input{text-shadow:none}.stars-ui>*{pointer-events:auto}.stars-head{position:absolute;left:16px;top:16px;display:flex;gap:12px;align-items:center}.stars-head strong{display:block;font:700 18px/1.3 var(--title-font)}.stars-head small{font-size:12px;opacity:.85}.stars-sub{position:absolute;left:16px;top:76px;margin:0;font-size:13px;opacity:.9}.stars-refresh{position:absolute;right:16px;top:16px}.stars-hint{position:absolute;right:16px;bottom:76px;margin:0;font-size:12px;opacity:.85;max-width:60%;text-align:right}.stars-actions{position:absolute;right:16px;bottom:16px;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center;max-width:calc(100% - 32px)}.scope-input{height:44px;width:150px;padding:0 14px;border-radius:var(--r);border:1px solid var(--line);background:var(--plate);color:var(--ink);font-size:16px}.scope-input::placeholder{color:var(--muted)}body.entering #app>:not(#world){visibility:hidden}.load-bar{display:block;width:min(240px,60vw);height:3px;margin-top:10px;border-radius:2px;background:#7f7f7f4d;overflow:hidden}.load-bar i{display:block;width:0;height:100%;background:var(--brass-fill);transition:width .2s}.veil{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#0d1236;color:#fff3dc;font-size:15px;opacity:1;transition:opacity .4s}.veil.off{opacity:0;pointer-events:none}.veil-spin{width:30px;height:30px;border-radius:50%;border:3px solid rgba(255,235,190,.25);border-top-color:#f0d59a;animation:veil-spin .9s linear infinite}@keyframes veil-spin{to{transform:rotate(360deg)}}.entry{position:fixed;inset:0;z-index:150;display:flex;flex-direction:column;align-items:center;padding:calc(env(safe-area-inset-top,0px) + 7vh) 16px calc(env(safe-area-inset-bottom,0px) + 4vh);color:#fff6e4;text-align:center;pointer-events:none}.entry h1{margin:0;font:700 34px/1.25 var(--title-font)}.entry-sub{margin:8px 0 0;font-size:15px;color:#d8d3e6}.entry-card{margin-top:auto;width:min(100%,380px);display:flex;flex-direction:column;gap:12px;pointer-events:auto}.entry-hello{margin:0;font-size:17px}.entry-setup{display:flex;flex-direction:column;gap:12px}.entry-setup[hidden],.entry-hello[hidden],.entry-change[hidden]{display:none}.entry-gs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.entry-g{height:46px;border-radius:var(--r);border:1px solid rgba(255,235,190,.35);background:#0d123699;color:#fff6e4;font-size:15px;font-weight:600}.entry-g[aria-pressed=true]{background:#e3c07a;border-color:#e3c07a;color:#20193a}.entry-name{display:flex;align-items:center;gap:10px;height:46px;padding:0 12px;border-radius:var(--r);border:1px solid rgba(255,235,190,.35);background:#0d123699;font-size:14px;color:#d8d3e6}.entry-name span{white-space:nowrap}.entry-name input{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;color:#fff6e4;font-size:16px;text-align:right}.entry-go{height:54px;border:0;border-radius:var(--r-lg);background:#f0d59a;color:#20193a;font-size:17px;font-weight:700}.entry-change{height:44px;border:0;background:transparent;color:#d8d3e6;font-size:14px;text-decoration:underline}.condole-row{display:flex;justify-content:center;gap:6px;margin-top:2px}.condole-row .pill{height:44px;padding:0 10px;gap:4px;font-size:12px;white-space:nowrap}.condole-row .pill svg{width:15px;height:15px}body[data-mode=niche] .test-stats{right:auto;left:calc(var(--hud-left) + 64px);top:calc(var(--hud-top) + 66px);font-size:10px;text-align:left}.test-stats{position:absolute;right:var(--hud-right);top:calc(var(--hud-top) + 52px);z-index:0;padding:3px 8px;border-radius:var(--r);background:#0a0e1e9e;color:#b7f5c6;font:600 11px/1.4 Pretendard,Malgun Gothic,sans-serif;font-variant-numeric:tabular-nums;pointer-events:none;white-space:pre-line;text-align:right}.scope-card{position:absolute;left:16px;bottom:16px;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--r-lg);background:var(--plate);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);max-width:calc(100% - 32px)}.scope-card[hidden]{display:none}.scope-card strong{display:block;font-size:17px}.scope-card small{font-size:12px;color:var(--muted)}@media(max-width:720px){.scope-card{bottom:128px;right:16px;justify-content:space-between}.stars-hint{display:none}}.sns-menu{position:absolute;right:var(--hud-right);top:calc(var(--hud-top) + 52px);border-radius:var(--r-lg);padding:10px;display:flex;flex-direction:column;gap:4px;z-index:25;min-width:180px}.sns-menu p{margin:0 0 4px;font-size:12px;color:var(--muted)}.sns-menu a{color:var(--ink);text-decoration:none;min-height:44px;display:flex;align-items:center;padding:0 8px;border-radius:var(--r)}.sns-menu a:hover{background:var(--plate-2)}.panel{position:absolute;top:calc(var(--hud-top) + 50px);right:var(--hud-right);bottom:calc(var(--hud-bottom) + 72px);width:min(440px,calc(100% - 32px));background:var(--plate);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:24px;overflow:auto;z-index:30;overscroll-behavior:contain}.panel[hidden]{display:none}.panel.wide{width:min(620px,calc(100% - 32px))}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.panel-heading h2{margin:0;font:700 24px/1.3 var(--title-font)}.panel .icon-button{width:44px;height:44px;flex:none;background:transparent;color:var(--ink);border:1px solid var(--line)}.panel .icon-button svg{color:var(--ink)}.panel.chat-panel{padding:0;display:flex;flex-direction:column;overflow:hidden}.panel.chat-panel[hidden]{display:none}.panel.chat-panel .panel-heading{position:absolute;right:16px;top:16px;margin:0;z-index:2}.panel.chat-panel #panel-content{display:flex;flex-direction:column;height:100%}#panel-content>*+*{margin-top:12px}.muted{color:var(--muted)}.pre{white-space:pre-line}.err{color:var(--danger);font-size:13px;margin:4px 0}.err:empty{display:none}.center{text-align:center}.small-note{font-size:12px}.dpanel-head strong.plain-title,.dialog-head h2.plain-title{font-family:var(--ui-font)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 16px;border-radius:var(--r);border:1px solid var(--line);font-size:15px;font-weight:600;text-decoration:none;cursor:pointer;background:var(--plate-2);color:var(--ink);width:100%}.btn:hover{border-color:var(--brass)}.btn.primary{background:var(--brass-fill);border-color:var(--brass-fill);color:var(--on-brass)}.btn.secondary{background:var(--plate-2);color:var(--ink)}.btn.ghost{background:transparent;border-color:var(--line);color:var(--ink)}.btn.link{background:none;border-color:transparent;color:var(--ink);width:auto;padding:0;justify-content:flex-start;font-weight:500}.btn.danger{background:transparent;border-color:var(--danger);color:var(--danger)}.btn.small{font-size:13px;width:auto;padding:0 12px}.btn.wide{width:100%}.btn.kakao{background:#fee500;border-color:#fee500;color:#191919}.btn.google{background:#fff;color:#222;border-color:#d8d3c8}.btn.dark{background:var(--plate-2);border-color:var(--line);color:var(--ink)}.icon-btn{width:44px;height:44px;border:1px solid var(--line);border-radius:var(--r);background:var(--plate-2);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;flex:none}.icon-btn.small{background:transparent;border-color:transparent;color:var(--muted)}.field{display:flex;flex-direction:column;gap:6px;border:0;padding:0;margin:0}.field-label{font-size:14px;font-weight:600}.field input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),.field select,.field textarea,.panel input[type=search]{width:100%;min-height:48px;padding:10px 14px;border-radius:var(--r);border:1px solid var(--line);background:var(--field);color:var(--ink);font-size:16px}.field textarea{resize:vertical;min-height:96px;line-height:1.6}.field input[type=color]{width:100%;height:48px;border:1px solid var(--line);border-radius:var(--r);padding:4px;background:var(--field)}.field input[type=range]{width:100%;min-height:44px}.help{color:var(--muted);font-size:12px}.check,.radio{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:14px;margin-right:12px}.check input,.radio input{width:20px;height:20px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.row-actions{display:flex;gap:10px;justify-content:flex-end}.row-actions .btn{width:auto;flex:1}.row-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.account-login-needed{background:var(--plate-2);border-radius:var(--r);padding:12px;font-size:14px}.alloc-halls{display:flex;flex-direction:column;gap:12px}.alloc-hall{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:14px;padding:16px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--field);color:var(--ink);text-align:left;min-height:96px}.alloc-hall.full{background:var(--plate-2);color:var(--muted);opacity:1}.alloc-hall .ai{width:52px;height:52px;border-radius:50%;background:var(--plate-2);color:var(--brass);display:flex;align-items:center;justify-content:center}.alloc-hall .at{display:flex;flex-direction:column;gap:2px}.alloc-hall .at small{font-size:11px;color:var(--muted)}.alloc-hall .at strong{font:700 19px/1.3 var(--title-font)}.alloc-hall .at span{font-size:13px;color:var(--muted)}.alloc-hall .as{text-align:right;font-size:14px}.alloc-hall .as b{font-size:16px}.alloc-hall .as small{display:block;font-size:11px}.hall-title{font:700 17px/1.4 var(--title-font)}.seat-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.seat-head p{margin:0}.seat-row{position:relative;display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px;max-height:min(222px,34dvh);overflow-y:auto;overscroll-behavior:contain;padding:2px}.allocation-seat{height:44px;border-radius:var(--r);border:1px solid var(--brass);background:var(--field);color:var(--ink);font-size:13px;font-weight:600}.allocation-seat:disabled{background:transparent;border:1px dashed var(--line);color:var(--muted);font-weight:400;opacity:.5;text-decoration:line-through}.allocation-seat.on{background:var(--brass-fill);color:var(--on-brass);border-color:var(--brass-fill)}.seat-gone{grid-column:1/-1;min-height:36px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--line);border-radius:var(--r);color:var(--muted);font-size:13px;opacity:.8}.picked-box{display:flex;justify-content:space-between;align-items:center;padding:12px;border-radius:var(--r);background:var(--plate-2)}.picked{font-weight:600}.owned-lockers{display:flex;flex-direction:column;gap:8px}.owned-lockers div{display:flex;gap:8px;flex-wrap:wrap}.niche-list{display:flex;flex-direction:column;gap:6px;max-height:44vh;overflow:auto}.niche-item{display:flex;gap:10px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:var(--r);background:var(--field);color:var(--ink);text-align:left}.niche-item img,.niche-item .ph{width:40px;height:48px;border-radius:6px;object-fit:cover;background:var(--plate-2)}.niche-item strong{display:block}.niche-item small{color:var(--muted)}.visit{display:flex;gap:10px;align-items:center;justify-content:flex-start;text-align:left;min-height:56px}.visit small{display:block;font-weight:400;opacity:.85}.memorial-photo img{width:100%;border-radius:var(--r);display:block;aspect-ratio:1/1;object-fit:cover}.memorial-photo p{padding:40px 12px;text-align:center;background:var(--plate-2);border-radius:var(--r)}.memorial-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.memorial-head h3{margin:0;font-size:28px;font-weight:600}.memorial-head p{margin:2px 0 0}.letter-box,.memo-box{border-top:1px solid var(--line);padding-top:14px}.letter-text{white-space:pre-line;line-height:1.8;font-size:15px}.write{display:flex;flex-direction:column;gap:10px;background:var(--plate-2);border-radius:var(--r);padding:12px;margin:10px 0}.memo{padding:10px 0;border-bottom:1px solid var(--line)}.memo p{margin:4px 0 0;white-space:pre-line}.photo-label{display:block;cursor:pointer}.photo-label input{position:absolute;width:1px;height:1px;opacity:0}.photo-pick{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px;border-radius:var(--r-lg);border:1px dashed var(--line);background:var(--plate-2);text-align:center}.photo-pick img{width:160px;height:160px;object-fit:cover;border-radius:var(--r)}.photo-pick small{color:var(--muted)}.pet-tabs{display:flex;gap:6px;flex-wrap:wrap}.gift-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:8px 0}.gift-tabs button{min-height:44px;border-radius:var(--r);border:1px solid var(--line);background:transparent;color:inherit;font-weight:600}.gift-tabs button[aria-pressed=true]{background:var(--brass-fill);border-color:var(--brass-fill);color:var(--on-brass)}.gift-list{display:flex;flex-direction:column;gap:8px}.gift-row{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;padding:10px;border-radius:var(--r);background:var(--field);border:1px solid var(--line)}.gift-ico{display:block;text-align:center}.gift-ico img{width:40px;height:40px;display:block}.gift-row strong{display:block}.gift-row small{color:var(--muted);font-size:12px}.gift-row .btn{background:var(--brass-fill);border-color:var(--brass-fill);color:var(--on-brass)}.bag-head{margin:0 0 6px;font-size:12px;color:var(--muted)}.bag-items{display:flex;gap:8px;overflow-x:auto;padding:6px 6px 4px 0}.bag-item{position:relative;flex:none}.bag-gift{width:72px;height:72px;border-radius:var(--r);border:1px solid var(--line);background:var(--field);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.bag-gift span img{width:40px;height:40px;display:block}.bag-gift small{font-size:9px;max-width:66px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bag-x{position:absolute;right:-4px;top:-4px;width:24px;height:24px;border-radius:50%;border:1px solid var(--line);background:var(--plate-2);color:var(--ink);font-size:13px;line-height:1;padding:0}.bag-x:after{content:"";position:absolute;inset:-10px}.dpanel{position:absolute;z-index:32;background:var(--plate);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:16px 18px;max-height:calc(100% - 140px);overflow:auto}.dpanel.menu{right:var(--hud-right);top:calc(var(--hud-top) + 50px);width:min(420px,calc(100% - 32px))}.dpanel.center{left:50%;top:50%;transform:translate(-50%,-50%);width:min(420px,calc(100% - 24px));max-height:calc(100% - 40px)}.dpanel.bottom{right:var(--hud-right);bottom:calc(var(--hud-bottom) + 76px);width:min(440px,calc(100% - 24px))}.dpanel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.dpanel-head strong{font:700 18px/1.3 var(--title-font)}.dclose{width:44px;height:44px;border-radius:var(--r);border:1px solid var(--line);background:transparent;color:var(--ink);display:flex;align-items:center;justify-content:center;margin-left:auto}.dsub{color:var(--muted);font-size:13px;margin:4px 0 10px}.msec{margin:6px 0;font-size:12px;color:var(--muted)}.mgrid{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:8px}.mitem{display:flex;align-items:center;gap:10px;min-height:48px;padding:6px 10px;border:0;border-radius:var(--r);background:transparent;color:var(--ink);text-align:left;font-size:14px}.mitem:hover{background:var(--plate-2)}.mitem svg{color:var(--brass)}@media(min-width:641px){.mitem.only-phone{display:none}}.hall-list{display:flex;flex-direction:column;gap:8px}.hall-row{display:grid;grid-template-columns:36px 40px 1fr auto;gap:8px;align-items:center;min-height:62px;padding:8px 12px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--field);color:var(--ink);text-align:left}.hall-row svg{color:var(--brass)}.hall-row:disabled{opacity:.6;cursor:default}.hall-row .hn{font-size:12px;color:var(--muted)}.hall-row .ht strong{display:block;font:700 16px/1.3 var(--title-font)}.hall-row .ht small,.hall-row .hs{font-size:12px;color:var(--muted)}.gesture-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.gesture{min-height:72px;border:1px solid var(--line);border-radius:var(--r);background:var(--plate);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px 2px;font-size:12.5px;word-break:keep-all;text-align:center;line-height:1.25}.gesture svg{color:var(--brass);stroke-width:1.5}.gesture:hover,.gesture:active{background:var(--plate-2)}.emote-list{display:grid;grid-template-columns:1fr 1fr;gap:2px 6px}.emote{min-height:44px;border:0;border-radius:var(--r);background:transparent;color:var(--ink);text-align:left;padding:0 10px;font-size:15px}.emote:hover{background:var(--plate-2)}.vol-row{display:grid;grid-template-columns:78px 1fr 44px;gap:8px;align-items:center;margin:8px 0}.vol-row .icon-btn{background:transparent}.vol-row .icon-btn[aria-pressed=true]{color:var(--danger)}.lang-list{display:flex;flex-direction:column;gap:6px}.lang{min-height:48px;border-radius:var(--r);border:1px solid var(--line);background:var(--field);color:var(--ink);display:flex;justify-content:space-between;align-items:center;padding:0 14px}.lang.on{border-color:var(--brass)}.count{font-size:12px;color:var(--muted);text-align:right}.support-title{text-align:center;margin:4px 0;font:700 26px/1.3 var(--title-font)}.qr{display:flex;flex-direction:column;align-items:center;gap:6px;margin:10px 0}.qr img{background:#fff;border-radius:var(--r-lg);padding:10px}.acct{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.acct-row{display:flex;gap:8px;align-items:center;margin-top:6px}.acct-row output{flex:1;font-size:20px;font-weight:600;padding:10px 12px;border-radius:var(--r);border:1px solid var(--line)}.support-form{display:flex;flex-direction:column;gap:10px;margin-top:12px;border-top:1px solid var(--line);padding-top:12px}.support-history ul{padding-left:18px;font-size:12px;color:var(--muted)}.invite-url{display:block;padding:12px;border-radius:var(--r);border:1px solid var(--line);word-break:break-all;font-size:13px;margin:6px 0 10px}.family-list{display:flex;flex-direction:column;gap:6px;margin-top:10px}.family-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-top:1px solid var(--line);font-size:14px}.family-row .btn{width:auto;min-height:44px;padding:0 14px}.scrim{position:absolute;inset:0;background:#1e1a1673;z-index:40;display:flex;align-items:center;justify-content:center;padding:16px}.dialog{width:min(420px,100%);max-height:calc(100% - 32px);overflow:auto;background:var(--plate);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-lg);padding:24px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.dialog-head h2{margin:0;font:700 21px/1.3 var(--title-font)}.dialog-x{min-height:44px;padding:0 14px;border-radius:var(--r);border:1px solid var(--line);background:transparent;color:var(--ink);font-weight:600;flex:none}.confirm-body p{margin:6px 0;line-height:1.6}.acc-name{font-size:20px;font-weight:600;margin:0}.acc-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--muted)}.pebble-card{min-height:120px;display:flex;flex-direction:column;justify-content:center;gap:8px;background:var(--field);border-radius:var(--r-lg);padding:18px;border:1px solid var(--line)}.pebble-msg{font-size:17px;margin:0;white-space:pre-line}.shot{display:block;width:100%;max-height:48vh;object-fit:contain;border-radius:var(--r)}video.shot{max-height:48vh;object-fit:contain;background:#161b2e}.reel-body progress{width:100%;height:10px}.anniv-line{margin:2px 0;padding:3px 10px;border-radius:var(--r);background:var(--plate);border:1px solid var(--line);color:var(--ink);font-size:14px;font-weight:600}.help-list{padding-left:18px;color:var(--muted);line-height:1.8}.intro-lead{font-size:18px;font-weight:700;margin:0 0 8px}.intro-sec h3,.help-sub{font-size:15px;margin:16px 0 4px}.chat-head{display:flex;gap:12px;align-items:center;padding:18px 84px 14px 18px;background:var(--plate);border-bottom:1px solid var(--line)}.chat-head img,.chat-head .ph{width:56px;height:56px;border-radius:var(--r-lg);object-fit:cover;background:var(--plate-2)}.chat-head strong{display:block;font-size:22px}.chat-head small{color:var(--muted)}.chat-head .icon-btn{margin-left:auto}.chat-list{flex:1;overflow:auto;background:var(--plate-2);padding:16px;display:flex;flex-direction:column;gap:12px;margin:0!important}.chat-day{text-align:center;color:var(--muted);font-size:12px;margin:4px 0}.chat{display:flex;gap:10px;align-items:flex-start}.chat strong{font-size:12px;font-weight:600;color:var(--muted)}.chat p{margin:4px 0 2px;background:var(--field);border:1px solid var(--line);padding:10px 14px;border-radius:var(--r-lg);line-height:1.5;max-width:300px}.chat small{font-size:11px;color:var(--muted)}.chat.me{justify-content:flex-end}.chat.me p{background:var(--brass-fill);border-color:var(--brass-fill);color:var(--on-brass)}.chat-input{display:flex;gap:8px;padding:12px;background:var(--plate);border-top:1px solid var(--line);margin:0!important}.chat-input textarea{flex:1;min-height:56px;border-radius:var(--r);border:1px solid var(--line);background:var(--field);color:var(--ink);padding:10px;resize:none}.chat-input .send{width:56px;height:56px}#toast{position:absolute;left:50%;bottom:calc(var(--hud-bottom) + 130px);transform:translate(-50%);padding:10px 16px;border-radius:var(--r);background:var(--plate);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);font-size:13px;z-index:45;max-width:calc(100% - 32px);text-align:center;pointer-events:none}.seo-content{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.panel .seo-copy h1{font-size:20px}@media(max-width:640px){.top-btn{display:none}.top-right{gap:6px}.top-right .icon-button{width:44px}.way{left:var(--hud-left);right:var(--hud-right);transform:none;max-width:none;justify-content:space-between;padding:4px}.way button{min-width:0;flex:1;font-size:11px;padding:0 2px}.way button.main{position:absolute;left:50%;transform:translate(-50%);bottom:66px;flex:none;min-width:150px;height:48px;border-radius:24px;box-shadow:var(--shadow)}.bag-toggle{left:calc(var(--hud-left) + 20px);right:auto;bottom:calc(var(--hud-bottom) + 176px);width:56px;height:56px}.bag-toggle svg{width:20px;height:20px}.bag-toggle img{width:26px;height:26px}.bag-label{font-size:10px}.claim-fab{display:flex;bottom:calc(var(--hud-bottom) + 66px)}.view-reset{bottom:calc(var(--hud-bottom) + 130px)}.movement{bottom:calc(var(--hud-bottom) + 70px)}.place-actions{left:calc(var(--hud-left) + 88px);right:var(--hud-right);transform:none;max-width:none;bottom:calc(var(--hud-bottom) + 180px)}#toast{bottom:calc(var(--hud-bottom) + 236px)}.dpanel.bottom{left:12px;right:12px;width:auto;bottom:calc(var(--hud-bottom) + 130px)}body[data-mode=niche] .bag-toggle{left:auto;right:var(--hud-right);bottom:calc(var(--hud-bottom) + 70px)}body[data-mode=niche] #toast{bottom:calc(var(--hud-bottom) + 300px)}}@media(max-width:560px){.two{grid-template-columns:1fr}.panel{inset:auto 0 0;width:100%;max-height:72vh;border-width:1px 0 0;border-radius:var(--r-lg) var(--r-lg) 0 0}.niche-info{bottom:140px}.pen-over{inset:auto 12px 220px auto}.owner-tools{top:auto;bottom:280px}}@media(max-width:359px){.name-plate{padding:8px 10px}.top-right{gap:4px}.movement{bottom:calc(var(--hud-bottom) + 126px)}.bag-toggle{bottom:calc(var(--hud-bottom) + 232px)}.place-actions{left:calc(var(--hud-left) + 104px)}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.outfit-picker .btn{width:auto;flex:0 0 auto;padding:6px 12px;font-size:14px}.outfit-picker .btn[aria-pressed=true]{outline:2px solid var(--brass);outline-offset:1px}.tap{position:fixed;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:2px solid rgba(240,198,116,.95);box-shadow:0 0 10px #f0c6748c;pointer-events:none;z-index:60;animation:tap .45s cubic-bezier(.16,1,.3,1) forwards}@keyframes tap{0%{transform:scale(.35);opacity:1}to{transform:scale(1.7);opacity:0}}@media(prefers-reduced-motion:reduce){.tap{animation-duration:.01s}}@media(max-width:560px)and (max-height:700px){.pen-over{display:none}}@media(max-width:560px)and (max-height:720px){.niche-tools{top:calc(var(--hud-top) + 66px);gap:6px}.owner-tools{top:calc(var(--hud-top) + 112px);bottom:auto;gap:6px}.niche-tools .tool,.owner-tools .tool{height:46px}.niche-tools .tool svg,.owner-tools .tool svg{width:16px;height:16px}}@media(max-width:359px){.niche-nav button{padding:0 8px;min-width:44px;justify-content:center}.niche-nav button svg{display:none}}@media(min-width:761px)and (min-height:481px){.niche-info{flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 12px;bottom:82px;width:auto;max-width:calc(100% - 200px)}.niche-info .condole-row{margin-top:0}.pet-family{gap:4px 10px}.pet-family small{width:auto}.anniv-line{width:100%;margin:0}.tribute-btn{left:calc(50% - 250px);transform:none;bottom:18px;height:56px}.niche-nav{left:calc(50% - 116px);transform:none}}@media(max-height:480px){.where{display:none}.niche-tools{top:calc(var(--hud-top) + 50px);gap:6px}.owner-tools{top:calc(var(--hud-top) + 104px);display:grid;grid-template-columns:56px 56px;gap:6px}.niche-tools .tool,.owner-tools .tool{height:46px}.niche-tools .tool svg,.owner-tools .tool svg{width:16px;height:16px}.niche-info{display:contents}.pet-family{position:absolute;left:80px;top:calc(var(--hud-top) + 50px);font-size:0;gap:4px;padding:0 8px}.pet-family>small,.pet-family>span{display:none}.pet-family .link{font-size:12px}.tribute-counts{position:absolute;left:80px;top:calc(var(--hud-top) + 102px)}.tribute-count{font-size:11px}.anniv-line{position:absolute;left:80px;top:calc(var(--hud-top) + 132px);font-size:12px;margin:0}.condole-row{position:absolute;left:72px;bottom:8px;gap:4px;margin:0}.condole-row .pill{padding:0 8px}.condole-row .pill svg{display:none}.niche-nav{left:auto;right:12px;transform:none;bottom:8px;height:48px;padding:0 2px}.niche-nav button{height:44px;min-width:44px;padding:0 8px;justify-content:center}.niche-nav button svg{display:none}.tribute-btn{left:auto;right:274px;transform:none;bottom:8px;height:44px;padding:0 14px}body[data-mode=niche] .bag-toggle{left:12px;right:auto;bottom:8px;width:52px;height:52px}body[data-mode=niche] .test-stats{display:none}}@media(max-height:480px)and (max-width:720px){.condole-row{bottom:60px}.tribute-btn{left:72px;right:auto;padding:0 12px}}
