/* VCORE Arcade identity layer for Mini City Builder.
   The game's own colourful city canvas, save system and simulation remain unchanged. */
:root {
  --vcore-base: #0d061b;
  --vcore-panel: #180b2b;
  --vcore-card: #130a24;
  --vcore-line: rgba(184, 98, 241, .24);
  --vcore-text: #f7f3ff;
  --vcore-sub: #c1afcf;
  --vcore-purple: #a735ff;
  --vcore-pink: #ff2abf;
  --vcore-accent: #e24cfa;
}
html { background:var(--vcore-base); }
body.vcore-arcade-game {
  color:var(--vcore-text);
  background:radial-gradient(ellipse at 85% 2%, rgba(125,35,189,.20),transparent 42%),
             radial-gradient(ellipse at 2% 46%,rgba(184,33,186,.09),transparent 47%),
             var(--vcore-base);
  min-height:100vh;
}
.vcore-arcade-game .app-shell { padding-top:0;max-width:1512px; }
.vcore-game-switcher {
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  border-bottom:1px solid rgba(189,104,238,.15);
  padding:8px 0;margin-bottom:12px;min-height:41px;
}
.vcore-switcher-label {color:#9783a9;letter-spacing:.16em;font-size:9px;font-weight:800;white-space:nowrap;}
.vcore-game-switcher nav {display:flex;align-items:center;gap:7px;overflow-x:auto;scrollbar-width:none;min-width:0;}
.vcore-game-switcher nav::-webkit-scrollbar {display:none;}
.vcore-game-switcher a {
  display:inline-flex;align-items:center;justify-content:center;padding:7px 12px;
  color:#bdabcb;text-decoration:none;font-size:11px;font-weight:700;white-space:nowrap;
  border-radius:9px;border:1px solid transparent;min-height:34px;
}
.vcore-game-switcher a:hover,.vcore-game-switcher a:focus-visible {color:#fff;background:#22113c;border-color:var(--vcore-line);}
.vcore-game-switcher a.current {background:linear-gradient(135deg,#2c1646,#1b0d2f);color:#fff;border-color:rgba(188,86,244,.43);}
.vcore-arcade-game .arcade-return-bar {
  padding:8px 0 14px;margin:0 0 23px;min-height:66px;
  border-bottom:1px solid rgba(190,103,242,.17);gap:15px;
}
.vcore-arcade-game .arcade-return-bar a.vcore-arcade-identity {display:flex;align-items:center;gap:12px;color:#fff;padding:0;min-width:0;}
.vcore-arcade-game .arcade-return-bar a.vcore-arcade-identity img {display:block;object-fit:contain;width:49px;height:49px;flex:none;filter:drop-shadow(0 0 14px rgba(166,48,224,.25));}
.vcore-identity-text{display:flex;flex-direction:column;gap:5px;min-width:0;}
.vcore-identity-text strong{font-size:16px;line-height:1.1;color:#f9f5ff;font-weight:800;letter-spacing:.10em;white-space:nowrap;}
.vcore-identity-text small{color:#d56cec;font-size:8px;font-weight:800;letter-spacing:.18em;white-space:nowrap;}
.vcore-arcade-game .arcade-return-bar .vcore-game-edition{color:#b19bc3;font-size:9px;letter-spacing:.12em;font-weight:700;line-height:1.5;}
.vcore-game-edition span{color:#f146d5;padding:0 5px;}
.vcore-arcade-game .masthead{margin-bottom:18px;}
.vcore-arcade-game .brand-mark{background:linear-gradient(140deg,#271138,#140a27);border-color:rgba(196,94,239,.36);}
.vcore-arcade-game .brand .eyebrow{color:#d478e6;font-weight:800;}
.vcore-arcade-game .masthead h1{font-family:inherit;font-size:26px;font-weight:800;letter-spacing:-.06em;color:#f8f3ff;}
.vcore-arcade-game .beta{color:#ffb2f2;background:#231134;border-color:rgba(205,99,249,.36);border-radius:8px;}
.vcore-arcade-game .save-status{color:#ad9bbe;}
.vcore-arcade-game .save-status:before{background:#78ff9a;box-shadow:0 0 8px #78ff9a88;}
.vcore-arcade-game .header-actions>.icon-button {background:#1e1031;border:1px solid rgba(190,94,233,.3);color:#eedcff;}
.vcore-arcade-game .header-actions>.icon-button:hover {background:#301445;border-color:#cd80f3;}
.vcore-arcade-game .stats {
  background:linear-gradient(145deg,rgba(30,13,48,.96),rgba(14,7,27,.97));
  border:1px solid var(--vcore-line);box-shadow:0 18px 36px rgba(0,0,0,.16);padding:18px 5px;
}
.vcore-arcade-game .stat{border-right-color:rgba(194,106,246,.14);color:#f7f3ff;}
.vcore-arcade-game .stat-icon{background:#301644;color:#eb9ffc;}
.vcore-arcade-game .stat-icon.coin{background:#352039;color:#f0c27e;}
.vcore-arcade-game .stat-icon.happy{background:#332037;color:#e2c688;}
.vcore-arcade-game .stat-label{color:#ba90cc;}
.vcore-arcade-game .stat strong{color:#f9f5ff;}
.vcore-arcade-game .stat-unit,.vcore-arcade-game .stat-sub{color:#bcaac9;}
.vcore-arcade-game .money-stat .stat-sub{color:#a3eab2;}
.vcore-arcade-game .economy-stat strong{color:#9be7c0;}
.vcore-arcade-game .happiness-track{background:#3d2847;}
.vcore-arcade-game .happiness-track span{background:linear-gradient(90deg,#a735ff,#ff2abf);}
.vcore-arcade-game .city-actions>button{
  background:#170c2a;border:1px solid rgba(180,94,230,.25);
  box-shadow:0 8px 20px rgba(0,0,0,.12);color:#efe5f6;
}
.vcore-arcade-game .city-actions>button:hover{background:#251138;border-color:rgba(212,101,247,.56);}
.vcore-arcade-game .city-actions>button.reward-ready{background:#221734;border-color:#8c57b7;}
.vcore-arcade-game .city-actions .action-symbol{color:#d46af4;}
.vcore-arcade-game .city-actions small{color:#b7a0c7;}
.vcore-arcade-game .city-actions .action-badge{background:#352049;color:#f5b6ff;}
.vcore-arcade-game .city-view{border-color:rgba(179,108,219,.45);box-shadow:0 16px 38px #0003;}
.vcore-arcade-game .city-journal{
  padding:21px 18px 22px;border:1px solid rgba(187,98,237,.23);
  border-radius:19px;background:linear-gradient(150deg,#211033,#120922);
  align-self:stretch;
}
.vcore-arcade-game .city-journal .eyebrow{color:#df87ef;}
.vcore-arcade-game .city-journal>h2{color:#f8f2ff;}
.vcore-arcade-game .journal-intro{color:#c3b1cc;}
.vcore-arcade-game .goal-card{background:#28153c;border-color:rgba(184,94,228,.29);}
.vcore-arcade-game .goal-card h3{color:#f7eafe;}
.vcore-arcade-game .goal-card p,.vcore-arcade-game .goal-bottom{color:#beaace;}
.vcore-arcade-game .goal-top .eyebrow{color:#d69ce6;}
.vcore-arcade-game .goal-bottom strong{color:#aef3bf;}
.vcore-arcade-game .goal-track{background:#4b3159;}
.vcore-arcade-game .goal-track i{background:linear-gradient(90deg,#883cff,#f02bc6);}
.vcore-arcade-game .ledger h3{color:#faf1ff;}
.vcore-arcade-game .ledger>div{color:#bbaaC8;}
.vcore-arcade-game .ledger strong{color:#f0dff8;}
.vcore-arcade-game .journal-footer{color:#b79dc4;}
.vcore-arcade-game .mayor-tip{border-top-color:#412652;}
.vcore-arcade-game .mayor-tip p{color:#cbb7d3;}
.vcore-arcade-game .build-panel{
  padding:23px;margin-top:22px;background:linear-gradient(160deg,#1b0e30,#11091e);
  border:1px solid var(--vcore-line);border-radius:19px;
}
.vcore-arcade-game .build-panel-heading h2{font-family:inherit;font-weight:750;color:#f8f1ff;}
.vcore-arcade-game .build-panel-heading div>span,.vcore-arcade-game .build-badge{color:#bc9acb;}
.vcore-arcade-game .build-categories button{background:#1e1031;border-color:rgba(184,95,240,.28);color:#d7bfde;}
.vcore-arcade-game .build-categories button[aria-pressed=true]{background:#552188;border-color:#c05cf9;color:#fff;}
.vcore-arcade-game .build-card{background:#261536;border-color:#482857;color:#f5eafb;}
.vcore-arcade-game .build-card:hover{border-color:#b25cf0;background:#351b4b;}
.vcore-arcade-game .build-card[aria-pressed=true]{border-color:#b65ff2;background:#421b61;box-shadow:0 0 0 1px #8f49d2;}
.vcore-arcade-game .build-card small,.vcore-arcade-game .build-card[aria-pressed=true] small{color:#c4add0;}
.vcore-arcade-game .build-card .selected-mark{background:#ff2abf;}
.vcore-arcade-game .build-card.locked{background:#1d1429;}
.vcore-arcade-game .build-card.locked span{color:#b69cc5;}
.vcore-arcade-game .build-card.locked small{color:#9686a8;}
.vcore-arcade-game .build-card.demolish,.vcore-arcade-game .build-card.fountain,
.vcore-arcade-game .build-card.flowerbed,.vcore-arcade-game .build-card.statue,
.vcore-arcade-game .build-card.upgrade{background:#271736;}
.vcore-arcade-game .build-card.demolish[aria-pressed=true]{background:#532642;}
.vcore-arcade-game .selection-description{color:#bda8ca;}
.vcore-arcade-game .autosave-note{color:#b9e8c1;}
.vcore-arcade-game .app-footer{color:#b2a0c3;border-top-color:#372046;}
/* Game dialogs intentionally retain their warm, easy-to-read city-builder interface. */
.vcore-arcade-game dialog{border:1px solid rgba(174,72,213,.45);box-shadow:0 25px 80px #0009;}
.vcore-arcade-game button:focus-visible,.vcore-arcade-game a:focus-visible,
.vcore-arcade-game select:focus-visible{outline:2px solid #f955d8;outline-offset:3px;}
/* Seasonal compatibility uses the exact shared Arcade theme state and preview keys. */
html[data-vcore-theme='halloween'] {--vcore-accent:#ff5598;--vcore-line:rgba(240,80,139,.31);}
html[data-vcore-theme='christmas'] {--vcore-accent:#fa6fb7;--vcore-line:rgba(229,100,148,.26);}
html[data-vcore-theme='halloween'] body.vcore-arcade-game {
  background:radial-gradient(ellipse at top right,rgba(155,14,88,.20),transparent 50%),#0a0614;
}
html[data-vcore-theme='christmas'] body.vcore-arcade-game {
  background:radial-gradient(ellipse at top right,rgba(129,27,93,.20),transparent 48%),#0c0718;
}
html[data-vcore-theme='halloween'] .vcore-game-switcher{border-bottom-color:#7e174e;}
html[data-vcore-theme='christmas'] .vcore-game-switcher{border-bottom-color:#883653;}
html[data-vcore-theme='halloween'] .vcore-arcade-game .masthead h1,
html[data-vcore-theme='christmas'] .vcore-arcade-game .masthead h1 {color:#fff3fc;}
html[data-vcore-theme='halloween'] .vcore-arcade-game .city-actions .action-symbol{color:#ff6b9e;}
html[data-vcore-theme='christmas'] .vcore-arcade-game .city-actions .action-symbol{color:#f78ab4;}
html[data-vcore-theme='halloween'] .vcore-arcade-game .build-categories button[aria-pressed=true]{background:#77204a;border-color:#e64c89;}
html[data-vcore-theme='christmas'] .vcore-arcade-game .build-categories button[aria-pressed=true]{background:#8a2754;border-color:#d96596;}
/* Decorations are confined to the top bar, never obscuring city interaction. */
.vcore-arcade-game #vcoreSeasonalOverlay {
  position:fixed;inset:0 0 auto;height:125px;overflow:hidden;
  z-index:12;pointer-events:none;opacity:.8;
}
.vcore-arcade-game .vcore-halloween-web{
  position:absolute;top:0;left:0;width:115px;height:90px;
  background:url('/assets/seasonal/halloween/web-corner-v2.svg') no-repeat left top/contain;opacity:.5;
}
.vcore-arcade-game .vcore-halloween-web-right {left:auto;right:0;transform:scaleX(-1);}
.vcore-arcade-game .vcore-seasonal-mist,.vcore-arcade-game .vcore-halloween-grain{display:none;}
.vcore-arcade-game .vcore-seasonal-lights {position:absolute;top:0;left:4%;right:4%;height:20px;display:flex;justify-content:space-between;}
.vcore-arcade-game .vcore-seasonal-lights i {width:5px;height:10px;display:block;border-radius:0 0 50% 50%;background:#f1c3f5;box-shadow:0 0 7px #f4a1f5;}
.vcore-arcade-game .vcore-seasonal-lights i:nth-child(3n){background:#9fffd8;box-shadow:0 0 6px #9fffd8;}
.vcore-arcade-game .vcore-seasonal-lights i:nth-child(4n){background:#ff9fa3;box-shadow:0 0 6px #ff9fa3;}
.vcore-arcade-game .vcore-seasonal-snow {position:absolute;inset:0;pointer-events:none;}
.vcore-arcade-game .vcore-seasonal-snow i {position:absolute;top:-20px;left:var(--x);width:var(--size);height:var(--size);border-radius:50%;background:#fff9ff;opacity:.65;animation:vcoreGameFlake var(--duration) linear infinite;animation-delay:var(--delay);}
@keyframes vcoreGameFlake{to{transform:translate(var(--drift),155px);opacity:0;}}
@media(max-width:950px){
 .vcore-game-switcher .vcore-switcher-label{display:none}
 .vcore-game-switcher nav{width:100%;justify-content:space-between;gap:2px}
 .vcore-game-switcher a{padding:7px 9px;font-size:10px}
 .vcore-arcade-game .city-journal{padding:17px;border-radius:16px}
 .vcore-arcade-game .build-panel{padding:17px}
}
@media(max-width:600px){
 .vcore-arcade-game .arcade-return-bar{margin-bottom:18px;padding:6px 0 13px}
 .vcore-arcade-game .arcade-return-bar a.vcore-arcade-identity img{width:40px;height:40px}
 .vcore-identity-text strong{font-size:13px;letter-spacing:.06em}
 .vcore-identity-text small{font-size:6.5px;letter-spacing:.08em}
 .vcore-arcade-game .arcade-return-bar .vcore-game-edition{font-size:8px;letter-spacing:0;max-width:100px}
 .vcore-arcade-game .masthead h1{font-size:23px}
 .vcore-arcade-game .stats{padding:8px 0}
 .vcore-arcade-game .stat{border-right-color:rgba(194,106,246,.16)}
 .vcore-arcade-game .city-actions>button{padding:12px 9px}
 .vcore-arcade-game .city-journal{margin-top:14px}
 .vcore-arcade-game .build-panel{padding:15px 12px}
 .vcore-arcade-game .build-card{flex:0 0 105px}
 .vcore-arcade-game #vcoreSeasonalOverlay{height:88px}
}
@media(max-width:355px){
 .vcore-game-switcher a{padding:6px 6px;font-size:9px}
 .vcore-arcade-game .arcade-return-bar .vcore-game-edition{font-size:7px;max-width:86px}
 .vcore-identity-text small{max-width:133px;white-space:normal}
 .vcore-arcade-game .arcade-return-bar{gap:5px}
}
@media(prefers-reduced-motion:reduce){
 .vcore-arcade-game .vcore-seasonal-snow i{animation:none!important;opacity:.35}
}
/* Preserve contrast inside the intentionally light playfield and game dialogs. */
.vcore-arcade-game .city-view {color:#253c36;}
.vcore-arcade-game .city-view .time-controls button {color:#587553;}
.vcore-arcade-game .city-view .tutorial-card {color:#253c36;}
.vcore-arcade-game .city-view .tile-info {color:#253c36;}
.vcore-arcade-game dialog {color:#253c36;background:#fdfef9;}

/* Photo mode should remain completely immersive. */
.vcore-arcade-game.photo-mode .vcore-game-switcher {display:none!important;}
