:root{
  --taskbar-height:42px;
  --system-gray:#c0c0c0;
  --system-light:#fff;
  --system-mid:#dfdfdf;
  --system-shadow:#808080;
  --system-dark:#101010;
  --titlebar-start:#4a1526;
  --titlebar-end:#6e2b3f;
  --inactive-titlebar-start:#666;
  --inactive-titlebar-end:#aaa;
  --cream:#efe7cb;
  --purple:#2c173e;
  --gold:#e3b653;
  --wine:#8c284d;
  --font:"MS Sans Serif",Tahoma,Geneva,Verdana,sans-serif;
}

*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden}
body{font-family:var(--font);background:#111}
button,input{font:inherit}
button{cursor:pointer}
a{color:inherit}

#desktop{
  position:relative;
  width:100vw;
  height:100vh;
  overflow:hidden;
  background:
    linear-gradient(rgba(0,0,0,.06),rgba(0,0,0,.06)),
    url("assets/wallpaper.png") center/cover no-repeat,
    #145f68;
  user-select:none;
}

.desktop-icons{
  position:absolute;
  z-index:5;
  inset:16px auto calc(var(--taskbar-height) + 14px) 14px;
  display:flex;
  flex-direction:column;
  flex-wrap:wrap;
  align-content:flex-start;
  gap:9px 12px;
}

.desktop-shortcut{
  width:90px;
  min-height:82px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  padding:5px;
  border:1px solid transparent;
  color:#fff;
  background:transparent;
  text-align:center;
  text-shadow:1px 1px 0 #000,-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000;
}
.desktop-shortcut:hover,.desktop-shortcut:focus-visible{
  border-color:rgba(255,255,255,.8);
  background:rgba(0,35,130,.42);
  outline:none;
}
.shortcut-icon{
  width:48px;height:48px;object-fit:contain;
  image-rendering:pixelated;
  filter:drop-shadow(2px 2px 1px rgba(0,0,0,.55));
}
.desktop-shortcut span{font-size:12px;line-height:1.15}

.desktop-window{
  position:absolute;
  z-index:20;
  left:var(--window-left,120px);
  top:var(--window-top,80px);
  width:min(var(--window-width,640px),calc(100vw - 20px));
  height:min(var(--window-height,480px),calc(100vh - var(--taskbar-height) - 20px));
  min-width:290px;
  min-height:190px;
  display:flex;
  flex-direction:column;
  padding:3px;
  color:#000;
  background:var(--system-gray);
  border-top:2px solid var(--system-light);
  border-left:2px solid var(--system-light);
  border-right:2px solid var(--system-dark);
  border-bottom:2px solid var(--system-dark);
  box-shadow:2px 2px 0 rgba(0,0,0,.55),8px 10px 24px rgba(0,0,0,.25);
  overflow:hidden;
}
.desktop-window.is-hidden,.desktop-window.is-minimized{display:none}
.desktop-window.is-maximized{
  left:0!important;top:0!important;width:100vw!important;
  height:calc(100vh - var(--taskbar-height))!important;
  min-width:0;min-height:0;
}
.desktop-window.is-inactive .window-titlebar{
  background:linear-gradient(90deg,var(--inactive-titlebar-start),var(--inactive-titlebar-end));
}

.window-titlebar{
  flex:0 0 28px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:28px;
  padding:3px 3px 3px 6px;
  color:#fff;
  background:linear-gradient(90deg,var(--titlebar-start),var(--titlebar-end));
  font-weight:bold;
  cursor:move;
  touch-action:none;
}
.window-title{min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden}
.window-title img{width:17px;height:17px;object-fit:contain;image-rendering:pixelated}
.window-title span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.window-controls{display:flex;gap:3px}
.window-button{
  width:23px;height:21px;display:grid;place-items:center;padding:0;
  border-top:2px solid #fff;border-left:2px solid #fff;
  border-right:2px solid #111;border-bottom:2px solid #111;
  background:#c0c0c0;color:#000;font-family:Arial,sans-serif;font-weight:bold;line-height:1;
}
.window-button:active{
  border-top-color:#111;border-left-color:#111;border-right-color:#fff;border-bottom-color:#fff;
  padding-top:2px;padding-left:2px;
}

