:root{--font:"Pretendard", "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", system-ui, sans-serif;--glass-bg:#2a221c94;--glass-border:#ffffff29;--text:#fffaf3;--text-dim:#fffaf3b3;--accent:#f0a04b;--me:#6f7d4f;--label-text:#2e2823;--npc-bg:#d9d6d1;--gutter:16px}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;font-family:var(--font);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background:#2b2420;margin:0;overflow:hidden}.app{position:fixed;inset:0}.game-canvas{touch-action:none;-webkit-user-select:none;user-select:none}button{font:inherit;color:inherit}.glass{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(14px)saturate(1.2);box-shadow:0 8px 24px #0000002e}.hud{z-index:2;pointer-events:none;position:absolute;inset:0}.hud>*{pointer-events:auto}.card{border-radius:18px;padding:12px 16px;position:absolute}.hud__space{top:var(--gutter);left:var(--gutter);min-width:200px;max-width:calc(100vw - 2 * var(--gutter) - 120px)}.card__eyebrow{letter-spacing:.12em;color:var(--accent);margin:0;font-size:11px;font-weight:700}.card__title{margin:2px 0 8px;font-size:20px;font-weight:800}.space-status{color:var(--text-dim);margin:-4px 0 10px;font-size:12px;line-height:1.5}.space-status b{color:var(--text);font-weight:700}.status-dot{vertical-align:0;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.status-dot--online{background:var(--accent);box-shadow:0 0 0 3px #f0a04b40}.status-dot--connecting{background:#e8d17a;animation:1s ease-in-out infinite blink}.status-dot--solo{background:#a8a29a}@keyframes blink{50%{opacity:.3}}.me-row{border:1px solid var(--glass-border);cursor:pointer;text-align:left;background:#ffffff14;border-radius:999px;align-items:center;gap:8px;width:100%;padding:6px 10px 6px 6px;transition:background .15s;display:flex}.me-row:hover{background:#ffffff29}.me-badge{background:var(--me);color:#fff;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:grid}.me-row__name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.me-row__edit{color:var(--text-dim);flex:none;font-size:13px}.hud__clock{top:var(--gutter);right:var(--gutter);text-align:right}.clock__time{font-variant-numeric:tabular-nums;margin:0;font-size:28px;font-weight:800;line-height:1.1}.clock__meta{color:var(--text-dim);margin:4px 0 0;font-size:12px}.phase-dot{vertical-align:0;border-radius:50%;width:8px;height:8px;margin-left:2px;display:inline-block}.phase-dot--day{background:#ffd166}.phase-dot--dusk{background:#ff8c5a}.phase-dot--night{background:#8ea6ff}.friday-banner{color:#fff;white-space:nowrap;cursor:pointer;background:linear-gradient(90deg,#ff5a8a,#9b6bff);border:0;border-radius:999px;margin-top:8px;padding:4px 10px;font-size:11px;font-weight:700;animation:.3s ease-out hint-pop;display:block;box-shadow:0 6px 18px #9b6bff66}.friday-banner b{margin-left:6px;text-decoration:underline}.hud__bottom{left:0;right:0;bottom:calc(var(--gutter) + env(safe-area-inset-bottom));padding:0 var(--gutter);pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute}.hint{color:#ffffffd9;text-shadow:0 1px 3px #0000008c;text-align:center;margin:0;font-size:12px}.hint b{font-weight:700}.hint-toast{background:var(--accent);color:#2b1d0e;border-radius:999px;margin:0;padding:8px 16px;font-size:14px;font-weight:800;animation:.25s ease-out hint-pop;box-shadow:0 6px 18px #00000040}@keyframes hint-pop{0%{opacity:0;transform:translateY(8px)scale(.9)}}.action-bar{pointer-events:auto;border-radius:20px;flex-wrap:wrap;justify-content:center;gap:6px;max-width:min(960px,100%);padding:8px;display:flex}.action-btn{white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;background:0 0;border:1px solid #0000;border-radius:14px;align-items:center;gap:8px;min-height:40px;padding:6px 14px 6px 8px;font-size:14px;font-weight:700;transition:background .12s,transform 80ms;display:inline-flex}.action-btn:hover{background:#ffffff1f}.action-btn:active{background:#fff3;transform:scale(.95)}.action-btn.is-on{background:#f0a04b38;border-color:#f0a04b99}.action-btn__key{border:1px solid var(--glass-border);width:22px;height:22px;color:var(--text-dim);border-radius:7px;place-items:center;font-size:11px;display:grid}.action-bar__sep{background:var(--glass-border);align-self:stretch;width:1px;margin:4px 2px}.space-menu{position:relative}.space-menu__toggle{padding-left:14px}.space-menu__list{border-radius:16px;min-width:170px;margin:0;padding:6px;list-style:none;position:absolute;bottom:calc(100% + 10px);right:0}.space-menu__item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:14px;font-weight:700;display:flex}.space-menu__item:hover:not(:disabled){background:#ffffff24}.space-menu__item.is-current{cursor:default;color:var(--text-dim)}.space-menu__here{color:var(--accent);font-size:11px}.space-menu__item.is-locked{cursor:default;color:var(--text-dim)}.space-menu__soon{color:#9fd1ff;font-size:11px;font-weight:600}.elevator{z-index:5;pointer-events:auto;position:absolute;inset:0}.elevator__door{background:linear-gradient(90deg,#8f969e,#c9ced4 40%,#aab0b7 60%,#8f969e);width:50.5%;transition:transform .6s cubic-bezier(.6,0,.3,1);position:absolute;top:0;bottom:0;box-shadow:inset 0 0 40px #00000040}.elevator__door--left{border-right:2px solid #6f757c;left:0}.elevator__door--right{border-left:2px solid #6f757c;right:0}.elevator--closing .elevator__door{animation:.6s cubic-bezier(.6,0,.3,1) both door-close}.elevator--opening .elevator__door{animation:.6s cubic-bezier(.6,0,.3,1) both door-open}.elevator--closing .elevator__door--right,.elevator--opening .elevator__door--right{animation-name:door-close-right}.elevator--opening .elevator__door--right{animation-name:door-open-right}@keyframes door-close{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes door-open{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes door-close-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes door-open-right{0%{transform:translate(0)}to{transform:translate(100%)}}.elevator__display{color:#ffb44a;letter-spacing:.05em;background:#1b1d21;border-radius:8px;padding:8px 16px;font-size:18px;font-weight:800;position:absolute;top:18%;left:50%;transform:translate(-50%);box-shadow:0 0 12px #ffb44a59}.elevator--opening .elevator__display{animation:.3s ease-out both fade-out}@keyframes fade-out{to{opacity:0}}.sound-toggle{border:1px solid var(--glass-border);cursor:pointer;background:#ffffff14;border-radius:999px;margin-top:8px;padding:5px 10px;font-size:12px;font-weight:700}.sound-toggle.is-on{border-color:#f0a04b99}.label-layer{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.label-anchor{visibility:hidden;will-change:transform;position:absolute;top:0;left:0}.name-label{white-space:nowrap;font-family:var(--font);color:var(--label-text);-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:6px;padding:4px 12px 4px 4px;font-size:13px;font-weight:700;display:inline-flex;box-shadow:0 2px 8px #0000002e}.name-label--user{background:#fffdf9}.name-label--npc{background:var(--npc-bg);padding-left:12px}.name-label:not(:has(.name-label__me)){padding-left:12px}.name-label__me{background:var(--me);color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;font-size:10px;display:grid}.name-label__rank{color:#6b6159;font-size:11px;font-weight:800}.shout-bubble{color:#2e2823;font-family:var(--font);white-space:nowrap;background:#fffdf4;border:3px solid #2e2823;border-radius:22px;padding:10px 22px;font-size:30px;font-weight:900;animation:.35s cubic-bezier(.2,1.6,.4,1) both shout-pop,.12s ease-in-out .35s 6 shout-shake;position:relative;box-shadow:0 6px 18px #00000040}.shout-bubble:after{content:"";border:10px solid #0000;border-top-color:#2e2823;position:absolute;bottom:-14px;left:50%;transform:translate(-50%)}@keyframes shout-pop{0%{opacity:0;transform:scale(.2)}}@keyframes shout-shake{50%{transform:translate(3px)rotate(-2deg)}}.hud__right{top:calc(var(--gutter) + 118px);right:var(--gutter);pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;max-width:min(340px,60vw);display:flex;position:absolute}.hud__right>*{pointer-events:auto}.top-tools{gap:6px;display:flex}.tool-btn{cursor:pointer;border-radius:14px;place-items:center;width:40px;height:40px;font-size:18px;display:grid;position:relative}.tool-btn__dot{background:#ff5a5a;border-radius:50%;width:8px;height:8px;position:absolute;top:6px;right:6px;box-shadow:0 0 0 2px #2a221ccc}.stats-ticker{color:var(--text-dim);text-align:right;border-radius:14px;margin:0;padding:8px 12px;font-size:12px;line-height:1.45;animation:.35s ease-out hint-pop}.stats-ticker b{color:var(--text)}.loading{z-index:20;padding:var(--gutter);text-align:center;background:radial-gradient(circle at 50% 40%,#4a3a2c,#1f1a16 70%);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:fixed;inset:0}.loading__brand{color:var(--accent);letter-spacing:.04em;margin:0;font-size:clamp(48px,12vw,88px);font-weight:900}.loading__line{min-height:2.6em;margin:0;font-size:clamp(18px,4.6vw,24px);animation:.4s ease-out hint-pop}.loading__line b{color:#ffd27a;font-variant-numeric:tabular-nums}.loading__enter{min-width:180px;margin-top:18px;padding:14px 28px;font-size:18px}.modal.modal--wide{width:min(520px,100%)}.tabs{gap:6px;margin-bottom:14px;display:flex}.tab{border:1px solid var(--glass-border);cursor:pointer;background:0 0;border-radius:12px;flex:1;padding:10px 8px;font-size:13px;font-weight:700}.tab.is-on{background:var(--accent);color:#2b1d0e;border-color:#0000}.notice-list{max-height:min(50vh,420px);margin:0;padding:0;list-style:none;overflow:auto}.notice+.notice{border-top:1px solid var(--glass-border)}.notice{padding:12px 2px}.notice__date{color:var(--text-dim);margin:0;font-size:11px}.notice__title{margin:4px 0;font-size:15px}.notice__body{white-space:pre-line;color:var(--text-dim);margin:0;font-size:13px}.message-form textarea,.message-form__contact{border:1px solid var(--glass-border);width:100%;color:var(--label-text);font:500 14px var(--font);resize:vertical;background:#fffffff2;border-radius:12px;padding:12px}.message-form__contact{margin-top:10px}.message-form__count{color:var(--text-dim);text-align:right;margin:4px 2px 10px;font-size:11px}.message-form__types{gap:8px;display:flex}.type-option{border:1px solid var(--glass-border);cursor:pointer;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px;font-size:13px;font-weight:700;display:flex}.type-option.is-on{border-color:var(--accent);background:#f0a04b33}.report{text-align:center}.report__date{color:var(--accent);margin:0;font-size:13px;font-weight:800}.report__name{margin:6px 0 14px;font-size:22px}.report__lines{margin:0 0 18px;padding:0;font-size:15px;line-height:1.9;list-style:none}.report__actions{justify-content:center}.report__stay{color:var(--text-dim);cursor:pointer;background:0 0;border:0;margin-top:12px;font-size:13px;text-decoration:underline}.capture{width:min(420px,100%)}.capture__img{object-fit:contain;border-radius:14px;width:100%;max-height:60vh;display:block}.capture__tip{color:var(--text-dim);margin:10px 0;font-size:12px}.admin{color:#2e2823;background:#fbf8f2;max-width:1100px;height:100%;margin:0 auto;padding:24px 16px 80px;overflow:auto}#root:has(.admin){background:#fbf8f2;overflow:auto}body:has(.admin){background:#fbf8f2;overflow:auto}.admin h1{font-size:22px}.admin section{margin-top:28px}.admin input,.admin textarea{width:100%;max-width:520px;font:14px var(--font);border:1px solid #d8d0c4;border-radius:8px;margin:6px 0;padding:10px;display:block}.admin button{color:#2e2823;cursor:pointer;background:#fff;border:1px solid #d8d0c4;border-radius:8px;margin:2px 4px 2px 0;padding:7px 12px}.admin button.is-on{color:#fff;background:#2e2823}.admin__table{border-collapse:collapse;width:100%;margin-top:10px;font-size:13px}.admin__table th,.admin__table td{text-align:left;vertical-align:top;border-bottom:1px solid #e8e1d6;padding:8px}.admin__table tr.is-read{opacity:.55}.admin__text{white-space:pre-wrap}.admin__contact{color:#7a6f63;font-size:12px}.admin__type{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.admin__type--feedback{color:#2a5c9a;background:#e3f0ff}.admin__type--business{color:#a85a1a;background:#ffeede}.admin__notices{padding:0;list-style:none}.admin__notices li{border-bottom:1px solid #e8e1d6;padding:10px 0}.admin__error{color:#c0392b}.modal-backdrop{padding:var(--gutter);pointer-events:auto;background:#14100c59;place-items:center;display:grid;position:absolute;inset:0}.modal{border-radius:22px;width:min(360px,100%);padding:20px}.modal__title{margin:0 0 14px;font-size:17px;font-weight:800}.nickname-input{position:relative}.nickname-input input{border:1px solid var(--glass-border);width:100%;color:var(--label-text);font:600 16px var(--font);background:#fffffff2;border-radius:14px;outline:none;padding:12px 56px 12px 14px}.nickname-input input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f0a04b59}.nickname-input__count{color:#8a8077;font-variant-numeric:tabular-nums;font-size:12px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.nickname-input__count.is-over{color:#d9534f}.modal__error{color:#ffb4a8;min-height:18px;margin:8px 2px 12px;font-size:12px}.modal__actions{gap:8px;display:flex}.modal__spacer{flex:1}.btn{border:1px solid var(--glass-border);cursor:pointer;border-radius:999px;padding:9px 16px;font-size:14px;font-weight:700;transition:background .15s,opacity .15s}.btn--ghost{background:#ffffff14}.btn--ghost:hover{background:#ffffff2e}.btn--primary{background:var(--accent);color:#2b1d0e;border-color:#0000}.btn--primary:disabled{opacity:.45;cursor:not-allowed}@media (width<=560px){.hud__space{min-width:0;max-width:calc(100vw - 2 * var(--gutter) - 112px);padding:10px 12px}.hud__clock{padding:8px 10px}.clock__meta{display:none}.sound-toggle{margin-top:4px;font-size:11px}.card__title{font-size:17px}.clock__time{font-size:22px}.action-btn{padding:5px 10px 5px 6px;font-size:13px}}.phase-picker{border:1px solid var(--glass-border);background:#ffffff14;border-radius:999px;gap:2px;padding:2px;display:inline-flex}.phase-picker__btn{color:var(--text-dim);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700}.phase-picker__btn.is-on{color:#fff;background:#f0a04be6}.hud__clock .sound-toggle{margin-left:auto;display:block}.reconnect{z-index:40;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:auto;background:#14161e59;place-items:center;display:grid;position:fixed;inset:0}.reconnect__card{text-align:center;border-radius:20px;width:min(340px,100vw - 32px);padding:22px 20px}.reconnect__spinner{border:3px solid #f0a04b40;border-top-color:#f0a04b;border-radius:50%;width:26px;height:26px;animation:.9s linear infinite reconnect-spin;display:inline-block}@keyframes reconnect-spin{to{transform:rotate(360deg)}}.reconnect__title{margin:10px 0 2px;font-size:18px;font-weight:800}.reconnect__sub{color:var(--text-dim);margin:0;font-size:13px}.reconnect__stat{background:#ffffff14;border-radius:12px;margin:14px 0 0;padding:10px 12px;font-size:13px;animation:.35s ease-out reconnect-fade}@keyframes reconnect-fade{0%{opacity:0;transform:translateY(4px)}}.tool-btn.is-on{border-color:#f0a04bcc}.shop-backdrop{z-index:30;pointer-events:none;position:fixed;inset:0}.shop{pointer-events:auto;border-radius:20px;flex-direction:column;gap:10px;width:min(360px,100vw - 32px);padding:16px;display:flex;position:absolute;top:16px;bottom:16px;right:16px;overflow-y:auto}.shop__head{align-items:center;gap:8px;display:flex}.shop__title{margin:0;font-size:18px}.shop__account{color:var(--text);cursor:pointer;background:#ffffff1a;border:0;border-radius:999px;margin-left:auto;padding:4px 8px;font-size:11px}.shop__account--muted{color:var(--text-dim);cursor:default;background:0 0}.shop__close{color:var(--text-dim);cursor:pointer;background:0 0;border:0;font-size:16px}.shop__tabs{flex-wrap:wrap}.shop__grid{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.shop-card{border:1px solid var(--glass-border);width:100%;color:var(--text);cursor:pointer;background:#ffffff0f;border-radius:14px;flex-direction:column;align-items:center;gap:3px;padding:10px 4px;display:flex}.shop-card.is-selected{background:#f0a04b26;border-color:#f0a04b}.shop-card__icon{font-size:26px;line-height:1.1}.shop-card__name{text-align:center;word-break:keep-all;font-size:12px;font-weight:700}.shop-card__price{color:var(--text-dim);font-size:11px}.shop__detail{flex-direction:column;gap:8px;display:flex}.shop__desc{margin:0;font-size:13px;line-height:1.5}.shop__desc--muted{color:var(--text-dim)}.shop__foot{color:var(--text-dim);text-align:center;margin:auto 0 0;font-size:11px}.shop__back{align-self:flex-start}.login-box{flex-direction:column;gap:8px;display:flex}.login-box__reason{margin:0;font-weight:700}.login-box__note{color:var(--text-dim);margin:0;font-size:12px}.login-box__test{gap:6px;display:flex}.login-box__test input,.team__invite input,.team__plaque input{border:1px solid var(--glass-border);min-width:0;color:var(--text);font:inherit;background:#ffffff14;border-radius:10px;flex:1;padding:8px 10px;font-size:13px}.login-btn--kakao{color:#191600;background:#fee500;border:0}.login-btn--google{color:#2b2b2b;background:#fff;border:1px solid #dadce0}.checkout{text-align:center;flex-direction:column;gap:6px;display:flex}.checkout__badge{background:#7fd6ff2e;border-radius:999px;align-self:center;margin:0;padding:4px 10px;font-size:11px}.checkout__name{margin:8px 0 0;font-size:16px;font-weight:800}.checkout__price{margin:0;font-size:24px;font-weight:800}.team__title{margin:0 0 6px;font-size:18px}.team__name{margin:0;font-size:20px;font-weight:800}.team__meta{color:var(--text-dim);margin:4px 0 10px;font-size:12px}.team__invite,.team__plaque{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.team__section{color:var(--text-dim);margin:12px 0 6px;font-size:12px;font-weight:800}.team__product{border-top:1px solid var(--glass-border);justify-content:space-between;align-items:center;gap:8px;padding:8px 0;font-size:13px;display:flex}.team__product-desc{color:var(--text-dim);font-size:11px;display:block}.team__owned{color:#f0a04b;font-size:12px;font-weight:700}.team__logo{cursor:pointer}@media (width<=560px){.shop{width:auto;max-height:62vh;inset:auto 8px 8px}}.message-form__photo{margin-top:8px}.photo-pick{cursor:pointer;font-size:13px}.photo-thumb{display:inline-block;position:relative}.photo-thumb img{border-radius:10px;max-width:160px;max-height:110px;display:block}.photo-thumb button{color:#fff;cursor:pointer;background:#0009;border:0;border-radius:50%;width:22px;height:22px;position:absolute;top:4px;right:4px}.admin__photo{border-radius:8px;max-width:320px;max-height:240px;margin-top:6px;display:block}@media (width<=560px){.hud__right{top:calc(var(--gutter) + 84px)}.top-tools{flex-direction:column}.tool-btn{width:36px;height:36px;font-size:16px}}.ad-backdrop{z-index:60}.ad{border-radius:20px;flex-direction:column;gap:10px;width:min(880px,100vw - 32px);max-height:calc(100vh - 32px);padding:14px;display:flex}.ad__head{align-items:center;gap:10px;min-height:34px;display:flex}.ad__line{flex:1;margin:0;font-size:14px;font-weight:700;animation:.4s ease-out reconnect-fade}.ad__close{width:34px;height:34px;color:var(--text);cursor:pointer;background:#ffffff29;border:0;border-radius:50%;flex:none;font-size:16px}.ad__media{aspect-ratio:16/9;cursor:pointer;background:#000;border-radius:14px;max-height:calc(100vh - 170px);position:relative;overflow:hidden}.ad__media img,.ad__media video{object-fit:contain;width:100%;height:100%;display:block}.ad__mute{color:#fff;cursor:pointer;background:#0009;border:0;border-radius:999px;padding:6px 12px;font-size:13px;position:absolute;bottom:10px;right:10px}.ad__foot{justify-content:space-between;align-items:center;gap:10px;display:flex}.ad__by{color:var(--text-dim);font-size:12px}.admin__note{color:#777;margin:0 0 8px;font-size:12px}.entry-hint{z-index:15;text-align:center;pointer-events:none;width:max-content;max-width:calc(100vw - 32px);animation:4.2s ease-in-out forwards entry-hint;position:fixed;top:22%;left:50%;transform:translate(-50%)}.entry-hint__title{color:#fff;text-shadow:0 2px 10px #0000008c;margin:0;font-size:clamp(18px,5vw,26px);font-weight:900}.entry-hint__example{color:#ffe9b8;text-shadow:0 1px 6px #0009;margin:6px 0 0;font-size:clamp(13px,3.6vw,15px);font-weight:700}@keyframes entry-hint{0%{opacity:0;transform:translate(-50%,8px)}10%{opacity:1;transform:translate(-50%)}70%{opacity:1}to{opacity:0}}.hud__space{min-width:0;max-width:calc(100vw - 2 * var(--gutter) - 190px);padding:10px 12px}.hud__space .card__eyebrow{margin-bottom:4px}.space-status{flex-wrap:wrap;align-items:center;gap:2px 8px;margin:0 0 8px;font-size:12px;line-height:1.3;display:flex}.space-status .status-dot{margin-right:0}.space-status__place{color:var(--text);white-space:nowrap;font-size:15px;font-weight:800}.space-status__pop{color:var(--text-dim);font-variant-numeric:tabular-nums;white-space:nowrap;background:#ffffff1a;border-radius:999px;padding:2px 8px;font-size:12px}.space-status__sub{color:var(--text-dim);flex-basis:100%;font-size:11px}.hud__right{top:var(--gutter)}.top-tools{flex-direction:row}.tool-btn.is-muted{opacity:.7}.more-menu{position:relative}.more-menu__panel{z-index:5;border-radius:16px;flex-direction:column;align-items:stretch;gap:6px;min-width:230px;padding:10px;animation:.15s ease-out hint-pop;display:flex;position:absolute;top:calc(100% + 8px);right:0}.more-menu__label{color:var(--text-dim);margin:0 2px;font-size:11px;font-weight:700}.more-menu__panel .phase-picker{justify-content:space-between;margin-bottom:4px}.more-menu__item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:9px 10px;font-size:14px;font-weight:700}.more-menu__item:hover,.more-menu__item.is-on{background:#ffffff1f}.action-btn__icon{font-size:16px;line-height:1}.action-btn__short{display:none}.hud__bar-row{pointer-events:none;justify-content:center;align-items:flex-end;gap:8px;max-width:100%;display:flex}.hud__bar-row>*{pointer-events:auto}.space-menu__toggle.glass{border-radius:20px;min-height:56px;padding:6px 14px}.joystick{left:calc(var(--gutter) + 4px);bottom:calc(var(--gutter) + 86px + env(safe-area-inset-bottom));touch-action:none;-webkit-user-select:none;user-select:none;pointer-events:auto;opacity:.75;background:#1e181438;border:2px solid #ffffff59;border-radius:50%;width:116px;height:116px;transition:opacity .15s;position:absolute;box-shadow:inset 0 0 18px #0000002e}.joystick.is-active{opacity:1}.joystick__knob{pointer-events:none;background:#ffffffd9;border-radius:50%;place-items:center;width:54px;height:54px;margin:-27px 0 0 -27px;display:grid;position:absolute;top:50%;left:50%;box-shadow:0 4px 12px #0000004d}@media (width<=767px),(pointer:coarse){.hint,.action-btn__key,.action-btn__long{display:none}.action-btn__short{display:inline}.hud__bar-row{flex-direction:column;align-items:stretch;width:100%;position:relative}.action-bar{scrollbar-width:none;-webkit-overflow-scrolling:touch;border-radius:18px;flex-wrap:nowrap;justify-content:flex-start;gap:2px;max-width:100%;padding:5px;overflow-x:auto}.action-bar::-webkit-scrollbar{display:none}.action-btn{border-radius:13px;flex-direction:column;flex:none;justify-content:center;gap:2px;min-width:54px;min-height:50px;padding:4px 6px;font-size:11px}.action-btn__icon{font-size:19px}.hud__bar-row>.space-menu{position:absolute;bottom:calc(100% + 8px);right:0}.space-menu__toggle.glass{border-radius:999px;flex-direction:row;min-width:0;min-height:38px;padding:6px 12px;font-size:12px}.space-menu__toggle .action-btn__icon{font-size:15px}.hud__space{max-width:calc(100vw - 2 * var(--gutter) - 168px)}.me-row{padding:4px 8px 4px 4px}.me-row__name{font-size:13px}.me-badge{width:20px;height:20px;font-size:10px}.tool-btn{border-radius:12px;width:36px;height:36px;font-size:16px}.hud__right{top:var(--gutter)}}.more-menu__item{white-space:nowrap}.top-tools-wrap{flex-direction:column;align-items:stretch;gap:6px;display:flex}.phase-row{justify-content:space-between;padding:3px;display:flex}.phase-row .phase-picker__btn{flex:1;padding:3px 0;font-size:11px}@media (width<=767px),(pointer:coarse){.top-tools{gap:4px}.tool-btn{border-radius:11px;width:33px;height:33px;font-size:15px}.hud__space{max-width:calc(100vw - 2 * var(--gutter) - 190px)}}.loading{background:radial-gradient(70% 45% at 50% 0,#ffecc438,#0000 70%),radial-gradient(circle at 50% 55%,#3b2e24 0%,#1d1713 62%,#120e0b 100%);gap:0;overflow:hidden}.loading__ceiling{background-image:linear-gradient(#ffffff0b 1px,#0000 1px),linear-gradient(90deg,#ffffff0b 1px,#0000 1px);background-size:64px 64px;animation:14s linear infinite loading-ceiling;position:absolute;inset:-2px;-webkit-mask-image:radial-gradient(80% 60% at 50% 40%,#000 30%,#0000 85%);mask-image:radial-gradient(80% 60% at 50% 40%,#000 30%,#0000 85%)}@keyframes loading-ceiling{to{background-position:0 64px,0 64px}}.loading__inner{flex-direction:column;align-items:center;gap:12px;animation:.6s cubic-bezier(.2,.9,.3,1.2) both loading-in;display:flex;position:relative}@keyframes loading-in{0%{opacity:0;transform:translateY(14px)}}.loading__brand{letter-spacing:-.02em;color:#fff4e2;text-shadow:0 4px #00000059;margin:0;font-size:clamp(54px,15vw,96px);font-weight:900;line-height:1;position:relative}.loading__sub{color:#fff0dcb8;margin:4px 0 10px;font-size:15px}.loading__line{color:#fff4e2;min-height:1.6em;font-size:clamp(17px,4.4vw,22px)}.loading__line b{color:#ffc85c}.loading__elevator{background:#0d0b0a;border-radius:12px;align-items:center;gap:12px;margin-top:14px;padding:9px 18px 9px 14px;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff14,0 8px 24px #0006}.loading__arrow{color:#ff9a3c;font-size:13px;animation:.9s steps(2,end) infinite loading-blink}@keyframes loading-blink{50%{opacity:.25}}.loading__floor{color:#ff9a3c;text-shadow:0 0 10px #ff8c32a6;font-variant-numeric:tabular-nums;min-width:2.4ch;font-family:Consolas,Courier New,monospace;font-size:24px;font-weight:700}.loading__elevator-text{letter-spacing:.08em;color:#fff0dcbf;font-size:13px;font-weight:700}@media (prefers-reduced-motion:reduce){.loading__ceiling,.loading__arrow{animation:none}}.loading__brand{color:var(--accent);letter-spacing:.04em;font-size:clamp(42px,11vw,72px)}
