:root{
  --sky:#1589dd;--sky2:#84d5ff;--ink:#1b1b1b;--cream:#fff4d4;--gold:#ffbe19;--gold2:#d78000;
  --blue:#1374cf;--green:#24b84d;--red:#e93326;--purple:#8f43d9;--panel:#202224;--line:#d89b22;
  --safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-height:100%;background:#0d4f8e;color:var(--ink);font-family:Arial Black,Arial,Helvetica,sans-serif;overscroll-behavior:none}
body{min-height:100dvh;background:
  radial-gradient(circle at 20% 0%,rgba(255,255,255,.88) 0 4%,transparent 17%),
  radial-gradient(circle at 78% 15%,rgba(255,255,255,.65) 0 5%,transparent 20%),
  linear-gradient(#0c87df,#9ce4ff 64%,#fff 100%);}
button,a{font:inherit}
button{border:0;cursor:pointer}
button:focus-visible,a:focus-visible{outline:4px solid #fff;outline-offset:3px}
.app-shell{width:100%;min-height:100dvh;position:relative;overflow:hidden}
.screen{display:none;min-height:100dvh;width:100%}.screen.is-active{display:flex}

/* START */
.start-screen{position:relative;align-items:flex-end;justify-content:center;background:#198cd9;padding:0}
.start-art{position:absolute;inset:0;background-image:linear-gradient(to bottom,rgba(0,0,0,0) 45%,rgba(0,41,86,.04) 66%,rgba(0,20,50,.64)),url('../img/hero-clean.webp');background-repeat:no-repeat;background-size:100% 100%, auto 69%;background-position:center, center top;image-rendering:auto}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.start-overlay{position:relative;z-index:2;width:min(100%,620px);padding:clamp(20px,4vh,50px) 18px calc(20px + var(--safe-bottom));text-align:center;color:white;text-shadow:0 3px 0 rgba(0,0,0,.52)}
.brand-kicker{font-size:clamp(10px,2.8vw,14px);letter-spacing:.16em;margin-bottom:8px;background:rgba(0,35,82,.62);display:inline-block;padding:6px 12px;border-radius:20px;border:1px solid rgba(255,255,255,.55)}
.tagline{font:900 clamp(16px,4.4vw,24px)/1.06 Arial,Helvetica,sans-serif;margin:12px 0 20px}
.start-actions{display:grid;gap:10px;max-width:460px;margin:auto}.row-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.btn{min-height:50px;border-radius:15px;padding:12px 18px;text-decoration:none;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 2px 0 rgba(255,255,255,.55),0 5px 0 rgba(0,0,0,.26);transition:transform .12s,filter .12s;border:2px solid rgba(0,0,0,.32);text-align:center}
.btn:active{transform:translateY(4px);box-shadow:inset 0 2px 0 rgba(255,255,255,.42),0 1px 0 rgba(0,0,0,.25)}
.btn-play{background:linear-gradient(#ffd83e,#f5a707);color:#241506;font-size:clamp(19px,5vw,28px);text-shadow:0 1px #fff;border-color:#8c5600}
.btn-secondary{background:linear-gradient(#2587df,#0d5db7);color:white;border-color:#083d7e;font-family:Arial,Helvetica,sans-serif;font-weight:900}.btn-share{background:linear-gradient(#3c95ed,#1766bf);color:#fff;border-color:#064c96}
.satire-note{font:700 10px/1.25 Arial,Helvetica,sans-serif;opacity:.86;margin:14px auto 0;max-width:460px}

/* GAME */
.game-screen{flex-direction:column;min-height:100dvh;padding:calc(8px + var(--safe-top)) 10px calc(10px + var(--safe-bottom));background:linear-gradient(rgba(22,139,220,.14),rgba(242,249,255,.78)),url('../img/game-art.webp') center top/cover no-repeat;max-width:780px;margin:0 auto;box-shadow:0 0 70px rgba(0,0,0,.3)}
.game-header{display:flex;justify-content:center;align-items:flex-start;position:relative;padding:0 44px 7px}.day-plaque{background:linear-gradient(#fff0c3,#d9b070);border:3px solid #6c3c0e;border-radius:9px 9px 18px 18px;box-shadow:0 3px 0 #2c1a09,0 5px 10px rgba(0,0,0,.25);padding:5px 25px 7px;text-align:center;min-width:min(74vw,370px);transform:rotate(-.6deg)}
.day-plaque span{display:block;font-size:clamp(12px,3vw,15px);line-height:1}.day-plaque strong{display:block;font-family:Georgia,serif;font-size:clamp(18px,4vw,24px);margin-top:2px}
.icon-btn{width:40px;height:40px;border-radius:50%;background:linear-gradient(#44a3ff,#0c65be);color:white;border:2px solid #06498a;box-shadow:inset 0 2px 0 rgba(255,255,255,.65),0 3px 0 #063766;display:grid;place-items:center;font-size:18px}.game-header .icon-btn{position:absolute;right:0;top:2px}
.meters{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.meter-card{background:linear-gradient(#2c2c2d,#151515);color:#fff;border:3px solid #b46f19;border-radius:16px;padding:8px;box-shadow:inset 0 0 0 1px #f7c251,0 4px 8px rgba(0,0,0,.24)}
.meter-head{display:flex;justify-content:space-between;gap:6px;font:900 clamp(10px,2.8vw,14px)/1 Arial,Helvetica,sans-serif}.meter-head strong{font-size:1.15em}.meter-track{height:18px;background:#050505;border-radius:10px;margin:7px 0 4px;border:2px solid #3f454a;position:relative;overflow:hidden}.meter-fill{height:100%;width:0;transition:width .45s ease}.patience-fill{background:linear-gradient(90deg,#24c34b 0 45%,#ffe72d 65%,#ff3c23 100%)}.ira-fill{background:linear-gradient(90deg,#ef752b,#ee1717)}.threshold{position:absolute;left:75%;top:-4px;height:24px;width:3px;background:#fff;box-shadow:0 0 4px #fff}.meter-card small{display:block;font:700 clamp(8px,2.3vw,11px)/1.1 Arial,Helvetica,sans-serif;opacity:.86;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.scene-card{border:4px solid #8d5816;border-radius:18px;background:#f4d69d;box-shadow:inset 0 0 0 3px #ffd56f,0 7px 14px rgba(0,0,0,.27);overflow:hidden;display:grid;grid-template-columns:minmax(155px,.86fr) 1.15fr;min-height:230px}
.scene-visual{min-height:230px;background:url('../img/scene-chaos.webp') center/cover no-repeat;border-right:3px solid #875015;transition:filter .2s,transform .35s}.scene-copy{padding:14px 14px 12px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#fff8dd,#f1d18d)}.scene-badge{display:inline-block;align-self:flex-start;background:#7d4214;color:#fff6cf;border-radius:20px;padding:4px 9px;font:900 10px/1 Arial,Helvetica,sans-serif;letter-spacing:.08em;margin-bottom:8px}.scene-copy p{font:900 clamp(16px,3.6vw,23px)/1.08 Arial,Helvetica,sans-serif;margin:0 0 10px}.scene-copy strong{font:900 clamp(12px,2.8vw,16px)/1.15 Arial,Helvetica,sans-serif;color:#6f190f}
.choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:9px 0}.choice-btn{min-height:76px;border-radius:14px;padding:10px;display:flex;gap:9px;align-items:center;text-align:left;color:#111;border:3px solid rgba(0,0,0,.42);box-shadow:inset 0 2px 0 rgba(255,255,255,.62),0 4px 0 rgba(0,0,0,.25);transition:transform .12s,filter .12s}.choice-btn:active{transform:translateY(3px)}.choice-btn:nth-child(4n+1){background:linear-gradient(#ffe457,#f5b410)}.choice-btn:nth-child(4n+2){background:linear-gradient(#63c5ff,#2188dc)}.choice-btn:nth-child(4n+3){background:linear-gradient(#d585ff,#9941d9)}.choice-btn:nth-child(4n+4){background:linear-gradient(#7ee470,#35b341)}.choice-num{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#fff7d8;border:2px solid #714a0e;font-size:18px}.choice-copy{min-width:0}.choice-copy strong{display:block;font:900 clamp(12px,3vw,16px)/1.05 Arial,Helvetica,sans-serif}.choice-copy small{display:block;font:700 clamp(9px,2.3vw,11px)/1.05 Arial,Helvetica,sans-serif;margin-top:4px;opacity:.78}
.inventory-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;background:rgba(7,36,71,.92);border:2px solid #6da4d8;border-radius:12px;padding:7px;color:white}.inventory-bar>div{min-width:0;flex:1}.inventory-label{display:block;font:900 9px/1 Arial,Helvetica,sans-serif;margin-bottom:5px}.inventory-items{display:flex;gap:5px;min-height:38px}.inv-item{width:40px;height:40px;border-radius:8px;background:#17395e;border:2px solid #6e96bd;color:white;display:grid;place-items:center;font-size:20px;position:relative}.inv-item.active{border-color:#ffe02e;box-shadow:0 0 0 2px #ff9a00,0 0 14px #ffe02e}.inv-count{position:absolute;right:-4px;top:-6px;min-width:18px;height:18px;border-radius:10px;background:#e83822;color:#fff;font:900 10px/18px Arial;text-align:center;border:1px solid #6c160d}.empty-inventory{font:700 11px/38px Arial;opacity:.72}.shop-btn,.mission-btn{flex:0 0 auto;min-height:40px;border-radius:10px;background:linear-gradient(#6faee9,#2f6fae);border:2px solid #143d67;color:white;padding:6px 10px;font-size:12px;box-shadow:inset 0 2px 0 rgba(255,255,255,.5)}
.progress-footer{display:grid;grid-template-columns:70px 1fr 48px;gap:7px;align-items:end;margin-top:8px}.currency,.mission-btn{height:48px;border-radius:12px}.currency{background:linear-gradient(#44320e,#1d1709);border:2px solid #e3a72a;color:white;display:flex;align-items:center;justify-content:center;gap:5px;font-size:15px}.heaven-progress{text-align:center}.heaven-progress>span{display:inline-block;background:#5a310f;color:white;border:2px solid #d89b22;border-bottom:0;border-radius:8px 8px 0 0;padding:3px 11px;font:900 10px/1 Arial}.heaven-track{height:32px;border-radius:12px;background:#151515;border:3px solid #c07a16;box-shadow:inset 0 0 0 2px #f9c956;position:relative;overflow:hidden}.heaven-fill{height:100%;background:linear-gradient(90deg,#237ada,#4bb4ff);width:0;transition:width .5s}.heaven-track strong{position:absolute;inset:0;display:grid;place-items:center;color:white;text-shadow:0 2px #123;font-size:17px}.mission-btn{width:48px;padding:0;font-size:20px}

/* MODALS */
.modal{display:none;position:fixed;inset:0;z-index:20;align-items:center;justify-content:center;padding:clamp(6px,2vh,18px);overflow:hidden}.modal.is-open{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(3,20,40,.78);backdrop-filter:blur(5px)}.modal-card{position:relative;width:min(100%,520px);max-height:calc(100dvh - clamp(12px,4vh,36px));overflow-y:auto;overscroll-behavior:contain;background:linear-gradient(#fff7de,#e7c17c);border:4px solid #7c4b0d;border-radius:20px;box-shadow:inset 0 0 0 3px #ffc84f,0 20px 60px rgba(0,0,0,.55)}.outcome-card{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;text-align:center}.outcome-art{height:clamp(130px,29dvh,250px);background:url('../img/success.webp') center/cover no-repeat;border-bottom:4px solid #7c4b0d}.modal-body{padding:12px 16px 14px;min-height:0;overflow-y:auto;overscroll-behavior:contain}.result-emoji{font-size:38px;margin-top:-34px;margin-left:auto;margin-right:auto;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#ffe143;border:4px solid #7d4b00;position:relative}.modal-body h2{font-size:clamp(25px,6vw,38px);line-height:.98;margin:4px 0 6px;color:#ba2a17;text-shadow:0 2px #fff}.modal-body p{font-family:Arial,Helvetica,sans-serif;font-weight:900;line-height:1.22;margin:0 0 9px}.delta-row{display:flex;justify-content:center;flex-wrap:wrap;gap:5px;margin:8px 0 10px}.delta{background:#182d43;color:#fff;border:2px solid #577d9e;border-radius:20px;padding:5px 9px;font:900 11px/1 Arial}.delta.good{background:#157a39;border-color:#46c56b}.delta.bad{background:#9c2419;border-color:#ed725e}.modal-body .btn{width:100%;position:sticky;bottom:0;z-index:2;margin-top:8px}.modal-titlebar{display:flex;justify-content:space-between;align-items:flex-start;padding:15px 15px 7px}.modal-titlebar small{font:900 9px/1 Arial;letter-spacing:.1em}.modal-titlebar h2{margin:2px 0 0;font-size:clamp(23px,6vw,34px)}.close-btn{position:sticky;top:8px}.shop-intro,.rules,.ranking-content{padding:0 15px;font-family:Arial,Helvetica,sans-serif;font-weight:700}.shop-grid{padding:9px 12px 14px;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.shop-item{background:#eef7ff;border:3px solid #245985;border-radius:13px;padding:9px;text-align:center;box-shadow:inset 0 2px #fff}.shop-item .shop-emoji{font-size:30px}.shop-item h3{font:900 13px/1.05 Arial;margin:3px 0}.shop-item p{font:700 10px/1.2 Arial;margin:5px 0 8px;min-height:24px}.shop-item button{width:100%;border-radius:9px;background:linear-gradient(#35ca55,#1f9d3d);border:2px solid #0a6823;color:white;padding:7px;font-size:11px}.shop-item button:disabled{filter:grayscale(1);opacity:.5}.shop-wallet{position:sticky;bottom:0;background:#17395e;color:white;padding:10px 15px;text-align:center;font-family:Arial;font-weight:900;border-top:3px solid #0b2745}.info-card{padding-bottom:15px}.rules p{line-height:1.3;margin:9px 0}.info-card>.btn{margin:10px 15px 0;width:calc(100% - 30px)}.ranking-row{display:grid;grid-template-columns:42px 1fr auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px dashed #956c2f}.ranking-row strong{font-family:Arial}.ranking-empty{padding:20px 0;text-align:center}

/* END */
.end-screen{position:relative;align-items:center;justify-content:center;background:#1d7bc2;padding:calc(10px + var(--safe-top)) 10px calc(10px + var(--safe-bottom));overflow-y:auto}.end-art{position:absolute;inset:0;background:url('../img/paradise.webp') center/cover no-repeat}.end-card{position:relative;z-index:2;width:min(100%,560px);max-height:calc(100dvh - 20px - var(--safe-top) - var(--safe-bottom));overflow-y:auto;margin:auto;background:linear-gradient(#fff9df,#ebc675);border:4px solid #76460d;border-radius:22px;box-shadow:inset 0 0 0 3px #ffd25d,0 12px 35px rgba(0,0,0,.4);padding:15px;text-align:center}.end-kicker{font:900 11px/1 Arial;letter-spacing:.12em;color:#80480b}.end-card h2{font-size:clamp(27px,7vw,44px);line-height:.95;margin:6px 0 8px}.end-card p{font:800 14px/1.25 Arial;margin:0 auto 13px;max-width:440px}.end-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0 14px}.end-stats div{background:#263847;border:2px solid #516b80;border-radius:12px;color:#fff;padding:8px 4px}.end-stats span{display:block;font:700 9px/1 Arial;opacity:.8}.end-stats strong{display:block;font-size:20px;margin-top:3px}.end-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.end-actions .back-link{grid-column:1/-1;min-height:44px}

.flash{pointer-events:none;position:fixed;inset:0;z-index:100;opacity:0;background:#ff1a00}.flash.hit{animation:flash .45s ease}@keyframes flash{0%{opacity:0}20%{opacity:.7}100%{opacity:0}}
.shake{animation:shake .45s linear}@keyframes shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-5px)}80%{transform:translateX(5px)}}

@media (min-width:780px){body:before,body:after{content:"";position:fixed;top:0;bottom:0;width:calc((100vw - 780px)/2);background-size:cover;background-position:center;filter:saturate(.85) brightness(.72);z-index:-1}body:before{left:0;background-image:url('../img/hero.webp')}body:after{right:0;background-image:url('../img/fury.webp')}.game-screen{padding-left:18px;padding-right:18px}.scene-card{min-height:290px}.scene-visual{min-height:290px}}
@media (max-width:520px){.start-art{background-size:100% 100%, auto 62%;background-position:center, center top}.game-screen{padding-left:6px;padding-right:6px}.meters{gap:5px}.meter-card{padding:6px;border-radius:12px;border-width:2px}.meter-track{height:15px;margin-top:5px}.scene-card{grid-template-columns:44% 56%;min-height:190px;border-width:3px}.scene-visual{min-height:190px}.scene-copy{padding:10px}.scene-copy p{font-size:clamp(14px,4vw,19px)}.choices{gap:6px;margin:7px 0}.choice-btn{min-height:66px;padding:8px 7px;border-width:2px}.choice-num{flex-basis:29px;width:29px;height:29px;font-size:15px}.inventory-bar{padding:5px}.inv-item{width:36px;height:36px;font-size:18px}.shop-btn{font-size:10px;padding:5px 7px}.progress-footer{grid-template-columns:58px 1fr 43px;gap:5px}.currency,.mission-btn{height:43px}.mission-btn{width:43px}.heaven-track{height:29px}.start-art{background-size:100% 100%, auto 62%;background-position:center, center top}.end-card{padding:12px}.end-actions{grid-template-columns:1fr}.end-actions .back-link{grid-column:auto}}
@media (max-width:360px){.meter-head span{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scene-card{grid-template-columns:40% 60%}.choice-copy small{display:none}.choice-btn{min-height:58px}.inventory-label{display:none}.progress-footer{margin-top:5px}}
@media (max-height:720px) and (orientation:landscape){.game-screen{min-height:auto}.scene-card{min-height:160px}.scene-visual{min-height:160px}.choice-btn{min-height:58px}.inventory-bar{margin-top:0}}


@media (max-height:760px) and (min-width:521px){.outcome-art{height:clamp(120px,24dvh,175px)}.modal-body{padding:9px 13px 11px}.result-emoji{width:56px;height:56px;font-size:34px;margin-top:-30px}.modal-body h2{font-size:30px}.modal-body p{font-size:13px}.delta-row{margin:6px 0 8px}.delta{font-size:10px;padding:4px 7px}.modal-body .btn{min-height:44px;padding:9px 14px}.end-card{padding:11px}.end-card h2{font-size:34px}.end-card p{font-size:13px}.end-stats{margin:8px 0 10px}.end-actions .btn{min-height:44px;padding:9px 12px}}

@media (max-height:600px){.game-header{padding-bottom:4px}.day-plaque{padding-top:3px;padding-bottom:4px}.meters{margin-bottom:5px}.meter-card small{display:none}.scene-card{min-height:145px}.scene-visual{min-height:145px}.scene-copy{padding:8px}.scene-copy p{font-size:14px;margin-bottom:5px}.choices{margin:5px 0}.choice-btn{min-height:50px;padding:5px 7px}.inventory-bar{padding:4px}.inv-item{width:32px;height:32px}.progress-footer{margin-top:4px}.currency,.mission-btn{height:38px}.heaven-track{height:26px}}
