.tip{position:fixed;z-index:var(--z-tip);padding:10px 12px 9px;border-radius:12px;pointer-events:none;transform-origin:0 0;background:color-mix(in srgb,rgb(78,54,30) calc(var(--light) * 100%),rgb(18,23,44));border:1px solid color-mix(in srgb,rgba(240,200,130,.6) calc(var(--light) * 100%),rgba(150,165,220,.35));box-shadow:0 8px 24px #00000059,0 0 0 1px #ffffff08 inset;color:#fbf6ece6;font-size:12px;line-height:1.4;transition:background var(--t-light) var(--ease-light),border-color var(--t-light) var(--ease-light);animation:tip-in var(--t-pop) var(--ease-pop)}.tip[hidden]{display:none}.tip.pinned{pointer-events:auto}.tip.simple{width:max-content;max-width:min(240px,80vw);padding:5px 10px;font:600 11.5px/1.35 var(--font-ui);text-align:center}@keyframes tip-in{0%{opacity:0;translate:0 var(--kf-tip-in-y-px)}}.tip:before{content:"";position:absolute;width:12px;height:12px;background:inherit;border:inherit;rotate:45deg}.tip[data-side=right]:before{left:-7px;top:calc(var(--ay, 50%) - 6px);border-top-color:transparent;border-right-color:transparent}.tip[data-side=left]:before{right:-7px;top:calc(var(--ay, 50%) - 6px);border-bottom-color:transparent;border-left-color:transparent}.tip[data-side=top]:before{bottom:-7px;left:calc(var(--ax, 50%) - 6px);border-top-color:transparent;border-left-color:transparent}.tip[data-side=bottom]:before{top:-7px;left:calc(var(--ax, 50%) - 6px);border-bottom-color:transparent;border-right-color:transparent}.tip-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:4px}.tip h4{margin:0;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-light)}.tip-level{font-size:11px;opacity:.8;white-space:nowrap}.tip-level.ruin{color:#aab3d6}.tip-desc{margin:0 0 6px;opacity:.75}.tip-line{margin:0;padding-left:12px;position:relative}.tip-line:before{content:"";position:absolute;left:2px;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--glow);box-shadow:0 0 5px var(--glow)}.tip .timer{font-weight:700;font-variant-numeric:tabular-nums;color:var(--gold-light);letter-spacing:.03em}.tip-hint{margin:6px 0 0;font-size:10.5px;opacity:.55;letter-spacing:.04em}.tip-hint:empty{display:none}.hud{position:absolute;left:8px;right:10px;top:6px;z-index:var(--z-hud);display:flex;justify-content:space-between;align-items:center;pointer-events:none;transition:opacity var(--t-hud) var(--ease-hud),translate var(--t-hud) var(--ease-hud)}.hud>*{pointer-events:auto}.top-btns{display:flex;gap:6px;align-items:center}.medal-btn{width:42px;height:42px;padding:0;border:0;background:none;border-radius:50%;filter:drop-shadow(0 2px 3px rgba(0,0,0,.5));transition:transform var(--t-press) var(--ease-press),filter var(--t-hover) var(--ease-hover)}.medal-btn img{display:block;width:100%;height:100%}.medal-btn:hover{transform:translateY(-1px);filter:drop-shadow(0 0 6px rgba(247,180,79,.7)) drop-shadow(0 2px 3px rgba(0,0,0,.5))}.medal-btn[aria-pressed=true],.medal-btn[aria-expanded=true]{filter:drop-shadow(0 0 9px rgba(247,180,79,.95))}.avatar{position:relative;width:54px;height:54px;padding:0;border:0;background:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.55));transition:filter var(--t-hover) var(--ease-hover)}.avatar .portrait-img{position:absolute;left:50.3%;top:45.7%;width:69%;height:69%;translate:-50% -50%;border-radius:50%;object-fit:cover;background:#141a38}.avatar .frame{position:absolute;inset:0;width:100%;height:100%}.avatar:hover{filter:drop-shadow(0 0 8px rgba(247,180,79,.8)) drop-shadow(0 2px 4px rgba(0,0,0,.55))}.moon-hit{position:absolute;right:18px;top:62px;width:76px;height:76px;z-index:var(--z-moon);padding:0;border:0;border-radius:50%;background:none}.moon-hit:focus-visible{outline:2px solid var(--gold-light);outline-offset:2px}body:has(.moon-hit:hover) .moon{filter:drop-shadow(0 0 20px rgba(250,229,184,.8)) brightness(1.08)}.moon.poke{animation:moon-poke var(--t-moon-poke) var(--ease-poke)}@keyframes moon-poke{0%{scale:1;rotate:0deg}30%{scale:var(--kf-moon-poke-p30-scale);rotate:var(--kf-moon-poke-p30-rot-deg);filter:drop-shadow(0 0 var(--kf-moon-poke-p30-glow-px) rgba(250,229,184,1)) brightness(var(--kf-moon-poke-p30-bright))}60%{scale:var(--kf-moon-poke-p60-scale);rotate:var(--kf-moon-poke-p60-rot-deg)}to{scale:1;rotate:0deg}}body.ui-off .hud{opacity:0;translate:0 -12px;pointer-events:none}body.ui-off .hud>*{pointer-events:none}body.ui-off .dev{display:none}.dev{position:absolute;z-index:var(--z-dev);left:10px;right:10px;top:58px;padding:10px;border-radius:14px;background:#141a30eb;border:1px solid var(--glass-line);font-size:12px;display:grid;gap:8px}.dev[hidden]{display:none}.dev-row{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.seg{display:flex;flex-wrap:wrap;gap:4px}.seg button{font:inherit;font-size:11px;color:var(--parchment);background:var(--gold);border:1px solid var(--gold-dark);border-radius:999px;padding:4px 9px}.seg button[aria-pressed=true]{background:var(--text)}.dev-size{opacity:.6;font-size:11px}.dev-build{opacity:.45;font-size:10px;letter-spacing:.02em}.rooms{position:absolute;left:0;right:0;bottom:0;z-index:var(--z-rooms);display:flex;justify-content:space-evenly;align-items:center;gap:2px;padding:28px 8px calc(6px + env(safe-area-inset-bottom));background:linear-gradient(transparent,#0c08048c 45%,#080502d9);transition:translate var(--t-rooms) var(--ease-rooms),opacity var(--t-fade) var(--ease-fade)}.rooms.away{translate:0 110%;opacity:0;pointer-events:none}.rooms:after{content:"";position:absolute;left:0;right:0;bottom:calc(36px + env(safe-area-inset-bottom));height:18px;pointer-events:none;background:linear-gradient(transparent,#00000059)}.rooms:before{content:"";position:absolute;left:0;right:0;bottom:calc(2px + env(safe-area-inset-bottom));height:36px;pointer-events:none;border-style:solid;border-width:0 28px;border-image:url(../assets/ui/nav/bar.webp) 0 130 fill / 0 28px stretch}.rooms button{position:relative;z-index:1;flex:0 1 50px;aspect-ratio:1;padding:0;border:0;background:none;border-radius:50%;filter:drop-shadow(0 3px 3px rgba(0,0,0,.5));transition:transform var(--t-press) var(--ease-press),filter var(--t-hover) var(--ease-hover)}.rooms .medal{display:block;width:100%;height:100%}.rooms button:hover:not(:disabled){transform:translateY(-2px)}.rooms button[aria-current]{transform:translateY(-3px) scale(1.08);filter:drop-shadow(0 0 8px rgba(247,180,79,.85)) drop-shadow(0 3px 3px rgba(0,0,0,.5))}.rooms button:disabled{cursor:var(--cursor)}.rooms button:disabled .medal{filter:grayscale(1) brightness(.55)}.rooms button:focus-visible{outline:2px solid var(--gold-light);outline-offset:2px}.rooms .lock{position:absolute;right:-2px;bottom:-2px;width:17px;height:17px;border-radius:50%;border:1px solid #6b6f80;background:#3a3f55 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 11V8a5 5 0 0 1 10 0v3' fill='none' stroke='%23d9c7a6' stroke-width='2.4'/%3E%3Crect x='5' y='11' width='14' height='10' rx='2' fill='%23d9c7a6'/%3E%3C/svg%3E") center / 10px no-repeat}.err-toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom));translate:-50% 0;z-index:var(--z-error);width:min(320px,calc(100vw - 24px));padding:14px 16px 12px;border-radius:14px;background:var(--card);color:var(--text);border:1px solid var(--line);box-shadow:0 10px 28px #0805028c,0 0 0 3px #ab824840;font-family:var(--font-ui);animation:tip-in var(--t-pop) var(--ease-pop)}.err-toast[hidden]{display:none}.err-title{margin:0 0 4px;font-family:var(--font-display);font-size:16px;color:var(--gold-dark)}.err-text{margin:0;font-size:13px;line-height:1.45}.err-details{margin:10px 0 0;max-height:140px;overflow:auto;padding:8px;border-radius:8px;white-space:pre-wrap;word-break:break-word;font:11px/1.35 ui-monospace,Menlo,monospace;background:#4a3a2c14;border:1px dashed var(--line)}.err-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.err-actions button{font:inherit;font-size:13px;padding:5px 14px;border-radius:999px;border:1px solid var(--gold-dark);color:var(--parchment);background:var(--gold)}.err-actions button[data-act=close]{color:var(--text);background:transparent;border-color:var(--line)}.err-actions button:focus-visible{outline:2px solid var(--gold-light);outline-offset:2px}
/*# sourceMappingURL=ui.css.map */
