:root{color-scheme:dark;--ink: #f6f1e8;--coral: #e23b4a;--gold: #e4c16a}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#8ec4ea;font-family:Avenir Next,Trebuchet MS,sans-serif;color:var(--ink)}#c{position:fixed;inset:0;width:100%;height:100%;display:block}#hud{position:fixed;inset:0;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.45)}#crosshair{position:absolute;left:50%;top:48%;width:7px;height:7px;margin:-4px 0 0 -4px;border:1.5px solid rgba(255,255,255,.9);border-radius:50%;box-shadow:0 0 0 1px #0006}body.driving #crosshair{display:none}#brand{position:absolute;top:22px;left:26px;letter-spacing:.42em;font-size:13px;font-weight:700}#stars{position:absolute;top:20px;right:26px;letter-spacing:.28em;font-size:16px;color:#ffffff59}#stars i{font-style:normal;color:#f2f2f2}#mission{position:absolute;top:58px;left:0;right:0;text-align:center;font-size:15px;letter-spacing:.08em;text-transform:uppercase}#toast,#radio,#prompt{position:absolute;left:0;right:0;text-align:center;letter-spacing:.14em;text-transform:uppercase;font-size:13px;opacity:0;transition:opacity .4s ease}#toast{top:92px;color:var(--gold)}#toast.on,#radio.on,#prompt.on{opacity:1}#radio{bottom:168px}#prompt{bottom:132px;font-size:15px;letter-spacing:.22em}#minimap-wrap{position:absolute;left:22px;bottom:22px;width:176px;height:176px}#minimap{width:176px;height:176px;border-radius:50%;background:#147a8c;box-shadow:0 0 0 2px #ffffffb8,0 8px 24px #00000047}#speed{position:absolute;right:-8px;bottom:8px;font-variant-numeric:tabular-nums;font-size:13px;letter-spacing:.08em}#cash{position:absolute;right:26px;bottom:26px;text-align:right;line-height:.9}#cash b{display:block;font-size:42px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.02em}#cash span{letter-spacing:.38em;font-size:12px;color:var(--gold)}#book{display:block;margin-top:8px;font-style:normal;font-size:13px;letter-spacing:.06em;color:var(--gold);font-variant-numeric:tabular-nums}#help{position:absolute;left:220px;right:180px;bottom:28px;text-align:center;font-size:12px;letter-spacing:.06em;opacity:.85;transition:opacity 1s ease}#help.gone{opacity:0}#ammo{position:absolute;top:48px;left:26px;letter-spacing:.22em;font-size:13px;font-weight:700}#vital{position:absolute;top:70px;left:26px;letter-spacing:.16em;font-size:12px;font-weight:700}#speech{position:absolute;left:50%;bottom:196px;transform:translate(-50%);width:min(560px,calc(100% - 48px));text-align:center;font-size:15px;letter-spacing:.02em;line-height:1.35;text-transform:none;opacity:0;transition:opacity .25s ease}#speech.on{opacity:1}body.hit:after{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle,transparent 42%,rgba(160,24,36,.42) 100%)}#phone{position:absolute;top:96px;left:22px;width:280px;margin:0;padding:14px 16px;white-space:pre-wrap;font:13px/1.45 Avenir Next,Trebuchet MS,sans-serif;letter-spacing:.02em;color:#1c2430;background:#f6f1e6;border:3px solid #1c2430;border-radius:18px;box-shadow:0 10px 24px #00000047}#title{position:fixed;inset:0;display:grid;place-items:end start;pointer-events:none}#title .veil{position:absolute;inset:0;background:linear-gradient(90deg,#0c121c8c,#0c121c0d 55%),linear-gradient(180deg,#0c121c0d,#0c121c47)}#title .card{position:relative;pointer-events:auto;padding:48px 56px 42px;max-width:640px}#title .where{margin:0 0 8px;letter-spacing:.46em;font-size:12px;text-transform:uppercase}#title h1{margin:0;font-size:84px;line-height:.86;letter-spacing:.12em;font-weight:700}#title .deck{margin:18px 0 22px;max-width:420px;font-size:16px;line-height:1.45;color:#f3efe6}#play{appearance:none;border:0;background:var(--coral);color:#fff;font:inherit;font-weight:700;letter-spacing:.22em;text-transform:uppercase;padding:14px 28px;cursor:pointer}#play:hover{filter:brightness(1.05)}#wallet{appearance:none;border:1px solid #f6f1e8;background:transparent;color:#f6f1e8;font:inherit;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:12px 18px;margin-left:10px;cursor:pointer}#join-status{min-height:1.2em;margin:10px 0 0;font-size:13px;letter-spacing:.04em}#title .keys{display:flex;flex-wrap:wrap;gap:8px 16px;margin:22px 0 0;padding:0;list-style:none;font-size:13px;letter-spacing:.04em}kbd{font-family:inherit;border:1px solid rgba(255,255,255,.45);padding:1px 6px;margin-right:6px}#title .mint{margin:18px 0 0;max-width:460px;font-size:12px;line-height:1.45;color:#f6f1e8c7}#photo{position:fixed;top:18px;left:0;right:0;text-align:center;letter-spacing:.28em;font-size:12px;pointer-events:none}#testout{position:fixed;left:8px;bottom:8px;margin:0;color:#fff;background:#0000008c;font-size:11px;max-width:90vw;white-space:pre-wrap}body.playing #title,body.shot #title,body.shot #hud,body.shot #help,body.board #crosshair{display:none}#terminal{--up: #178a3a;--down: #d01212;--link: #0645ad;--orange: #f47b20;position:fixed;z-index:8;inset:5vh 7vw;overflow:hidden;background:linear-gradient(#ececec,#d0d0d0);border:1px solid #8d8d8d;border-radius:8px;box-shadow:0 22px 60px #00000073;color:#161616;font-family:Arial,Helvetica,sans-serif;text-shadow:none;pointer-events:auto}#terminal:not([hidden]){display:flex;flex-direction:column}#terminal .chrome{padding:8px 10px 10px;background:linear-gradient(#f7f7f7,#cfcfcf);border-bottom:1px solid #9a9a9a}#terminal .chrome-title{display:block;text-align:center;font-size:13px;color:#333;margin-top:-22px;pointer-events:none}#terminal #close-terminal{width:22px;height:22px;border-radius:50%;border:1px solid #b00000;background:#ff5f57;color:#4a0000;font:16px/1 Arial,sans-serif;padding:0;cursor:pointer}#terminal .toolbar{display:flex;gap:8px;align-items:center;margin-top:8px}#terminal #back{width:36px;height:28px;border:1px solid #9a9a9a;background:#fff;cursor:pointer;font-size:18px;color:#111}#terminal #addr{flex:1;background:#fff;border:1px solid #b5b5b5;border-radius:12px;padding:5px 12px;color:#222;font-size:14px}#terminal .page{flex:1;overflow:auto;background:#fff;margin:8px;padding:18px 22px 28px}#terminal .wordmark{margin:0;font:italic 800 64px/.85 Arial,Helvetica,sans-serif;letter-spacing:-.05em;color:#161616}#terminal .wordmark span{color:var(--orange)}#terminal .tag{margin:4px 0 0;color:#666}#terminal .balance{display:flex;gap:16px;align-items:baseline;margin-top:10px}#terminal .balance p{margin:0}#terminal #book-cash{font-weight:700;font-variant-numeric:tabular-nums}#terminal #deposit{font:13px Arial,sans-serif}#terminal nav{display:flex;gap:18px;margin:14px 0;border-bottom:4px solid var(--orange);padding-bottom:8px}#terminal nav button{background:none;border:0;padding:0;color:var(--link);text-decoration:underline;font:18px Arial,sans-serif;cursor:pointer}#terminal nav button.on{color:#111;text-decoration:none;font-weight:700}#terminal .layout{display:flex;gap:28px;align-items:flex-start}#terminal .layout>div{flex:1;min-width:0}#terminal aside{width:280px;background:#fff8e8;border:1px solid #ead9a4;padding:10px 12px}#terminal h2,#terminal h3{font-weight:700;margin:0 0 8px;color:#161616}#terminal aside h3{font-size:14px;text-transform:uppercase;letter-spacing:.04em}#terminal table{width:100%;border-collapse:collapse}#terminal th,#terminal td{text-align:left;padding:8px 6px;border-bottom:1px solid #e4e4e4}#terminal th{color:#666;font-size:12px;text-transform:uppercase}#terminal td.num,#terminal th.num{text-align:right;font-variant-numeric:tabular-nums}#terminal tr.row{cursor:pointer}#terminal tr.row td:first-child{color:var(--link);text-decoration:underline}#terminal .up{color:var(--up)}#terminal .down{color:var(--down)}#terminal #stock-where{margin:0 0 8px;color:#666}#terminal #stock-price,#terminal #total-return{font-variant-numeric:tabular-nums;font-weight:700}#terminal #stock-price{font-size:42px;margin:8px 0}#terminal #total-return{font-size:72px;line-height:.95;margin:0 0 12px}#terminal #chart{width:100%;height:auto;background:#fff;border:1px solid #ddd;display:block;margin:8px 0 12px}#terminal #tape p,#terminal #schedule p{margin:0 0 8px;font-size:14px}#terminal #trade-error{min-height:1.2em;color:var(--down)}#terminal .trade{display:flex;gap:8px;align-items:center}#terminal input,#terminal .trade button,#terminal #deposit{font:16px Arial,sans-serif;border:1px solid #bbb;background:#f6f6f6;padding:6px 10px;color:#111}#terminal .trade button{background:#111;color:#fff;border-color:#111;cursor:pointer}#terminal #buy{background:var(--up);border-color:var(--up)}#terminal #sell{background:var(--down);border-color:var(--down)}#terminal input{width:80px;background:#fff}@media(max-width:900px){#terminal{inset:0;border-radius:0}#terminal .layout{display:block}#terminal aside{width:auto;margin-top:16px}#terminal .wordmark{font-size:42px}#terminal #total-return{font-size:48px}}
