:root{color-scheme:dark;--cream:#f8edcf;--muted:#b6b6a2;--ink:#182a26;--line:#ffffff20;--gold:#eec264;--green:#a9c77b}*{box-sizing:border-box}body{margin:0;background:#152821;color:var(--cream);font-family:Segoe UI,Arial,sans-serif;overflow:hidden;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html{height:100%}button{font:inherit;cursor:pointer;color:var(--cream);background:#253b32;border:1px solid #75846a66;border-radius:8px;padding:12px 17px;transition:background .15s,transform .15s}button:hover{background:#385043}button:active{transform:translateY(1px)}button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--gold);color:#273226;font-weight:800;border-color:var(--gold)}button.primary:hover{background:#ffdb8e}[hidden]{display:none!important}canvas#game{display:block;width:100vw;height:100dvh}#hud{position:absolute;inset:0;pointer-events:none}#hud button{pointer-events:auto}.topbar{display:flex;align-items:center;gap:24px;position:absolute;top:20px;left:24px;right:24px}.brand{display:flex;align-items:center;gap:10px;filter:drop-shadow(0 2px 3px #0008);font-size:18px;letter-spacing:3px;font-weight:900}.brand img{width:33px;height:39px;object-fit:contain}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:3px}.stats{display:flex;gap:8px;margin:auto}.stats>div{display:grid;grid-template-columns:25px auto;column-gap:9px;min-width:112px;background:#192c27ed;border:1px solid #d9d4a42b;border-radius:10px;padding:10px 15px;box-shadow:0 4px 12px #0002}.stats i{grid-row:span 2;font-size:25px;color:var(--gold);font-style:normal;align-self:center}.stats span{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums}.stats small{font-size:8px;letter-spacing:1.5px;color:var(--muted)}.iconbutton{font-size:22px}.quest{position:absolute;right:24px;top:110px;width:282px;padding:22px;background:#192c27eb;border:1px solid #d9d4a42b;border-radius:12px;box-shadow:0 8px 25px #0002}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:var(--gold)}h2{font-family:Georgia,serif;font-size:27px;margin:10px 0 12px;font-weight:normal}.quest h2{font-size:23px}.quest p{font-size:13px;line-height:1.65;color:#d9ddcd;margin:8px 0 15px}.progress{height:5px;background:#ffffff13;border-radius:5px;overflow:hidden}.progress span{display:block;height:100%;background:var(--gold);width:0;transition:width .3s}.questfooter{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);margin:9px 0}.quest p.hint{border-top:1px solid var(--line);padding-top:13px;margin-bottom:0;font-size:11px;color:#a9bd9c}#zone{position:absolute;left:28px;top:112px;font-size:13px;text-shadow:0 2px 4px #000;font-weight:700;letter-spacing:.4px}#zone>span:first-child{color:var(--gold)}.bottomleft{position:absolute;left:24px;bottom:22px;display:flex;gap:8px;align-items:center}.bottomleft button{background:#192c27ed;font-size:12px;padding:11px 14px}.bottomleft button span{margin-left:6px;color:#c3cdb9}#saveStatus{font-size:10px;color:#e5eddb;text-shadow:0 1px 3px #000;padding-left:8px}#interact{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);display:flex;gap:16px;align-items:center;background:#142923f5;padding:10px 12px 10px 20px;border:1px solid #eec26480;border-radius:10px;box-shadow:0 5px 20px #0005;white-space:nowrap;font-size:13px}#interact button{background:var(--gold);color:#182a26;font-weight:900;padding:9px 15px}#interact button span{font-size:11px;margin-left:7px}#toast{position:absolute;top:95px;left:50%;transform:translateX(-50%) translateY(-10px);background:#f8edcf;color:#273b2e;padding:12px 22px;border-radius:8px;font-size:14px;font-weight:600;opacity:0;transition:.2s;max-width:70%;text-align:center;box-shadow:0 4px 18px #0003}#toast.show{opacity:1;transform:translateX(-50%)}#buff{position:absolute;bottom:92px;left:50%;transform:translateX(-50%);font-size:12px;font-weight:800;color:#fce67c;background:#2a3543e8;border:1px solid #eec26460;padding:9px 15px;border-radius:8px}#bikeTag{position:absolute;left:28px;top:143px;background:#f3c66c;color:#253b32;font-size:10px;font-weight:900;padding:7px 10px;border-radius:5px}.screen{position:absolute;inset:0;z-index:10}.start{background:#253c30 url('assets/parlament-concept.png') center center/cover no-repeat;overflow:auto}.startshade{position:absolute;inset:0;background:linear-gradient(90deg,#101f1af5 0%,#14271eeb 25%,#13251ea6 47%,#14291e0a 80%)}.startcontent{position:relative;margin:6vh 0 30px 6vw;width:490px;max-width:88vw}.start h1{font-family:Georgia,serif;font-size:94px;line-height:.88;letter-spacing:-4px;margin:28px 0 18px;text-shadow:0 3px 20px #0003}.start h1 em{font-style:normal;font-size:50px;letter-spacing:1px;color:var(--gold)}.subtitle{font-size:18px;color:#cfd3b9;margin:0 0 28px}.introcard{background:#182b24e6;border:1px solid #c2ba843b;border-radius:14px;padding:25px;backdrop-filter:blur(10px)}.chapter{font-size:9px;letter-spacing:2px;color:#b7c99b}.introcard h2{font-size:29px}.introcard p{font-size:14px;line-height:1.75;color:#c7ceba}.introcard strong{color:var(--cream)}.startactions{display:flex;gap:10px;margin:22px 0}.startactions .primary{flex:1;text-align:left}.primary span{float:right}.keys{display:flex;gap:12px;flex-wrap:wrap;font-size:10px;color:#adbda5}kbd{font:10px Segoe UI,sans-serif;color:var(--cream);background:#ffffff12;border:1px solid #ffffff25;border-bottom-width:2px;padding:3px 5px;border-radius:4px;margin-right:3px}.fiction{display:block;font-size:10px;color:#a2b397;margin-top:18px}.artcredit{position:absolute;right:40px;bottom:35px;text-align:right;font-size:12px;letter-spacing:3px;text-shadow:0 2px 6px #000}.artcredit span{font-size:11px;letter-spacing:0}.backdrop{position:absolute;inset:0;z-index:20;background:#081810aa;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px}.modal{position:relative;width:530px;max-width:100%;max-height:90dvh;overflow:auto;background:#1c3028;border:1px solid #8d98715e;border-radius:18px;padding:32px;box-shadow:0 30px 90px #0006}.modal.wide{width:820px}.modal .close{position:absolute;top:12px;right:12px;font-size:23px;background:transparent;border:none;padding:0 8px}.modal p{font-size:14px;line-height:1.7;color:#c9d3bd}.modal .balance{font-size:28px;font-weight:800;color:var(--gold)}#modalActions{display:flex;flex-direction:column;gap:9px;margin-top:22px}#modalActions button{display:flex;justify-content:space-between;gap:12px;text-align:left}#modalActions button small{color:inherit;opacity:.7}.stock{display:flex;gap:12px;padding:14px;background:#ffffff06;border-radius:8px;font-size:13px;color:#bcccae}.mapcanvas{width:100%;height:auto;border-radius:10px;border:1px solid #d9d4a42b}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11px;color:#b6c7aa;margin-top:12px}.helpgrid{display:grid;grid-template-columns:auto 1fr;gap:12px;font-size:13px;color:#c7ceba}.result{font:60px Georgia,serif;color:var(--gold);margin:15px 0}.result small{font:14px Segoe UI,sans-serif;color:#b9c5a9;display:block}.danger{color:#e6a88e}#touchControls{display:none;pointer-events:auto;position:absolute;right:18px;bottom:22px;flex-direction:column;align-items:end;gap:10px}#touchBike{width:68px;height:68px;border-radius:50%;padding:0;font-size:22px;font-weight:900;background:#192c27e0;border:2px solid #eec26466;display:flex;flex-direction:column;align-items:center;justify-content:center;touch-action:none;user-select:none}#touchBike small{font-size:8px;letter-spacing:1px;color:#c3cdb9}.touch-only{display:none}#joy{position:absolute;z-index:6;width:128px;height:128px;border-radius:50%;background:#10231d55;border:2px solid #f8edcf33;pointer-events:none}#joyKnob{position:absolute;left:38px;top:38px;width:52px;height:52px;border-radius:50%;background:#f8edcfcc;box-shadow:0 3px 10px #0006}canvas#game{touch-action:none}@media(pointer:coarse){#touchControls{display:flex}.desktop-only{display:none}.touch-only{display:flex;align-items:center;gap:12px;font-size:12px}.touch-only button{padding:12px 16px;font-weight:800}.bottomleft{bottom:22px}#saveStatus{display:none}.bottomleft button{padding:14px;font-size:14px}#interact{left:auto;right:18px;transform:none;bottom:104px;flex-direction:column;gap:7px;padding:10px;max-width:200px;white-space:normal;text-align:center}#interact button{padding:16px 22px;font-size:18px}#interact button span{font-size:12px}#buff{bottom:auto;top:140px}}@media(max-width:850px){.topbar{left:12px;right:12px;top:12px;gap:8px}.brand{display:none}.stats{gap:5px;flex:1}.stats>div{min-width:0;flex:1;padding:8px;column-gap:5px;grid-template-columns:17px auto}.stats i{font-size:20px}.stats span{font-size:15px}.stats small{font-size:7px}.quest{top:74px;left:12px;right:12px;width:auto;padding:9px 12px;pointer-events:auto;cursor:pointer}.quest h2{font-size:15px;margin:3px 0 4px}.quest h2::after{content:' ▾';color:var(--gold);font-size:12px}.quest.open h2::after{content:' ▴'}.quest p{display:none;font-size:12px;line-height:1.45;margin:6px 0}.quest.open p{display:block}.quest .hint{display:none}.questfooter{font-size:9px;margin:5px 0 0}.quest .eyebrow{font-size:8px}.questfooter span:last-child{display:none}#zone{top:172px;left:12px;font-size:11px;max-width:200px}#bikeTag{left:12px;top:224px;font-size:8px}#toast{top:52px;font-size:12px;max-width:90%;width:max-content;z-index:7}.artcredit{display:none}.startcontent{margin-top:35px}.start h1{font-size:65px;margin:22px 0 15px}.start h1 em{font-size:35px}.startshade{position:fixed;background:#10241bd9}.introcard{padding:20px}.subtitle{font-size:15px}.bottomleft{left:12px}.bottomleft button{padding:9px;font-size:10px}#saveStatus{display:none}.modal{padding:27px 20px}.modal h2{font-size:25px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Collection-day mission: countdown stays readable on both input layouts. */
#missionStatus{position:absolute;left:24px;top:186px;max-width:320px;padding:12px 16px;border:1px solid #ebcb6e88;border-radius:9px;background:#243831f2;color:#ffe098;font-size:14px;font-weight:800;font-variant-numeric:tabular-nums;box-shadow:0 5px 16px #0003}
#missionStatus.urgent{border-color:#ed8469;color:#ffc3ab;background:#4c2e28f2}
.mission-launch{position:absolute;left:24px;bottom:72px;padding:10px 14px;font-size:12px}
.startactions{flex-wrap:wrap}
@media(max-width:850px){#missionStatus{left:12px;top:244px;max-width:200px;font-size:11px;padding:9px}.mission-launch{left:12px;bottom:76px;font-size:11px;padding:12px 14px}}
#lionHUD{position:absolute;inset:0;pointer-events:none;color:#f4ebca}.lion-top{position:absolute;top:16px;left:18px;right:18px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:#16342de8;border:1px solid #adbd7955;border-radius:12px;padding:12px 18px}.lion-top button,.lion-touch button{pointer-events:auto}#lionStats{font-weight:800;color:#e6cd7c}.rotate-hint{display:none;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#16342dcc;padding:10px 14px;border-radius:8px;font-size:12px;text-align:center;max-width:80%}@media(pointer:coarse) and (orientation:portrait){.rotate-hint{display:block}}#lionGoal{position:absolute;top:98px;left:20px;background:#173329cf;padding:9px 14px;border-radius:7px}.lion-help{position:absolute;bottom:15px;left:20px;font-size:12px;background:#16342ddd;padding:10px;border-radius:8px}.lion-touch{display:none;position:absolute;bottom:55px;left:12px;right:12px;gap:7px;justify-content:center}.lion-touch button{touch-action:none;user-select:none}@media(pointer:coarse){.lion-touch{display:grid;grid-template-columns:68px 68px;gap:10px;left:auto;right:18px;bottom:22px;justify-content:end}.lion-touch button{width:68px;height:68px;border-radius:50%;padding:0;font-size:20px;font-weight:900;background:#192c27e0;border:2px solid #eec26466;display:flex;flex-direction:column;align-items:center;justify-content:center}.lion-touch button small{font-size:8px;letter-spacing:1px;color:#c3cdb9}.lion-touch button.jump{background:var(--gold);color:#182a26}.lion-touch button.jump small{color:#3d3a2a}.lion-help{display:none}}@media(max-width:700px){.lion-top{font-size:11px;padding:8px;left:8px;right:8px;gap:5px}.lion-top button{padding:7px}.lion-help{font-size:9px}#lionGoal{font-size:11px;top:77px}.lion-touch button{padding:10px}}
#councilStatus{position:absolute;left:24px;top:145px;z-index:5;padding:11px 15px;background:#203d30ed;border:1px solid #dcca7777;border-radius:8px;color:#e8dba1;font:bold 13px Segoe UI;pointer-events:none}#councilStatus.urgent{background:#613b2de8;color:#ffd0a5;border-color:#dc8060}@media(max-width:850px){#councilStatus{left:12px;top:192px;font-size:10px;max-width:200px;padding:8px 10px}}
/* Landscape phones: keep the quest card narrow on the right so the map stays visible. */
@media(max-height:500px) and (max-width:1000px){.topbar{top:8px;left:10px;right:10px}.stats>div{padding:5px 9px}.stats span{font-size:13px}.stats i{font-size:16px}.quest{top:58px;left:auto;right:10px;width:230px;padding:7px 10px}.quest h2{font-size:13px}#zone{top:60px;left:10px}#councilStatus{top:80px;left:10px}#bikeTag{top:108px;left:10px}#missionStatus{top:128px;left:10px}.mission-launch{bottom:14px;left:10px}.bottomleft{left:110px;bottom:14px}#interact{bottom:96px;right:14px}#touchControls{bottom:14px;right:14px}.lion-touch{bottom:14px;right:14px}#lionGoal{top:64px;font-size:11px}.lion-top{top:8px;left:10px;right:10px;padding:6px 10px}}
/* Start screen: on phones the concept art fills the first screen, the text card waits below. */
.herobar{display:flex;align-items:center;gap:14px;margin:-8px 0 22px;flex-wrap:wrap}.herobar button{padding:10px 14px;font-size:12px;background:#192c27d9}.scrollhint{display:none}
@media(max-width:850px){.start{background:#152821}.startshade{display:none}.startcontent{margin:0;width:auto;max-width:none;padding:0 16px 30px}.hero{position:relative;min-height:100dvh;margin:0 -16px;padding:0 20px 34px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-end;background:#253c30 url('assets/parlament-concept.png') center 30%/cover no-repeat}.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#10241b33 0%,#10241b00 30%,#10241bd0 72%,#152821 100%)}.hero>*{position:relative}.hero .eyebrow{font-size:9px}.start h1{text-shadow:0 3px 20px #000a}.scrollhint{display:inline-block;font-size:12px;font-weight:800;color:var(--gold);letter-spacing:1px;animation:bob 1.3s ease-in-out infinite}.introcard{margin-top:14px}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
