:root {
  color-scheme: dark;
  --ink: #e6ebe4;
  --muted: #9daaa7;
  --green: #a1c49a;
  --paper: #0b1014;
}

body { background: var(--paper); }
.dusk-links{position:fixed;top:16px;right:16px;z-index:25;display:flex;align-items:center;gap:10px;font:12px 'Courier New',monospace;color:#e9e2cc;}
.dusk-links a,.dusk-contract{padding:10px 12px;background:#171e22;border:1px solid #777969;box-shadow:2px 2px #0008;}
.dusk-links a:hover{background:#2d393e;}
.dusk-contract strong{color:#c4d9a6;overflow-wrap:anywhere;user-select:all;}
.dusk-contract{min-width:0;max-width:100%;}
.dusk-links{max-width:calc(100vw - 32px);}
.dusk-links>a{flex-shrink:0;}
@media(max-width:600px){.dusk-links{top:8px;right:8px;gap:6px;font-size:10px}.dusk-links a,.dusk-contract{padding:8px}}
.dusk-brand {position:fixed;top:18px;left:18px;z-index:20;display:flex;align-items:center;gap:10px;color:#eee2bd;font:700 16px 'Courier New',monospace;text-shadow:0 2px 4px #000;}
.dusk-brand img {display:block;object-fit:contain;border:1px solid #77735f;background:#000;}
.dusk-welcome-logo {object-fit:contain;flex-shrink:0;background:#000;}
.dusk-start-icon {display:block;width:20px;height:20px;object-fit:contain;image-rendering:pixelated;flex-shrink:0;background:#000;}
body.focused .dusk-brand {display:none;}
@media(max-width:600px){.dusk-brand{top:10px;left:10px;font-size:13px}.dusk-brand img{width:40px;height:40px}}
body::after { display:none; }
.mobile-desktop { top:20px!important; height:calc(100dvh - 40px)!important; }
.tray-sound { padding:2px; border:0; background:transparent; color:inherit; font:inherit; line-height:1; }
#stage>canvas:focus-visible { outline:none; }
.scene-status { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); pointer-events:none; }
.scene-launch-prompt { position:absolute; z-index:8; transform:translate(-50%,-100%); display:flex; align-items:center; gap:9px; max-width:calc(100vw - 24px); padding:10px 15px; border:1px solid #b5d6a985; border-radius:2px; background:#09100eea; color:#d5e9c9; box-shadow:0 4px 16px #0008,inset 0 1px #e7ffd20d; font:600 12px/1.2 'Courier New',monospace; letter-spacing:.5px; white-space:nowrap; cursor:pointer; touch-action:manipulation; }
.scene-launch-prompt::before { content:''; width:5px; height:5px; flex-shrink:0; background:#b7dca2; box-shadow:0 0 8px #a6d58b75; }
.scene-launch-prompt::after { content:''; position:absolute; left:50%; bottom:-6px; margin-left:-5px; border-left:5px solid transparent; border-right:5px solid transparent; border-top:5px solid #b5d6a9; }
.scene-launch-prompt:hover { color:#f0ffe6; background:#17251df5; border-color:#d6efc5; }
.scene-launch-prompt:focus-visible { outline:2px solid #e5f6d8; outline-offset:4px; }
.scene-launch-prompt[hidden] { display:none; }
.display-filters { position:absolute; overflow:hidden; pointer-events:none; }
/* Keep DOM text selectable and controls live while sharing the scene's palette. */
.site-header,.intro,.machine-label,.scene-hint,.scene-controls,.site-footer,
.loading,.toast,.about-modal,#desktop { filter:url(#display-palette); }
#stage>canvas { image-rendering:pixelated; }
.brand-mark,.primary-button,.scene-controls { border-radius:2px; }
.scene-controls { backdrop-filter:none; }
.screen-glass { opacity:.8; }
.brand-mark { background: #dce7d7; color: #18221e; }
.header-caption { color: #929e9d; }
.plain-button { color: #d3dcd7; }
.plain-button:hover { color: #b4d4a9; }
.eyebrow { color: #aebdb3; }
.tiny-dot {
  background: #b0d896;
  box-shadow: 0 0 0 3px #a0d9800b, 0 0 11px #a4dc8655;
}
h1 > span { color: #a7c99b; }
.intro p { color: #a0ada8; }
.intro-footnote { color: #899992; }
.primary-button {
  background: #abc59b;
  color: #162218;
  box-shadow: 0 3px 0 #172218, inset 0 1px #e5f3d74d;
}
.primary-button:hover { background: #c0d5b2; }
.machine-label { color: #b3c7aa; }
.machine-label > span:not(.tiny-dot) { color: #8b9d95; }
.scene-hint { color: #a0ada5; text-shadow: 0 1px 5px #101619; }
.scene-controls {
  background: #1b2527ed;
  border-color: #7f9a8c33;
  box-shadow: 0 8px 32px #0005, inset 0 1px #c8e6ce08;
}
.scene-controls button { color: #bbc8c0; }
.scene-controls button:hover,
.scene-controls button.active { background: #314039; color: #d9e8d1; }
.control-divider { background: #46584e88; }
.site-footer { color: #889991; }
.footer-right > span { color: #a7c99b; }
.loading-track { background: #293630; }
.loading-track i { background: #abc59b; }
.toast {
  background: #23362d;
  color: #e0ecda;
  border: 1px solid #78947355;
  box-shadow: 0 8px 32px #0005;
}
.about-modal {
  border-color: #405249;
  background: #192326;
  box-shadow: 0 30px 100px #0009;
}
.about-modal::backdrop { background: #050a0dc4; }
.modal-close { color: #b0c2b6; }
.about-modal p { color: #a7b7ae; }
.about-details { border-color: #35473e; }
.about-details > span { color: #c0d1b7; }

/* The CRT keeps its original Windows interface inside the dark room. */
.desktop {
  color-scheme: light;
  background: #72acd1 url("./assets/wallpaper-windows.webp") center center / cover no-repeat;
}
.desktop .wallpaper-mark { display: none; }
.mobile-desktop {
  border-color: #3c4a46;
  box-shadow: 0 12px 80px #000a, 0 0 40px #1c89851a;
}
body.orbiting .intro { opacity:0; transform:translateX(-30px); pointer-events:none; }
body.orbiting .intro button { pointer-events:none; }
body.orbiting .machine-label { opacity:0; }
.screen-glass {
  background-image:linear-gradient(130deg,#d9f3ff0c 0%,transparent 28%,transparent 77%,#00000016 100%),repeating-linear-gradient(0deg,#00000008 0px,#00000008 1px,transparent 1px,transparent 3px);
  box-shadow:inset 0 0 35px #001518aa,inset 0 0 4px #cbffff55;
}
.intro { top:24%; left:4%; max-width:290px; }
.intro h1 { font-size:54px; letter-spacing:-2.9px; }
.intro p { font-size:12px; text-shadow:0 2px 12px #000; }
.machine-label { top:15%; }
@media(max-width:1000px) and (min-width:701px) {
  .intro { max-width:240px; }
  .intro h1 { font-size:43px; }
}
@media(max-width:700px) {
  .intro { top:105px; left:7%; max-width:87%; }
  .intro h1 { font-size:36px; letter-spacing:-1.7px; }
  .intro h1 br { display:none; }
  .intro p { font-size:10px; }
  .intro .eyebrow { font-size:7px; }
}

.onion-browser-frame{display:block;width:100%;height:calc(100% - 40px);min-height:300px;border:0;background:#d4d1c8}.win[data-app="internet"] .win-body{overflow:hidden}.win[data-app="launch"] .win-body,.win[data-app="launches"] .win-body{overflow:auto}
.site-buy-button{position:fixed;z-index:30;top:max(24px,env(safe-area-inset-top));right:max(24px,env(safe-area-inset-right));display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:44px;padding:0 18px;border:1px solid #a6be8d;background:#15251deF;color:#e1edcc;box-shadow:inset 1px 1px #c9ddaa26,inset -1px -1px #0008,3px 3px #0007;font:700 12px/1 'Courier New',monospace;letter-spacing:.8px;text-transform:uppercase;touch-action:manipulation}
.site-buy-button:hover{background:#293d2c;color:#f0f8dc;border-color:#d2e4af}
.site-buy-button:active{box-shadow:inset 1px 1px #0008;transform:translate(1px,1px)}
.site-buy-button:focus-visible{outline:2px solid #d2e4af;outline-offset:4px}
.site-buy-button span{font-size:17px;font-weight:400}
@media(max-width:700px){.site-buy-button{top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));padding:0 14px;font-size:11px;gap:10px}}
