@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700&display=swap');
* {
margin: 0;
padding: 0;
box-sizing: border-box;
cursor: none !important;
}
body {
background: #000;
font-family: 'JetBrains Mono', 'Courier New', monospace;
overflow-x: auto;
min-height: 100vh;
}
.initialize-screen {
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
background: #000;
z-index: 1000;
transition: opacity 0.5s ease-out;
}
.initialize-text {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
color: #ffcc66;
font-family: 'JetBrains Mono', 'Courier New', monospace;
font-size: 18px;
text-shadow: 0 0 2px #ffcc66;
animation: blink 1s infinite;
text-align: center;
}
.menu-container {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
}
.nav-button {
color: #ffcc80;
background: none;
border: 1px solid #ffcc80;
font-family: 'JetBrains Mono', 'Courier New', monospace;
font-size: 14px;
padding: 15px 30px;
margin: 15px 0;
cursor: pointer;
text-decoration: none;
display: block;
width: 400px;
text-shadow: 0 0 2px #ffcc80;
}
.nav-button:hover {
color: #ffffff;
text-shadow: 0 0 8px #ffffff;
background: rgba(255, 204, 128, 0.1);
}
.crt-container {
position: relative;
background: #000;
min-height: 100vh;
padding: 0;
width: 100vw;
overflow-x: hidden;
}
.crt-screen {
background: #000;
border-radius: 0;
padding: 30px;
position: relative;
overflow: hidden;
min-height: 100vh;
width: 100vw;
}
.terminal {
color: #ffcc80;
font-size: 14px;
line-height: 1.4;
white-space: pre-wrap;
word-wrap: break-word;
position: relative;
z-index: 2;
text-shadow:
0 0 2px #ffcc80,
0 0 4px #ffcc80,
0 0 6px rgba(255, 204, 128, 0.5);
filter:
blur(0.3px)
contrast(1.1)
brightness(1.05);
transform: scaleY(0.98);
}
.marketplace-terminal {
color: #ffcc80;
font-size: 14px;
line-height: 1.4;
white-space: pre-wrap;
word-wrap: break-word;
position: relative;
z-index: 2;
text-shadow:
0 0 2px #ffcc80,
0 0 4px #ffcc80,
0 0 6px rgba(255, 204, 128, 0.5);
filter:
blur(0.3px)
contrast(1.1)
brightness(1.05);
transform: scaleY(0.98);
}
.terminal::before {
content: '> SYSTEM_BOOT_SEQUENCE_COMPLETE\A> WELCOME_TO_NEURAL_INTERFACE\A> LAST_SESSION: 2024.07.25\A> STATUS: OPERATIONAL';
white-space: pre;
position: absolute;
top: 0;
left: 0;
color: #ffcc80;
opacity: 0.08;
z-index: -1;
filter: blur(1px);
font-size: 14px;
line-height: 1.6;
}
.marketplace-terminal::before {
content: '> MARKETPLACE_BOOT_SEQUENCE_COMPLETE\A> WELCOME_TO_QUANTUM_COMMERCE\A> LAST_TRADE: 2024.08.27\A> STATUS: OPERATIONAL';
white-space: pre;
position: absolute;
top: 0;
left: 0;
color: #ffcc80;
opacity: 0.08;
z-index: -1;
filter: blur(1px);
font-size: 13px;
line-height: 1.6;
}
.crt-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(
transparent 0%,
rgba(255, 204, 128, 0.01) 50%,
transparent 100%
);
background-size: 100% 4px;
animation: scanlines 0.1s linear infinite;
pointer-events: none;
z-index: 4;
}
@keyframes scanlines {
0% { transform: translateY(0); }
100% { transform: translateY(4px); }
}
.terminal.glitch, .marketplace-terminal.glitch {
animation: glitch 0.4s ease-in-out;
}
@keyframes glitch {
0% {
transform: scaleY(0.98) translate(0);
filter: blur(0.3px) hue-rotate(0deg);
}
15% {
transform: scaleY(0.98) translate(-2px, 1px);
filter: blur(0.5px) hue-rotate(90deg);
text-shadow:
2px 0 #ff0080,
-2px 0 #00ff80,
0 0 3px #ffcc80;
}
30% {
transform: scaleY(0.98) translate(2px, -1px);
filter: blur(0.2px) hue-rotate(180deg);
}
45% {
transform: scaleY(0.98) translate(-1px, 2px);
filter: blur(0.7px) hue-rotate(270deg);
text-shadow:
-1px 0 #0080ff,
1px 0 #ff8000,
0 0 5px #ffcc80;
}
60% {
transform: scaleY(0.98) translate(1px, -2px);
filter: blur(0.4px) hue-rotate(360deg);
}
75% {
transform: scaleY(0.98) translate(-2px, 0);
filter: blur(0.6px) hue-rotate(45deg);
}
100% {
transform: scaleY(0.98) translate(0);
filter: blur(0.3px) hue-rotate(0deg);
text-shadow:
0 0 1px #ffcc80,
0 0 2px #ffcc80,
0 0 3px rgba(255, 204, 128, 0.5);
}
}
.terminal::after, .marketplace-terminal::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background:
repeating-linear-gradient(
0deg,
transparent,
transparent 2px,
rgba(255, 204, 128, 0.03) 2px,
rgba(255, 204, 128, 0.03) 4px
);
pointer-events: none;
animation: scanlines-dirty 0.1s linear infinite;
z-index: 1;
}
@keyframes scanlines-dirty {
0% { transform: translateY(0); }
100% { transform: translateY(4px); }
}
.cursor {
animation: blink 1s infinite;
background: #ffcc80;
width: 8px;
height: 14px;
display: inline-block;
margin-left: 2px;
}
@keyframes blink {
0%, 50% { opacity: 1; }
51%, 100% { opacity: 0; }
}
.download-link {
color: #00ffff;
text-decoration: none;
cursor: pointer;
}
.download-link:hover {
color: #ffffff;
}
.terminal span.dead-pixel, .marketplace-terminal span.dead-pixel {
background: rgba(0, 0, 0, 0.8);
color: transparent;
}
.processing {
color: #74c0fc;
text-shadow: 0 0 3px #74c0fc;
}
.success {
color: #51cf66;
text-shadow: 0 0 3px #51cf66;
}
.contact-button {
color: #ffd43b;
text-shadow: 0 0 5px #ffd43b;
cursor: pointer;
text-decoration: underline;
animation: button-pulse 1.2s infinite;
}
.contact-button:hover {
color: #ffffff;
text-shadow: 0 0 8px #ffffff;
}
@keyframes button-pulse {
0%, 70% {
opacity: 1;
text-shadow: 0 0 5px #ffd43b;
}
71%, 100% {
opacity: 0.7;
text-shadow: 0 0 10px #ffd43b;
}
}
.email-final {
color: #00ffff;
text-shadow: 0 0 5px #00ffff;
text-decoration: underline;
cursor: pointer;
animation: email-reveal 0.8s ease-out;
}
.email-final:hover {
color: #ffffff;
text-shadow: 0 0 8px #ffffff;
}
@keyframes email-reveal {
0% {
opacity: 0;
transform: scale(0.9);
filter: blur(2px);
}
100% {
opacity: 1;
transform: scale(1);
filter: blur(0);
}
}
.custom-cursor {
width: 12px;
height: 16px;
background: #ffcc80;
position: fixed;
pointer-events: none;
z-index: 9999;
transform: translate(-50%, -50%);
}
.popup {
display: none;
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: #000;
border: 2px solid #ffcc80;
padding: 20px;
z-index: 1000;
max-width: 600px;
max-height: 80vh;
overflow-y: auto;
text-align: center;
}
.loading {
color: #ffcc80;
animation: blink 0.5s infinite;
}
.decompression {
font-size: 12px;
color: #ffcc80;
margin: 10px 0;
text-align: left;
}
/* MARKETPLACE STYLES */
.cart-header {
position: absolute;
top: 10px;
right: 10px;
color: #ffd43b;
cursor: pointer;
text-decoration: underline;
animation: button-pulse 1.2s infinite;
font-size: 14px;
z-index: 3;
}
.cart-header:hover {
color: #ffffff;
text-shadow: 0 0 8px #ffffff;
}
.loading-bar {
width: 40%;
height: 20px;
border: 1px solid #ffcc80;
margin: 20px 0;
background: #111;
position: relative;
display: none;
}
.loading-fill {
height: 100%;
background: #ffcc80;
width: 0%;
transition: width 0.1s ease;
}
.loading-text {
color: #74c0fc;
font-size: 12px;
margin: 10px 0;
text-align: left;
display: none;
}
.product-grid {
display: flex;
gap: 30px;
margin: 30px 0;
flex-wrap: wrap;
justify-content: flex-start;
opacity: 0;
transition: opacity 1s ease;
z-index: 2;
position: relative;
}
.product-grid.visible {
opacity: 1;
}
.product-item {
border: 1px solid #ffcc80;
padding: 15px;
cursor: pointer;
width: 300px;
height: 300px;
text-align: center;
background: rgba(0, 0, 0, 0.8);
position: relative;
display: flex;
flex-direction: column;
justify-content: flex-start;
overflow: hidden;
}
.product-item:hover {
background: rgba(255, 204, 128, 0.05);
border-color: #ffd43b;
}
.product-item::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255, 204, 128, 0.3), transparent);
animation: permanent-glow 10s ease-in-out infinite;
z-index: 1;
}
@keyframes permanent-glow {
0% { left: -100%; }
50% { left: 100%; }
100% { left: -100%; }
}
.product-preview {
width: 250px;
height: 180px;
margin: 0 auto;
border: 1px solid #ffcc80;
background: #111;
display: flex;
align-items: center;
font-size: 12px;
background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100"><rect width="100" height="100" fill="%23222"/><rect x="10" y="10" width="80" height="80" fill="%23333" stroke="%23ffcc80" stroke-width="1"/><circle cx="30" cy="35" r="8" fill="%23ffcc80"/><polygon points="10,80 40,50 60,65 90,40 90,90 10,90" fill="%23ffcc80" opacity="0.3"/></svg>');
background-size: cover;
background-position: center;
position: relative;
z-index: 2;
}
.product-info {
font-size: 11px;
color: #ffcc80;
margin-top: 10px;
position: relative;
z-index: 2;
}
.product-title {
font-size: 12px;
color: #ffcc80;
margin-top: 10px;
font-weight: bold;
position: relative;
z-index: 2;
}
.stock-info {
font-size: 10px;
color: #74c0fc;
margin-top: 10px;
position: relative;
z-index: 2;
}
.legal-section {
margin-top: 50px;
text-align: left;
opacity: 0 ;
transition: opacity 1s ease;
position: relative;
z-index: 2;
}
.legal-btn, .return-menu-btn {
color: #666;
background: none;
border: 1px solid #444;
font-family: inherit;
font-size: 10px;
padding: 8px 15px;
cursor: pointer;
text-decoration: none;
margin-right: 15px;
}
.legal-btn:hover, .return-menu-btn:hover {
color: #ffcc80;
border-color: #ffcc80;
}
.popup-close {
position: absolute;
top: 5px;
right: 10px;
color: #ffcc80;
cursor: pointer;
font-size: 18px;
font-weight: bold;
}
.popup-close:hover {
color: #ffffff;
}
.popup-loading {
color: #ffcc80;
font-size: 12px;
margin: 20px 0;
}
.progress-bar {
width: 300px;
height: 20px;
border: 1px solid #ffcc80;
margin: 10px auto;
background: #111;
position: relative;
}
.progress-fill {
height: 100%;
background: #ffcc80;
width: 0%;
transition: width 0.1s ease;
}
.popup-content {
font-size: 12px;
color: #ffcc80;
margin: 10px 0;
text-align: left;
}
.product-detail-image {
width: 200px;
height: 150px;
border: 1px solid #ffcc80;
background: #111;
margin: 10px auto;
display: flex;
align-items: center;
justify-content: center;
font-size: 12px;
background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="150" viewBox="0 0 200 150"><rect width="200" height="150" fill="%23222"/><rect x="20" y="20" width="160" height="110" fill="%23333" stroke="%23ffcc80" stroke-width="2"/><circle cx="60" cy="55" r="12" fill="%23ffcc80"/><polygon points="20,120 80,80 120,100 180,60 180,130 20,130" fill="%23ffcc80" opacity="0.4"/></svg>');
background-size: cover;
}
.add-to-cart-btn {
color: #51cf66;
text-shadow: 0 0 5px #51cf66;
cursor: pointer;
text-decoration: underline;
animation: cart-pulse 1.2s infinite;
background: none;
border: none;
font-family: inherit;
font-size: 14px;
margin: 15px 0;
}
.add-to-cart-btn:hover {
color: #ffffff;
text-shadow: 0 0 8px #ffffff;
}
@keyframes cart-pulse {
0%, 70% {
opacity: 1;
text-shadow: 0 0 5px #51cf66;
}
71%, 100% {
opacity: 0.7;
text-shadow: 0 0 10px #51cf66;
}
}
.cart-item {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10px 0;
border-bottom: 1px solid #333;
text-align: left;
}
.cart-item-info {
flex: 1;
font-size: 12px;
}
.cart-item-price {
color: #ffd43b;
margin: 0 15px;
}
.remove-btn {
color: #ff6b6b;
background: none;
border: 1px solid #ff6b6b;
padding: 3px 8px;
cursor: pointer;
font-family: inherit;
font-size: 10px;
}
.remove-btn:hover {
background: rgba(255, 107, 107, 0.1);
}
.cart-total {
text-align: center;
margin: 20px 0;
padding: 15px;
border: none;
background: none;
}
.checkout-btn {
color: #ffd43b;
text-shadow: 0 0 5px #ffd43b;
cursor: pointer;
text-decoration: underline;
animation: button-pulse 1.2s infinite;
background: none;
border: 1px solid #ffd43b;
font-family: inherit;
font-size: 16px;
margin: 15px 0;
padding: 10px 15px;
display: inline-block;
}
.checkout-btn:hover {
color: #ffffff;
text-shadow: 0 0 8px #ffffff;
}
.checkout-loading {
display: none;
font-size: 12px;
color: #74c0fc;
margin: 20px 0;
text-align: left;
}
.payment-form {
text-align: left;
margin: 20px 0;
}
.payment-input {
width: 100%;
background: #111;
border: 1px solid #ffcc80;
color: #ffcc80;
padding: 8px;
margin: 5px 0;
font-family: inherit;
font-size: 12px;
}
.payment-input:focus {
outline: none;
border-color: #ffd43b;
box-shadow: 0 0 5px #ffd43b;
}
.pay-btn {
width: 100%;
background: #51cf66;
border: 1px solid #51cf66;
color: #000;
padding: 12px;
cursor: pointer;
font-family: inherit;
font-size: 14px;
font-weight: bold;
margin-top: 15px;
}
.pay-btn:hover {
background: #40c057;
}
.payment-loading {
display: none;
margin: 20px 0;
}
.payment-progress-bar {
width: 100%;
height: 25px;
border: 1px solid #ffcc80;
margin: 10px 0;
background: #111;
position: relative;
}
.payment-progress-fill {
height: 100%;
background: #51cf66;
width: 0%;
transition: width 0.1s ease;
}
.payment-status {
font-size: 12px;
color: #74c0fc;
margin: 10px 0;
text-align: center;
}
.empty-cart {
text-align: center;
color: #666;
font-style: italic;
margin: 30px 0;
}
.legal-content {
font-size: 11px;
line-height: 1.6;
color: #ffcc80;
text-align: left;
max-height: 400px;
overflow-y: auto;
}
.notification {
position: fixed;
top: 20px;
right: 20px;
background: rgba(0, 0, 0, 0.9);
border: 1px solid #51cf66;
color: #51cf66;
padding: 15px 20px;
font-family: inherit;
font-size: 12px;
z-index: 2000;
transform: translateX(100%);
transition: transform 0.3s ease;
text-shadow: 0 0 5px #51cf66;
}
.notification.show {
transform: translateX(0);
}
textarea.payment-input {
    font-family: inherit;
    resize: vertical;
    min-height: 100px;
}

