:root{--bg:#171b1e;--panel:#242629;--ink:#f3ecdf;--muted:#c5c1b8;--accent:#ae4938;--accent-ink:#fff5e8;--line:#6c665d;--soft:#333337;--gold:#d9b779;--photo-tint:#28191488;color-scheme:dark}
:root[data-theme=plum]{--bg:#261c2e;--panel:#35283f;--ink:#fff1ff;--muted:#dbc7df;--accent:#c7a4d9;--accent-ink:#29192f;--line:#88738f;--soft:#483752;--gold:#e7c7d8;--photo-tint:#30203888}
:root[data-theme=ocean]{--bg:#132630;--panel:#203844;--ink:#edf6f6;--muted:#bdd1dc;--accent:#91c8e0;--accent-ink:#102a38;--line:#617f91;--soft:#2d4657;--gold:#d9c89e;--photo-tint:#16334188}
:root[data-theme=sage]{--bg:#192821;--panel:#2b3c31;--ink:#f7f0dd;--muted:#c6d0b8;--accent:#bfcd9d;--accent-ink:#24301c;--line:#7b8b70;--soft:#3d4e3e;--gold:#e0bf8e;--photo-tint:#26351b88}
html,body{background:var(--bg);color:var(--ink)}[hidden]{display:none!important}button,input,select{font-family:system-ui,sans-serif}button{background:var(--soft);color:var(--ink);border:1px solid var(--line);border-radius:9px;min-height:48px;font-size:15px;padding:12px 18px}button.primary,#start,#save-profile{background:var(--accent);color:var(--accent-ink);border-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:disabled{opacity:.5}button svg{width:29px;height:29px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.text-button{background:transparent;border:0;padding:8px 0;color:var(--ink);text-align:left;text-decoration:underline;text-underline-offset:5px}.muted,p,.profile-feedback{color:var(--muted)}h2{font-size:28px;letter-spacing:-.035em;margin:4px 0 18px}h3{font-size:19px}small{color:var(--gold);letter-spacing:.15em}input,select,.player-name,#camera-choice,#camera-setting{color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:7px;min-height:48px;padding:12px;width:100%;max-width:100%;font-size:16px}label{font-size:14px;margin-top:12px}p{line-height:1.5}code{display:block;overflow-wrap:anywhere;user-select:text;padding:16px;background:var(--bg)}
#entry{padding:0;display:block;background:linear-gradient(90deg,var(--bg) 0%,var(--photo-tint) 100%),url('city-title.png') center/cover;min-height:100dvh;height:100dvh}#entry main{max-width:1100px;margin:0 auto;padding:clamp(22px,5vw,64px);min-height:100%;display:flex;align-items:center}#title-front{width:100%;max-width:600px}#title-front h1{font:900 clamp(58px,10vw,112px)/.85 system-ui,sans-serif;font-stretch:condensed;letter-spacing:-.075em;margin:35px 0 22px;text-shadow:0 2px 20px #0005}#title-front h1 span{color:var(--accent)}.edition{display:flex;gap:16px;flex-wrap:wrap;align-items:center;font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--gold)}.title-line{font-size:20px!important}.title-actions{display:grid;gap:11px;max-width:330px;margin:28px 0 14px}.title-actions button{text-align:left;min-height:52px}.title-actions .primary{font-size:19px;display:flex;justify-content:space-between}.title-foot{font-size:11px;letter-spacing:.1em;margin-top:28px}.title-foot button{font-size:13px}#resident-entry{width:100%;max-width:640px;background:var(--panel);padding:24px;border:1px solid var(--line);border-radius:14px}#resident-entry .outfit-list{grid-template-columns:repeat(4,minmax(0,1fr))}#resident-entry #start{width:100%;margin-top:12px}#resident-entry #status{font-size:12px}.outfit{background:var(--soft);color:var(--ink);border-color:var(--line)}.outfit[aria-pressed=true]{border-color:var(--gold)}.outfit b{background:var(--gold)}.skin-swatch[aria-pressed=true]{outline-color:var(--gold)}
dialog,#settings-dialog{background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:17px;width:min(940px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:calc(100dvh - 24px);padding:22px;overflow:auto;box-shadow:0 24px 100px #0009}dialog::backdrop{background:#080c10a8}.settings-head{background:var(--panel);border-color:var(--line);margin:-22px -22px 14px;padding:15px 22px;top:-22px;z-index:5}.settings-head h2{font-size:21px;margin:0}.settings-head button{min-width:76px;min-height:44px}.menu-wallet{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:0 0 12px;margin-bottom:16px;font-size:14px}.menu-wallet strong{font-size:22px;color:var(--gold)}.app-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:12px 0 20px}.app-button{padding:16px 8px;background:var(--soft);display:flex;align-items:center;flex-direction:column;gap:9px;min-height:101px;border-radius:14px;font-size:14px;position:relative}.app-button svg{width:34px;height:34px}.app-button:nth-child(4n+1){color:var(--gold)}.app-button:nth-child(4n+2){color:#b9cadf}.app-button:nth-child(4n+3){color:#dfb3b0}.app-button:nth-child(4n){color:#b8cfbb}.app-button b{font-weight:650;color:var(--ink)}.app-button[data-new=true]:after{content:'';width:8px;height:8px;background:var(--accent);border:2px solid var(--ink);border-radius:50%;position:absolute;top:10px;right:10px}.menu-back{margin-bottom:12px;display:flex;align-items:center;gap:9px;background:transparent;border:0;padding:4px 0;min-height:44px}.menu-bottom{margin-top:18px;padding-top:14px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}.menu-bottom span{font-size:10px;color:var(--muted)}#settings-dialog h3{border:0;padding-top:8px}.display-options button,.garage-choices button{background:var(--soft);color:var(--ink);border-color:var(--line)}.garage{margin-top:8px;border:0;padding-top:0}.garage summary{display:none}.garage-body>img{border-radius:12px}.garage-choices button[aria-pressed=true]{border-color:var(--gold);background:var(--bg)}.feature{padding:20px;background:var(--bg);border-left:4px solid var(--accent);border-radius:0 12px 12px 0;margin:12px 0 20px}.feature h3{font-size:25px;margin:5px 0}.feature p{font-size:14px}.row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}.row small{font-size:11px;letter-spacing:0}.row button{font-size:13px;min-height:44px;padding:8px 13px}.theme-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.theme-choice{display:flex;gap:12px;align-items:center;text-align:left}.theme-choice i{width:25px;height:25px;border-radius:50%;border:2px solid #fff8}.theme-choice[aria-pressed=true]{outline:3px solid var(--gold);outline-offset:1px}.section-form{max-width:500px}.section-form button{margin-top:16px}.news-photo{width:100%;max-height:220px;object-fit:cover;border-radius:10px}.news-version{font-size:12px;color:var(--gold)}.news-items{padding-left:20px;line-height:1.7;color:var(--muted)}#news-dialog{max-width:640px}#news-dialog h2{margin-top:10px;font-size:30px}#news-dialog .settings-head h2{font-size:18px}.results-time{font-size:56px;font-weight:850;letter-spacing:-.05em;margin:8px 0;color:var(--gold)}#city-feedback{font-size:13px;min-height:16px}#tools{left:auto;right:calc(env(safe-area-inset-right,0px) + 16px);top:calc(env(safe-area-inset-top,0px) + 14px);transform:none}#tools button{background:var(--panel);color:var(--ink);font-size:14px;min-height:44px;border-radius:10px;min-width:80px}#meter{background:var(--soft)}#fill{background:var(--gold)}#error,.invalid{color:#ffb3a2!important}
@media(max-width:540px){#entry main{padding:24px 20px}#title-front h1{font-size:68px;margin-top:38px}.title-actions{max-width:none}#resident-entry{padding:18px}dialog,#settings-dialog{padding:18px;border-radius:14px}.settings-head{margin:-18px -18px 14px;top:-18px;padding:13px 18px}.app-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.app-button{min-height:94px;padding:14px 4px;font-size:13px}.outfit-list,#resident-entry .outfit-list{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-bottom span{display:none}.results-time{font-size:45px}}
@media(max-height:500px) and (min-width:600px){#entry main{padding:24px 40px;align-items:flex-start}#title-front{max-width:none;display:grid;grid-template-columns:1fr 300px;column-gap:24px}#title-front .edition,#title-front .title-foot{grid-column:1/-1}#title-front h1{font-size:74px;margin:28px 0 12px}#title-front .title-line{grid-column:1;font-size:17px!important;margin:0}#title-front .title-actions{grid-column:2;grid-row:2/5;margin:22px 0 0}#title-front .title-foot{margin:12px 0 0}#title-front #title-resident{grid-column:1;font-size:12px}.app-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.app-button{min-height:82px;padding:12px 4px}.app-button svg{width:27px;height:27px}.menu-bottom{margin-top:10px}.news-photo{max-height:130px}#resident-entry{margin:auto}}
#title-front h1 br{display:block}
@media(max-width:540px){#title-front h1{font-size:clamp(48px,16vw,68px)}}
@media(prefers-reduced-motion:no-preference){button{transition:background-color .15s,transform .15s}button:active{transform:scale(.98)}}
.activity-tabs,.contract-options{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.activity-tabs button{flex:1;min-height:48px}.contract-options button{flex:1 1 140px;min-height:52px;padding:12px}.activity-tabs button[aria-pressed=true],.contract-options button[aria-pressed=true]{background:var(--accent,#b65c45);color:var(--accent-ink,#fff4de);box-shadow:inset 0 0 0 2px currentColor}.race-board{padding-bottom:16px}.race-board p{overflow-wrap:anywhere}.race-board h4{margin:20px 0 8px}
[data-page=activities]>small,[data-page=activities]>h2{display:none}
