/* ==================================================
   GAME  (icy classic style — unchanged engine)
================================================== */
#stage{
  position:relative;width:100%;height:560px;border-radius:18px;overflow:hidden;
  background:linear-gradient(180deg,var(--roomWall) 0%,var(--roomWall) 26%,var(--floorIce) 26.2%,var(--floorIce2) 100%);
  cursor:default;user-select:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);
  font-family:'Nunito',sans-serif;
}
@media(max-width:760px){#stage{height:480px;}}
#stage .wallfx{position:absolute;inset:0 0 74% 0;pointer-events:none;
  background:repeating-linear-gradient(90deg,transparent 0 180px,rgba(160,215,230,.5) 180px 186px),
  linear-gradient(180deg,rgba(255,255,255,.35),transparent 60%);}
#stage .frost{position:absolute;pointer-events:none;height:3px;background:rgba(255,255,255,.55);border-radius:99px;transform:rotate(-18deg);}
.win{position:absolute;top:3%;width:17%;height:16%;border-radius:10px;overflow:hidden;
  background:linear-gradient(180deg,#9adcf2 55%,#eaf9ff 55%);border:5px solid #a7dcea;box-shadow:0 6px 14px rgba(30,90,110,.15);}
.win::after{content:"";position:absolute;left:0;right:0;bottom:0;height:52%;
  background:radial-gradient(60px 42px at 18% 100%,#fff 0 60%,transparent 61%),
  radial-gradient(80px 52px at 55% 100%,#f0fbff 0 60%,transparent 61%),
  radial-gradient(60px 40px at 88% 100%,#fff 0 60%,transparent 61%);}
#clockWall{position:absolute;top:3.5%;left:2%;width:56px;height:56px;border-radius:50%;
  background:#fff;border:4px solid #8fb8c8;box-shadow:0 5px 12px rgba(30,90,110,.2);z-index:3;
  display:flex;align-items:center;justify-content:center;}
#clockWall .hands{position:relative;width:100%;height:100%;}
#clockWall .h,#clockWall .m{position:absolute;left:50%;bottom:50%;transform-origin:bottom center;background:#234;border-radius:99px;}
#clockWall .h{width:4px;height:12px;margin-left:-2px;}
#clockWall .m{width:3px;height:17px;margin-left:-1.5px;}
#clockWall .dot{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;background:#234;border-radius:50%;}
#goalBig{position:absolute;top:4.5%;left:50%;transform:translateX(-50%);
  font-family:'Baloo 2';font-weight:800;font-size:34px;color:#1fae4a;
  text-shadow:0 2px 0 #fff,0 4px 8px rgba(0,80,30,.2);z-index:3;}
#goalBig small{display:block;font-size:11px;color:#3d7a52;text-align:center;letter-spacing:.12em;margin-top:-4px;}
#carpet{position:absolute;left:0;top:44%;width:190px;height:120px;z-index:1;
  background:linear-gradient(160deg,#e8442e,#c22c1a);
  border:6px solid #f5a623;border-left:none;border-radius:0 14px 14px 0;
  box-shadow:0 8px 20px rgba(120,20,0,.25),inset 0 0 0 3px #a81f10;transform:skewY(-6deg);}
#carpet::after{content:"WELCOME";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  color:#ffd9a0;font-family:'Baloo 2';font-weight:800;letter-spacing:.3em;font-size:13px;opacity:.85;}
#register{position:absolute;right:10px;bottom:10px;z-index:12;width:150px;filter:drop-shadow(0 8px 16px rgba(0,0,0,.25));}
#register .rtop{background:linear-gradient(180deg,#4c5a66,#37434e);border-radius:10px 10px 0 0;padding:7px 10px;display:flex;align-items:center;gap:8px;}
#register .rtop .ic{font-size:16px;}
#register .rscreen{flex:1;background:#0c1b12;border-radius:6px;padding:3px 8px;text-align:right;
  font-family:'Baloo 2';font-weight:800;font-size:17px;color:#3aff7c;letter-spacing:.05em;text-shadow:0 0 8px rgba(58,255,124,.6);}
#register .rbot{background:linear-gradient(180deg,#e9eef2,#c9d4dc);border-radius:0 0 10px 10px;padding:5px 10px;display:flex;align-items:center;justify-content:space-between;}
#register .rbot .lbl{font-size:9px;font-weight:900;color:#5b6b78;letter-spacing:.1em;}
#register .rbot .v{font-family:'Baloo 2';font-weight:800;font-size:13px;color:#243542;}
#btnPause{position:absolute;right:12px;top:12px;z-index:12;font-family:'Baloo 2';font-weight:800;font-size:16px;letter-spacing:.08em;
  color:#fff;background:linear-gradient(180deg,#ff5d5d,#d92626);border:none;border-radius:12px;padding:8px 20px;cursor:pointer;
  box-shadow:0 4px 0 #a31414,0 8px 18px rgba(217,38,38,.35);text-shadow:0 2px 0 rgba(0,0,0,.25);}
#btnPause:active{transform:translateY(3px);box-shadow:0 1px 0 #a31414;}
#dayPill{position:absolute;left:12px;bottom:12px;z-index:12;display:flex;gap:8px;}
.pill{background:rgba(10,30,50,.78);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.25);
  color:#fff;border-radius:99px;padding:6px 14px;font-weight:800;font-size:12.5px;display:flex;gap:6px;align-items:center;}
.pill b{color:var(--sun);}
.table{position:absolute;width:132px;height:110px;cursor:pointer;z-index:4;}
.table .disc{position:absolute;left:6px;top:22px;width:120px;height:46px;border-radius:50%;
  background:radial-gradient(ellipse at 40% 30%,#ffffff 0 55%,var(--iceShade) 100%);
  border:2px solid #bcdff0;box-shadow:0 4px 10px rgba(40,100,130,.18),inset 0 -6px 0 rgba(150,200,225,.35);transition:.2s;}
.table .drips{position:absolute;left:12px;top:58px;width:108px;height:14px;
  background:linear-gradient(180deg,var(--icicle),#cfe9f6);
  clip-path:polygon(0 0,100% 0,96% 55%,90% 100%,86% 45%,78% 90%,72% 40%,64% 100%,58% 50%,50% 85%,44% 40%,36% 95%,30% 45%,22% 100%,16% 50%,8% 90%,4% 45%,0 70%);
  filter:drop-shadow(0 2px 2px rgba(60,120,150,.15));}
.table .stem{position:absolute;left:50%;top:66px;transform:translateX(-50%);width:16px;height:26px;
  background:linear-gradient(90deg,#dff2fb,#bfe2f2);border-radius:4px;}
.table .base{position:absolute;left:50%;top:88px;transform:translateX(-50%);width:56px;height:14px;border-radius:50%;
  background:radial-gradient(ellipse at 45% 30%,#fff,#cfe8f4);box-shadow:0 3px 6px rgba(40,100,130,.18);}
.table .plate{position:absolute;left:50%;top:30px;transform:translateX(-50%);font-size:24px;display:none;z-index:2;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.2));}
.table.hasfood .plate{display:block;animation:pop .25s;}
.table .mess{position:absolute;left:38%;top:28px;transform:translateX(-50%);font-size:19px;display:none;z-index:2;}
.table .coin{position:absolute;right:20px;top:26px;font-size:18px;display:none;z-index:2;animation:bounce 1s infinite;}
.table.dirty .disc{background:radial-gradient(ellipse at 40% 30%,#f4ecd9 0 55%,#dccfa9 100%);border-color:#c9b585;}
.table.dirty .mess{display:block;}.table.dirty .coin{display:block;}
.table.hl .disc{border-color:var(--teal);box-shadow:0 0 0 5px rgba(62,230,176,.4),0 4px 12px rgba(62,230,176,.3);animation:pulse .9s infinite;}
@keyframes pulse{50%{box-shadow:0 0 0 12px rgba(62,230,176,.12),0 4px 12px rgba(62,230,176,.25);}}
@keyframes bounce{50%{transform:translateY(-5px);}}
@keyframes pop{from{transform:translateX(-50%) scale(.4);opacity:0;}to{transform:translateX(-50%) scale(1);opacity:1;}}
.stool{position:absolute;width:44px;height:26px;z-index:1;pointer-events:none;}
.stool i{position:absolute;left:0;top:0;width:44px;height:18px;border-radius:50%;
  background:radial-gradient(ellipse at 40% 30%,#fff,#d8edf7);border:2px solid #c3e2f1;box-shadow:0 3px 6px rgba(40,100,130,.15);}
.peng{position:absolute;width:54px;height:64px;z-index:6;cursor:pointer;}
.peng .shadow{position:absolute;bottom:-3px;left:50%;transform:translateX(-50%);width:44px;height:11px;
  background:rgba(20,60,90,.15);border-radius:50%;filter:blur(1px);}
.peng .body{position:absolute;inset:8px 5px 4px 5px;background:#252e3a;border-radius:52% 52% 46% 46%;
  box-shadow:inset -4px -5px 0 rgba(0,0,0,.22);}
.peng .sw{position:absolute;left:7px;right:7px;top:26px;bottom:5px;border-radius:40% 40% 44% 44%;
  box-shadow:inset -3px -4px 0 rgba(0,0,0,.18),inset 0 3px 0 rgba(255,255,255,.25);}
.peng .belly{position:absolute;left:16px;top:16px;width:22px;height:14px;background:#fff;border-radius:50% 50% 40% 40%;}
.peng .eye{position:absolute;top:13px;width:7px;height:9px;background:#fff;border-radius:50%;z-index:3;}
.peng .eye::after{content:"";position:absolute;left:2px;top:2px;width:4px;height:4px;background:#101820;border-radius:50%;}
.peng .eye.l{left:15px;}.peng .eye.r{right:15px;}
.peng .beak{position:absolute;top:21px;left:50%;transform:translateX(-50%);width:0;height:0;z-index:3;
  border-left:6px solid transparent;border-right:6px solid transparent;border-top:9px solid #ffa33d;}
.peng .feet{position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);width:30px;height:7px;background:#ffa33d;border-radius:8px;}
.peng .fl{position:absolute;top:28px;width:11px;height:22px;background:#252e3a;border-radius:9px;transition:transform .25s;z-index:2;}
.peng .fl.l{left:-2px;transform:rotate(14deg);}.peng .fl.r{right:-2px;transform:rotate(-14deg);}
.peng.raise .fl.r{transform:rotate(-165deg) translateY(6px);}
.peng .hat{position:absolute;top:-2px;left:50%;transform:translateX(-50%);width:34px;height:16px;
  border-radius:16px 16px 4px 4px;z-index:4;box-shadow:inset 0 -4px 0 rgba(0,0,0,.15);}
.peng .hat::after{content:"";position:absolute;top:-7px;left:50%;transform:translateX(-50%);
  width:11px;height:11px;border-radius:50%;background:inherit;box-shadow:inset -2px -2px 0 rgba(0,0,0,.15);}
.peng .hand{position:absolute;top:-18px;right:-6px;font-size:18px;display:none;animation:wave .5s infinite alternate;z-index:5;}
.peng.raise .hand{display:block;}
@keyframes wave{from{transform:rotate(-14deg);}to{transform:rotate(20deg);}}
.peng.walk{animation:waddle .3s infinite alternate;}
@keyframes waddle{from{transform:rotate(-4deg);}to{transform:rotate(4deg);}}
.peng.sel{filter:drop-shadow(0 0 10px var(--teal)) drop-shadow(0 0 3px var(--teal));}
.peng .bub{position:absolute;bottom:66px;left:50%;transform:translateX(-50%);background:#fff;color:#222;
  border-radius:14px;padding:4px 10px;font-size:18px;white-space:nowrap;display:none;
  box-shadow:0 4px 10px rgba(30,80,110,.25);z-index:8;border:2px solid #dfeef7;}
.peng .bub::after{content:"";position:absolute;left:50%;bottom:-7px;transform:translateX(-50%);
  border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #fff;}
.peng.talk .bub{display:block;animation:bpop .2s;}
@keyframes bpop{from{transform:translateX(-50%) scale(.4);}to{transform:translateX(-50%) scale(1);}}
.peng .pat{position:absolute;top:-11px;left:6px;width:42px;height:6px;background:rgba(0,0,0,.35);
  border-radius:99px;overflow:hidden;z-index:5;}
.peng .patf{height:100%;width:100%;background:var(--teal);border-radius:99px;}
#penny{cursor:default;z-index:9;}
#penny .body,#penny .fl{background:#252e3a;}
#penny .bandana{position:absolute;top:-1px;left:50%;transform:translateX(-50%);width:36px;height:15px;z-index:4;
  background:linear-gradient(180deg,#ff9fc2,#f472a8);border-radius:16px 16px 6px 6px;box-shadow:inset 0 -3px 0 rgba(0,0,0,.12);}
#penny .bandana::after{content:"";position:absolute;right:-7px;top:6px;width:12px;height:9px;
  background:#f472a8;border-radius:3px;transform:rotate(24deg);}
#penny .apron{position:absolute;left:12px;right:12px;top:28px;bottom:4px;z-index:2;
  background:linear-gradient(180deg,#ffc2d8,#ff9dbe);border-radius:10px 10px 40% 40%;box-shadow:inset -3px -3px 0 rgba(0,0,0,.1);}
#penny .apron::after{content:"";position:absolute;top:-7px;left:50%;transform:translateX(-50%);
  width:14px;height:9px;background:#ff9dbe;border-radius:4px;}
#penny .tray{position:absolute;top:16px;right:-22px;font-size:24px;display:none;filter:drop-shadow(0 3px 2px rgba(0,0,0,.25));z-index:5;}
#penny.carry .tray{display:block;}
#penny .pad{position:absolute;top:18px;left:-18px;font-size:18px;display:none;z-index:5;}
#penny.note .pad{display:block;}
.float{position:absolute;font-family:'Baloo 2';font-weight:800;font-size:21px;color:#1fae4a;
  text-shadow:0 2px 0 #fff;animation:rise 1.1s forwards;pointer-events:none;z-index:30;}
.float.bad{color:#e03131;}
@keyframes rise{to{transform:translateY(-52px);opacity:0;}}
#toast{position:absolute;top:14px;left:50%;transform:translateX(-50%);
  background:rgba(10,30,50,.85);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px);
  color:#fff;padding:7px 20px;border-radius:99px;font-size:13px;font-weight:800;z-index:40;opacity:0;transition:.3s;pointer-events:none;}
#toast.show{opacity:1;}
#hint{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);max-width:420px;text-align:center;
  background:rgba(10,30,50,.82);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px);
  color:#fff;padding:7px 18px;border-radius:14px;font-size:12.5px;font-weight:700;z-index:11;pointer-events:none;line-height:1.4;}
#hint b{color:var(--sun);}
.ov{position:absolute;inset:0;background:rgba(10,8,30,.88);z-index:60;display:flex;align-items:center;
  justify-content:center;text-align:center;backdrop-filter:blur(6px);color:#fff;}
.card{max-width:600px;width:94%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);
  border-radius:26px;padding:24px 24px 28px;max-height:96%;overflow:auto;}
.card h1{font-size:30px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;
  justify-content:center;display:flex;}
.card p{font-size:14px;line-height:1.6;opacity:.92;margin:.6em 0;color:#dfe2ff;}
.btn{font-family:'Baloo 2';font-weight:800;font-size:19px;color:#fff;
  background:var(--grad);background-size:200% 100%;border:none;border-radius:16px;
  padding:13px 40px;cursor:pointer;box-shadow:0 10px 28px rgba(160,107,255,.45);margin-top:12px;
  animation:gradShift 5s linear infinite;transition:.15s;}
.btn:hover{transform:translateY(-2px);}
.btn:active{transform:translateY(2px);}
.btn.alt{background:linear-gradient(90deg,var(--teal),#4cc9f0);box-shadow:0 10px 28px rgba(62,230,176,.35);}
.steps{text-align:left;font-size:13.5px;max-width:470px;margin:8px auto 0;line-height:1.55;padding-left:22px;color:#dfe2ff;}
.steps li{margin:6px 0;}
.big{font-size:46px;}
.shopgrid{display:flex;gap:12px;justify-content:center;margin:14px 0 4px;flex-wrap:wrap;}
.upg{width:150px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.15);border-radius:18px;
  padding:13px 10px;cursor:pointer;transition:.15s;}
.upg:hover{border-color:var(--pink);transform:translateY(-3px);}
.upg.max{opacity:.35;cursor:default;transform:none;}
.upg .ic{font-size:30px;}.upg .nm{font-family:'Baloo 2';font-size:15px;margin-top:2px;}
.upg .ds{font-size:11px;opacity:.65;line-height:1.4;margin:4px 0;}
.upg .lvdots{margin:2px 0 5px;letter-spacing:3px;font-size:11px;color:var(--teal);}
.upg .pr{font-family:'Baloo 2';color:var(--sun);font-size:16px;}
.stars{font-size:26px;letter-spacing:4px;margin:4px 0;}
.statrow{display:flex;gap:10px;justify-content:center;margin:8px 0 2px;flex-wrap:wrap;}
.stat{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:8px 18px;min-width:104px;}
.stat .sv{font-family:'Baloo 2';font-size:21px;}.stat .sl{font-size:10px;letter-spacing:.12em;opacity:.55;text-transform:uppercase;}
#kitchenBar{position:absolute;left:12px;top:27%;width:170px;bottom:110px;z-index:5;
  background:rgba(16,13,44,.86);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.18);border-radius:16px;}
#kitchenBar .khead{display:flex;align-items:center;gap:8px;padding:9px 12px 7px;border-bottom:1px solid rgba(255,255,255,.12);color:#fff;}
#kitchenBar .khead .chef{font-size:22px;}
#kitchenBar .khead .kt{font-family:'Baloo 2';font-size:13px;}
#kitchenBar .khead .ks{font-size:9px;opacity:.55;letter-spacing:.14em;}
#dishRow{position:absolute;top:48px;left:9px;right:9px;bottom:9px;display:flex;flex-direction:column;gap:7px;overflow:hidden;}
#dishEmpty{font-size:10.5px;opacity:.45;text-align:center;margin-top:12px;line-height:1.5;color:#fff;}
.dish{border-radius:12px;background:rgba(255,255,255,.96);color:#12283c;
  display:flex;align-items:center;gap:7px;padding:6px 9px;cursor:pointer;position:relative;
  border:2px solid transparent;box-shadow:0 3px 8px rgba(0,0,0,.25);animation:dpop .25s;}
@keyframes dpop{from{transform:scale(.4);opacity:0;}to{transform:scale(1);opacity:1;}}
.dish.readyd{border-color:var(--teal);box-shadow:0 0 0 3px rgba(62,230,176,.25);}
.dish.readyd:hover{transform:translateY(-2px);}
.dish .fd{font-size:21px;}
.dish .meta{display:flex;flex-direction:column;line-height:1.1;}
.dish .tn{font-family:'Baloo 2';font-size:12.5px;}
.dish .st{font-size:8.5px;letter-spacing:.08em;opacity:.55;text-transform:uppercase;}
.dish.cooking{opacity:.85;cursor:default;background:rgba(255,255,255,.75);}
.dish .cookbar{position:absolute;left:7px;right:7px;bottom:3px;height:4px;background:#dbe6ee;border-radius:99px;overflow:hidden;}
.dish .cookfill{height:100%;width:0%;background:linear-gradient(90deg,var(--sun),#ff6d55);border-radius:99px;}
.dish .bell{margin-left:auto;font-size:13px;display:none;animation:ring .7s infinite;}
.dish.readyd .bell{display:block;}
@keyframes ring{0%,100%{transform:rotate(-12deg);}50%{transform:rotate(12deg);}}
.hidden{display:none!important;}


/* ============ TIME BAR (remaining) ============ */
#timeBar{position:absolute;top:0;left:0;right:0;height:7px;background:rgba(20,60,90,.2);z-index:7;}
#timeFill{display:block;height:100%;width:100%;border-radius:0 99px 99px 0;
  background:linear-gradient(90deg,#3ee6b0,#ffd166 70%,#ff5d7d);transition:width .3s linear;}
/* earned / goal display */
#goalBig .sep{color:#8fb0bd;margin:0 6px;font-size:26px;}
#goalBig #gEarn{color:#1fae4a;}
#goalBig #gGoal{color:#5b7683;font-size:26px;}


/* Project-specific game frame refinements */
.game-only-hero{padding:28px 0 36px;}
#gameframe{position:relative;border-radius:28px;padding:2px;background:var(--grad);box-shadow:0 30px 80px rgba(0,0,0,.55),0 0 60px rgba(160,107,255,.16);}
#gameframe>.inner{background:#100d2c;border-radius:26px;padding:12px;}
#stage{height:620px;}
#dayPill{flex-wrap:wrap;max-width:72%;}
#vLeft{font-variant-numeric:tabular-nums;}
@media(max-width:900px){#stage{height:560px}.game-only-hero{padding-top:18px}}
@media(max-width:650px){
  #gameframe>.inner{padding:6px} #stage{height:520px;border-radius:15px}
  #clockWall{width:44px;height:44px} #goalBig{font-size:25px;top:5%}
  #goalBig #gGoal{font-size:21px}.table{transform:scale(.76);transform-origin:center center}
  .peng{transform:scale(.86);transform-origin:center bottom}
  #kitchenBar{width:118px;bottom:104px;top:25%} #kitchenBar .khead{padding:7px}
  .dish{padding:5px 6px}.dish .fd{font-size:17px}.dish .tn{font-size:10px}
  #register{width:116px;right:6px;bottom:6px}#register .rtop{padding:5px 6px}
  #register .rscreen{font-size:14px}.rbot{font-size:10px}
  #carpet{width:120px;height:92px;top:47%}#carpet::after{font-size:9px;letter-spacing:.18em}
  #btnPause{font-size:12px;padding:7px 12px;right:7px;top:9px}
  #dayPill{left:6px;bottom:7px;gap:4px;max-width:62%}.pill{font-size:10px;padding:5px 8px}
  #hint{display:none}.card{padding:18px 14px 20px}.card h1{font-size:25px}.steps{font-size:12px}
}
@media(max-width:390px){#stage{height:500px}.table{transform:scale(.67)}.peng{transform:scale(.78)}#kitchenBar{width:104px}.pill{font-size:9px;padding:4px 7px}}