select.payment-input {
    font-family: inherit;
    background: #111;
    border: 1px solid #ffcc80;
    color: #ffcc80;
}

select.payment-input:focus {
    outline: none;
    border-color: #ffd43b;
    box-shadow: 0 0 5px #ffd43b;
}

/* Styles pour mobile uniquement */
@media (max-width: 768px) {
    /* Réduit la taille de la police pour tous les éléments textuels */
    body,
    .initialize-text,
    .nav-button,
    .terminal,
    .marketplace-terminal,
    .product-info,
    .product-title,
    .stock-info,
    .legal-content {
        font-size: 11px !important;
    }

    /* Réduit la largeur des boutons et les centre */
    .nav-button {
        width: 85% !important; /* Légèrement plus large pour un meilleur rendu */
        font-size: 10px !important; /* Police un peu plus petite pour les boutons */
        padding: 8px !important; /* Padding réduit */
        margin: 8px auto !important; /* Centre horizontalement */
        display: block; /* Assure un affichage en bloc */
    }

    /* Conteneur des boutons : centré à l'écran */
    .menu-container {
        width: 100% !important; /* Prend toute la largeur */
        position: fixed; /* Fixe le conteneur */
        top: 50% !important; /* Centre verticalement */
        left: 50% !important;
        transform: translate(-50%, -50%) !important; /* Centre parfaitement */
        text-align: center !important; /* Centre le contenu */
        padding: 0 10px !important; /* Espace latéral */
        box-sizing: border-box !important;
    }
}
