.luz-page{--wall:#1f1a24;--floor:#2a2017}.luz-topgap{margin-left:auto}.luz-app{grid-template-columns:minmax(260px,340px) minmax(0,1fr);align-items:start;gap:24px;width:100%;max-width:1180px;margin:0 auto;padding:20px;display:grid}.luz-side{flex-direction:column;gap:14px;min-width:0;display:flex}.luz-side h1{letter-spacing:-.02em;font-size:30px;font-weight:900}.luz-side .intro p{color:var(--muted);margin-top:6px}.luz-hud{background:var(--surface);border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.luz-clock{flex-direction:column;display:flex}.luz-clock-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.luz-clock .num{color:var(--gold);font-size:26px}.luz-lives{gap:4px;font-size:22px;display:flex}.luz-lives .gone{opacity:.35;filter:grayscale()}.luz-find{background:var(--surface);border:1px solid var(--line);border-radius:10px;min-height:86px;padding:12px 14px}.luz-find-label{color:var(--muted);font-size:12px;font-weight:700}.luz-queue{counter-reset:q;flex-wrap:wrap;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.luz-queue li{background:var(--field);border:1px solid var(--line);counter-increment:q;border-radius:10px;place-items:center;width:44px;height:44px;font-size:24px;display:grid;position:relative}.luz-queue li:after{content:counter(q);font:9px/1 var(--num);color:var(--dim);position:absolute;bottom:1px;right:3px}.luz-queue li.now{border-color:var(--gold);animation:1.4s ease-in-out infinite luz-pulse;box-shadow:0 0 0 2px #f5c54259,0 0 18px #f5c54240}.luz-queue li.found{opacity:.45}.luz-queue li.found:before{content:"✓";color:#34d399;text-shadow:0 0 6px #000;place-items:center;font-size:22px;font-weight:900;display:grid;position:absolute;inset:0}.luz-queue li.later{opacity:.8}@keyframes luz-pulse{50%{transform:scale(1.08)}}.luz-stage-wrap{flex-direction:column;align-items:center;gap:10px;min-width:0;display:flex}.luz-room{aspect-ratio:1;touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;background: linear-gradient(to bottom, transparent 60%, #00000059 60%, transparent 62%), repeating-linear-gradient(90deg, transparent 0 11%, #00000038 11% 11.4%), linear-gradient(to bottom, transparent 60%, var(--floor) 60%),  radial-gradient(circle at 25% 25%, #ffffff09 0 8%, transparent 9%) 0 0 / 12% 12%, radial-gradient(circle at 75% 75%, #ffffff08 0 6%, transparent 7%) 0 0 / 12% 12%, linear-gradient(180deg, #2b2331, var(--wall));border-radius:14px;width:min(100%,100dvh - 120px);position:relative;overflow:hidden;box-shadow:inset 0 0 120px #000000bf,0 20px 50px #00000080;container-type:size}.luz-room.hurt{animation:.45s luz-hurt}@keyframes luz-hurt{20%{transform:translate(-6px);box-shadow:inset 0 0 120px #ff1e3c99}50%{transform:translate(5px)}80%{transform:translate(-2px)}}.luz-objects{position:absolute;inset:0}.luz-obj{translate:-50% -50%;rotate:var(--tilt);filter:drop-shadow(0 .8cqmin .8cqmin #0009);border-radius:50%;place-items:center;width:13cqmin;height:13cqmin;font-size:8.5cqmin;line-height:1;transition:transform .15s;display:grid;position:absolute}.luz-room.is-preview .luz-obj{animation:.35s backwards luz-pop}@keyframes luz-pop{0%{opacity:0;transform:scale(.3)}}.luz-room:not(.is-dark) .luz-obj:hover{transform:scale(1.08)}.luz-obj.found{opacity:0}.luz-dark{z-index:2;pointer-events:none;--x:50%;--y:50%;--r:80px;-webkit-mask:radial-gradient(circle var(--r) at var(--x) var(--y), transparent 0 45%, #0009 78%, #000 100%);-webkit-mask:radial-gradient(circle var(--r) at var(--x) var(--y), transparent 0 45%, #0009 78%, #000 100%);mask:radial-gradient(circle var(--r) at var(--x) var(--y), transparent 0 45%, #0009 78%, #000 100%);background:#030206fb;position:absolute;inset:0}.luz-beam{z-index:2;pointer-events:none;--x:50%;--y:50%;--r:80px;mix-blend-mode:screen;background:radial-gradient(circle var(--r) at var(--x) var(--y), #ffd68c2e, transparent 75%);position:absolute;inset:0}.luz-found-layer{z-index:3;pointer-events:none;position:absolute;inset:0}.luz-lit{filter:drop-shadow(0 0 2cqmin #ffd68ce6);font-size:8.5cqmin;line-height:1;animation:.5s cubic-bezier(.3,1.6,.5,1) luz-lit;position:absolute;translate:-50% -50%}.luz-lit:after{content:"";z-index:-1;background:radial-gradient(circle,#ffd68c59,#0000 70%);border-radius:50%;position:absolute;inset:-40%}@keyframes luz-lit{0%{transform:scale(.4)}}.luz-penalty{z-index:4;font:800 18px var(--ui);color:#ff5470;text-shadow:0 0 8px #000;pointer-events:none;animation:1.1s ease-out forwards luz-pen;position:absolute;translate:-50% -120%}@keyframes luz-pen{to{opacity:0;transform:translateY(-36px)}}.luz-preview{z-index:4;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;background:#0a0a0ebf;border-radius:999px;flex-direction:column;gap:6px;padding:8px 16px;font-weight:800;display:flex;position:absolute;top:14px;left:50%;translate:-50%}.luz-preview i{background:var(--gold);transform-origin:0;border-radius:3px;height:3px;display:block}.luz-panel{z-index:5;text-align:center;background:radial-gradient(circle,#0a080eb8,#050408f0);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex;position:absolute;inset:0}.luz-panel h2{letter-spacing:-.02em;font-size:clamp(22px,5cqmin,34px);font-weight:900}.luz-panel p{color:var(--muted)}.luz-panel-actions{justify-content:center}@media (width<=860px){.luz-app{grid-template-columns:minmax(0,1fr);gap:14px;padding:14px 12px}.luz-stage-wrap{order:-1}.luz-room{width:100%}.luz-side h1{font-size:24px}}@media (prefers-reduced-motion:reduce){.luz-queue li.now,.luz-room.hurt,.luz-room.is-preview .luz-obj,.luz-lit,.luz-penalty{animation:none}}@media (width<=860px){.luz-app{flex-direction:column;align-items:stretch;display:flex}.luz-side{display:contents}.luz-hud{order:1;padding:8px 12px}.luz-clock .num{font-size:20px}.luz-find{order:2;align-items:center;gap:10px;min-height:0;padding:8px 12px;display:flex}.luz-find .luz-queue{margin:0}.luz-queue li{width:38px;height:38px;font-size:20px}.luz-stage-wrap{order:3}.luz-side .intro{order:4}.ladder{order:5}.level-info{order:6}#luz-best{order:7}.luz-side #hall{order:8}}
