/* © WatchJunk */
/* coded by nya & suzunay */

:root {
        --blue: #00a3ff;
        --blue-dark: #0084d1;
        --blue-light: #33b5ff;
        --black: #0a0a0a;
        --black-card: #1a1a1a;
        --white: #ffffff;
        --white-70: rgba(255,255,255,0.7);
        --white-50: rgba(255,255,255,0.5);
    }

    body {
        font-family: 'Inter', sans-serif;
        background-color: var(--black);
        background-image: repeating-linear-gradient(45deg, rgba(255, 255, 255, .03), rgba(255, 255, 255, .03) 1px, transparent 1px, transparent 30px);
        color: var(--white);
        overflow: hidden;
        user-select: none;
    }

    .horror-font {
        font-family: 'Creepster', cursive;
        letter-spacing: 0.15em;
    }

    #canvas-container {
        background: #8B4513;
        cursor: default;
        touch-action: none;
        position: relative;
        box-shadow: inset 0 0 24px rgba(0,0,0,0.3);
    }

    .puzzle-area {
        display: none;
    }

    .reference-box {
        position: absolute;
        top: 20px;
        left: 20px;
        width: 220px;
        background: rgba(30, 30, 30, 0.95);
        border: 3px solid rgba(150, 150, 150, 0.6);
        border-radius: 10px;
        padding: 14px;
        box-shadow: 0 8px 12px rgba(0, 0, 0, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.1);
        cursor: move;
        z-index: 100;
        user-select: none;
        touch-action: none;
        transition: box-shadow 0.2s;
    }

    .reference-box:hover {
        box-shadow: 0 12px 14px rgba(0, 0, 0, 0.9), inset 0 1px 0 rgba(255, 255, 255, 0.15);
        border-color: rgba(180, 180, 180, 0.7);
    }

    .reference-box-header {
        font-size: 12px;
        font-weight: bold;
        color: rgba(255, 255, 255, 0.9);
        margin-bottom: 8px;
        text-align: center;
        text-transform: uppercase;
        letter-spacing: 1px;
    }

    .reference-box-image {
        width: 100%;
        height: auto;
        border-radius: 4px;
        border: 1px solid rgba(255, 255, 255, 0.1);
    }

    .reference-box.dragging {
        opacity: 0.8;
        cursor: grabbing;
    }

    .glass-panel {
        background: rgba(30, 41, 59, 0.6);
        border: 1px solid rgba(0, 163, 255, 0.25);
        box-shadow: 0 10px 14px -10px rgba(0, 0, 0, 0.8);
    }

    .puzzle-card:hover {
        transform: scale(1.03);
        box-shadow: 0 0 10px rgba(0, 163, 255, 0.6);
        border-color: var(--blue);
    }

    /* Custom Range Slider */
    input[type=range] { -webkit-appearance: none; background: transparent; }
    input[type=range]::-webkit-slider-thumb {
        -webkit-appearance: none;
        height: 24px;
        width: 24px;
        border-radius: 50%;
        background: var(--blue);
        cursor: pointer;
        margin-top: -10px;
        box-shadow: 0 0 10px rgba(0, 163, 255, 0.8);
        border: 2px solid #fff;
        transition: transform 0.1s;
    }
    input[type=range]::-webkit-slider-thumb:hover { transform: scale(1.1); }
    input[type=range]::-webkit-slider-runnable-track {
        width: 100%;
        height: 4px;
        cursor: pointer;
        background: rgba(30, 41, 59, 0.8);
        border-radius: 2px;
    }

    .cursor-grab { cursor: grab !important; }
    .cursor-grabbing { cursor: grabbing !important; }

.game-modal { padding: 0 !important; margin: 0 !important; }
.game-modal .modal-dialog {
    max-width: 100%;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    margin: 0;
    padding: 0;
}
.game-modal .modal-content {
    background: var(--black);
    border: none;
    border-radius: 0;
    height: 100vh;
    height: 100dvh;
    display: flex;
    flex-direction: column;
    margin: 0;
}
.game-modal .modal-header { display: none; }
.game-modal .modal-body {
    padding: 0;
    flex: 1;
    overflow: hidden;
    margin: 0;
}
@media (max-width:480px){
    .game-modal{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;height:100dvh;margin:0;padding:0;border-radius:0}
    .game-modal .modal-dialog{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;height:100dvh;margin:0;padding:0;max-width:none}
    .game-modal .modal-content{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;height:100dvh;margin:0;padding:0;border-radius:0}
    .game-modal .modal-body{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;margin:0;padding:0}
}
