:root{font-family:ui-rounded,'Avenir Next','Trebuchet MS',system-ui,sans-serif;color:#193f36;background:#adccbd;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:0;color:inherit}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #f9a14f;outline-offset:5px}button:hover{filter:brightness(1.06)}button:active{transform:translateY(1px)}[hidden]{display:none!important}#game{position:fixed;inset:0;width:100%;height:100%;touch-action:none;outline:none}header{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:26px 35px;pointer-events:none;z-index:4}.wordmark{font-size:29px;letter-spacing:-1.8px;font-weight:900;color:inherit;text-decoration:none;pointer-events:auto;white-space:nowrap}.wordmark span{font-size:20px;margin:0 4px;font-weight:500}.wordmark i{font-style:normal;margin-left:10px;color:#e47848}.top-actions{display:flex;align-items:center;gap:10px;pointer-events:auto}#location{font-size:10px;font-weight:800;letter-spacing:1.5px;margin-right:14px;background:#f9f8e7c9;padding:12px 18px;border-radius:30px}.round{border:1px solid #ffffff75;background:#f9f8e7d9;width:42px;height:42px;border-radius:50%;font-size:20px;position:relative}#sound-mark{position:absolute;font-size:14px;right:7px;bottom:4px}.welcome{position:fixed;z-index:2;top:50%;left:6.5%;transform:translateY(-46%);max-width:540px;pointer-events:none}.welcome .eyebrow{margin-bottom:24px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;display:flex;align-items:center;gap:8px}.eyebrow i{width:7px;height:7px;border-radius:50%;background:#df7543}h1{font-size:clamp(45px,5.4vw,84px);line-height:1.04;letter-spacing:-4px;font-weight:850;margin:0 0 24px}h1 em{font-style:normal;color:#607b49}p{line-height:1.65}.welcome>p{font-size:14px;color:#486354;max-width:400px;margin-bottom:25px}.primary{background:#d9f485;border-radius:13px;padding:17px 24px;font-weight:800;box-shadow:0 5px 0 #193f3615;pointer-events:auto}.primary span{margin-left:48px}.welcome-note{font-size:9px;letter-spacing:1.6px;margin-top:22px;opacity:.65}#hero-caption{position:fixed;bottom:34px;right:7%;font-size:10px;font-weight:800;letter-spacing:2px}#hero-caption span{display:block;font-size:12px;font-weight:400;letter-spacing:0;margin-top:7px;opacity:.7}#loading{position:fixed;inset:0;background:#f4f2e6;z-index:30;display:flex;align-items:center;justify-content:center;flex-direction:column}.load-mark{font-size:80px;font-weight:900;letter-spacing:-10px;margin-bottom:15px}.load-mark span{font-size:40px;color:#e47848;margin-left:10px}#loading b{font-size:18px}#loading p{font-size:12px;color:#6b8072}.load-track{width:220px;height:4px;border-radius:5px;background:#dbe1d1;margin-top:10px;overflow:hidden}.load-track i{display:block;height:100%;width:0;background:#54815c;transition:width .3s}.mission{position:fixed;top:108px;left:35px;width:290px;background:#fbfaeced;padding:22px 24px;border-radius:18px;box-shadow:0 10px 45px #244f2f12}.mission .eyebrow{font-size:8px;letter-spacing:1.5px;color:#768565}.mission h2{font-size:24px;line-height:1.15;letter-spacing:-.8px;margin:10px 0}.mission p{font-size:12px;margin:0;color:#607464}#round-stats{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #d9dec9;padding-top:14px;margin-top:14px}#phase{font-size:8px;letter-spacing:.8px;font-weight:800}#timer{font-size:23px;font-variant-numeric:tabular-nums}#toast{position:fixed;top:110px;left:50%;transform:translate(-50%,-15px);max-width:min(440px,70vw);background:#193f36ec;color:#f5f5e9;padding:14px 22px;border-radius:14px;font-size:13px;text-align:center;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none}#toast.visible{opacity:1;transform:translate(-50%,0)}#interact{position:fixed;bottom:150px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;background:#fbfaebf0;padding:11px 17px;border-radius:14px;font-size:13px;font-weight:750;white-space:nowrap}kbd{font-family:inherit;font-size:9px;border:1px solid #57746440;padding:4px 6px;border-radius:4px;font-weight:800}#interact kbd{font-size:14px;background:#193f36;color:white;padding:6px 10px;border:0}#interact-touch{background:#d9f485;border-radius:8px;padding:6px 12px}.bottom-left{position:fixed;bottom:26px;left:35px}#companion{display:flex;align-items:center;gap:10px;margin-bottom:20px}.companion-dot{border-radius:50%;background:#fff3df;border:3px solid #ffffffa0;width:42px;height:42px;display:grid;place-items:center;font-size:24px;color:#b7794a}#companion b{display:block;font-size:13px}#companion small{font-size:10px;opacity:.75;display:block;margin-top:2px}.energy{display:flex;align-items:center;gap:12px;margin-bottom:18px}.energy>span{font-size:8px;letter-spacing:1.5px;font-weight:800}.energy>div{width:125px;height:5px;background:#193f3635;border-radius:5px;overflow:hidden}#energy-bar{display:block;width:100%;height:100%;background:#4f784e}.desktop-controls{display:flex;align-items:center;gap:13px;font-size:9px;color:#355b46}.desktop-controls span{display:flex;align-items:center;gap:5px}.map-wrap{position:fixed;bottom:26px;right:32px;width:156px;height:180px}#minimap{width:156px;height:156px;border:5px solid #fffbedbd;border-radius:50%;background:#e0e9cc;box-shadow:0 5px 25px #193f3610}#map-label{display:block;font-size:8px;font-weight:800;text-align:center;letter-spacing:2px;margin-top:9px}#map-button{position:absolute;right:-4px;bottom:26px;width:33px;height:33px;border-radius:50%;background:#fdfaea;font-size:18px}dialog{border:0;border-radius:24px;background:#f7f6eb;color:#193f36;padding:38px;width:min(850px,90vw);box-shadow:0 30px 100px #152b3366;max-height:90dvh;overflow:auto}dialog::backdrop{background:#153a3d75;backdrop-filter:blur(6px)}dialog h2{font-size:38px;letter-spacing:-1.8px;margin:12px 0 0}dialog>p{font-size:13px;color:#74816c;margin:10px 0 25px}.close{position:absolute;right:20px;top:18px;border-radius:50%;width:32px;height:32px;font-size:23px;background:#e5e7d8}.destinations{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.destinations>button{text-align:left;border:1px solid #d9dece;padding:22px 18px;border-radius:16px;background:#fffef4;transition:background .2s}.destinations>button:hover{background:#e9f0d8}.dest-icon{font-size:33px;border-radius:14px;display:grid;place-items:center;width:65px;height:65px;margin-bottom:25px}.green{background:#dbe9c7}.orange{background:#f3ddc6}.purple{background:#e2d7ed}.destinations small{font-size:8px;font-weight:750;letter-spacing:1px}.destinations b{display:block;font-size:22px;letter-spacing:-.8px;margin:10px 0}.destinations p{font-size:11px;line-height:1.6;min-height:38px;color:#738270}.dest-link{display:block;font-size:11px;font-weight:750;border-top:1px solid #e1e4d7;padding-top:15px;margin-top:20px}.menu-footer{display:flex;align-items:center;justify-content:space-between;margin-top:25px;font-size:10px;color:#71806e}.menu-footer button{background:transparent;font-size:12px;font-weight:750}.secondary{padding:16px 20px;border-radius:13px;background:#e6eadc;font-weight:750}#result{width:min(470px,90vw);text-align:center;padding:40px}#result .eyebrow{justify-content:center}.result-icon{font-size:70px;margin-top:15px;color:#df8753}#result h2{font-size:34px}.result-actions{display:flex;gap:10px;justify-content:center}#flash{position:fixed;inset:0;pointer-events:none;border:0 solid #ed7699;transition:opacity .6s;opacity:0;box-shadow:inset 0 0 120px 40px #f074a8}#touch{display:none}body.bus{color:#fff6e6}body.bus .wordmark{color:#fff6e6}body.bus .top-actions,body.bus .bottom-left,body.bus #map-label{color:#eee9f6}body.bus .round,body.bus #location{background:#34304be0;color:#faf6ed}body.bus .energy>div{background:#ffffff40}body.bus #energy-bar{background:#d9f485}body.bus .desktop-controls{color:#eee4f9}
@media(max-width:800px){header{padding:20px}.wordmark{font-size:23px}#location{font-size:8px;padding:10px;letter-spacing:.8px;margin-right:0}.welcome{left:7%;max-width:330px}h1{font-size:54px;letter-spacing:-2.8px}.welcome>p{font-size:12px}.mission{top:86px;left:20px;width:245px;padding:18px}.mission h2{font-size:21px}.mission p{font-size:11px}.bottom-left{left:20px}.desktop-controls{gap:8px;max-width:420px;flex-wrap:wrap}.map-wrap{right:20px;width:125px;height:149px}#minimap{width:125px;height:125px}#toast{top:92px;left:auto;right:20px;transform:none;width:250px;max-width:45vw}#toast.visible{transform:none}#hero-caption{right:5%;font-size:8px}dialog{padding:28px}.destinations>button{padding:16px 12px}.destinations b{font-size:19px}}
@media(pointer:coarse){#touch{display:block}.desktop-controls{display:none}#joystick{position:fixed;bottom:28px;left:28px;width:104px;height:104px;border:2px solid #ffffff90;border-radius:50%;background:#f9f6e644;touch-action:none}#joystick i{display:block;position:absolute;left:31px;top:31px;width:38px;height:38px;border-radius:50%;background:#f7f4dfcc;box-shadow:0 3px 12px #193f3620}.touch-actions{position:fixed;bottom:30px;right:28px;display:flex;gap:15px}.touch-actions button{border-radius:50%;width:58px;height:58px;font-size:24px;background:#faf5d9cf;touch-action:none}.map-wrap{bottom:115px;width:96px;height:115px}#minimap{width:96px;height:96px}.bottom-left{bottom:148px}.energy{margin-bottom:0}#companion{margin-bottom:12px}#interact{bottom:45px;font-size:11px;white-space:normal;max-width:40vw}#interact kbd{display:none}}
@media(max-width:540px){#location{display:none}.welcome{top:auto;bottom:12%;transform:none;left:7%;max-width:90%}h1{font-size:45px;line-height:1.02;margin-bottom:14px}.welcome .eyebrow{font-size:8px;margin-bottom:15px}.welcome>p{max-width:270px}.welcome-note{font-size:7px;margin-top:16px}#hero-caption{display:none}.mission{width:205px;top:80px;padding:15px}.mission h2{font-size:19px}.mission .eyebrow{font-size:7px}.mission p{font-size:10px}#round-stats{padding-top:9px;margin-top:9px}#timer{font-size:18px}#toast{top:250px;left:50%;right:auto;transform:translateX(-50%);max-width:80vw;width:auto}#toast.visible{transform:translateX(-50%)}.destinations{grid-template-columns:1fr;gap:9px}.destinations>button{position:relative;padding:15px 15px 15px 85px;min-height:100px}.dest-icon{position:absolute;left:14px;top:17px;width:52px;height:52px;font-size:27px}.destinations b{font-size:20px;margin:5px 0}.destinations p{margin:4px 0;min-height:0;font-size:10px}.dest-link{display:none}dialog h2{font-size:28px}dialog{padding:25px}dialog>p{margin:8px 0 18px}.menu-footer>span{display:none}.result-actions{flex-direction:column}#result{padding:30px}.welcome .primary{padding:14px 20px}}

.mission,#interact{color:#193f36}body.bus #map-button{color:#193f36}
/* Formal edition: quieter typography, oxblood and ivory, compact game chrome. */
:root{color:#312d30;font-family:'Avenir Next',Avenir,system-ui,sans-serif}.wordmark{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:28px;letter-spacing:-1.1px}.wordmark span{font-size:20px;font-style:italic;margin:0 5px}.wordmark i{display:none}.welcome{max-width:420px}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(52px,6.3vw,89px);font-weight:400;line-height:1.04;letter-spacing:-3.8px}h1 em{color:#613744;font-weight:400}.eyebrow{font-weight:600;letter-spacing:2.2px;font-size:9px}.welcome>p{font-size:13px;color:#514b49;line-height:1.8}.primary{border-radius:3px;background:#613744;color:#f7f3ed;box-shadow:none;padding:16px 23px;font-size:12px;font-weight:600}.welcome-note{font-size:10px;letter-spacing:.2px;margin-top:18px;color:#675c54}.welcome .eyebrow{color:#67524f}#hero-caption{font-size:9px;letter-spacing:1.8px;color:#65544d}#hero-caption span{font-size:11px}.load-mark{font-family:Georgia,serif;font-weight:400;letter-spacing:-5px}.load-mark span{font-size:37px;letter-spacing:-2px;color:#6c4351}.load-track i{background:#613744}#location{border-radius:3px;background:#f4efe4d9;font-size:9px;font-weight:500;letter-spacing:1.2px}.round{border-radius:4px;border:0;width:37px;height:37px;font-size:17px;background:#f4efe4d9}.mission{width:257px;padding:17px 20px;border-radius:4px;box-shadow:none;background:#f8f5eceb;border-left:2px solid #754a59}.mission h2{font-size:21px;font-weight:500;letter-spacing:-.6px}.mission .eyebrow{color:#805b68;font-weight:600}.mission p{font-size:11px;color:#66605a}.mission,#interact{color:#312d30}#toast{border-radius:3px;background:#3b3034ef;font-size:12px;font-weight:400}#interact{border-radius:4px;font-size:11px;font-weight:500;padding:9px 12px}#interact kbd{background:#613744;font-size:12px}#interact-touch{background:#ddd0d0;border-radius:3px}.companion-dot{color:#805565;background:#f5eee4;border:1px solid #e5d9ce;font-size:19px;width:35px;height:35px}#companion b{font-weight:500}#companion small{font-size:9px}.energy>span{font-size:7px;letter-spacing:1px}.energy>div{height:3px}#energy-bar{background:#805565}#minimap{border-width:3px}.desktop-controls{font-size:9px;color:#4a4a42}.secondary{border-radius:3px;background:#e6dfd7;font-weight:500;font-size:12px}dialog{border-radius:7px;background:#f5f1e9;box-shadow:0 25px 80px #251a2440;color:#312d30}dialog h2{font-family:Georgia,serif;font-weight:400;font-size:36px;letter-spacing:-1.3px}dialog>p{color:#756a64;font-size:12px}.close{background:transparent;font-weight:300}.destinations>button{border-radius:3px;border-color:#d8cfc4;background:transparent}.destinations>button:hover{background:#ebe3d9}.destinations b{font-family:Georgia,serif;font-weight:400;font-size:25px}.destinations small{font-size:7px;letter-spacing:1px;font-weight:500}.destinations p{color:#756a64}.dest-icon{font-family:Georgia,serif;font-weight:400;background:transparent!important;border:1px solid #cdbdb7;width:47px;height:47px;border-radius:50%;font-size:21px;color:#754a59}.dest-link{font-size:10px;font-weight:500;border-color:#d8cfc4}.wardrobe-link{font-size:12px;color:#613744;text-underline-offset:4px}.menu-footer{color:#756a64}.result-icon{color:#805565}.result-actions .primary{font-weight:500}#result h2{font-family:Georgia,serif}body.bus #energy-bar{background:#c2a5ac}
@media(max-width:800px){.welcome{max-width:350px}h1{font-size:65px}.mission{width:230px}#location{font-size:8px}.wordmark{font-size:24px}}
@media(max-width:540px){h1{font-size:52px;letter-spacing:-2px}.welcome>p{max-width:310px;font-size:12px}.welcome{bottom:12%}.welcome .eyebrow{font-size:8px}.welcome-note{font-size:9px}.mission{width:205px;padding:14px 16px}.mission h2{font-size:19px}.destinations b{font-size:23px}.dest-icon{font-size:20px;width:47px;height:47px}.menu-footer .wardrobe-link{display:block}}
/* An in-game title screen, with the couple occupying the center of the scene. */
.welcome{inset:120px 0 55px;transform:none;max-width:none;text-align:center;display:flex;flex-direction:column;align-items:center}.welcome .eyebrow{margin-bottom:16px;font-size:8px}.welcome h1{font-size:clamp(44px,5.7vw,76px);letter-spacing:-3px;margin:0 0 13px;color:#332b2e}.welcome>p{font-size:12px;margin:0;max-width:330px}.welcome .primary{margin-top:auto;min-width:190px}.welcome-note{margin-top:14px;font-size:9px}#hero-caption{display:none}@media(max-width:540px){.welcome{inset:125px 0 45px;max-width:none}.welcome h1{font-size:47px;letter-spacing:-2px}.welcome .eyebrow{margin-bottom:13px}.welcome>p{font-size:11px}.welcome .primary{padding:14px 22px}}

/* Venue plan follows the supplied wedding layout. */
#menu{max-height:90dvh;overflow:auto;width:min(820px,94vw)}
#venue-plan{position:relative;aspect-ratio:112/77;background:#879774;border:8px solid #e6e0d4;border-radius:12px;margin:20px 0 12px}
.venue-zone{position:absolute;border:3px solid #879774;border-radius:9px;background:var(--zone);color:#302e28;font:600 13px Georgia,serif;cursor:pointer;display:grid;place-content:center;padding:5px;transition:filter .15s}
.venue-zone:hover{filter:brightness(1.12);outline:2px solid #592a38;z-index:5}.zone-hall{place-content:start center;padding-top:12px}.zone-games:after{content:'Paintball + Party bus';font:10px system-ui;margin-top:6px}.zone-bar{color:#fff}.zone-reception{font-size:12px}
#menu .destinations{margin:16px 0;gap:10px}#menu .destinations>button{padding:16px}#menu .dest-icon{display:none}#menu .destinations p{font-size:12px;margin:8px 0}#menu .destinations b{font-size:23px}#menu #aerial{width:100%}
.map-wrap,#minimap{border-radius:14px}.map-wrap{background:#c8d6ac}
#aerial-ui{position:fixed;inset:0;pointer-events:none;z-index:8;padding:28px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}#aerial-ui[hidden]{display:none}#aerial-ui>div{background:#f6f1e7ed;border:1px solid #d6cbbb;padding:16px 22px;border-radius:12px}#aerial-ui h2{font:28px Georgia,serif;margin:7px 0}#aerial-ui span{font-size:10px;letter-spacing:.2em}#aerial-ui p{font-size:12px;line-height:1.7;margin:0}#exit-aerial{pointer-events:auto;align-self:center}.overview #hud,.overview header{display:none}
@media(max-width:600px){.venue-zone{font-size:10px;padding:2px}.zone-games:after{font-size:8px}.zone-reception{font-size:9px}#menu .destinations{grid-template-columns:1fr}#menu .destinations>button{min-height:0}#menu .destinations p,#menu .dest-link{display:none}#aerial-ui{padding:12px}#aerial-ui>div{padding:10px 15px}#aerial-ui h2{font-size:22px}}

.aerial-tag{position:absolute;transform:translate(-50%,-50%);padding:4px 9px;border-radius:5px;background:#f8f4e8e8;color:#403b32;font:10px system-ui!important;letter-spacing:.02em!important;white-space:nowrap}.aerial-tag[data-zone=hall]{transform:translate(-50%,18px)}

#objective-guide{display:flex;align-items:center;gap:10px;margin-top:14px;font-size:11px;color:#6a384a}#objective-guide[hidden]{display:none}#objective-arrow{font:24px Georgia,serif;display:inline-block;font-style:normal;width:22px;text-align:center}
#story-steps{display:flex;gap:8px;list-style:none;padding:0;margin:18px 0;counter-reset:none}#story-steps li{flex:1;font-size:11px;line-height:1.6;padding:10px;background:#e8e4dc;border-radius:7px;color:#888077}#story-steps .current{background:#6a384a;color:#fff8eb}#story-steps .done{color:#416047;background:#dce4d4}
.destinations button:disabled{opacity:.55;cursor:not-allowed}.venue-zone:disabled{cursor:default;opacity:.85}.venue-zone:disabled:hover{filter:none;outline:none}.text-button{background:none;border:0;color:#746457;font-size:12px;text-decoration:underline;cursor:pointer}
#ceremony{position:fixed;inset:auto 0 28px;margin:0 auto;width:min(440px,90vw);padding:22px 28px;text-align:center;background:#f8f3e9f5;border:1px solid #ddd0bb;border-radius:16px;box-shadow:0 15px 60px #30231a26}#ceremony::backdrop{background:#1d1b1508;backdrop-filter:none}#ceremony h2{font:32px Georgia,serif;margin:9px 0}#ceremony p{font-size:13px;line-height:1.6}#ceremony blockquote{font:italic 20px Georgia,serif;margin:16px 0}#ceremony button{width:100%}.ceremony #hud,.ceremony header{display:none}#restart-dialog{max-width:420px}#restart-dialog p{line-height:1.6}#restart-dialog button{margin:6px 0}
@media(max-width:600px){#story-steps{gap:4px}#story-steps li{font-size:10px;padding:7px}#ceremony{bottom:12px;padding:15px 20px}#ceremony h2{font-size:25px}}

.companion-setting{display:flex;align-items:center;gap:10px;font-size:13px;padding:14px 0;border-top:1px solid #d9d0c3}.companion-setting[hidden]{display:none}#show-clari{accent-color:#6a384a;width:17px;height:17px}#companion-switch{padding:9px 0;text-align:left}#companion-switch[hidden]{display:none}

/* Look pass: one family of soft ivory panels that stays legible over the brighter 3D scene. */
:root{--panel:#fbf6ecee;--ink:#2f2629;--muted:#6b5d5f;--wine:#6a2e40;--line:#e6dac8;--lift:0 8px 30px #2a1a1026}
body.bus{--panel:#241c30e8;--ink:#f8f0e6;--muted:#d6cade;--line:#ffffff26;--lift:0 8px 30px #00000055}
header{padding:20px 28px}
.wordmark,#location,.round,.mission,.bottom-left,.map-wrap,#interact{background:var(--panel);color:var(--ink);box-shadow:var(--lift);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.wordmark{padding:8px 16px 10px;border-radius:12px;font-size:22px;letter-spacing:-.5px}
body.bus .wordmark,body.bus .round,body.bus #location{background:var(--panel);color:var(--ink)}
#location{padding:13px 16px;border-radius:12px;font-weight:600;font-size:9px;margin-right:4px}
.round{width:40px;height:40px;border-radius:12px}
.mission{top:88px;left:28px;width:272px;padding:18px 20px 18px 24px;border-radius:14px;border-left:0}
.mission::before{content:'';position:absolute;left:10px;top:18px;bottom:18px;width:3px;border-radius:3px;background:var(--wine)}
.mission .eyebrow{color:var(--wine);font-size:8px}.mission h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:24px;letter-spacing:-.5px;margin:8px 0}.mission p{font-size:12px;line-height:1.55;color:var(--muted)}
body.bus .mission .eyebrow{color:#ffb7d9}body.bus .mission::before{background:#ff8fd0}
#objective-guide{margin-top:12px;padding-top:11px;border-top:1px solid var(--line);font-size:12px;font-weight:600;color:var(--wine)}#objective-arrow{font-size:20px;line-height:1}
#round-stats{border-top-color:var(--line)}#timer{font-family:Georgia,serif;font-weight:400;font-size:26px}
.bottom-left{left:28px;bottom:24px;padding:14px 16px;border-radius:14px;min-width:252px}
#companion{margin-bottom:6px}.companion-dot{background:var(--wine);color:#fbf1e6;border:0;width:34px;height:34px;font-size:17px}#companion b{font:400 17px Georgia,serif}#companion small{color:var(--muted)}
#companion-switch{padding:2px 0 10px;color:var(--muted);font-size:11px}
.energy{margin:2px 0 0;gap:10px}.energy>span{font-size:8px;color:var(--muted)}.energy>div{flex:1;height:5px;background:#2f262922}body.bus .energy>div{background:#ffffff30}
#energy-bar,body.bus #energy-bar{background:linear-gradient(90deg,#8a3b54,#d39a62);border-radius:5px}
.desktop-controls,body.bus .desktop-controls{margin-top:12px;padding-top:11px;border-top:1px solid var(--line);color:var(--muted);gap:11px}kbd{border-color:var(--line);color:var(--ink)}
.map-wrap{right:28px;bottom:24px;width:168px;height:auto;padding:6px 6px 9px;border-radius:16px}
#minimap{display:block;width:156px;height:156px;border:0;border-radius:11px;box-shadow:none}
#map-label,body.bus #map-label{margin-top:8px;color:var(--muted);font-size:8px}
#map-button,body.bus #map-button{right:12px;bottom:36px;width:30px;height:30px;border-radius:10px;background:var(--wine);color:#fbf1e6;font-size:15px}
#interact{bottom:138px;padding:10px 12px 10px 10px;border-radius:14px;font-size:13px;font-weight:600}#interact kbd{border-radius:8px;padding:6px 10px;color:#fbf1e6;background:var(--wine)}#interact-touch{border-radius:8px;background:var(--line);color:var(--ink)}
#toast{top:92px;border-radius:12px;background:#2f2629e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:12px 20px;box-shadow:var(--lift)}
.primary,.secondary{border-radius:12px}.primary{background:var(--wine);box-shadow:0 8px 24px #4a1b2a40}.primary:hover{filter:brightness(1.12)}
dialog{border-radius:20px;background:#fbf6ec}#ceremony{border-radius:20px;border:0;background:#fbf6ecf2;box-shadow:0 18px 60px #2a1a1040}#ceremony h2{font-size:34px}#ceremony p{font-size:15px}
#venue-plan{border-radius:14px;border-width:6px}.venue-zone{border-radius:8px}#story-steps li{border-radius:10px}.destinations>button{border-radius:12px}
#aerial-ui>div{max-width:min(300px,60vw);border-radius:14px;border:0;background:var(--panel);box-shadow:var(--lift)}.aerial-tag{border-radius:8px;background:var(--panel);box-shadow:var(--lift);padding:5px 10px}
/* Title: the name sits in the open sky above Ace. */
.welcome{inset:104px 0 46px}.welcome .eyebrow{color:var(--wine);letter-spacing:3px}.welcome h1{font-size:clamp(50px,7vw,96px);letter-spacing:-3px;color:#3a2028;text-shadow:0 2px 30px #fff6e6cc,0 0 2px #fff6e6}
.welcome>p{font-size:14px;color:#4a3338;text-shadow:0 1px 14px #fff6e6}.welcome .primary{padding:18px 30px;font-size:14px;min-width:230px}
.welcome-note{background:var(--panel);padding:7px 14px;border-radius:20px;font-size:10px;color:var(--muted);box-shadow:var(--lift)}
#loading{background:radial-gradient(circle at 50% 40%,#fff9ee,#f3e3cf)}.load-track{background:#e6d6c2}
@media(max-width:800px){header{padding:16px}.wordmark{font-size:19px}.mission{top:76px;left:16px;width:236px;padding:15px 16px 15px 22px}.mission h2{font-size:20px}.mission p{font-size:11px}.bottom-left{left:16px;bottom:16px;min-width:0}.map-wrap{right:16px;bottom:16px;width:137px}#minimap{width:125px;height:125px}#toast{top:76px}}
@media(pointer:coarse){.bottom-left{bottom:148px}.map-wrap{bottom:112px;width:108px}#minimap{width:96px;height:96px}#interact{bottom:288px;max-width:78vw}}
@media(pointer:coarse) and (max-height:520px){#interact{bottom:auto;top:76px}}
@media(max-width:540px){.mission{width:208px;top:72px;padding:13px 14px 13px 20px}.mission h2{font-size:19px}.mission p{font-size:10.5px}.welcome{inset:108px 0 40px}.welcome h1{font-size:50px;letter-spacing:-2px}.welcome>p{font-size:12px}#toast{top:238px}}

/* Gift note: shown after the paintball win and kept in the menu. */
.gift{margin:4px 0 22px;padding:16px 20px;border-radius:14px;background:#6a2e40;color:#fbf1e6;text-align:left}.gift[hidden]{display:none}.gift span{font-size:9px;font-weight:600;letter-spacing:2.2px;color:#e9c9a4}.gift p{margin:6px 0 0;font:400 20px/1.35 Georgia,'Times New Roman',serif;color:#fbf1e6}#menu-gift{margin:16px 0 0}
