@font-face {
    font-family: 'FuturaBook';
    src: url('fonts/Futura-Book.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: block; 
}

* {
    box-sizing: border-box;
}

html,
body {
    padding: 0;
    margin: 0;
    height: 100dvh;
    overflow: hidden;
}

.nt-wrapper {
    width: 100dvw;
    height: 100dvh;
    background-color: #000;
    display: flex;
    justify-content: center;
    align-items: center;
}

.nt-progress-bar-cont {
    width: 45%;
    max-width: 250px;
    height: 7px;
    position: relative;
}

.nt-progress-bar {
    width: 100%;
    height: 100%;
    border: 1px solid #333;
    border-radius: 3px;
    overflow: hidden;
    position: absolute;
}

.nt-progress {
    width: 1%;
    height: 100%;
    background-color: white;
    position: absolute;
}

.nt-ad-container {
    width: 100%; /* Ensure standard baseline bounds */
    height: 100%;
    overflow: hidden;
    background-color: #000;
    position: absolute;
    display: block; /* Toggled to block for display testing */
}

/* Global internal structural baseline override */
.nt-ad-container * {
    width: 100%;
    height: 100%;
    position: absolute;
    pointer-events: none;
}

.border {
    border: 1px solid #000;
    z-index: 999;
    pointer-events: none;
}

.hs {
    pointer-events: all;
    width: 100%;
    left: 50%;
    transform: translateX(-50%);
}

#overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-color: transparent; /* Kept clear; canvas handles the pixel rendering */
    pointer-events: none !important; /* CRITICAL: Allows touch/swipes to pass straight to the canvas */
    z-index: 11; /* Sits over the board structure safely */
}

.close-btn {
    display: none;
    position: absolute;
    width: 20px;
    height: 20px;
    top: 5px;
    right: 5px;
    color: #fff;
    border: 1px #fff solid;
    background-color: #000000;
    border-radius: 10px;
    text-align: center;
    pointer-events: all;
    line-height: 17px;
}

.board1 { 
    z-index: 1;
}
.board2 { 
    z-index: 1;
}
.board3 { 
    z-index: 1;
}
.board4 { 
    z-index: 1;
}
.swipe-copy{
    z-index: 99;
}
.again,.board,.board1,.board2,.board3,.board4,
.cta,.endcopy1,.endcopy2,.endcopy3,.endimg1,.endimg2,
.endimg3,.endimg4,.endimg5,.endimg6,.endimg7,.hand,
.intro-t1,.intro-t2,.intro-t3,.logo,.ribbon,.scorebar,
.scorebg,.stars,.start,.swipe-copy,.timerbg,.title
{ max-width: 100%; background-size: 100%; background-image: url('images/sprite.png'); }

.again {  background-position: 0 0.00%;  background-size: 100%;}
.board {  background-position: 0 3.45%;  background-size: 100%;}
.board1 {  background-position: 0 6.90%;  background-size: 100%;}
.board2 {  background-position: 0 10.34%;  background-size: 100%;}
.board3 {  background-position: 0 13.79%;  background-size: 100%;}
.board4 {  background-position: 0 17.24%;  background-size: 100%;}
.cta {  background-position: 0 20.69%;  background-size: 100%;}
.endcopy1 {  background-position: 0 24.14%;  background-size: 100%;}
.endcopy2 {  background-position: 0 27.59%;  background-size: 100%;}
.endcopy3 {  background-position: 0 31.03%;  background-size: 100%;}
.endimg1 {  background-position: 0 34.48%;  background-size: 100%;}
.endimg2 {  background-position: 0 37.93%;  background-size: 100%;}
.endimg3 {  background-position: 0 41.38%;  background-size: 100%;}
.endimg4 {  background-position: 0 44.83%;  background-size: 100%;}
.endimg5 {  background-position: 0 48.28%;  background-size: 100%;}
.endimg6 {  background-position: 0 51.72%;  background-size: 100%;}
.endimg7 {  background-position: 0 55.17%;  background-size: 100%;}
.hand {  background-position: 0 58.62%;  background-size: 100%;}
.intro-t1 {  background-position: 0 62.07%;  background-size: 100%;}
.intro-t2 {  background-position: 0 65.52%;  background-size: 100%;}
.intro-t3 {  background-position: 0 68.97%;  background-size: 100%;}
.logo {  background-position: 0 72.41%;  background-size: 100%;}
.ribbon {  background-position: 0 75.86%;  background-size: 100%;}
.scorebar {  background-position: 0 79.31%;  background-size: 100%;}
.scorebg {  background-position: 0 82.76%;  background-size: 100%;}
.stars {  background-position: 0 86.21%;  background-size: 100%;}
.start {  background-position: 0 89.66%;  background-size: 100%;}
.swipe-copy {  background-position: 0 93.10%;  background-size: 100%;}
.timerbg {  background-position: 0 96.55%;  background-size: 100%;}
.title {  background-position: 0 100.00%;  background-size: 100%;}


/* --- Interactive Core Rendering Viewport --- */
canvas {
    aspect-ratio: 260/300;
    width: 80% !important;
    height: auto !important;
    left: 50%;
    top: 60%;
    transform: translateX(-50%) translateY(-50%);
    z-index: 15;
    pointer-events: all !important; /* FIX: Forces the canvas to accept touch inputs */
}

/* --- UI Container & Gesture Optimization --- */
.canvasc {
    pointer-events: all !important; /* FIX: Allows Hammer.js container tracking to work */
}

canvas, .canvasc, #overlay {
    touch-action: none !important;        
    -webkit-user-drag: none !important;   
    -webkit-tap-highlight-color: rgba(0,0,0,0); 
}

/* --- UI Component Isolation & Fixes --- */
#timer {
    font-family: FuturaBook, sans-serif !important;
    font-size: 1.5em;
    top: 26% !important;
    width: auto !important;  /* Overrides the 100% width trap */
    height: auto !important; /* Overrides the 100% height trap */
    font-weight: bold;
    display: block;
    color: #fff;
    z-index: 20;
    left: 45.5% !important;
    pointer-events: none;
}

 #score {
    font-family: FuturaBook, sans-serif !important;
    font-size: 1.5em;
    top: 88% !important;
    width: 100% !important;  /* Overrides the 100% width trap */
    height: 100% !important; /* Overrides the 100% height trap */
    font-weight: bold;
    display: block;
    color: #fff;
    z-index: 20;
    /*left: 45% !important;*/
    text-align: center;
    pointer-events: none;
}



.hs-again {
    bottom: 12%;
    height: 10%;
    display: none;
}

.gdimc {
    /*clip-path: inset(63% 0% 26% 0%);*/
}

.blocker {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background-color: #000000 !important;
    z-index: 99999 !important; /* Ensures it sits completely above all elements */
}