@font-face{font-family:GameHeading;src:url(../assets/fonts/heading_fredoka.ttf) format("truetype");font-display:swap}@font-face{font-family:GameBody;src:url(../assets/fonts/body_nunito.ttf) format("truetype");font-display:swap}:root{--font-heading: "GameHeading", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "GameBody", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}:root{--accent: #38bdf8;--accent-2: #818cf8;--panel-bg: rgba(17, 20, 28, .86);--panel-solid: #11141c;--panel-border: rgba(120, 160, 200, .32);--panel-radius: 14px;--panel-shadow: 0 18px 48px rgba(0, 0, 0, .55), inset 0 1px 0 rgba(255, 255, 255, .06);--text: #f5f7fa;--text-muted: rgba(245, 247, 250, .68);--btn-bg: #38bdf8;--btn-bg-hover: #5fcbfa;--btn-text: #0b0f17;--overlay-scrim: rgba(6, 10, 18, .55)}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#000;color:#f8fafc;font-family:var(--font-body),Inter,ui-sans-serif,system-ui,sans-serif}#game-root{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(100vw,calc(100vh * 16 / 9));height:min(100vh,56.25vw);aspect-ratio:16 / 9;overflow:hidden;background:#2a2f3a}#game-canvas{width:100%;height:100%;display:block;touch-action:none}#ui-root,#hud{position:absolute;inset:0;pointer-events:none}.hud-top{position:absolute;top:0;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-between;padding:10px 14px;gap:12px;font-family:var(--font-heading),sans-serif}.meter{width:clamp(150px,26%,300px)}.meter-cap{font-size:clamp(11px,1.4vw,15px);font-weight:700;letter-spacing:.5px;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.6);margin-bottom:3px}.meter-gaming{text-align:right}.meter-track{position:relative;height:clamp(16px,2.4vw,22px);background:#0a0e16b8;border:2px solid rgba(255,255,255,.35);border-radius:12px;overflow:hidden;box-shadow:0 3px 10px #0006}.meter-fill{position:absolute;inset:0;width:100%;border-radius:10px 0 0 10px;transition:width .15s linear,background .3s linear}.meter-num{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(11px,1.5vw,14px);font-weight:800;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.9)}.daybox{text-align:center;background:#0a0e16b8;border:2px solid rgba(255,255,255,.32);border-radius:14px;padding:5px 18px;box-shadow:0 3px 10px #0006}.day{font-size:clamp(15px,2.2vw,24px);font-weight:800;color:#ffd76b;letter-spacing:1px}.timer{font-size:clamp(18px,2.8vw,30px);font-weight:800;color:#fff;line-height:1}.chores{font-size:clamp(10px,1.3vw,13px);color:#fffc;font-family:var(--font-body)}.prompt{position:absolute;left:50%;bottom:8%;transform:translate(-50%);background:#0a0e16d1;border:2px solid var(--accent, #7dd3fc);color:#fff;padding:8px 18px;border-radius:12px;font-family:var(--font-heading),sans-serif;font-weight:700;font-size:clamp(13px,1.8vw,18px);text-align:center;min-width:180px;box-shadow:0 4px 16px #00000080}.pbar{margin-top:6px;height:8px;background:#fff3;border-radius:5px;overflow:hidden}.pbar-fill{height:100%;background:#7dd3fc;border-radius:5px;transition:width .05s linear}.demand{position:absolute;left:50%;top:88px;transform:translate(-50%);background:#b4283ce6;border:2px solid #ffd0d8;color:#fff;padding:6px 16px;border-radius:10px;font-family:var(--font-heading),sans-serif;font-weight:700;font-size:clamp(12px,1.7vw,17px);box-shadow:0 4px 16px #00000080;animation:dpulse .8s ease-in-out infinite}@keyframes dpulse{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.05)}}.banner{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);font-family:var(--font-heading),sans-serif;font-weight:800;font-size:clamp(38px,8vw,90px);color:#ffd76b;text-shadow:0 4px 20px rgba(0,0,0,.8);letter-spacing:2px}.banner-anim{animation:bannerIn 1.8s ease-out forwards}@keyframes bannerIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.6)}20%{opacity:1;transform:translate(-50%,-50%) scale(1)}80%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1.1)}}.hidden{display:none!important}#menu-layer{position:absolute;inset:0;display:block;pointer-events:none}.overlay{position:absolute;inset:0;display:grid;place-items:center;background:var(--overlay-scrim, rgba(6,10,18,.7));pointer-events:auto}.overlay-card{background:#121620f5;border:3px solid rgba(255,255,255,.2);border-radius:20px;padding:28px 40px;text-align:center;max-width:80%;box-shadow:0 20px 60px #0009;font-family:var(--font-body),sans-serif}.overlay-gamename{font-family:var(--font-heading),sans-serif;font-size:clamp(13px,1.8vw,18px);font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--accent, #7dd3fc);margin-bottom:6px}.overlay-card h1{font-family:var(--font-heading),sans-serif;font-size:clamp(28px,5vw,52px);margin:0 0 12px}.overlay-card p{font-size:clamp(14px,2vw,20px);color:#ffffffe6;margin:0 0 16px}.scores{margin:12px auto 20px;max-width:320px}.score-row{display:flex;justify-content:space-between;padding:4px 12px;font-size:clamp(12px,1.6vw,16px);border-bottom:1px solid rgba(255,255,255,.1)}.score-loading{color:#fff9}.overlay-card button{font-family:var(--font-heading),sans-serif;font-size:clamp(16px,2.4vw,24px);font-weight:800;padding:12px 40px;border:none;border-radius:14px;background:var(--btn-bg, #38bdf8);color:var(--btn-text, #0b0f17);cursor:pointer;box-shadow:0 6px #00000040;transition:transform .08s,background .15s}.overlay-card button:hover{background:var(--btn-bg-hover, #5fcbfa)}.overlay-card button:active{transform:translateY(3px);box-shadow:0 3px #00000040}#menu-layer.tint-wife:after,#menu-layer.tint-gaming:before{content:"";position:absolute;inset:0;pointer-events:none}#menu-layer.tint-wife:after{box-shadow:inset 0 0 120px 30px #ff50788c;animation:tintpulse 1s ease-in-out infinite}#menu-layer.tint-gaming:before{box-shadow:inset 0 0 120px 30px #5078c880}@keyframes tintpulse{0%,to{opacity:.6}50%{opacity:1}}.touch-controls{position:absolute;inset:0;pointer-events:none}.tc-pad{position:absolute;left:16px;bottom:16px;display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none}.tc-mid{display:flex;gap:44px}.tc-pad button,.tc-e{pointer-events:auto;width:54px;height:54px;border-radius:12px;border:2px solid rgba(255,255,255,.4);background:#141a2699;color:#fff;font-size:22px;font-weight:800}.tc-e{position:absolute;right:24px;bottom:40px;width:74px;height:74px;border-radius:50%;background:#7dd3fc99}button,[role=button]{pointer-events:auto}
