/* HOTCOIN Retro Chaos Styles */
:root {
  --win-blue: #0054a6;
  --win-light: #d4d0c8;
  --win-dark: #404040;
  --accent: #ff2d2d;
  --accent-yellow: #ffc400;
  --accent-green: #2edb4b;
  --taskbar-height: 36px;
  --marquee-speed: 50s; /* adjustable scroll speed */
  /* Font families (Combo A) */
  --ui-font: 'Work Sans', 'Trebuchet MS', 'Verdana', system-ui, sans-serif;
  --display-font: 'Orbitron', 'Eurostile', 'Arial Black', sans-serif;
  --term-font: 'VT323', 'Share Tech Mono', monospace;
  font-family: var(--ui-font);
}
* { box-sizing: border-box; }
img { -webkit-user-drag: none; user-select: none; }
html, body { margin:0; height:100%; overflow:hidden; background:#008080; }
body { color:#111; font-family: var(--ui-font); }

.desktop { position:relative; width:100%; height:100%; user-select:none; }
.wallpaper-placeholder { position:absolute; inset:0; background:#000 url('images/bg.jpg') center center / cover no-repeat fixed; font-size:0; pointer-events:none; }
.wallpaper-placeholder::after { content:""; position:absolute; inset:0; background:linear-gradient(rgba(0,0,0,0.15), rgba(0,0,0,0.35)); }

.hero { position:absolute; top:8%; left:50%; transform:translateX(-50%); background:rgba(255,255,255,0.4); backdrop-filter:blur(4px); padding:1.4rem 2rem 2rem; border:3px solid var(--win-blue); box-shadow:4px 4px 0 #000; max-width:720px; text-align:center; border-radius:6px; }
.hero h1 { margin:0 0 .3rem; font-size:3.2rem; text-shadow:2px 2px 0 #000, 0 0 10px #ffb347; color:#fff; font-weight:800; font-family: var(--display-font); letter-spacing:1px; }
.tagline { font-size:1.2rem; margin:.3rem 0 1rem; font-weight:600; }
.blink { animation: blink 1s steps(2,start) infinite; color:var(--accent); }
@keyframes blink { 50% { opacity:0; } }

.cta-row { display:flex; gap:1rem; flex-wrap:wrap; justify-content:center; margin-bottom:1rem; }
.btn { cursor:pointer; border:3px outset #fff; background:linear-gradient(#fff,#d5d5d5); padding:.7rem 1.1rem; font-weight:700; font-size:1rem; border-radius:4px; box-shadow:2px 2px 0 #000; transition:transform .08s; position:relative; }
.btn:active { transform:translateY(2px); box-shadow:1px 1px 0 #000; }
.btn-danger { background:linear-gradient(#ff6b6b,#d40000); color:#fff; border-color:#fff; text-shadow:1px 1px 0 #000; }
.btn-secondary { background:linear-gradient(#ffe08a,#ffb300); }
.btn-primary { background:linear-gradient(#8ac9ff,#006bce); color:#fff; text-shadow:1px 1px 0 #000; }
.bounce { animation:bouncy 1.8s ease-in-out infinite; }
@keyframes bouncy { 0%,100%{ transform:translateY(0);} 50% { transform:translateY(-9px);} }

.contract-line { font-family:var(--term-font); font-size:1rem; background:#000; color:#0f0; padding:.5rem .7rem; border:2px inset #555; display:inline-block; margin:0 auto 1rem; }
.disclaimer { font-size:.75rem; max-width:580px; margin:0 auto; line-height:1.2; }

/* Taskbar */
.taskbar { position:absolute; bottom:0; left:0; right:0; height:var(--taskbar-height); background:linear-gradient(#c9c9c9,#9f9f9f); display:flex; align-items:center; padding:0 .5rem; gap:.5rem; border-top:3px solid #fff; box-shadow:0 -2px 0 #000; }
.start-btn { background:linear-gradient(#3bd95f,#028d2d); color:#fff; font-weight:800; padding:.4rem .9rem; border:2px outset #fff; cursor:pointer; box-shadow:2px 2px 0 #000; border-radius:4px; }
.start-btn:active { transform:translate(1px,1px); box-shadow:1px 1px 0 #000; }
.task-buttons { display:flex; gap:.4rem; flex:1; flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; }
.task-buttons::-webkit-scrollbar { display:none; }
.task-btn { background:#d4d0c8; border:2px outset #fff; padding:.25rem .6rem; font-size:.75rem; cursor:pointer; white-space:nowrap; box-shadow:1px 1px 0 #000; display:flex; align-items:center; gap:.4rem; }
.task-btn.active { background:#fff; }
.price { font-family:monospace; font-size:.75rem; background:#222; color:#0f0; padding:.3rem .6rem; border:2px inset #555; margin-right:.5rem; }
.clock { font-family:monospace; font-size:.8rem; background:#222; color:#0f0; padding:.3rem .6rem; border:2px inset #555; }

.start-menu { position:absolute; bottom:var(--taskbar-height); left:0; width:240px; background:#d4d0c8; border:3px outset #fff; box-shadow:4px 4px 0 #000; padding:0; font-size:.85rem; animation:pop .25s ease; }
.start-menu-header { background:linear-gradient(#0054a6,#002b53); color:#fff; padding:.6rem .7rem; font-weight:700; letter-spacing:.5px; }
.start-menu ul { list-style:none; margin:0; padding:.4rem 0; }
.start-menu li { padding:.4rem .9rem; cursor:pointer; display:flex; gap:.5rem; align-items:center; }
.start-menu li:hover { background:#002b53; color:#fff; }
.start-menu-footer { font-size:.6rem; text-align:center; padding:.4rem; background:#c0c0c0; color:#333; }

@keyframes pop { from { transform:translateY(12px) scale(.95); opacity:0; } }

/* Windows */
.window { position:absolute; background:#d4d0c8; border:3px outset #fff; box-shadow:4px 4px 0 #000; width:280px; min-height:140px; max-height:400px; display:flex; flex-direction:column; font-size:.75rem; animation:pop .25s ease; }
.window .titlebar { background:linear-gradient(#0054a6,#002b53); color:#fff; padding:.3rem .5rem; display:flex; align-items:center; justify-content:space-between; cursor:grab; font-weight:700; font-family: var(--ui-font); letter-spacing:.5px; }
.window .titlebar:active { cursor:grabbing; }
.window .titlebar .controls { display:flex; gap:.3rem; }
.win-btn { width:18px; height:18px; background:#c0c0c0; border:2px outset #fff; display:flex; align-items:center; justify-content:center; font-size:.6rem; cursor:pointer; line-height:1; }
.win-btn:active { border:2px inset #fff; }
.window .content { padding:.6rem .7rem; flex:1; overflow-y:auto; display:flex; flex-direction:column; }
.window .content img { max-width: 100%; max-height: 160px; object-fit: contain; margin: 0 auto 12px auto; border: 3px solid #666; flex-shrink: 0; border-radius: 4px; display: block; width: auto; height: auto; }
.window .content .small-reopen { margin-top: auto; margin-bottom: 8px; flex-shrink: 0; }
.window .footer { background:#c0c0c0; padding:.3rem .5rem; font-size:.55rem; text-align:right; flex-shrink: 0; }

/* Text-only popup variants */
.window.text-only .content { text-align: center; justify-content: center; padding: 1.5rem 1rem; }
.window.text-only .big-text { font-size: 1.8rem; font-weight: 800; margin: 0.5rem 0; line-height: 1.1; font-family: var(--display-font); text-shadow: 2px 2px 0 #000; }
.window.text-only .big-text.hot { color: #ff2d2d; }
.window.text-only .big-text.gold { color: #ffc400; }
.window.text-only .big-text.green { color: #2edb4b; }
.window.text-only .big-text.blue { color: #0054a6; }
.window.text-only .sub-text { font-size: 1rem; margin: 0.8rem 0; font-weight: 600; }
.window.text-only .small-reopen { margin-top: 1rem; }

.window.alert { border-color:var(--accent); }
.window.alert .titlebar { background:linear-gradient(var(--accent),#7a0000); }
.window.alert .content { color:#111; }
.window.warning { border-color:var(--accent-yellow); }
.window.warning .titlebar { background:linear-gradient(var(--accent-yellow),#b37300); color:#111; }
.window.success { border-color:var(--accent-green); }
.window.success .titlebar { background:linear-gradient(var(--accent-green),#028d2d); }

/* Special price / offer windows */
.window.price { border-color:#ff2d2d; background:#161616; color:#eee; }
.window.price .titlebar { background:linear-gradient(#7a0000,#2d0000); text-shadow:1px 1px 0 #000; }
.window.price .content { background:#121212; }

/* Unified offer (buy) popup layout */
.window .offer { 
  --glow: rgba(255,45,45,0.35);
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; 
  gap:.55rem; width:100%; padding:1.1rem .9rem 1.2rem; 
  background:radial-gradient(circle at 50% 32%, #272727 0%, #121212 70%); 
  border:2px solid #ff2d2d; border-radius:10px; position:relative; 
  box-shadow:0 0 0 2px #000, 0 0 14px -2px var(--glow), inset 0 0 18px -6px var(--glow);
  font-family: var(--display-font);
}
.window .offer::after { content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; background:linear-gradient(140deg,rgba(255,80,80,0.25),rgba(255,80,80,0) 55%); mix-blend-mode:screen; }
.window .offer .headline { font-size:1.15rem; font-weight:900; letter-spacing:1px; color:#ffd9d9; text-shadow:2px 2px 0 #000, 0 0 6px rgba(255,80,80,.5); margin:0 0 .2rem; }
.window .offer .amount { font-size:3.2rem; line-height:1; font-weight:900; letter-spacing:1px; color:#ff4545; text-shadow:3px 3px 0 #000, 0 0 10px rgba(255,40,40,0.6); margin:.1rem 0 .25rem; }
.window .offer .token { font-size:2rem; font-weight:800; letter-spacing:1px; color:#ffa826; text-shadow:2px 2px 0 #000, 0 0 6px rgba(255,168,38,0.4); margin:0 0 .1rem; }
.window .offer .price-line { font-size:1.35rem; font-weight:800; color:#ffffff; text-shadow:2px 2px 0 #000; margin:.15rem 0 .2rem; }
.window .offer .subline { font-size:1.05rem; font-weight:700; color:#d0d0d0; text-shadow:1px 1px 0 #000; margin:.15rem 0 .2rem; }
.window .offer .cta { font-size:1.05rem; padding:.75rem 1.5rem; border-radius:6px; box-shadow:3px 3px 0 #000; }

/* Variant color tweaks */
.window .offer.pump .headline { color:#9dffb1; text-shadow:2px 2px 0 #000, 0 0 8px rgba(0,255,120,0.45); }
.window .offer.pump .amount { color:#39ff70; text-shadow:3px 3px 0 #000, 0 0 12px rgba(0,255,120,0.5); }
.window .offer.pump { border-color:#1dd75c; box-shadow:0 0 0 2px #000, 0 0 14px -2px rgba(0,255,120,0.35), inset 0 0 18px -6px rgba(0,255,120,0.35); }

.window .offer.opportunity { border-color:#ffb400; --glow:rgba(255,180,0,0.35); }
.window .offer.opportunity .headline { color:#ffe7b0; text-shadow:2px 2px 0 #000, 0 0 8px rgba(255,180,0,.45); }
.window .offer.opportunity .amount { color:#ffc640; text-shadow:3px 3px 0 #000, 0 0 12px rgba(255,180,0,.5); }

/* Responsive fine-tuning for offers */
@media (max-width: 760px) {
  .window .offer { padding:.9rem .7rem 1rem; }
  .window .offer .amount { font-size:2.4rem; }
  .window .offer .token { font-size:1.5rem; }
  .window .offer .price-line { font-size:1.05rem; }
  .window .offer .headline { font-size:1rem; }
}

.marquee { background:#000; color:#0f0; padding:.55rem 1.2rem; font-family:var(--term-font); white-space:nowrap; overflow:hidden; position:relative; font-size:1.25rem; line-height:1.15; letter-spacing:.75px; height:2.6rem; display:flex; align-items:center; border:2px inset #333; margin:.6rem 0 .9rem; }
.marquee span { position:absolute; will-change:transform; animation:scroll var(--marquee-speed) linear infinite; }
.marquee:hover span { animation-play-state:paused; }
@keyframes scroll { 0% { transform:translateX(0); } 100% { transform:translateX(-50%); } }

/* About Modal */
.about-modal { text-align:center; }
.about-modal h2 { margin-top:0; }
.about-modal img { border: 2px solid #666; border-radius: 8px; box-shadow: 2px 2px 4px rgba(0,0,0,0.3); }
.tiny { font-size:.6rem; line-height:1.1; }

/* Accessibility helpers */
:focus { outline:2px dashed var(--accent); outline-offset:2px; }

/* Fun extras */
.shake { animation: shake .4s linear; }
@keyframes shake { 0%,100%{ transform:translate(0,0);} 25%{ transform:translate(-4px,2px);} 50%{ transform:translate(3px,-3px);} 75%{ transform:translate(-2px,3px);} }

.vibrate { animation: vibrate 1s ease-in-out; }
@keyframes vibrate { 0%,100%{ transform:translate(0,0);} 10%{ transform:translate(-2px,1px);} 20%{ transform:translate(2px,-1px);} 30%{ transform:translate(-1px,2px);} 40%{ transform:translate(1px,-2px);} 50%{ transform:translate(-2px,1px);} 60%{ transform:translate(2px,-1px);} 70%{ transform:translate(-1px,2px);} 80%{ transform:translate(1px,-2px);} 90%{ transform:translate(-2px,1px);} }

.dance { animation: dance 2s ease-in-out; }
@keyframes dance { 0%,100%{ transform:translate(0,0) rotate(0deg);} 25%{ transform:translate(-3px,2px) rotate(-1deg);} 50%{ transform:translate(3px,-2px) rotate(1deg);} 75%{ transform:translate(-2px,3px) rotate(-0.5deg);} }

.wiggle { animation: wiggle 1.5s ease-in-out; }
@keyframes wiggle { 0%,100%{ transform:translateX(0);} 15%{ transform:translateX(-5px);} 30%{ transform:translateX(5px);} 45%{ transform:translateX(-3px);} 60%{ transform:translateX(3px);} 75%{ transform:translateX(-2px);} 90%{ transform:translateX(2px);} }

.hidden { display:none !important; }

@media (max-width: 760px) {
  .hero { top:2%; width:94%; padding:1rem; }
  .hero h1 { font-size:2.2rem; }
  .window { width:230px; }
  .taskbar { font-size:.7rem; }
}
