@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=IBM+Plex+Mono:wght@400;600&display=swap');:root{--gold:#edbe59;--cream:#f9ebc0;--mint:#83d7b2;--red:#ee6254;--dark:#071817}*{box-sizing:border-box}body{margin:0;background:#061313;color:var(--cream);font-family:'IBM Plex Mono',monospace;overflow:hidden}.scan{position:fixed;inset:0;z-index:50;pointer-events:none;background:repeating-linear-gradient(0deg,#fff1 0 1px,transparent 1px 4px)}.screen{display:none;min-height:100vh;position:relative;text-align:center;padding:5vh 4vw}.screen.active{display:flex;align-items:center;justify-content:center;flex-direction:column}.title-bg{position:absolute;inset:0;z-index:-1;overflow:hidden;background:radial-gradient(ellipse at 50% 28%,#56785f,#1a403a 42%,#061415 80%)}.title-bg:before{content:'';position:absolute;inset:16% 15% 18%;border:7px solid #bd9850;border-bottom:0;border-radius:50% 50% 0 0}.big-door{position:absolute;right:12%;bottom:20%;font-size:140px;line-height:.7;width:150px;height:150px;border:5px solid #d0ad5e;border-radius:50%;color:#e6c36c}.lamp{position:absolute;left:27%;bottom:25%;font-size:110px;color:#ffe477;text-shadow:0 0 55px #ffe477}.silhouettes{position:absolute;bottom:17%;left:10%;font-size:7vw;letter-spacing:-.15em;color:#061013}.eyebrow,.gold{font-size:12px;letter-spacing:.16em;color:var(--gold)}h1,h2{font:clamp(76px,14vw,178px)/.72 'Bebas Neue';letter-spacing:.06em;margin:10px;text-shadow:5px 5px #392918,0 0 22px #e6b44f77}h1 i,h2 i{font-style:normal;color:var(--gold)}.subtitle{letter-spacing:.22em}.primary,button{font:600 14px 'IBM Plex Mono';letter-spacing:.07em;color:#fff4cb;background:#123f39;border:1px solid var(--gold);padding:12px 18px;margin:4px;cursor:pointer;box-shadow:0 3px #593c1d;transition:.12s}button:hover,button:focus{background:#296453;transform:translateY(-2px);outline:2px solid var(--cream)}.menu{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:14px}.terminal{width:min(490px,88vw);padding:13px 18px;text-align:left;line-height:1.8;background:#071919d9;border:1px solid #748a66;font-size:12px}.terminal b{color:var(--mint)}.terminal em{color:var(--gold);font-style:normal}.game{padding:0!important}.game.active{display:grid!important;grid-template-rows:80px 1fr 120px 26px;align-items:stretch;justify-content:stretch}.hud{display:grid;grid-template-columns:1.4fr 1fr 1fr .6fr;gap:12px;padding:9px 2vw;background:#061b1b;border-bottom:3px solid #af9049;text-align:left}.hud small{font-size:9px;color:#b5c6ae;display:block}.hud b{font:30px 'Bebas Neue';letter-spacing:.05em}.hud div:first-child b{font-size:37px;color:var(--gold)}.hud span{display:block;font-size:8px;color:var(--mint)}.hud span i{font-style:normal;color:var(--gold)}.level{text-align:right}.meter{height:10px;border:1px solid #a78961;background:#3a3027;margin:5px 0}.meter i{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--red),var(--gold),var(--mint));transition:width .2s}.office{position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 20%,#55785f,#1d4a43 40%,#0a292d);border-bottom:3px solid #bb9146}.office:before{content:'';position:absolute;inset:6% 22% 15%;border:5px solid #c39e55;border-bottom:0;border-radius:50% 50% 0 0;opacity:.6}.portrait{position:absolute;left:5%;top:10%;padding:8px;border:2px solid #d7bd7e;background:#193a35;font:12px Georgia;color:#f0dc9f}.portrait.hide{opacity:0}.office #window{position:absolute;right:8%;top:8%;width:18%;height:25%;border:5px solid #d2b36d;background:linear-gradient(#9bc2d4 55%,#315f3e 56%);color:#244638;font-size:8px;padding:8px;overflow:hidden}.office #window span{display:none;position:absolute;bottom:0;left:0;font-size:22px;white-space:nowrap}.office #window.protest span{display:block}.revolve{position:absolute;z-index:7;right:3%;bottom:16%;width:100px;height:100px;border-radius:50%;font-size:66px;line-height:.55;color:#e5c267;background:#382f27d9}.revolve small{display:block;font-size:7px}.revolve.spin{animation:spin 1s linear}#queue{position:absolute;z-index:3;left:3%;bottom:17%;right:17%;height:26%;display:flex;gap:8px;align-items:end}.queued{position:relative;width:clamp(52px,8vw,86px);height:clamp(78px,14vw,120px);padding-top:37px;background:var(--suit);border:2px solid #8d7b59;border-radius:22px 22px 3px 3px;flex:none;filter:drop-shadow(3px 3px #071112)}.queued:before{content:'';position:absolute;top:-17px;left:34%;width:32%;aspect-ratio:1;border-radius:50%;background:#d9a57d}.queued b{display:block;font-size:7px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#102321;padding:3px}.queued i{display:block;height:4px;background:var(--red);margin:5px}.queued.next{border-color:var(--gold);transform:scale(1.12);transform-origin:bottom}.queued.citizen{opacity:.72}.visitor-card{position:absolute;z-index:9;left:50%;top:6%;transform:translateX(-50%);width:min(520px,57vw);min-height:175px;display:flex;align-items:center;text-align:left;padding:12px 20px;background:#f8e9bd;color:#263126;border:5px solid #bd954a;box-shadow:8px 9px #12201b}.person{width:105px;height:130px;flex:none;position:relative;padding-top:30px}.person i{display:block;width:39px;height:39px;border-radius:50%;background:#dca67e;margin:auto}.person b{display:block;width:72px;height:86px;background:#2d3b47;border-radius:28px 28px 4px 4px;margin:auto}.visitor-card.citizen .person b{background:#617f78}.request{flex:1}.request h2{font-size:36px;line-height:.82;color:#482c1b;text-shadow:none;text-align:left;margin:4px 0}.request p{font-size:9px;letter-spacing:.1em;margin:3px 0}.request>strong{font:24px 'Bebas Neue';line-height:1;color:#ad3d32}.request #tier{font-size:9px;color:#7f6840}.offering{border-top:1px dashed #846d47;padding-top:5px;color:#5a503b}.timer{height:8px;background:#6e5b3c;margin-top:8px}.timer i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#ef544a,#ef9d4b);transition:width .1s}.request small{font-size:8px;color:#765d37}.desk{position:absolute;z-index:10;bottom:-4%;left:50%;transform:translateX(-50%);width:min(66%,720px);height:25%;min-height:120px;background:linear-gradient(120deg,#91542a,#482217);border:6px solid #bd8945;border-radius:17px 17px 0 0;box-shadow:0 -12px 25px #0008}.desk>b{position:absolute;top:43%;left:48%;border:3px solid var(--gold);padding:6px;border-radius:50%;color:var(--gold)}.you{position:absolute;z-index:2;bottom:55%;left:46%;font-size:63px;color:#e4b78e}.you small{display:block;font-size:8px}.desk-item{position:absolute;font-size:clamp(20px,3vw,40px);animation:drop .35s}.reaction-good,.reaction-bad{animation:react .5s}.reaction-good{outline:8px solid #8fd5b199}.reaction-bad{outline:8px solid #ef625499}#phone{display:none;position:absolute;z-index:14;left:4%;bottom:27%;width:77px;height:59px;color:#ffe4aa;background:#c3312c;font-size:40px}#phone small{display:block;font-size:8px}.ringing{display:block!important;animation:ring .2s infinite alternate}.decision{background:#0a2020;padding:6px 2vw}.decision>p{font-size:10px;letter-spacing:.1em;margin:0 0 5px}.actions{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.action{min-height:69px;margin:0;padding:8px 4px;text-align:center;border-color:#a98b50;background:#102f2d}.action .key{display:block;font-size:9px;color:var(--gold)}.action b{display:block;font:18px/1 'Bebas Neue';letter-spacing:.04em}.action small{font-size:7px;color:#b8cdb8}.action.deny{border-color:#e5725e;background:#492d26}.hint{font-size:7px!important;color:#a1b9a4;margin:4px 0 0!important}.ticker{overflow:hidden;background:#b74036;white-space:nowrap;line-height:26px;font-size:11px}.ticker span{display:inline-block;padding-left:100%;animation:ticker 17s linear infinite}#toast{position:fixed;z-index:30;top:87px;left:50%;transform:translateX(-50%);opacity:0;font:30px 'Bebas Neue';letter-spacing:.05em;text-shadow:2px 2px #80281f;pointer-events:none;transition:.15s}#toast.show{opacity:1}#modal{display:none;position:fixed;z-index:40;inset:0;background:#000a;align-items:center;justify-content:center}#modal.show{display:flex}#modalInner{width:min(510px,88vw);padding:22px;background:#f6e6bc;color:#253126;border:6px solid #ba9148;box-shadow:10px 10px #142019}#modalInner h2{font-size:52px;line-height:.8;text-shadow:none;color:#a63c32;margin:2px}#modalInner p{font-size:13px;line-height:1.5}.info{background:radial-gradient(ellipse,#294d40,#071719)}.info p{max-width:650px;line-height:1.8}.info ol{width:min(500px,90vw);text-align:left;background:#0c211f;border:1px solid #c1a55e;padding:18px 40px;line-height:2}.info li b{float:right;color:var(--gold)}.rule{max-width:580px;border:1px solid #bf9c52;background:#0a201e;padding:14px;margin:10px;font-size:11px}.rule b{color:var(--gold)}#endStats{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;width:min(500px,90vw)}#endStats div{border:1px solid #c39d56;background:#182621;padding:9px}#endStats small{display:block;font-size:8px}#endStats b{font:28px 'Bebas Neue';color:var(--gold)}@keyframes ticker{to{transform:translateX(-100%)}}@keyframes spin{to{transform:rotate(720deg)}}@keyframes ring{to{transform:rotate(-7deg) scale(1.08)}}@keyframes drop{from{transform:translateY(-36px) rotate(-25deg);opacity:0}}@keyframes react{50%{transform:translateX(-50%) scale(1.05)}}@media(max-width:650px){.game.active{grid-template-rows:92px 1fr 132px 25px!important}.hud{gap:4px;padding:7px}.hud small{font-size:7px}.hud b,.hud div:first-child b{font-size:25px}.hud span{font-size:6px}.office:before{inset:9% 2% 17%}.visitor-card{top:5%;width:86vw;min-height:130px;padding:8px}.person{width:68px;height:92px;padding-top:20px}.person i{width:28px;height:28px}.person b{width:52px;height:59px}.request h2{font-size:27px}.request>strong{font-size:20px}.revolve{width:66px;height:66px;right:0;font-size:45px}.portrait{display:none}#queue{left:1%;right:7%;gap:3px}.queued{width:43px;height:70px;padding-top:29px}.queued b{font-size:5px}.desk{width:94%;height:22%}.you{font-size:48px}.actions{grid-template-columns:repeat(3,1fr);gap:4px}.action{min-height:38px;padding:3px}.action b{font-size:13px}.action small{display:none}.decision{padding:4px}.decision>p{font-size:8px}.hint{display:none}#phone{left:1%;transform:scale(.72);transform-origin:bottom left}}
/* Three-option deck and readable paused outcomes */
.actions{grid-template-columns:repeat(3,1fr)}.action{min-height:76px}.action b{font-size:21px}#modalInner.outcome{max-width:430px;border-color:#e7be65;background:#fff1ca;text-align:center}.outcome .stamp{display:grid;place-items:center;width:68px;height:68px;margin:-54px auto 10px;border:5px solid #f7e7b6;border-radius:50%;background:#29725b;color:#fff;font:45px/1 'Bebas Neue';box-shadow:0 4px #18513f}.outcome.bad .stamp{background:#b83f37}.outcome h2{font-size:59px}.outcome p{font-weight:600;color:#42351f}.outcome #continue{min-width:190px;margin-top:8px;background:#174b41}#modal:has(.outcome){background:#000b}
@media(max-width:650px){.game.active{grid-template-rows:92px 1fr 136px 25px!important}.actions{grid-template-columns:1fr;gap:3px}.action{min-height:33px;padding:3px}.action b{font-size:17px}.action small{display:inline;font-size:7px}.outcome h2{font-size:47px}}
