:root{font-family:'Trebuchet MS',sans-serif;color:#fff9f6;background:#181725;font-synthesis:none;--pink:#f187c9;--hot-pink:#ff45ce;--purple:#b39bf0;--cyan:#9ae7e5;--gold:#f187c9;--ink:#201d30;--muted:#b9b4c8;--red:#ee797e}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer;color:inherit;transition:background .18s,transform .18s}button:disabled{cursor:default;opacity:.45}button:hover:not(:disabled){filter:brightness(1.13)}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}[hidden]{display:none!important}
#panel-layer.phone-layer{background:#080f1829;backdrop-filter:none;justify-content:flex-end;padding:22px 5vw;align-items:flex-end}
#panel.phone-device{width:354px!important;height:min(754px,94vh);max-height:94vh;max-width:94vw;border:7px solid #161b22;border-radius:46px;background:radial-gradient(ellipse at 20% 20%,#ffd99555,transparent 42%),linear-gradient(160deg,#586d80 0%,#bc867e 34%,#765778 52%,#202c44 88%);box-shadow:0 0 0 2px #8d8b93,4px 5px 0 3px #343640,0 24px 70px #0009;padding:64px 18px 45px;overflow:hidden;animation:phone-up .24s ease-out}
#panel.phone-device #panel-body{height:calc(100% - 61px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#fff4 transparent;padding:0 2px 15px}
#panel.phone-device h2{font:bold 23px/1.15 'Trebuchet MS',sans-serif;margin:9px 0 17px;letter-spacing:-.8px}
#panel.phone-device #panel-kicker{font-size:7px;letter-spacing:1.6px;color:#ffede5}
#phone-status{position:absolute;top:16px;left:22px;right:22px;display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:bold;color:#fffbf7;letter-spacing:.5px}
#phone-status i{position:absolute;width:94px;height:23px;border-radius:20px;left:50%;top:-4px;transform:translateX(-50%);background:#131720;box-shadow:inset 0 0 0 1px #343a43}
#phone-status i:after{content:'';position:absolute;right:10px;top:8px;width:7px;height:7px;border-radius:50%;background:#172c43;box-shadow:inset 1px 1px 2px #46607d}
#panel.phone-device #panel-close{right:15px;top:40px;font-size:19px;width:28px;height:28px;line-height:1;border-radius:50%;background:#16273b55}
#phone-back{position:absolute;left:10px;top:36px;background:transparent;border:0;font-size:24px;width:25px;height:28px}
#phone-home{position:absolute;bottom:9px;left:50%;transform:translateX(-50%);width:105px;height:20px;border:0;background:transparent;padding:0}
#phone-home:after{content:'';display:block;height:4px;background:#fff;border-radius:4px;opacity:.85}
.phone-weather{padding:5px 1px 18px;display:grid;grid-template-columns:1fr auto;gap:4px;align-items:center;text-shadow:0 2px 8px #281c3c4a}.phone-weather span{font-size:10px;letter-spacing:2px}.phone-weather strong{grid-row:1/3;grid-column:2;font-size:44px;font-weight:normal}.phone-weather small{font-size:12px;color:#fff1e3}
.phone-apps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 8px;margin:7px 0 25px}.phone-app{border:0;background:none;padding:0;display:flex;flex-direction:column;align-items:center;gap:7px}.phone-app b{display:grid;place-items:center;width:54px;height:54px;border-radius:15px;background:#3b9eae;font:normal 29px Georgia,serif;color:#fff;box-shadow:inset 0 1px 0 #ffffff6b,0 4px 9px #172d452b}.phone-app span{font-size:10px;text-shadow:0 1px 3px #0008;letter-spacing:.15px}.app-1 b{background:#a85eaa}.app-2 b{background:#d39347}.app-3 b{background:#d1519c}.app-4 b{background:#4b83cc}.app-5 b{background:#416b58}.app-6 b{background:#71a66a}.app-7 b{background:#cf7763}.app-8 b{background:#343c4c}
.phone-message{background:#f2e8f1dd;color:#393448;padding:15px;border-radius:18px;box-shadow:0 4px 12px #1c254a1c}.phone-message b{font-size:10px;letter-spacing:1px}.phone-message small{float:right;font-weight:normal;color:#7e7081;letter-spacing:0}.phone-message p{font-size:12px;line-height:1.45;margin:8px 0 0}
.phone-device .menu-action{background:#192638aa;border-color:#cedee838;border-radius:12px;padding:14px 12px;letter-spacing:0;min-height:46px;display:flex;flex-direction:column;gap:7px}.phone-device .menu-action em{color:#fbdacc;font-size:10px}.phone-device .panel-note{color:#f0e5f0;font-size:11px}.phone-device .stat-line{font-size:11px}.phone-device .post p{font-size:12px}.phone-device #full-map{height:auto;aspect-ratio:1000/540;object-fit:contain}
.phone-viewfinder{position:relative;width:100%;aspect-ratio:3/4;background:#142332;border-radius:13px;overflow:hidden}.phone-viewfinder canvas{display:block;width:100%;height:100%;object-fit:cover}.phone-viewfinder>span{position:absolute;top:13px;width:100%;text-align:center;font-size:9px;letter-spacing:2px;text-shadow:0 1px 3px #000}.camera-corner{position:absolute;inset:34% 30%;border:1px solid #fff8;border-radius:10px}.camera-shutter{display:block;width:58px;height:58px;border-radius:50%;border:4px solid #fff;background:#fffc;box-shadow:inset 0 0 0 3px #3e4657;margin:12px auto 0}.phone-device:has(.phone-viewfinder) .panel-note{text-align:center}
@keyframes phone-up{from{transform:translateY(35px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-height:760px){#panel.phone-device{width:324px!important;padding-top:59px}.phone-apps{gap:12px 6px;margin-bottom:18px}.phone-app b{width:45px;height:45px;border-radius:13px}.phone-weather{padding-bottom:9px}.phone-weather strong{font-size:34px}.phone-device:has(.phone-viewfinder) h2{margin-bottom:8px}}
#scene{position:fixed;inset:0;width:100%;height:100%;display:block}#vignette{position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 115px #20112720;background:linear-gradient(0deg,#14141d2b,transparent 22%,transparent 80%,#15112215)}kbd{font:9px 'Trebuchet MS',sans-serif;display:inline-flex;justify-content:center;align-items:center;min-width:19px;height:19px;padding:0 4px;border:1px solid #f7f2ff70;background:#17162248;color:#fff;border-radius:3px}.eyebrow{font:10px 'Trebuchet MS',sans-serif;letter-spacing:2.5px;color:var(--pink);display:flex;align-items:center;gap:10px}
#intro{position:fixed;inset:0;background:linear-gradient(90deg,#20152cee,#2a1839ba 31%,#67304c31 61%,#8a315016),linear-gradient(0deg,#181626ad,transparent 26%)}.intro-header{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:26px 38px;color:#fff5ef}.brand{display:flex;gap:12px;align-items:center}.brand b{font:bold 37px Georgia,serif;line-height:1;border-right:1px solid #f3d9e554;padding-right:14px;color:#f0acd3}.brand span{font-size:9px;letter-spacing:2px;line-height:1.7}.place{font-size:10px;letter-spacing:3px;text-align:right;text-shadow:0 1px 8px #291b32}.place small{display:block;font-size:8px;letter-spacing:1.8px;opacity:.7;margin-top:8px}.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--pink);box-shadow:0 0 12px #ff83d8;margin-right:7px}
.intro-copy{position:absolute;left:7vw;top:24vh;width:min(580px,85vw);animation:arrive .7s ease-out both}.intro-copy>.eyebrow>span{width:30px;height:1px;background:var(--pink)}h1{font-family:Impact,'Arial Narrow',sans-serif;font-size:clamp(82px,9.1vw,150px);font-weight:normal;letter-spacing:-3px;line-height:.88;margin:30px 0 7px;white-space:nowrap;text-shadow:0 6px 30px #1d162539}h1 span{display:inline-block;margin-left:8px;font-family:Georgia,serif;letter-spacing:-12px;font-size:1.04em;font-weight:bold;background:linear-gradient(175deg,#ffe1ac 5%,#f2a4be 46%,#b58edf 92%);color:transparent;background-clip:text;-webkit-background-clip:text;text-shadow:none}h2{font-size:24px;font-weight:normal}#intro h2{font-size:12px;letter-spacing:8.5px;margin:19px 0 26px;color:#f7cfdd}.tagline{font:italic 21px/1.6 Georgia,serif;color:#f2dee8;margin:0 0 29px}.intro-actions{display:grid;gap:8px;width:330px;max-width:100%}.primary,.secondary,.menu-action{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:16px 20px;border:1px solid #e9a6d157;font-size:11px;letter-spacing:1.8px}.primary{background:#f2accf;color:#241c2d;border-color:#f2accf;font-weight:bold;box-shadow:0 7px 35px #ef8bd820}.primary>span:last-child,.secondary>span{font-size:23px;line-height:1}.secondary{background:#e8b4dc09}.text-button{border:0;background:transparent;text-align:left;padding:12px 0;color:#d2c1d7;font-size:11px}.text-button span{margin-left:12px;color:var(--pink)}.chapter{display:flex;align-items:center;gap:15px;margin-top:22px;padding-top:20px;border-top:1px solid #e8c5ed2a;width:330px;max-width:100%}.chapter>span{font:32px Georgia,serif;color:#d3afd56b}.chapter div{font-size:9px;letter-spacing:2px}.chapter small{display:block;font:italic 12px Georgia,serif;letter-spacing:0;color:#c0acc8;margin-top:8px}.scene-caption{position:absolute;right:5vw;bottom:16vh;text-align:right;text-shadow:0 2px 15px #331b39}.scene-caption>span{font-size:9px;letter-spacing:3px;color:#ffcfdc}.scene-caption b{display:block;font:italic 29px/1.4 Georgia,serif;margin:15px 0}.scene-caption div{font-size:8px;letter-spacing:2px;opacity:.7}footer{position:absolute;bottom:24px;left:38px;right:38px;display:flex;justify-content:space-between;gap:25px;font-size:8px;letter-spacing:1.3px;color:#e4d2e5a6}
#hud{position:fixed;inset:0;pointer-events:none;text-shadow:0 1px 3px #000b,0 0 8px #0005}#hud button{pointer-events:auto}#menu-button{position:absolute;top:20px;left:50%;transform:translateX(-50%);display:flex;gap:7px;align-items:center;background:#17172222;border:0;border-radius:4px;padding:5px 7px;font-size:15px;opacity:.55}#menu-button:hover{opacity:1}#menu-button kbd{height:17px;font-size:8px;border:0;background:transparent;opacity:.8}.status-hud{position:absolute;top:24px;left:25px;width:210px}.person{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1.1px;margin-bottom:8px}.person b{font-weight:bold}.person span{font-size:7px;color:#e7dff1b0}.vitals{display:grid;grid-template-columns:1fr 1fr;gap:4px}.vitals>span{display:block;height:4px;background:#251e34a3;border-radius:1px;overflow:hidden;box-shadow:0 1px 3px #0008}.vitals .stamina{grid-column:1/-1;height:2px;margin-top:1px;opacity:.85}.vitals i{display:block;width:100%;height:100%;transition:width .2s}.health i{background:#ef99c4}.focus i{background:#af9bed}.stamina i{background:#c9d1e0}
.wanted{position:absolute;right:25px;top:20px;width:230px;text-align:right}#stars{font:27px/1.15 'Trebuchet MS',sans-serif;letter-spacing:3px;white-space:nowrap;color:#f2edf1;text-shadow:0 1px 2px #000,0 0 3px #000,1px 0 #000,-1px 0 #000}#stars.active{color:#fff}.response-icons{height:23px;display:flex;justify-content:flex-end;gap:8px;margin:5px 5px 0 0}.response-icons>span{display:grid;place-items:center;width:20px;height:20px;border:1px solid #ef9fa3;border-radius:50%;background:#b64059bd;color:#f6b8bb;box-shadow:0 1px 3px #0009}.response-icons svg{width:12px;height:12px;fill:currentColor}.response-icons>span.inactive{opacity:.28}.wanted #pursuit{display:block;margin:7px 4px 0;font-size:7px;letter-spacing:1.4px;color:#f1dde5c9}.weapon-hud{display:flex;align-items:center;justify-content:flex-end;gap:13px;margin-top:17px;padding-right:3px}.weapon-hud>div{display:grid;gap:3px}#ammo{font:bold 26px/1 'Arial Narrow','Trebuchet MS',sans-serif;word-spacing:5px;letter-spacing:1px;-webkit-text-stroke:.45px #24202a;paint-order:stroke fill;text-shadow:1px 1px 0 #221b26,-1px -1px 0 #221b26,0 2px 3px #0008}#ammo small{font-size:21px;font-weight:normal;color:#e9e4ea}#weapon-name{font-size:6px;letter-spacing:1.8px;color:#f4ebf0b5}.weapon-icon{width:58px;height:34px;fill:#f7f6f3;stroke:#27232d;stroke-width:1.1;filter:drop-shadow(0 2px 2px #0008)}.wanted>#money{display:block;margin-top:11px;padding-right:4px;font-size:13px;letter-spacing:.5px;font-weight:normal;color:#fff9f6}
.map-hud{position:absolute;left:25px;bottom:31px;width:220px;height:124px;border-radius:11px;overflow:visible;filter:drop-shadow(0 2px 3px #0006)}#minimap{display:block;width:100%;height:100%;border:1px solid #f9f7fd3b;border-radius:11px;background:#9da0a3bf}#map-distance{position:absolute;left:10px;top:8px;font-size:9px;letter-spacing:.3px;font-weight:bold;color:#fff;text-shadow:0 1px 3px #25222d}.map-label{position:absolute;left:3px;bottom:-15px;font-size:7px;letter-spacing:1.5px;color:#fff9f1d9}.mission{position:absolute;bottom:53px;left:50%;transform:translateX(-50%);width:min(420px,40vw);text-align:center}.mission .eyebrow{display:none}.mission h3{font-size:9px;text-transform:uppercase;letter-spacing:1.8px;font-weight:normal;margin:0 0 7px;color:#f5b4df}.mission p{font-size:12px;line-height:1.5;color:#fff;max-width:420px;margin:0 auto;text-wrap:balance}.mission>span{display:block;color:#ddd3e2b8;font-size:8px;letter-spacing:.8px;margin-top:6px}#vehicle-hud{position:absolute;right:25px;bottom:29px;text-align:right}#vehicle-hud>span{font-size:8px;letter-spacing:2px;color:#fff0f4cc}#vehicle-hud>div{display:flex;justify-content:flex-end;align-items:baseline;gap:7px}#vehicle-hud b{font:normal 57px/.98 Impact,'Arial Narrow',sans-serif;font-style:italic}#vehicle-hud small{font-size:8px;letter-spacing:1px;color:#f4eaf1c4}#vehicle-hud p{font-size:6px;letter-spacing:.7px;opacity:.7;margin:7px 0 0}
.quick-controls{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;white-space:nowrap;gap:15px;font-size:8px;color:#f5eef9a6;opacity:.6}.quick-controls kbd{margin-right:3px;height:15px;min-width:16px;font-size:7px;border-color:#f6e5ff42}#prompt{position:absolute;bottom:127px;left:50%;transform:translateX(-50%);display:flex;gap:10px;align-items:center;background:#191822ad;border-radius:5px;padding:8px 14px 8px 8px;font-size:11px;white-space:nowrap;box-shadow:0 3px 20px #0002}#prompt kbd{height:25px;width:25px;background:#f5edf5;color:#252030;border:0;font-weight:bold;font-size:12px;text-shadow:none}#toast{position:absolute;left:50%;top:81px;transform:translateX(-50%);max-width:min(480px,70vw);padding:10px 18px;background:#211a2dc9;border-left:2px solid #ec9acd;border-radius:3px;font-size:12px;line-height:1.6;text-align:center;box-shadow:0 6px 25px #0c0b1826}#subtitle{position:absolute;left:50%;bottom:183px;transform:translateX(-50%);max-width:min(680px,76vw);width:max-content;padding:7px 15px;background:#111018c4;border-radius:3px;text-align:center;font-size:15px;line-height:1.55;color:#fff;text-shadow:0 1px 2px #000}#subtitle b{color:#f5add6}#resume-mouse{position:absolute;top:58%;left:50%;transform:translateX(-50%);background:#211a2dbd;padding:9px 14px;border:1px solid #e8daed52;border-radius:4px;font-size:10px;color:#f4e8f7}#district-banner{position:absolute;right:30px;bottom:175px;max-width:45vw;font:italic 33px/1.2 Georgia,serif;text-align:right;color:#fff5f8;text-shadow:1px 2px 2px #302239,0 0 20px #6d417c55}
#reticle{position:absolute;left:50%;top:50%;width:20px;height:20px;transform:translate(-50%,-50%);filter:drop-shadow(0 1px 1px #000)}#reticle:after{content:'';position:absolute;left:9px;top:9px;width:2px;height:2px;background:#fff;border-radius:50%}#reticle i{position:absolute;background:#ffffffe6;border-radius:2px}#reticle i:nth-child(1){width:1px;height:5px;left:9px;top:0}#reticle i:nth-child(2){width:1px;height:5px;left:9px;bottom:0}#reticle i:nth-child(3){width:5px;height:1px;left:0;top:9px}#reticle i:nth-child(4){width:5px;height:1px;right:0;top:9px}#hitmarker{position:absolute;left:50%;top:50%;width:22px;height:22px;transform:translate(-50%,-50%) rotate(45deg);background:linear-gradient(#fff,#fff) center/100% 2px no-repeat,linear-gradient(#fff,#fff) center/2px 100% no-repeat;filter:drop-shadow(0 1px 1px #331528)}#focus-effect{position:fixed;inset:0;box-shadow:inset 0 0 140px #9b69b763;pointer-events:none}
#panel-layer{position:fixed;inset:0;z-index:10;background:#17112299;backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;padding:25px}#panel{position:relative;width:520px;max-width:94vw;max-height:88vh;overflow-y:auto;background:linear-gradient(135deg,#292237f5,#1d1d2df8);border:1px solid #cfb4d13d;border-radius:5px;box-shadow:0 30px 110px #0b081aa6;padding:35px;scrollbar-width:thin;scrollbar-color:#84718a transparent}#panel.wide{width:1070px}#panel-close{position:absolute;right:18px;top:12px;background:transparent;border:0;font-size:28px;color:#dac9df}#panel h2{font:normal 31px/1.2 Georgia,serif;margin:16px 0 24px;color:#fff0f7}.menu-action{width:100%;background:#d0b0de0a;margin:8px 0;padding:15px 16px;text-align:left;letter-spacing:.6px;border-color:#d7b8df25;border-radius:3px;font-size:11px}.menu-action:hover:not(:disabled){background:#bf91c827;border-color:#d6a7d75c}.menu-action em{font-style:normal;color:var(--pink);font-size:9px;letter-spacing:.4px}.panel-text{font-size:13px;line-height:1.8;color:#e3d8e9}.panel-note{font-size:11px;line-height:1.7;color:#b9adc8}.controls{display:grid;grid-template-columns:110px 1fr;gap:10px 15px;align-items:center;font-size:11px;color:#d8cde2}.controls kbd{justify-self:start}.setting{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:22px 0;font-size:12px;color:#e1d4e8}.setting select{background:#3a2d47;color:#f2e5f4;border:1px solid #a48eae;padding:8px;border-radius:3px}.setting input{accent-color:var(--pink);width:160px}#full-map{display:block;width:100%;height:auto;aspect-ratio:1000/540;background:#565b64;border:1px solid #ded3e338;border-radius:4px;cursor:crosshair}.map-legend{font-size:10px;display:flex;gap:18px;flex-wrap:wrap;margin:14px 0;color:#ddd3e4}.post{border-top:1px solid #d2b4db25;padding:16px 0}.post b{font-size:10px;color:var(--pink);letter-spacing:.6px}.post p{font-size:13px;line-height:1.7;color:#e3d5e8;margin:8px 0}.post small{font-size:9px;color:#a896b7}.phone-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.phone-grid button{min-height:68px}.slot{display:flex;gap:8px;align-items:center;margin:10px 0}.slot>b{width:23px;color:var(--pink)}.slot button{flex:1;font-size:10px;padding:12px;letter-spacing:0}.stat-line{display:flex;justify-content:space-between;gap:16px;border-bottom:1px solid #c1a8d126;padding:14px 0;font-size:12px}.stat-line b{color:var(--pink);text-align:right}.fiction{border-top:1px solid #c1a8d126;padding-top:17px;margin-top:20px;font-size:10px;line-height:1.8;color:#a795b7}
@keyframes arrive{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:none}}@media(min-width:1700px){.map-hud{width:260px;height:147px}.status-hud{width:240px}.wanted{transform:scale(1.12);transform-origin:top right}.mission{bottom:65px}.mission p{font-size:14px}}
@media(max-width:900px){.intro-header{padding:20px 23px}.intro-copy{left:6vw;top:23vh}.intro-copy h1{font-size:95px}.scene-caption{display:none}.place{font-size:8px}.place small{font-size:6px}.status-hud{left:18px;top:19px;width:160px}.wanted{right:18px;top:16px;transform:scale(.88);transform-origin:top right}.map-hud{left:18px;width:190px;height:107px;bottom:28px}.mission{width:38vw;bottom:49px}.mission p{font-size:10px}.mission h3{font-size:8px}#vehicle-hud{right:18px;bottom:29px}#vehicle-hud b{font-size:46px}#vehicle-hud p{max-width:155px}.quick-controls{gap:9px;font-size:7px}.quick-controls span:first-child{display:none}footer{left:23px;right:23px;font-size:6px}#panel{padding:27px}#subtitle{font-size:12px;bottom:169px}#district-banner{font-size:25px;bottom:146px}}
@media(max-height:720px){.intro-copy{top:21vh}.intro-copy h1{font-size:95px;margin-top:22px}#intro h2{margin:15px 0 20px}.tagline{font-size:17px;margin-bottom:19px}.chapter{margin-top:13px;padding-top:12px}.chapter>span{font-size:27px}.intro-actions{gap:5px}.primary,.secondary{padding:12px 18px}.scene-caption{bottom:16vh}.mission{bottom:44px}.map-hud{bottom:28px}.wanted .weapon-hud{margin-top:11px}#subtitle{bottom:163px}#prompt{bottom:116px}}
@media(max-width:600px){.place{display:none}.intro-copy{top:22vh}.intro-copy h1{font-size:76px}.intro-copy h2{font-size:9px!important;letter-spacing:6px!important}.intro-header{padding:17px 20px}.intro-actions,.chapter{width:285px}.status-hud{width:135px}.person span{display:none}.map-hud{width:155px;height:88px;left:12px}.mission{left:185px;right:14px;bottom:67px;transform:none;width:auto;text-align:left}.mission p{font-size:9px}.mission>span{font-size:6px}.mission h3{font-size:7px}#vehicle-hud{bottom:14px}#vehicle-hud>span,#vehicle-hud p{display:none}#vehicle-hud b{font-size:30px}.quick-controls{left:185px;right:auto;transform:none;bottom:15px;gap:8px}.quick-controls span:nth-child(2),.quick-controls span:last-child{display:none}#prompt{max-width:90vw;white-space:normal;font-size:10px;bottom:133px}#district-banner{max-width:65vw;font-size:22px}.wanted{transform:scale(.75)}footer span:last-child{display:none}#panel h2{font-size:25px}.controls{grid-template-columns:85px 1fr;font-size:10px}.setting{font-size:10px}.setting input{width:115px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
#cinematic{position:fixed;inset:0;z-index:30;color:#fff4de;pointer-events:none}.cinema-top,.cinema-bottom{position:absolute;left:0;right:0;background:#080b0d;z-index:2}.cinema-top{top:0;height:8.5vh;min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;font-size:10px;letter-spacing:3px}.cinema-top i{font-style:normal;opacity:.45;margin-left:25px;font-size:8px}.cinema-top button{pointer-events:auto;background:transparent;border:1px solid #fff3;padding:9px 14px;font-size:10px;color:#fff9;letter-spacing:1px}.cinema-top kbd{margin-left:10px;font-size:9px}.cinema-bottom{bottom:0;min-height:11vh;display:grid;place-items:center;padding:18px 9vw}.cinema-bottom p{font-size:clamp(13px,1.15vw,18px);line-height:1.5;text-align:center;max-width:900px;margin:0}.cinema-caption{position:absolute;left:6vw;bottom:18vh;max-width:75vw;text-shadow:0 3px 18px #000;z-index:1}.cinema-caption>span{font-size:9px;letter-spacing:4px;color:#f1cba5}.cinema-caption h2{font:italic clamp(24px,3vw,48px)/1.2 Georgia,serif;margin:12px 0}.cinema-bottom #cinematic-progress{position:absolute;bottom:0;left:0;height:2px;background:#eeb79e;opacity:.55}#cinematic-fade{position:absolute;inset:0;background:#05090b;z-index:3;pointer-events:none}
#activity-status{position:absolute;left:25px;top:83px;padding:8px 11px;background:#18151fc4;border-left:2px solid #f5bd82;font-size:8px;letter-spacing:1.4px;max-width:340px;color:#ffe4c5}.dart-score{display:flex;justify-content:space-between;align-items:center;margin:20px 0}.dart-score>span{display:flex;gap:8px}.dart-score b{display:grid;place-items:center;width:42px;height:45px;border:1px solid #fff2;color:#edbb88;font-size:18px}.dart-score strong{font:38px Georgia,serif}.dart-score small{display:block;font:8px sans-serif;letter-spacing:3px;text-align:right;color:#ffffff70}.dart-meter{height:36px;position:relative;background:linear-gradient(90deg,#52253b,#a66b50 20%,#4c8a74 44%,#eea581 48%,#7b3349 49%,#7b3349 51%,#eea581 52%,#4c8a74 56%,#a66b50 80%,#52253b);margin:25px 0 14px;border:1px solid #ffffff35}.dart-center{position:absolute;left:50%;height:100%;border-left:1px solid #fff8}.dart-meter>b{position:absolute;top:-5px;bottom:-5px;width:3px;background:#fff;box-shadow:0 0 9px #fff9;transform:translateX(-50%)}#panel.darts-panel{position:absolute;right:30px;top:50%;transform:translateY(-50%);width:370px;padding:28px;background:#1c1b22ec;border:1px solid #d3a27770;box-shadow:0 20px 80px #0007}#panel-layer:has(.darts-panel){background:transparent;backdrop-filter:none}#panel.darts-panel h2{font-size:28px}@media(max-width:700px){#panel.darts-panel{width:min(340px,90vw);right:5vw}.cinema-top i{display:none}.cinema-caption{bottom:23vh}.cinema-bottom{min-height:16vh;padding:12px 6vw}}

/* Dialogue and interaction prompts grow above the objective instead of covering it. */
.mission #prompt,.mission #subtitle{position:relative;inset:auto;left:50%;transform:translateX(-50%);width:max-content;max-width:min(680px,76vw);margin:0 0 12px;white-space:normal}

#speedrun-timer{position:fixed;top:76px;right:28px;z-index:120;padding:9px 14px;background:#111924e8;border-left:3px solid #ffd568;color:#fff5db;font:700 18px monospace;pointer-events:none;font-variant-numeric:tabular-nums}#speedrun-timer[hidden]{display:none}
.rank-table{overflow:auto;max-height:44vh}.rank-table table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}.rank-table th{color:#d6b5e7;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.rank-table td,.rank-table th{padding:13px 9px;border-bottom:1px solid #ffffff15}.rank-table td:nth-child(3){font-variant-numeric:tabular-nums;white-space:nowrap}.rank-own{background:#f3a5d416;padding:18px;margin:0 0 20px;border-left:3px solid #f3a5d4}.rank-own small{display:block;font-size:10px;letter-spacing:.17em}.rank-own strong{font-size:30px;font-variant-numeric:tabular-nums}.rank-own p{font-size:13px;margin:8px 0 0}
.rank-code{display:block;letter-spacing:.3em;color:#ffd568;font-size:42px!important;margin:12px 0}#rank-claim{margin-top:18px;padding-top:12px;border-top:1px solid #ffffff20}#rank-claim a{color:#e6b6ff}

#seatbelt-toggle,#radio-toggle{display:block;margin-left:auto;pointer-events:auto;margin-top:10px;padding:8px 10px;border:1px solid #f0c68488;border-radius:5px;background:#24232cdd;color:#ffe0a5;font:700 10px Arial;letter-spacing:.4px;cursor:pointer}#seatbelt-toggle[aria-pressed="true"],#radio-toggle[aria-pressed="true"]{border-color:#98d9a8;color:#bcf4c9;background:#173326e8}
#loading-screen{position:fixed;inset:0;z-index:99990;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#101823;color:#fff9f6;text-align:center;padding:24px}
#loading-screen strong{font:600 24px/1.3 'Trebuchet MS',sans-serif;letter-spacing:.04em}#loading-detail{color:#c4c4d5;font:14px/1.5 'Trebuchet MS',sans-serif}
.map-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.map-actions .menu-action{margin:0}@media(max-width:600px){.map-actions{grid-template-columns:1fr}}
.setting input[type=checkbox]{width:auto;accent-color:var(--pink)}
#activity-status:empty{display:none!important}
.welcome-intro{font-size:14px;line-height:1.6;color:#e1d4e8;margin:0 0 22px}.welcome-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.welcome-grid section{padding:18px;background:#ffffff04;border:1px solid #e8b4dc29;border-radius:5px}.welcome-grid small{font-size:9px;letter-spacing:1.3px;color:#efaed1}.welcome-grid h3{font:21px/1.2 Georgia,serif;margin:11px 0;color:#fff0f7}.welcome-grid p,.welcome-tips{font-size:12px;line-height:1.8;color:#d9cfdf;margin:0}.welcome-guide kbd,.welcome-guide code{font-size:11px;white-space:nowrap}.welcome-guide code{color:#afe6dc}.welcome-tips{margin:20px 0 16px;padding-left:13px;border-left:2px solid #efaed1}.welcome-tips b{color:#fff0f7}@media(max-width:900px){.welcome-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.welcome-grid{grid-template-columns:1fr}.welcome-grid section{padding:14px}}

/* Admin controls share the game panel and remain readable at narrow widths. */
#panel-body:has(#admin-target) label{display:grid;gap:.5rem;font-size:14px;margin:1rem 0}#panel-body:has(#admin-target) input,#panel-body:has(#admin-target) select{width:100%;min-width:0;padding:.7rem;background:#30263e;color:#fff;border:1px solid #a48eae;border-radius:3px}#panel-body:has(#admin-target) .menu-action,#panel-body:has(#admin-target) .panel-note{font-size:14px}#panel-body:has(#admin-target) h3{font-size:17px;margin-top:1.5rem}#admin-feedback{min-height:1.6em;color:#9ae7e5}#panel-body:has(#admin-target) form{border-top:1px solid #cfb4d13d;padding-top:.5rem}.slot[data-save-slot="auto"]{border-top:1px solid #cfb4d13d;padding-top:1rem}.slot[data-save-slot="auto"] span{flex:1;font-size:14px}

#speedrun-tasks{position:fixed;z-index:31;top:124px;right:28px;padding:8px 12px;background:#111d29e8;color:#fff;border:1px solid #637486;border-radius:5px;cursor:pointer}#speedrun-tasks[hidden]{display:none}