.window-menubar{
  flex:0 0 auto;display:flex;align-items:center;min-height:24px;
  padding:1px 4px;border-bottom:1px solid var(--system-shadow);
}
.window-menubar button{border:0;padding:3px 8px;background:transparent;font-size:12px}
.window-menubar button:hover{color:#fff;background:#000080}

.window-toolbar{
  flex:0 0 auto;display:flex;align-items:center;gap:5px;padding:5px;
  border-top:1px solid #fff;border-bottom:1px solid #808080;
}
.toolbar-button{
  width:28px;height:26px;border-top:1px solid #fff;border-left:1px solid #fff;
  border-right:1px solid #808080;border-bottom:1px solid #808080;background:#c0c0c0;font-weight:bold;
}
.address-bar{min-width:0;flex:1;display:flex;align-items:center;gap:5px}
.address-bar span{font-size:11px}
.address-bar input{
  min-width:0;width:100%;height:24px;padding:3px 6px;
  border-top:2px solid #808080;border-left:2px solid #808080;
  border-right:2px solid #fff;border-bottom:2px solid #fff;background:#fff;font-size:12px;
}

.window-content{
  min-width:0;min-height:0;flex:1;overflow:auto;
  border-top:2px solid #808080;border-left:2px solid #808080;
  border-right:2px solid #fff;border-bottom:2px solid #fff;
  background:#fff;user-select:text;
}
.window-statusbar{
  flex:0 0 23px;display:flex;align-items:center;justify-content:space-between;gap:4px;
  min-height:23px;padding-top:3px;
}
.window-statusbar span{
  min-width:0;flex:1;padding:3px 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  border-top:1px solid #808080;border-left:1px solid #808080;
  border-right:1px solid #fff;border-bottom:1px solid #fff;font-size:11px;
}



/* =========================================================
   WINDOW RESIZING
========================================================= */
.window-resize-handle{
  position:absolute;
  right:0;
  bottom:0;
  z-index:50;
  width:18px;
  height:18px;
  cursor:nwse-resize;
  touch-action:none;
  background:
    linear-gradient(135deg,
      transparent 0 40%,
      #808080 41% 48%,
      transparent 49% 58%,
      #808080 59% 66%,
      transparent 67% 76%,
      #808080 77% 84%,
      transparent 85% 100%);
}

.desktop-window.is-maximized .window-resize-handle{
  display:none;
}

@media (max-width:760px){
  .window-resize-handle{display:none}
}

/* Store */
.browser-page{
  background:
    repeating-linear-gradient(0deg,rgba(0,0,0,.025) 0,rgba(0,0,0,.025) 1px,transparent 1px,transparent 4px),
    var(--cream);
}
.site-header{
  min-height:132px;display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:18px 22px;color:#f7efcf;
  background:
    radial-gradient(circle at 75% 25%,rgba(255,255,255,.13),transparent 30%),
    linear-gradient(135deg,#21112f,#60214f 58%,#9b2d4e);
  border-bottom:7px solid var(--gold);
}
.site-logo-lockup{display:flex;align-items:center;gap:15px}
.site-logo-mark{
  width:80px;height:80px;display:grid;place-items:center;border:4px solid var(--gold);
  background:#1e102b;color:var(--gold);font-family:Georgia,serif;font-size:56px;font-weight:bold;
  box-shadow:6px 6px 0 rgba(0,0,0,.34);transform:rotate(-3deg);
}
.site-kicker{margin:0 0 2px;font-size:10px;font-weight:bold;letter-spacing:3px}
.site-header h1{margin:0;font-family:Impact,Haettenschweiler,sans-serif;font-size:clamp(38px,6vw,68px);letter-spacing:2px;line-height:.95}
.site-tagline{margin:8px 0 0}
.header-sticker{
  flex:0 0 auto;width:92px;height:92px;display:grid;place-items:center;text-align:center;
  border:4px double #222;border-radius:50%;background:#f5df87;color:#5d1734;
  font-weight:bold;transform:rotate(8deg);box-shadow:4px 4px 0 rgba(0,0,0,.35);
}
.site-tabs{display:flex;gap:3px;padding:7px 8px 0;background:#251530;border-bottom:4px solid var(--gold)}
.site-tab{
  padding:8px 14px;border:0;border-radius:5px 5px 0 0;background:#654060;color:#fff;font-weight:bold;
}
.site-tab:hover,.site-tab.is-selected{background:var(--gold);color:#24152d}
.site-shell{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:calc(100% - 176px)}
.site-sidebar{padding:12px;background:#2b1a37;border-right:4px solid var(--gold)}
.sidebar-box{
  margin-bottom:12px;padding:10px;color:#f7efcf;background:#3c254b;border:1px solid #120b18;
  box-shadow:inset 1px 1px 0 rgba(255,255,255,.14);
}
.sidebar-box h2{margin:0 0 8px;padding-bottom:5px;border-bottom:1px dashed var(--gold);font-size:13px}
.sidebar-box p{margin:7px 0;font-size:12px;line-height:1.35}
.sidebar-box button{
  width:100%;margin:0 0 5px;padding:7px;border:1px solid #160d1b;background:#e8c86f;color:#2b1730;text-align:left;font-weight:bold;
}
.sidebar-box button:hover{background:#a4345c;color:#fff}
.status-light{display:inline-block;width:10px;height:10px;border-radius:50%;background:#64e56b;box-shadow:0 0 8px #64e56b}
.tiny-text{font-size:11px}
.site-content{min-width:0;padding:15px}
.tab-panel{display:none}
.tab-panel.is-active{display:block}
.hero-card{
  display:grid;grid-template-columns:minmax(0,1.25fr) minmax(220px,.75fr);gap:16px;
  padding:16px;border:2px solid #6a503b;background:#fffdf2;box-shadow:5px 5px 0 rgba(38,24,45,.18);
}
.eyebrow{margin:0 0 5px;color:#8b2549;font-size:11px;font-weight:bold;letter-spacing:2px}
.hero-card h2{margin:0;font-family:Georgia,serif;font-size:30px;line-height:1.05;color:#2d1738}
.hero-card p{line-height:1.5}
.button-row{display:flex;flex-wrap:wrap;gap:8px}
.chunky-button{
  padding:9px 12px;border:2px solid #2c1738;background:var(--gold);color:#2c1738;font-weight:bold;box-shadow:3px 3px 0 #2c1738;
}
.chunky-button:active{transform:translate(2px,2px);box-shadow:1px 1px 0 #2c1738}
.hero-art-placeholder{
  min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:15px;border:2px dashed #9c6c4a;background:linear-gradient(135deg,#f3dfbf,#d9bb8d);
  color:#5f382d;text-align:center;font-weight:bold;
}
.hero-art-placeholder small{margin-top:8px;font-weight:normal}
.content-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.content-card{padding:11px;border:2px solid #6a503b;background:#fffdf2;box-shadow:4px 4px 0 rgba(38,24,45,.17)}
.content-card h3{margin:9px 0 4px;color:#2d1738}
.content-card p{margin:0;font-size:12px;line-height:1.4}
.fake-cover{
  min-height:155px;display:flex;flex-direction:column;justify-content:space-between;
  padding:12px;border:3px solid #1a1120;color:#fff;text-align:center;box-shadow:inset 0 0 0 3px rgba(255,255,255,.16);
}
.fake-cover span{font-size:10px;letter-spacing:2px}
.fake-cover strong{font-family:Impact,sans-serif;font-size:23px;letter-spacing:1px}
.cover-purple{background:linear-gradient(135deg,#1e1127,#6a275f)}
.cover-red{background:linear-gradient(135deg,#4e111b,#bc3841)}
.cover-blue{background:linear-gradient(135deg,#12243f,#2875a6)}
.marquee-box{
  margin-top:14px;overflow:hidden;padding:8px;border:2px solid #4d352b;background:#1f1328;color:#f0c766;white-space:nowrap;font-weight:bold;
}
.marquee-box span{display:inline-block;animation:marquee 18s linear infinite}
@keyframes marquee{from{transform:translateX(100%)}to{transform:translateX(-100%)}}
.page-heading{margin:0;color:#2d1738;font-family:Georgia,serif;font-size:31px}
.page-intro{margin-top:5px}
.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.rental-item{padding:12px;border:2px solid #6a503b;background:#fffdf2;box-shadow:4px 4px 0 rgba(38,24,45,.17)}
.rental-thumb{height:120px;display:grid;place-items:center;background:#251530;color:#e7bf58;font-family:Impact,sans-serif;font-size:34px;letter-spacing:2px}
.rental-item h3{margin:10px 0 4px}
.rental-item p{font-size:12px;line-height:1.4}
.rental-item button{padding:7px 10px;border:1px solid #2c1738;background:#e4bb57;font-weight:bold}
.lost-game-page{display:grid;grid-template-columns:230px minmax(0,1fr);gap:18px}
.lost-game-boxart{
  min-height:330px;display:grid;place-items:center;padding:20px;border:5px solid #111;
  background:radial-gradient(circle,#7e244e,#1d1026 70%);color:#f4d569;
  font-family:Impact,sans-serif;font-size:50px;line-height:.9;text-align:center;box-shadow:8px 8px 0 rgba(0,0,0,.25);
}
.lost-game-boxart small{font-size:22px;letter-spacing:4px}
.warning-text{display:inline-block;padding:4px 7px;background:#a4132f;color:#fff;font-weight:bold}
.disabled-buy{padding:10px 16px;border:2px solid #555;background:#aaa;color:#444;font-weight:bold}
.review-box{margin-top:16px;padding:12px;border:2px dashed #745638;background:#fff9df}
.staff-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.staff-card{padding:11px;border:2px solid #6a503b;background:#fffdf2;text-align:center}
.staff-photo{height:180px;display:grid;place-items:center;border:2px dashed #926743;background:#e3c99b;color:#6b4632;font-weight:bold}
.staff-card h3{margin:9px 0 4px}
.staff-card p{margin:0;font-size:12px;line-height:1.4}
.contact-sheet{padding:16px;border:2px solid #6a503b;background:#fffdf2;box-shadow:4px 4px 0 rgba(38,24,45,.17)}
.link-buttons{display:flex;flex-wrap:wrap;gap:8px}
.link-buttons a{padding:8px 11px;background:#2d1738;color:#fff;text-decoration:none;font-weight:bold}

/* Radio */
#bremfm-player{
  position:fixed;
  left:-10000px;
  top:-10000px;
  width:200px;
  height:200px;
  opacity:0;
  pointer-events:none;
  overflow:hidden;
}
#bremfm-player iframe{
  width:200px!important;
  height:200px!important;
}
.radio-app{padding:16px;background:linear-gradient(#31332f,#161815);color:#e8efce}
.radio-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.radio-brand{font-family:Impact,sans-serif;font-size:34px;letter-spacing:2px}
.radio-brand span{color:#a4ce63}
.frequency{padding:4px 9px;border:3px inset #777;background:#a7bf79;color:#1c2615;font-family:"Courier New",monospace;font-size:28px}
.radio-display{padding:14px;border:5px solid #777264;background:#9eb575;color:#202b17;box-shadow:inset 4px 4px 0 rgba(0,0,0,.22)}
.radio-label{margin:0;font-family:"Courier New",monospace;font-size:11px;letter-spacing:2px}
.radio-display h2{margin:4px 0;font-family:"Courier New",monospace}
.radio-display p{margin-bottom:8px}
.equalizer{height:46px;display:flex;align-items:flex-end;gap:5px}
.equalizer i{display:block;flex:1;background:#27351c;animation:eq 1s ease-in-out infinite alternate}
.equalizer i:nth-child(1){height:20%}.equalizer i:nth-child(2){height:75%;animation-delay:.1s}
.equalizer i:nth-child(3){height:45%;animation-delay:.3s}.equalizer i:nth-child(4){height:90%;animation-delay:.2s}
.equalizer i:nth-child(5){height:55%;animation-delay:.5s}.equalizer i:nth-child(6){height:70%;animation-delay:.4s}
.equalizer i:nth-child(7){height:35%;animation-delay:.6s}.equalizer i:nth-child(8){height:80%;animation-delay:.15s}
@keyframes eq{to{height:15%}}
.equalizer.is-paused i{animation-play-state:paused;height:12%}
.radio-status{
  margin-top:10px;
  padding:7px 9px;
  border:1px dashed #b8c89a;
  background:#20251e;
  color:#dce7c5;
  font-family:"Courier New",monospace;
  font-size:11px;
}
.radio-controls{display:flex;align-items:center;gap:7px;padding:11px 0}
.radio-controls button{width:40px;height:34px;border:2px outset #c0c0c0;background:#c0c0c0}
.radio-controls input{flex:1}
.radio-notice{margin-bottom:10px;padding:8px;border:1px dashed #b8c89a;background:#20251e;font-size:11px}
.media-frame{position:relative;height:130px;border:4px solid #777;background:#000}
.media-frame iframe{width:100%;height:100%;border:0}
.iframe-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#88917e;font-size:12px}

/* Forum */
.forum-app{
  display:flex;
  flex-direction:column;
  height:100%;
  min-height:0;
  overflow:hidden;
  color:#111;
  background:
    repeating-linear-gradient(0deg,rgba(0,0,0,.025) 0,rgba(0,0,0,.025) 1px,transparent 1px,transparent 4px),
    #d4d0c8;
}
.forum-banner{
  flex:0 0 auto;
  min-height:112px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:18px 22px;
  color:#fff;
  background:linear-gradient(90deg,#25143f,#54254f);
  border-bottom:5px solid #ddb348;
}
.forum-banner h2{margin:0;font-size:42px;line-height:1;letter-spacing:-2px}
.forum-banner p{margin:7px 0 0;font-size:15px}
.forum-network-logo{display:flex;align-items:center;gap:10px}
.forum-network-logo strong{color:#f1aa28;font-family:Georgia,serif;font-size:58px;font-style:italic;line-height:1}
.forum-network-logo span{font-size:12px;font-weight:bold}
.forum-toolbar{
  flex:0 0 auto;
  display:flex;
  gap:12px;
  padding:13px 16px;
  background:#d4d0c8;
  border-bottom:2px solid #888;
}
.forum-toolbar button{
  min-height:44px;
  padding:7px 17px;
  border:2px outset #d4d0c8;
  background:#d4d0c8;
  color:#111;
  font-size:16px;
}
.forum-toolbar button:active{border-style:inset}
.forum-chat-layout{
  min-width:0;
  min-height:0;
  flex:1;
  display:grid;
  grid-template-columns:minmax(360px,.92fr) minmax(500px,1.08fr);
  gap:14px;
  padding:12px;
  overflow:hidden;
}
.forum-column,.live-chat-column{min-width:0;min-height:0}
.forum-column{display:flex;flex-direction:column;gap:12px;overflow:auto}
.live-chat-column{display:flex;flex-direction:column;overflow:hidden}
.forum-section-title{
  flex:0 0 auto;
  min-height:43px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:8px 12px;
  color:#fff;
  background:linear-gradient(90deg,#302052,#43255f);
  font-size:18px;
  font-weight:bold;
}
.fake-collapse-button{
  width:29px;
  height:27px;
  display:grid;
  place-items:center;
  padding:0;
  border:2px outset #d4d0c8;
  background:#d4d0c8;
  font-size:20px;
  font-weight:bold;
}
.forum-board{flex:0 0 auto;border:1px solid #33254d;background:#fff}
.forum-row{
  display:grid;
  grid-template-columns:minmax(210px,1fr) 70px 115px;
  border-bottom:1px solid #aaa;
}
.forum-row:last-child{border-bottom:0}
.forum-row>span{
  min-width:0;
  padding:10px;
  border-right:1px solid #aaa;
  font-size:12px;
  line-height:1.35;
}
.forum-row>span:last-child{border-right:0}
.forum-row strong{display:block;margin-bottom:4px;font-size:13px}
.forum-row small{display:block;color:#555;font-size:11px}
.forum-head{color:#fff;background:#302052;font-weight:bold}
.forum-head>span{padding-top:8px;padding-bottom:8px}
.online-panel{padding-bottom:10px;border:1px solid #3b3050;background:#efefef}
.online-panel h3{
  margin:0 0 8px;
  padding:9px 12px;
  color:#fff;
  background:linear-gradient(90deg,#302052,#43255f);
  font-size:17px;
}
.online-panel p{margin:6px 12px;font-size:12px;line-height:1.4}
.twitch-chat-frame{
  min-width:0;
  min-height:0;
  flex:1;
  position:relative;
  border-right:1px solid #33254d;
  border-bottom:1px solid #33254d;
  border-left:1px solid #33254d;
  background:#18181b;
  overflow:hidden;
}
.twitch-chat{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  min-width:0;
  min-height:520px;
  border:0;
  background:#18181b;
}
@media (max-width:900px){
  .forum-chat-layout{grid-template-columns:1fr;overflow:auto}
  .live-chat-column{min-height:650px}
  .twitch-chat-frame{min-height:600px}
  .forum-network-logo{display:none}
}

/* Media */
.media-player{padding:10px;background:#272727;color:#eee}
.video-screen{height:260px;border:5px solid #070707;background:#000}
.video-placeholder{height:100%;display:grid;place-items:center;align-content:center;background:radial-gradient(circle,#262626,#000 70%);text-align:center}
.video-placeholder h2{margin:8px 0 2px}
.video-placeholder p{margin:0;color:#aaa}
.play-triangle{font-size:55px;color:#ddd}
.player-controls{display:flex;align-items:center;gap:7px;padding:9px 0}
.player-controls button{width:34px;height:30px;border:2px outset #c0c0c0;background:#c0c0c0}
.progress-track{flex:1;height:12px;padding:2px;border:2px inset #c0c0c0;background:#fff}
.progress-track span{display:block;width:38%;height:100%;background:#173a96}
.timecode{font-size:11px}
.playlist{border:1px solid #555;background:#181818}
.playlist>strong{display:block;padding:6px;background:#333}
.playlist-row{width:100%;display:grid;grid-template-columns:35px 1fr 55px;padding:7px;border:0;border-top:1px solid #333;background:#202020;color:#ddd;text-align:left}
.playlist-row.is-playing{background:#2b3e65}

/* Schedule */
.schedule-app{background:#ece7d5}
.schedule-app>header{padding:15px;background:#2b1738;color:#fff;border-bottom:5px solid #dfb44f}
.schedule-app h2,.schedule-app p{margin:0}
.schedule-app p{margin-top:3px;font-size:12px}
.schedule-list{padding:12px}
.schedule-list>div{display:grid;grid-template-columns:60px 1fr 65px;align-items:center;margin-bottom:9px;border:2px solid #6f563b;background:#fffdf2;box-shadow:3px 3px 0 rgba(0,0,0,.15)}
.schedule-list>div>strong{align-self:stretch;display:grid;place-items:center;background:#8f2d50;color:#fff;font-size:18px}
.schedule-list span{padding:9px}
.schedule-list b,.schedule-list small{display:block}
.schedule-list small{margin-top:3px;color:#555}
.schedule-list time{padding:9px;text-align:center;font-weight:bold}

/* Notepad */
.notepad-page{padding:12px;background:#fff;color:#000;font-family:"Courier New",monospace;font-size:14px;line-height:1.5;white-space:pre-line}

/* Start/taskbar */
.start-menu{
  position:absolute;z-index:9998;left:3px;bottom:var(--taskbar-height);
  width:min(345px,calc(100vw - 10px));display:grid;grid-template-columns:42px minmax(0,1fr);
  padding:3px;background:#c0c0c0;border-top:2px solid #fff;border-left:2px solid #fff;
  border-right:2px solid #111;border-bottom:2px solid #111;box-shadow:4px 4px 0 rgba(0,0,0,.35);
}
.start-menu.is-hidden{display:none}
.start-menu-banner{
  display:flex;flex-direction:column-reverse;align-items:center;padding:10px 5px;
  color:#fff;background:linear-gradient(#4a1526,#6e2b3f);writing-mode:vertical-rl;transform:rotate(180deg);font-size:21px;
}
.start-menu-items{padding:4px}
.start-menu-items>button{
  width:100%;display:flex;align-items:center;gap:10px;padding:7px;border:0;background:transparent;text-align:left;
}
.start-menu-items>button:hover{color:#fff;background:#000080}
.start-menu-items img,.shutdown-icon{flex:0 0 38px;width:38px;height:38px;object-fit:contain}
.shutdown-icon{display:grid;place-items:center;color:#a00000;font-size:28px}
.start-menu-items strong,.start-menu-items small{display:block}
.start-menu-items small{margin-top:2px;font-size:11px}
.start-menu-divider{height:2px;margin:4px;border-top:1px solid #808080;border-bottom:1px solid #fff}

#taskbar{
  position:absolute;z-index:9999;left:0;right:0;bottom:0;height:var(--taskbar-height);
  display:flex;align-items:center;gap:5px;padding:4px;background:#c0c0c0;border-top:2px solid #fff;
}
#start-button{
  flex:0 0 auto;height:32px;display:flex;align-items:center;gap:5px;padding:3px 8px 3px 5px;
  border:2px outset #fff;background:#c0c0c0;
}
#start-button.is-active,#start-button:active{border-style:inset}
.start-logo{width:22px;height:22px;display:grid;place-items:center;background:#172d83;color:#fff;font-family:Georgia,serif;font-weight:bold}
#taskbar-apps{min-width:0;flex:1;display:flex;gap:4px;overflow:hidden}
.taskbar-app-button{
  min-width:80px;max-width:190px;height:32px;display:flex;align-items:center;gap:6px;padding:3px 8px;
  overflow:hidden;border:2px outset #fff;background:#c0c0c0;
}
.taskbar-app-button.is-active{border-style:inset;background:repeating-linear-gradient(45deg,#c0c0c0,#c0c0c0 2px,#b3b3b3 2px,#b3b3b3 4px)}
.taskbar-app-button img{width:18px;height:18px;object-fit:contain}
.taskbar-app-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:bold}
.system-tray{height:32px;display:flex;align-items:center;gap:8px;padding:3px 8px;border:2px inset #fff;font-size:12px}

.scanline-overlay,.screen-glare{position:absolute;z-index:10000;inset:0;pointer-events:none}
.scanline-overlay{opacity:.075;background:repeating-linear-gradient(to bottom,transparent 0,transparent 2px,rgba(0,0,0,.5) 3px,transparent 4px)}
.screen-glare{opacity:.12;background:radial-gradient(ellipse at center,transparent 45%,rgba(0,0,0,.5) 115%)}

.shutdown-screen{
  width:100vw;height:100vh;display:grid;place-items:center;background:#000;color:#e7e7e7;
  font-family:"Courier New",monospace;text-align:center;
}
.shutdown-screen p{font-size:clamp(18px,4vw,34px)}
.shutdown-screen button{padding:10px 16px;border:1px solid #aaa;background:#222;color:#fff}

@media (max-width:760px){
  .desktop-icons{right:8px;flex-direction:row;flex-wrap:wrap}
  .desktop-shortcut{width:76px}
  .desktop-window{left:5px!important;top:5px!important;width:calc(100vw - 10px)!important;height:calc(100vh - var(--taskbar-height) - 10px)!important}
  .window-titlebar{cursor:default}
  .site-shell{grid-template-columns:1fr}
  .site-sidebar{border-right:0;border-bottom:4px solid var(--gold)}
  .hero-card,.lost-game-page{grid-template-columns:1fr}
  .content-grid,.staff-grid{grid-template-columns:1fr}
  .catalog-grid{grid-template-columns:1fr}
  .header-sticker{display:none}
  .site-logo-mark{width:58px;height:58px;font-size:40px}
  .site-header h1{font-size:40px}
  .system-tray span{display:none}
  .taskbar-app-button{min-width:42px;padding:3px 6px}
  .taskbar-app-button span{display:none}
}


/* =========================================================
   EMPLOYEE OPERATIONS TERMINAL
========================================================= */
.employee-terminal{background:#d4d0c8;color:#111;font-family:"MS Sans Serif",Tahoma,sans-serif}
.employee-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px;color:#e8f0df;background:linear-gradient(90deg,#172c23,#31543f);border-bottom:5px solid #a5b96e}
.employee-kicker{margin:0 0 3px;font:700 10px "Courier New",monospace;letter-spacing:2px}
.employee-header h1{margin:0;font:700 30px "Courier New",monospace;text-transform:uppercase}
.employee-header p{margin:5px 0 0}
.employee-id-card{min-width:150px;padding:9px;border:2px solid #cad6b6;background:#dfe8cf;color:#17261d;box-shadow:3px 3px 0 rgba(0,0,0,.35);transform:rotate(1deg)}
.employee-id-card span,.employee-id-card small{display:block;font:700 10px "Courier New",monospace}.employee-id-card strong{display:block;margin:4px 0;font:700 22px "Courier New",monospace}
.employee-tabs{display:flex;align-items:center;gap:3px;padding:7px 8px 0;background:#283b31;border-bottom:4px solid #a5b96e}
.employee-tab,.employee-public-link{padding:8px 12px;border:0;border-radius:4px 4px 0 0;background:#607367;color:#fff;font-weight:bold;text-decoration:none}
.employee-tab:hover,.employee-tab.is-selected,.employee-public-link:hover{background:#a5b96e;color:#142019}
.employee-public-link{margin-left:auto}
.employee-panel{display:none;padding:15px}.employee-panel.is-active{display:block}
.clock-terminal{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(280px,1.1fr);gap:15px}
.clock-readout{display:flex;flex-direction:column;justify-content:center;min-height:180px;padding:18px;border:5px inset #687264;background:#14251b;color:#b8e38d;text-align:center;font-family:"Courier New",monospace;box-shadow:inset 0 0 20px #000}
.clock-readout span{font-size:11px;letter-spacing:2px}.clock-readout strong{font-size:46px;line-height:1.1;text-shadow:0 0 8px #6f9}.clock-readout small{font-size:13px}
.clock-actions{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:18px;border:2px outset #eee;background:#c0c0c0}
.shift-status{width:100%;padding:9px;border:2px inset #eee;background:#fff;font-weight:bold}.shift-status.is-clocked-in{background:#dff3d4;color:#194d22}
.terminal-button{min-width:170px;padding:12px 18px;border:3px outset #eee;background:#c0c0c0;font-weight:bold;font-size:17px}.terminal-button:active{border-style:inset}
.employee-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:15px}.terminal-box{padding:13px;border:2px inset #eee;background:#efefeb}.terminal-box h2{margin:0 0 10px;padding-bottom:5px;border-bottom:1px solid #777;font-size:14px}.terminal-box label{display:block;margin:9px 0}.warning-box{background:#fff4c7}.warning-box p{margin:8px 0}
.records-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:10px;padding:9px;border:2px outset #eee;background:#c0c0c0}.records-toolbar input{min-width:240px;padding:4px;border:2px inset #eee}
.records-table-wrap{overflow:auto;border:2px inset #eee;background:#fff}.records-table{width:100%;border-collapse:collapse;font:12px "Courier New",monospace}.records-table th{position:sticky;top:0;padding:8px;background:#233d30;color:#fff;text-align:left}.records-table td{padding:8px;border-right:1px solid #aaa;border-bottom:1px solid #aaa}.records-table tbody tr:nth-child(even){background:#eef1ea}.record-overdue{background:#7b1730!important;color:#fff;font-weight:bold}.record-disputed{background:#e1b54e!important;color:#111;font-weight:bold}
.member-layout{display:grid;grid-template-columns:minmax(420px,1.5fr) minmax(230px,.5fr);gap:15px}.alert-monitor{border:2px outset #eee;background:#c0c0c0}.alert-monitor>header,.alert-monitor>footer{padding:7px 9px;background:#253e32;color:#fff;font-weight:bold}.alert-monitor>footer{background:#c0c0c0;color:#111;border-top:2px groove #eee;font:11px "Courier New",monospace}.alert-screen{position:relative;height:330px;margin:9px;border:4px inset #777;background:#07120b;overflow:hidden}.alert-screen iframe{width:100%;height:100%;border:0}.alert-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px;color:#82b98a;text-align:center;font-family:"Courier New",monospace;pointer-events:none}.membership-key p{margin:10px 0}
@media(max-width:760px){.clock-terminal,.employee-grid,.member-layout{grid-template-columns:1fr}.employee-public-link{display:none}.records-toolbar{align-items:flex-start;flex-direction:column}.records-toolbar input{min-width:0;width:100%}}


/* Standalone public-site overrides */
html,body.public-site-body{width:100%;height:auto;min-height:100%;overflow:auto;background:#251530}
.public-site-page{width:min(1180px,100%);min-height:100vh;margin:0 auto;box-shadow:0 0 35px rgba(0,0,0,.55)}
.public-site-body .site-shell{min-height:calc(100vh - 176px)}
@media(max-width:760px){.public-site-body .site-header{align-items:flex-start}.public-site-body .header-sticker{display:none}.public-site-body .site-tabs{flex-wrap:wrap}.public-site-body .site-shell{grid-template-columns:1fr}.public-site-body .site-sidebar{border-right:0;border-bottom:4px solid var(--gold)}.public-site-body .hero-card,.public-site-body .lost-game-page{grid-template-columns:1fr}.public-site-body .content-grid,.public-site-body .staff-grid{grid-template-columns:1fr}.public-site-body .catalog-grid{grid-template-columns:1fr}}
