/* NightVenture — transparent Phaser navigation, hidden scrollbars, tile info and zoom controls. */
:root{--nv-phaser-camera-zoom:1}

/* Visual camera zoom: both rendering canvases scale together around the player at screen center. */
.nv-phaser-lab__host canvas{transform:scale(var(--nv-phaser-camera-zoom));transform-origin:50% 50%;will-change:transform}

/* Top Phaser action bar: horizontal scroll without visible scrollbar or filled container. */
body.nv-phaser-persistent-active .nv-phaser-lab__actions,
.nv-phaser-lab__actions{
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    max-width:calc(100vw - 16px)!important;
    padding-bottom:2px;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    scrollbar-width:none!important;
    -ms-overflow-style:none!important;
}
body.nv-phaser-persistent-active .nv-phaser-lab__actions::-webkit-scrollbar,
.nv-phaser-lab__actions::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
.nv-phaser-lab__actions button{flex:0 0 auto!important}

/* Bottom navigation: buttons float individually, no opaque tray around the whole row. */
body.nv-phaser-persistent-active #navigationPrincipale #barreVuePrincipale,
body.nv-phaser-persistent-active #barreVuePrincipale.nv-hud-navigation{
    padding:4px 6px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    scrollbar-width:none!important;
    -ms-overflow-style:none!important;
    overscroll-behavior-x:contain;
}
body.nv-phaser-persistent-active #navigationPrincipale #barreVuePrincipale::-webkit-scrollbar,
body.nv-phaser-persistent-active #barreVuePrincipale.nv-hud-navigation::-webkit-scrollbar{
    display:none!important;width:0!important;height:0!important
}

/* Semi-transparent current tile card. */
.nv-phaser-tile-info{
    position:fixed;
    z-index:72;
    top:max(48px,calc(env(safe-area-inset-top) + 48px));
    right:max(8px,env(safe-area-inset-right));
    display:grid;
    gap:4px;
    width:min(220px,calc(100vw - 16px));
    padding:8px 10px;
    border:1px solid rgba(159,187,221,.24);
    border-radius:8px;
    background:rgba(5,14,27,.68);
    color:#edf5ff;
    box-shadow:0 8px 26px rgba(0,0,0,.24);
    backdrop-filter:blur(7px);
    pointer-events:none;
    font:600 .62rem/1.25 Segoe UI,Arial,sans-serif;
}
.nv-phaser-tile-info[hidden]{display:none!important}
.nv-phaser-tile-info__title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:4px;border-bottom:1px solid rgba(153,180,212,.16)}
.nv-phaser-tile-info__title strong{font-size:.7rem}.nv-phaser-tile-info__title span{color:#8fa5bf;font-size:.52rem}
.nv-phaser-tile-info__row{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#9fb2c8}
.nv-phaser-tile-info__row output{max-width:130px;overflow:hidden;color:#fff;font-weight:800;text-align:right;text-overflow:ellipsis;white-space:nowrap}
.nv-phaser-tile-info__swatch{display:inline-block;width:8px;height:8px;margin-right:4px;border-radius:2px;vertical-align:-1px;background:var(--nv-tile-swatch,#fff)}

/* Left vertical camera zoom controller. */
.nv-phaser-camera-zoom{
    position:fixed;
    z-index:73;
    left:max(8px,env(safe-area-inset-left));
    top:50%;
    display:grid;
    justify-items:center;
    gap:6px;
    padding:8px 6px;
    border:1px solid rgba(159,187,221,.24);
    border-radius:9px;
    background:rgba(5,14,27,.68);
    color:#edf5ff;
    box-shadow:0 8px 26px rgba(0,0,0,.24);
    backdrop-filter:blur(7px);
    transform:translateY(-50%);
    font:700 .58rem/1 Segoe UI,Arial,sans-serif;
}
.nv-phaser-camera-zoom[hidden]{display:none!important}
.nv-phaser-camera-zoom__label{writing-mode:vertical-rl;transform:rotate(180deg);color:#9fb2c8;letter-spacing:.04em;text-transform:uppercase}
.nv-phaser-camera-zoom input[type="range"]{
    width:22px;
    height:150px;
    margin:0;
    writing-mode:vertical-lr;
    direction:rtl;
    accent-color:#75b4ff;
    cursor:pointer;
}
.nv-phaser-camera-zoom output{min-width:38px;text-align:center;color:#fff;font-variant-numeric:tabular-nums}
.nv-phaser-camera-zoom button{width:28px;min-width:28px;height:24px;min-height:24px;padding:0!important;font-size:.58rem!important}

/* Animation duration validation control. */
.nv-lpc-animation-card__duration-commit{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;align-items:center}
.nv-lpc-animation-card__duration-commit button{min-width:46px;height:27px;padding:3px 6px!important;font-size:.56rem!important}
.nv-lpc-animation-card__field.is-dirty input{border-color:rgba(255,186,85,.85)!important;box-shadow:0 0 0 1px rgba(255,186,85,.12)}
.nv-lpc-animation-card__field.is-valid input{border-color:rgba(96,211,137,.72)!important}

@media(max-width:760px){
    .nv-phaser-tile-info{top:max(46px,calc(env(safe-area-inset-top) + 46px));right:5px;width:min(190px,calc(100vw - 72px));padding:6px 8px;font-size:.56rem}
    .nv-phaser-camera-zoom{left:5px;padding:6px 4px}.nv-phaser-camera-zoom input[type="range"]{height:118px}
}
