/* NightVenture Legacy — full-screen Phaser heightmap lab */
body.nv-phaser-fullscreen-active{overflow:hidden!important}
.nv-phaser-lab{position:fixed;inset:0;z-index:2400;width:100vw;height:100dvh;min-width:100vw;min-height:100dvh;overflow:hidden;background:#082f49}
.nv-phaser-lab__stage,.nv-phaser-lab__host{position:absolute;inset:0;width:100%;height:100%;min-width:100%;min-height:100%;overflow:hidden;background:#082f49}
.nv-phaser-lab__host canvas{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;min-width:100%;min-height:100%}
.nv-phaser-lab__terrain-canvas{z-index:0;pointer-events:none;background:#082f49}
.nv-phaser-lab__host>canvas:not(.nv-phaser-lab__terrain-canvas){z-index:1;background:transparent!important}
.nv-phaser-lab__actions{position:absolute;z-index:20;top:8px;left:8px;display:flex;flex-wrap:wrap;gap:5px;max-width:calc(100vw - 360px)}
.nv-phaser-lab__actions button,.nv-light-console__header button{min-height:25px;border:1px solid rgba(155,181,212,.32);border-radius:5px;padding:3px 7px;background:rgba(11,24,41,.82);color:#e9f2ff;font:700 .68rem/1.1 Segoe UI,Arial,sans-serif;cursor:pointer;backdrop-filter:blur(5px)}
.nv-phaser-lab__actions button:hover,.nv-light-console__header button:hover{border-color:rgba(126,181,255,.75);background:rgba(34,59,88,.92)}
.nv-light-console{position:absolute;z-index:20;top:8px;right:8px;width:min(350px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow:auto;padding:7px;border:1px solid rgba(151,176,207,.26);border-radius:8px;background:rgba(5,14,27,.82);color:#edf5ff;box-shadow:0 12px 38px rgba(0,0,0,.28);backdrop-filter:blur(7px);scrollbar-width:thin}
.nv-light-console[hidden]{display:none!important}
.nv-light-console__header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:6px;margin-bottom:7px;border-bottom:1px solid rgba(144,170,204,.18)}
.nv-light-console__header>div{display:grid;gap:2px;min-width:0}.nv-light-console__header strong{font-size:.72rem}.nv-light-console__header small{overflow:hidden;color:#8fa5bf;font-size:.54rem;text-overflow:ellipsis;white-space:nowrap}
.nv-light-time-controller{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;align-items:center;padding-bottom:7px;border-bottom:1px solid rgba(144,170,204,.18)}
.nv-light-clock{--clock-angle:0deg;position:relative;width:68px;aspect-ratio:1;border-radius:50%;border:1px solid rgba(219,231,247,.72);background:conic-gradient(#101b3b 0deg 90deg,#d6aa52 90deg 270deg,#101b3b 270deg 360deg);box-shadow:inset 0 0 0 4px rgba(5,14,28,.34),0 5px 14px rgba(0,0,0,.22);touch-action:none;cursor:grab;user-select:none;outline:none}
.nv-light-clock:focus-visible{box-shadow:0 0 0 2px rgba(111,177,255,.55),inset 0 0 0 4px rgba(5,14,28,.34)}
.nv-light-clock:active{cursor:grabbing}
.nv-light-clock::after{content:"";position:absolute;inset:8px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.12),rgba(5,14,28,.18) 62%,rgba(5,14,28,.46));pointer-events:none}
.nv-light-clock__hand{position:absolute;z-index:2;left:50%;top:6px;width:2px;height:27px;border-radius:2px;background:#fff;box-shadow:0 0 6px rgba(255,255,255,.7);transform-origin:50% 28px;transform:translateX(-50%) rotate(var(--clock-angle));pointer-events:none}
.nv-light-clock__hub{position:absolute;z-index:3;left:50%;top:50%;width:8px;height:8px;border:1px solid #fff;border-radius:50%;background:#23344f;transform:translate(-50%,-50%);pointer-events:none}
.nv-light-clock__label{position:absolute;z-index:4;color:#f5f8fc;font-size:.48rem;font-weight:800;text-shadow:0 1px 2px #000;pointer-events:none}.nv-light-clock__label.is-midnight{top:2px;left:50%;transform:translateX(-50%)}.nv-light-clock__label.is-six{right:3px;top:50%;transform:translateY(-50%)}.nv-light-clock__label.is-noon{bottom:2px;left:50%;transform:translateX(-50%)}.nv-light-clock__label.is-eighteen{left:3px;top:50%;transform:translateY(-50%)}
.nv-light-time-controller__fields{display:grid;gap:5px;min-width:0}.nv-light-time-controller__fields label{display:flex;align-items:center;justify-content:space-between;gap:7px;color:#cbd8e8;font-size:.66rem}.nv-light-time-controller__fields input[type="number"]{width:74px}
.nv-light-time-line{display:flex;align-items:center;justify-content:space-between;gap:7px}.nv-light-time-line output{font-size:.9rem;font-weight:800;color:#fff}.nv-light-time-line span{padding:2px 6px;border-radius:999px;background:rgba(94,124,164,.24);color:#bcd2ed;font-size:.6rem;font-weight:700}
.nv-light-cards{display:grid;gap:6px;padding-top:6px}
.nv-light-card{display:grid;gap:6px;padding:6px;border:1px solid rgba(145,170,202,.18);border-radius:7px;background:rgba(9,20,36,.58)}
.nv-light-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.nv-light-card__header strong{display:block;font-size:.72rem;line-height:1.2}.nv-light-card__header small{display:block;margin-top:2px;color:#91a6bf;font-size:.57rem;line-height:1.2}
.nv-light-toggle{display:flex;align-items:center;gap:4px;color:#cbd8e8;font-size:.61rem;white-space:nowrap}.nv-light-toggle input{accent-color:#75b4ff}
.nv-light-card__meta{display:grid;grid-template-columns:minmax(88px,1fr) auto auto;gap:6px;align-items:end;color:#bccce0;font-size:.58rem}.nv-light-card__meta>span{display:grid;gap:2px;text-align:right}.nv-light-card__meta output{color:#fff;font-weight:800;font-variant-numeric:tabular-nums}
.nv-light-color-field{display:grid;gap:2px}.nv-light-color-field input[type="color"]{width:100%;height:24px;padding:1px;border:1px solid rgba(155,181,212,.3);border-radius:4px;background:#0d1929}
.nv-light-control-grid{display:grid;gap:3px}.nv-light-control-grid__head,.nv-light-control-row{display:grid;grid-template-columns:34px 1fr 1fr;gap:5px;align-items:end}.nv-light-control-grid__head{color:#7f93aa;font-size:.52rem;text-transform:uppercase;letter-spacing:.04em}.nv-light-control-grid__head span:not(:first-child){padding-left:2px}
.nv-light-control-row__case{align-self:center;justify-self:center;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:rgba(91,124,164,.24);color:#dce9f8;font-size:.58rem;font-weight:800}
.nv-light-control-row label{display:grid;gap:2px;color:#aebfd2;font-size:.52rem}.nv-light-control-row input,.nv-light-time-controller__fields input[type="number"]{min-width:0;height:24px;border:1px solid rgba(155,181,212,.28);border-radius:4px;padding:2px 5px;background:rgba(10,21,36,.9);color:#f4f8fc;font:600 .64rem Segoe UI,Arial,sans-serif}
.nv-phaser-lab__legend{position:absolute;z-index:20;left:8px;bottom:8px;display:flex;gap:8px;padding:5px 7px;border:1px solid rgba(255,255,255,.14);border-radius:5px;background:rgba(7,18,35,.7);color:#edf5ff;font-size:.58rem;pointer-events:none;backdrop-filter:blur(4px)}
.nv-phaser-lab__legend span{display:flex;align-items:center;gap:4px}.nv-phaser-lab__legend i{width:8px;height:8px;border-radius:2px}.nv-phaser-lab__legend .is-walkable{background:rgba(34,197,94,.8)}.nv-phaser-lab__legend .is-shore{background:rgba(245,158,11,.9)}.nv-phaser-lab__legend .is-water{background:rgba(239,68,68,.9)}
.nv-phaser-lab--loading{display:grid;place-items:center}.nv-phaser-loading-card{max-width:min(420px,calc(100vw - 32px));padding:14px 18px;border:1px solid rgba(151,176,207,.3);border-radius:8px;background:rgba(5,14,27,.9);color:#edf5ff;font:700 .82rem Segoe UI,Arial,sans-serif;box-shadow:0 12px 38px rgba(0,0,0,.28)}.nv-phaser-loading-card.is-error{border-color:rgba(255,110,110,.5);color:#ffb2b2}
.nv-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:760px){.nv-phaser-lab__actions{max-width:calc(100vw - 16px);right:8px}.nv-light-console{top:auto;bottom:8px;max-height:54dvh}.nv-phaser-lab__legend{display:none}.nv-light-card__header small{display:none}}
