*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;font-family:Arial,Helvetica,sans-serif;background:#16151b;color:#f8f1e5}button,input{font:inherit}button{cursor:pointer;color:inherit}#game{position:relative;height:100dvh;width:100%;isolation:isolate}canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}header{position:absolute;z-index:2;top:max(24px,env(safe-area-inset-top));left:max(28px,env(safe-area-inset-left));right:max(28px,env(safe-area-inset-right));display:flex;align-items:center;justify-content:space-between;pointer-events:none}.brand{font-size:30px;letter-spacing:5px;font-weight:500}.dot{color:#c8ee9d;font-size:10px;vertical-align:top;display:inline-block;margin:4px 0 0 4px}.location{font-size:10px;letter-spacing:2px;margin-top:8px;color:#cec2b8}.location span{padding:0 9px;color:#8f8177}button{border:1px solid #ffffff30;background:#1d2025bd;backdrop-filter:blur(12px);border-radius:100px;min-height:44px;padding:0 20px}button:hover{background:#3c3a40}header button{pointer-events:auto;font-size:12px}header button span{padding-left:18px}.intro{position:absolute;z-index:2;top:30%;left:28px;pointer-events:none;text-shadow:0 2px 14px #000}.eyebrow{font-size:9px;letter-spacing:2px;color:#c8ee9d}h1{font-weight:400;font-size:clamp(25px,3vw,43px);line-height:1.1;margin:14px 0}p{color:#c9c3bd;font-size:12px;line-height:1.6}.solo{font-size:10px;color:#ad9c8c}footer{z-index:2;position:absolute;left:max(28px,env(safe-area-inset-left));right:max(28px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:center;gap:12px}#status{font-size:12px;background:#17191ec7;border:1px solid #ffffff20;padding:15px 18px;border-radius:40px;backdrop-filter:blur(12px)}.tools{display:flex;gap:7px}.tools button{width:44px;padding:0;font-size:21px}#label{position:absolute;z-index:2;pointer-events:none;font-size:11px;background:#15151dd9;border:1px solid #ffffff40;padding:6px 13px;border-radius:20px;transform:translate(-50%,-100%)}#loading{position:absolute;z-index:3;inset:0;display:grid;place-items:center;background:#16151b}dialog{width:min(360px,calc(100% - 32px));border:1px solid #ffffff26;border-radius:24px;background:#202025;color:#f8f1e5;padding:30px;max-height:90dvh}dialog::backdrop{background:#0008;backdrop-filter:blur(5px)}dialog h2{font-size:23px;font-weight:400;margin:16px 0 28px}dialog label{display:block;font-size:12px;margin-bottom:14px}output{float:right;color:#c8ee9d}input[type=range]{width:100%;accent-color:#c8ee9d}.hint{font-size:10px;margin:9px 0 26px}.close{position:absolute;right:10px;top:10px;border:0;background:transparent;padding:0;width:36px;min-height:36px;font-size:24px}.swatches{display:flex;gap:13px;margin:15px 0 28px}.swatch{width:40px;min-height:40px;background:var(--c);border:3px solid transparent;padding:0}.swatch:hover{background:var(--c)}.swatch.selected{border-color:#f8f1e5}.done{width:100%;background:#c8ee9d;color:#1c2317;border:0}.rotate{display:none;position:absolute;z-index:2;bottom:85px;left:20px;font-size:10px;color:#c9c3bd}@media(max-width:600px){header{left:18px;right:18px}.brand{font-size:23px}.location{font-size:8px;letter-spacing:1px}header button{padding:0 13px}.intro{top:125px;left:20px}.intro h1{font-size:24px}.intro p{display:none}.intro .solo{display:none}.eyebrow{font-size:8px}footer{left:15px;right:15px;bottom:max(18px,env(safe-area-inset-bottom));gap:5px}#status{font-size:10px;padding:12px;max-width:48%}.tools{gap:4px}.tools button{width:36px;min-height:44px}.rotate{display:block}}@media(max-height:500px){header{top:14px}.brand{font-size:22px}.intro{top:32%}.intro h1{font-size:24px}.intro p{font-size:10px}.intro .solo{display:none}footer{bottom:max(12px,env(safe-area-inset-bottom))}}
/* Keep the HUD inside Safari's visible viewport, including orientation changes. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior:none}body{position:fixed;inset:0;overscroll-behavior:none}#game{position:fixed;left:0;top:0;overflow:hidden;contain:layout size}canvas{display:block;width:100%!important;height:100%!important}header{top:max(12px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));gap:10px}.brand{font-size:24px;letter-spacing:4px}.location{font-size:8px;margin-top:5px;letter-spacing:1px}header button{flex:none;min-width:100px;min-height:44px}.intro{top:auto!important;bottom:85px;left:max(18px,env(safe-area-inset-left));opacity:.8;transition:opacity .3s}.intro p{display:none}.intro .solo{display:block;font-size:9px;margin-top:6px}.rotate{display:none!important}footer{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));gap:8px}#status{min-width:0;max-width:none;flex:1;font-size:11px;padding:12px 14px;line-height:1.3}.tools{flex:none;gap:5px}.tools button{width:44px;min-height:44px;padding:0}.swatches{flex-wrap:wrap}dialog{max-height:min(90dvh,calc(100% - 24px));overflow:auto}#label{will-change:left,top;white-space:nowrap}@media(max-width:420px){.brand{font-size:21px;letter-spacing:3px}.location{font-size:7px}header button{min-width:85px;padding:0 12px}.tools{gap:3px}.tools button{width:40px}#status{font-size:10px;padding:10px}.intro .eyebrow{font-size:7px}}@media(max-height:420px){.intro{bottom:73px}dialog{padding:20px}dialog h2{margin:12px 0 18px}.hint{margin-bottom:14px}.swatches{margin:10px 0 14px}}
/* Keep status text out of the controls row at every viewport width. */
button,input{touch-action:manipulation}header>div{min-width:0}.brand{white-space:nowrap}.dot{margin-left:4px}footer{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:8px}#status{width:min(100%,420px);max-width:100%;min-height:35px;flex:none;border-radius:14px;padding:9px 13px;text-align:center;font-size:11px;line-height:1.35;overflow-wrap:break-word}.tools{display:flex;justify-content:center;gap:8px;max-width:100%}.tools button{width:44px;flex:none}.tools .appview{width:auto;padding:0 15px;font-size:12px;white-space:nowrap}#displayhelp p{font-size:13px}#displayhelp .done{margin-top:10px}#displayhelp h2{margin-bottom:18px}@media(max-height:420px){footer{justify-items:end;gap:6px}#status{width:auto;max-width:min(420px,100%);font-size:10px;padding:7px 11px}.tools{gap:6px}}@media(max-width:350px){.brand{font-size:18px;letter-spacing:2px}.location{font-size:6px}header button{min-width:74px;font-size:11px}.tools{gap:5px}}
.creator{width:min(720px,calc(100% - 24px));padding:0;max-height:calc(100dvh - 24px);border-radius:24px}.creator form{display:grid;grid-template-columns:240px minmax(0,1fr)}.creator-heading{grid-column:1/-1;padding:25px 25px 5px}.creator h2{margin:12px 0 6px;font-size:28px}.creator-heading p{margin:0 0 12px}.creator-fields{padding:16px 24px 24px}.creator label{margin:0 0 8px;font-size:12px}.creator input[type=text],.creator select{width:100%;min-height:44px;font-size:16px;background:#303037;border:1px solid #ffffff29;border-radius:10px;color:#f8f1e5;padding:9px 11px;margin-bottom:16px}.creator input[type=text]{margin-bottom:0}.creator .hint{margin:7px 0 18px;font-size:10px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.creator input[type=color]{width:100%;height:44px;border:1px solid #ffffff29;border-radius:10px;background:#303037;padding:5px;margin-bottom:16px}.photo-section{border-top:1px solid #ffffff20;padding-top:18px}.optional{font-size:10px;color:#acaaa6;float:right}.creator input[type=file]{width:100%;font-size:12px;margin:3px 0 8px;color:#c9c3bd}.creator input[type=file]::file-selector-button{border:0;border-radius:8px;background:#c8ee9d;padding:10px;color:#1e2616;margin-right:8px}#avatarpreview{height:230px;background:#29272d;border-radius:16px;margin:16px 0 0 20px;position:sticky;top:16px;overflow:hidden}#avatarpreview canvas{position:relative;width:100%!important;height:100%!important;pointer-events:none}#photopreview{width:70px;height:70px;object-fit:contain;display:block;margin-bottom:10px}.creator .checkbox{display:flex;align-items:center;gap:10px;line-height:1.4}.checkbox input{width:20px;height:20px;accent-color:#c8ee9d;flex:none}#removephoto{font-size:11px;padding:0 14px;margin:8px 0}.privacy{padding-top:14px;color:#b9b4af}#creatorerror,#photoerror{color:#ffb6a8;font-size:12px}.creator .close{z-index:2}.creator .done{min-height:48px}button[hidden],div[hidden]{display:none!important}@media(max-width:600px){.creator form{grid-template-columns:minmax(0,1fr)}.creator-heading{padding:23px 20px 0}.creator h2{font-size:25px}#avatarpreview{height:190px;position:relative;top:auto;margin:10px 20px 0}.creator-fields{padding:20px}.creator .close{right:9px;top:7px}}@media(max-height:420px) and (min-width:601px){.creator-heading{padding:20px 20px 0}#avatarpreview{height:185px}.creator h2{font-size:23px}}
.header-actions{display:flex;align-items:center;gap:8px;pointer-events:auto;flex:none}header .header-actions button{min-width:0;padding:0 13px;font-size:12px}header .header-actions button span{padding-left:7px}.header-actions button:disabled{opacity:.6;cursor:wait}.tools .resetposition{width:auto;padding:0 14px;font-size:12px}@media(max-width:350px){header{gap:8px;flex-wrap:wrap}.header-actions{margin-left:auto;gap:5px}header .header-actions button{font-size:11px;padding:0 10px}} 
#welcome{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;justify-content:space-between;padding:max(30px,env(safe-area-inset-top)) max(28px,env(safe-area-inset-right)) max(25px,env(safe-area-inset-bottom));background:linear-gradient(110deg,#16151bf7 5%,#16151bea 60%,#242126aa);backdrop-filter:blur(7px);overflow:auto}.welcome-open header,.welcome-open footer,.welcome-open #label{visibility:hidden}.welcome-brand{font-size:27px;letter-spacing:5px;white-space:nowrap}.welcome-brand span{font-size:10px;letter-spacing:0;vertical-align:top;color:#c8ee9d;margin:4px 0 0 8px;display:inline-block}.welcome-copy{width:min(420px,100%);margin:24px auto;text-align:center}.welcome-copy h1{font-size:clamp(42px,7vw,76px);margin:18px 0;letter-spacing:-2px}.welcome-copy>p{font-size:16px;line-height:1.6;margin:0 0 26px}.welcome-copy button{width:100%;min-height:48px;margin-bottom:12px;font-size:15px}.welcome-copy .welcome-note{font-size:10px;color:#b7aea7;line-height:1.6;margin:8px 0 10px}.welcome-copy .welcome-refresh{width:auto;background:none;border:0;font-size:11px;min-height:36px;color:#c8ee9d;margin:0}.welcome-bottom{font-size:9px;letter-spacing:2px;color:#b7aea7}.welcome-bottom span{float:right;color:#c8ee9d}.saved-outsider{width:100%;border-radius:13px;display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:15px;margin-bottom:10px;text-align:left}.saved-outsider strong{font-size:16px;font-weight:500}.saved-outsider span{font-size:10px;color:#c2b7af}#signinpanel h2{font-size:25px;margin:16px 0}#signinerror{font-size:12px;color:#c8ee9d}.tools .leave{width:auto;padding:0 12px;font-size:11px}section[hidden]{display:none!important}@media(max-height:500px){#welcome{padding:18px 28px}.welcome-copy{margin:0 auto;width:min(380px,100%)}.welcome-copy h1{font-size:38px;margin:8px 0}.welcome-copy>p{font-size:12px;margin:0 0 12px}.welcome-copy button{min-height:40px;margin-bottom:7px}.welcome-brand{font-size:21px}.welcome-copy .welcome-note{font-size:8px;margin:4px 0}.welcome-copy .welcome-refresh{min-height:24px;font-size:10px}.welcome-bottom{font-size:8px}}@media(max-width:350px){.tools{gap:4px}.tools .resetposition{padding:0 10px}.tools .leave{padding:0 9px}.tools .appview{padding:0 10px;font-size:11px}}
/* Centre the close glyph and inset the whole control from the dialog corner. */
dialog .close,.creator .close{right:18px;top:18px;width:44px;height:44px;min-height:44px;padding:0;display:grid;place-items:center;line-height:1;border:1px solid #ffffff20;background:#303037;border-radius:50%}.close svg{display:block;flex:none}.close:hover{background:#414149}.creator-heading{padding-top:32px;padding-right:78px}.creator h2{margin-right:-42px}@media(max-width:600px){.creator-heading{padding:32px 78px 0 20px}.creator h2{font-size:24px;margin-right:-42px}.creator-heading>p{margin-right:-42px}}@media(max-height:420px) and (min-width:601px){.creator-heading{padding:28px 78px 0 20px}}

.creator h2{margin-top:24px}
.preview-column{position:sticky;top:16px;align-self:start;margin:16px 0 0 20px;min-width:0}.preview-column #avatarpreview{position:relative;top:auto;margin:0}.turn-label{font-size:10px!important;color:#c9c3bd;margin:12px 0 6px!important}.preview-column input{width:100%;accent-color:#c8ee9d}.crop-controls{margin:18px 0 8px}.crop-controls label{font-size:11px;margin-top:15px}.crop-controls input{width:100%;accent-color:#c8ee9d;min-height:32px}.creator .done:disabled{opacity:.55;cursor:wait}@media(max-width:600px){.preview-column{position:relative;top:auto;margin:10px 20px 0}.preview-column #avatarpreview{height:190px;margin:0}.preview-column input{margin:0}}

/* The wardrobe catalogue has stable selections and separate colour controls. */
.wardrobe-section{border-top:1px solid #ffffff20;padding-top:20px;margin:4px 0 20px}.wardrobe-section h3{font-size:22px;font-weight:400;margin:10px 0}.wardrobe-categories{display:flex;gap:7px;margin:14px 0}.wardrobe-categories button{flex:1;padding:0 10px;font-size:12px;min-height:44px}.wardrobe-categories button[aria-pressed=true]{background:#c8ee9d;color:#1c2317;border-color:#c8ee9d}.wardrobe-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.wardrobe-item{border-radius:13px;background:#29272d;padding:8px 8px 12px;display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;backdrop-filter:none}.wardrobe-item img{display:block;width:100%;height:78px;object-fit:contain}.wardrobe-item span{font-size:12px;line-height:1.4}.wardrobe-item small{font-size:9px;color:#bcb6b0;margin-top:5px}.wardrobe-item[aria-pressed=true]{border:2px solid #c8ee9d;background:#35392e;padding:7px 7px 11px}.wardrobe-item[aria-pressed=true] small{color:#c8ee9d}.wardrobe-colours{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.creator .wardrobe-colours label{font-size:11px}.creator .wardrobe-colours input{margin-bottom:0}#wardrobeselection{min-height:32px}.creator input[type=hidden]{display:none}

#destinations{position:absolute;inset:0;z-index:5;overflow:auto;background:#16151b;padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}.destination-top{display:flex;justify-content:space-between;align-items:center;gap:16px}.destination-heading{max-width:1100px;margin:38px auto 24px}.destination-heading h1{font-size:clamp(29px,4vw,48px);letter-spacing:-1px;margin:14px 0}.destination-heading p{font-size:14px}.destination-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:20px;max-width:1100px;margin:auto}.world-map-scroll{overflow:auto;border:1px solid #ffffff20;border-radius:20px;background:#1b2025}.world-map-scroll svg{display:block;width:100%;min-width:640px}.city-pin{cursor:pointer}.city-pin path{stroke:#c8ee9d;stroke-width:1.5;fill:none}.city-pin circle{fill:#c8ee9d}.city-pin rect{fill:#242a2d;stroke:#a0ae92;stroke-width:1.5}.city-pin text{fill:#f8f1e5;font-family:Arial,sans-serif;font-size:18px;pointer-events:none}.city-pin.selected rect{fill:#c8ee9d;stroke:#c8ee9d}.city-pin.selected text{fill:#192117}.city-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.city-choices button{border-radius:13px;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:5px;padding:12px;min-height:66px}.city-choices strong{font-size:13px;font-weight:500}.city-choices span{font-size:10px;color:#b8b4ad}.city-choices button[aria-pressed=true]{border-color:#c8ee9d;background:#30372a}.city-detail{background:#242328;border:1px solid #ffffff20;border-radius:20px;padding:24px;align-self:start}.city-detail h2{font-size:30px;font-weight:400;margin:12px 0}.city-detail h3{font-size:19px;font-weight:400;margin:24px 0 10px}.city-detail p{font-size:13px}.city-availability{font-size:11px;color:#c8ee9d}.city-detail .hint{font-size:10px}.city-detail .done{margin-top:16px;min-height:48px;font-size:13px}.city-detail .done:disabled{background:#39383e;color:#aaa6a3;cursor:default}.city-detail [hidden]{display:none!important}@media(max-width:760px){.destination-layout{grid-template-columns:minmax(0,1fr)}.destination-heading{margin-top:28px}.city-detail{padding:20px}.world-map-scroll svg{min-width:680px}.city-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.city-choices button:last-child{grid-column:1/-1}#destinations{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}}@media(max-width:420px){header .header-actions{gap:5px}header .header-actions button{padding:0 9px;font-size:11px}header .brand{font-size:19px;letter-spacing:2px}}

/* Shared dialog controls, heading spacing and focus behaviour. */
:root{--dialog-surface:#202025;--dialog-control:#303037;--dialog-border:#ffffff26;--outside-accent:#c8ee9d}dialog{background:var(--dialog-surface);border-color:var(--dialog-border);border-radius:24px}dialog .close,.creator .close{width:44px;height:44px;min-height:44px;right:18px;top:18px;display:grid;place-items:center;padding:0;background:var(--dialog-control);border:1px solid #ffffff20;border-radius:50%}dialog .close svg{width:18px;height:18px}#signinpanel,#displayhelp{padding:32px 24px 24px}#signinpanel form>.eyebrow,#displayhelp form>.eyebrow{display:block;max-width:calc(100% - 54px);min-height:14px;line-height:1.5}#signinpanel h2,#displayhelp h2{font-size:24px;line-height:1.2;margin:24px 0 12px}#signinpanel form>p,#displayhelp form>p{font-size:12px;line-height:1.6}#signinpanel .done,#displayhelp .done{min-height:48px}#signinpanel .hint{font-size:10px}.creator-heading>.eyebrow{display:block;min-height:14px;line-height:1.5}

@media(max-width:760px){.city-choices button:last-child{grid-column:auto}}

.venue-choices{display:grid;gap:8px;margin:18px 0}.venue-choices button{border-radius:12px;text-align:left;padding:12px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-height:64px}.venue-choices strong{font-size:13px;font-weight:500}.venue-choices span{font-size:10px;color:#c6c0b8}.venue-choices button[aria-pressed=true]{background:#30372a;border-color:#c8ee9d}.venue-access{display:inline-block;border:1px solid #c8ee9d55;border-radius:20px;padding:6px 10px;color:#c8ee9d;font-size:10px}.city-detail #venuename{margin-top:14px}.location{max-width:45vw;line-height:1.5}.destination-layout{grid-template-columns:minmax(0,1fr) 310px}@media(max-width:760px){.destination-layout{grid-template-columns:minmax(0,1fr)}}

.actual-lead{color:#b31378;font-weight:700}.welcome-description{text-wrap:pretty}

#welcome .account-link{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:100%;min-height:48px;padding:10px 22px;background:#b31378;color:#fff;border:2px solid #242047;border-radius:999px;font:inherit;font-size:15px;font-weight:700;text-decoration:none;box-shadow:0 4px 0 #242047}
#welcome .account-link:hover{background:#941062}
#welcome .account-link:focus-visible{outline:3px solid #007fba;outline-offset:4px}

#welcome #signin[hidden],#welcome #accountnav[hidden]{display:none!important}
