html, body {
            overflow-x: hidden;
            max-width: 100vw;
        }
        body {
            background-color: #050505;
            color: #e2e8f0;
            background-image: linear-gradient(rgba(31, 41, 55, 0.15) 1px, transparent 1px),
            linear-gradient(90deg, rgba(31, 41, 55, 0.15) 1px, transparent 1px);
            background-size: 30px 30px;
        }
        .typing-cursor::after {
            content: '█';
            animation: blink 1s step-start infinite;
            color: #00ffcc;
            margin-left: 4px;
        }
        @keyframes blink {
            50% { opacity: 0; }
        }
        .glass-panel {
            background: rgba(22, 22, 31, 0.75);
            backdrop-filter: blur(16px);
            border: 1px solid rgba(255, 255, 255, 0.08);
        }
        .toy-action-button {
            position: relative;
            box-shadow: inset 0 -3px 0 rgba(0,0,0,0.35), 0 8px 18px rgba(0,0,0,0.25);
            transform: translateY(0);
        }
        .toy-action-button:active {
            transform: translateY(3px);
            box-shadow: inset 0 -1px 0 rgba(0,0,0,0.35), 0 3px 8px rgba(0,0,0,0.2);
        }
        .action-result-enter {
            animation: resultPop 520ms cubic-bezier(.2,1.4,.4,1) both;
        }
        @keyframes resultPop {
            0% { opacity: 0; transform: translateY(12px) scale(.92); }
            100% { opacity: 1; transform: translateY(0) scale(1); }
        }

        .proof-image {
            width: 100%;
            height: 100%;
            object-fit: cover;
            display: block;
            filter: saturate(1.08) contrast(1.04);
            transition: transform 700ms ease, filter 700ms ease;
        }
        .proof-card:hover .proof-image {
            transform: scale(1.025);
            filter: saturate(1.18) contrast(1.08);
        }
        .proof-caption {
            background: linear-gradient(180deg, rgba(5,5,5,0) 0%, rgba(5,5,5,.82) 38%, rgba(5,5,5,.95) 100%);
        }
