#game-root .ui-interaction-loading{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);margin:0;box-sizing:border-box;max-width:calc(100vw - 32px);padding:16px 24px;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);color:var(--ui-text);box-shadow:var(--ui-shadow);font:14px/1.6 var(--ui-font);pointer-events:none}#game-root .ui-interaction-loading:popover-open{display:flex;align-items:center;gap:12px}#game-root .ui-interaction-spinner{width:24px;height:24px;flex:none;border:3px solid var(--ui-border);border-top-color:var(--ui-accent);border-radius:50%;animation:ui-interaction-spin .8s linear infinite}@keyframes ui-interaction-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){#game-root .ui-interaction-spinner{animation:none}}.button-loading{display:inline-flex!important;align-items:center;justify-content:center;gap:7px;cursor:wait!important}.button-loading-spinner{display:inline-block;width:13px;height:13px;box-sizing:border-box;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:button-loading-spin .75s linear infinite;flex:none}@keyframes button-loading-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.button-loading-spinner{animation:none}}.flight-dialog{box-sizing:border-box;width:min(780px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:1px solid var(--ui-border);border-radius:24px;background:var(--ui-surface);color:var(--ui-text);box-shadow:var(--ui-shadow);font-family:var(--ui-font)}.flight-dialog::backdrop{background:var(--ui-overlay)}.flight-dialog header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.flight-kicker{font-size:10px;letter-spacing:.22em;color:var(--ui-text-muted)}.flight-dialog h2{font-size:20px;font-weight:600;margin:4px 0 0}.flight-dialog button{font:500 14px var(--ui-font);border:1px solid var(--ui-border);border-radius:12px;padding:10px 18px;min-height:44px;background:var(--ui-action);color:var(--ui-text);cursor:pointer}.flight-dialog button:hover:not(:disabled){background:var(--ui-action-hover)}.flight-dialog button:disabled{opacity:.5;cursor:default}.flight-dialog button.flight-close{width:44px;padding:0;font-size:25px;background:var(--ui-surface-muted)}.flight-note,.flight-ticket-note{font-size:13px;line-height:1.7;color:var(--ui-text-muted)}.flight-list{display:grid;gap:12px}.flight-ticket{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:18px;border:1px solid var(--ui-border);border-radius:16px;background:var(--ui-surface-muted)}.flight-ticket strong{display:block;font-size:18px;font-weight:600}.flight-ticket small{display:block;margin-top:5px;color:var(--ui-text-muted)}.flight-price{display:flex;align-items:center;gap:6px;font-variant-numeric:tabular-nums;font-size:16px}.flight-price svg{width:20px;height:20px}.flight-ticket-note{grid-column:1/-1;margin:0}.flight-itinerary{display:flex;justify-content:space-between;padding:16px 2px 22px;gap:16px}.flight-itinerary>div:last-child{text-align:right}.flight-itinerary strong{display:block;margin:5px 0;font-size:24px;font-weight:600}.flight-itinerary small,.flight-itinerary span{display:block;color:var(--ui-text-muted);font-size:12px}.flight-map{overflow:hidden;border:1px solid var(--ui-border);border-radius:18px;background:radial-gradient(ellipse at 50% 10%,#f8fcff,#e4f0f5)}.flight-map>svg{display:block;width:100%;height:auto}.flight-track{fill:none;stroke:#6b9bb0;stroke-width:2;stroke-dasharray:6 6}.flight-halo{fill:#527d9e22}.flight-city-dot{fill:#527d9e;stroke:#fff;stroke-width:2}.flight-plane{fill:#527d9e;stroke:#fff;stroke-width:1.4;filter:drop-shadow(0 3px 3px #29465d33)}.flight-status{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:20px;font-size:14px}.flight-status span{color:var(--ui-text-muted);font-variant-numeric:tabular-nums}.flight-status progress{grid-column:1/-1;width:100%;height:5px;border:0;border-radius:8px;background:var(--ui-action)}.flight-status progress::-webkit-progress-bar{background:var(--ui-action);border-radius:8px}.flight-status progress::-webkit-progress-value{background:var(--ui-accent);border-radius:8px}.flight-actions{display:flex;justify-content:flex-end;margin-top:18px}.flight-actions[hidden]{display:none}.flight-error{color:var(--ui-danger);font-size:13px;line-height:1.6}.flight-confirm{width:min(400px,calc(100vw - 32px))}.flight-confirm .flight-actions{gap:10px}.flight-confirm .flight-price{font-size:22px;margin:18px 0}.flight-warning{font-size:13px;line-height:1.7;color:var(--ui-warning);margin:12px 0}@media(max-width:650px){.flight-dialog{padding:18px}.flight-ticket{grid-template-columns:1fr auto;padding:14px}.flight-ticket>button{grid-column:1/-1}.flight-itinerary strong{font-size:20px}.flight-dialog h2{font-size:18px}.flight-actions button{width:100%}}#game-root .idle-disconnect{text-align:center;width:min(400px,calc(100vw - 32px));box-sizing:border-box}#game-root .idle-disconnect h2{margin:16px 0 8px;font-size:20px;font-weight:600;color:var(--ui-text)}#game-root .idle-disconnect p{margin:0 0 16px;color:var(--ui-text-muted)}#game-root .idle-disconnect-actions{display:flex;gap:12px;margin-top:24px}#game-root .idle-disconnect-actions button{min-height:44px;white-space:normal;flex:1}#game-root .idle-disconnect-actions [data-stay]{background:var(--ui-action-secondary);color:var(--ui-text-muted)}.estate-sheet{box-sizing:border-box;width:min(385px,calc(100vw - 28px));max-height:82dvh;padding:0;border:1px solid var(--ui-border);border-radius:20px;background:var(--ui-surface);color:var(--ui-text);box-shadow:0 20px 68px #29465d24}.estate-sheet::backdrop{background:var(--ui-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.settlement-card{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;padding:16px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface-muted)}.settlement-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--ui-action);color:var(--ui-accent)}.settlement-mark svg{width:22px;height:22px}.estate-sheet .settlement-card h4{font-size:15px;font-weight:500;line-height:1.5}.settlement-card .estate-note{font-size:12px;line-height:1.7;margin:8px 0 12px}.settlement-card>button,.settlement-card>p{grid-column:1/-1}.settlement-card>button{min-height:44px;padding:10px 14px;border:1px solid var(--ui-border);border-radius:12px}.settlement-card>button:disabled{opacity:.55;cursor:default}.settlement-card .estate-gold{font-size:16px}.settlement-card .estate-gold svg{fill:var(--ui-action);color:var(--ui-text-muted)}.estate-sheet:has(.settlement-card) h3{font-size:18px;font-weight:500}.estate-sheet:has(.settlement-card) .estate-close{border:1px solid var(--ui-border);border-radius:10px}.estate-sheet:has(.settlement-card) .estate-secondary{background:var(--ui-action-secondary);color:var(--ui-text)}.estate-sheet .estate-section-title{font-size:14px;font-weight:500;margin:20px 0 12px}.estate-sheet:has(.settlement-card){overflow:auto;scrollbar-width:thin;scrollbar-color:var(--ui-border) transparent}.estate-sheet header,.estate-sheet footer,.estate-line,.estate-offers article{display:flex;align-items:center;justify-content:space-between;gap:12px}.estate-sheet header{padding:17px 20px;background:var(--ui-surface-muted);border-bottom:1px solid var(--ui-border)}.estate-sheet h3,.estate-sheet h4{margin:0;font-size:19px}.estate-sheet .estate-close{width:32px;height:32px;padding:0;background:var(--ui-surface);color:var(--ui-text);font-size:20px}.estate-body{display:grid;gap:13px;padding:20px}.estate-body label{display:grid;gap:7px;font-size:14px;font-weight:500}.estate-body input{min-width:0;padding:12px;border:1px solid var(--ui-border);border-radius:10px;color:var(--ui-text);font:500 18px system-ui;font-family:var(--ui-font)}.estate-note,.estate-success{margin:0;font-size:14px;line-height:1.6}.estate-note{color:var(--ui-text-muted)}.estate-gold{display:inline-flex;align-items:center;gap:5px;color:var(--ui-text);font-variant-numeric:tabular-nums;font-weight:500}.estate-gold svg{width:17px;height:17px;fill:#f8d578}.estate-sheet footer button{flex:1;min-height:40px;border:1px solid var(--ui-border);border-radius:var(--ui-control-radius)}.estate-sheet footer{justify-content:flex-end;padding:0 20px 18px}.estate-sheet button{font-size:14px}.estate-sheet .estate-primary{background:var(--ui-action);color:var(--ui-text)}.estate-error{margin:0 20px 14px;color:var(--ui-danger);font-size:14px}.estate-error:empty{display:none}.estate-counter{width:min(460px,calc(100vw - 28px))}.estate-offers{display:grid;gap:9px;max-height:52dvh;overflow:auto}.estate-offers article{padding:12px;border:1px solid var(--ui-border);border-radius:13px;background:var(--ui-surface)}.estate-offers article>div{display:grid;gap:3px;flex:1;min-width:0;overflow-wrap:anywhere}.estate-offers img{width:38px;height:38px}.estate-offers small{color:var(--ui-text-muted)}.estate-offers article>.estate-art{position:relative;display:grid;place-items:center;flex:0 0 68px;height:62px;background:var(--ui-surface-muted);border-radius:10px}.estate-art img:first-child{width:96%;height:100%;object-fit:contain}.estate-art img:last-child{position:absolute;bottom:3px;right:3px;width:18px;height:18px}.estate-offers button{flex:none}.estate-offers button:disabled{opacity:.55}@media(max-width:380px){.estate-offers article{gap:7px;padding:8px}.estate-offers article>.estate-art{flex-basis:47px;height:48px}}.game-home #resident-profile:has([data-pane=identity]:not([hidden]) .member-profile){width:min(900px,calc(100vw - 24px));height:min(680px,calc(100dvh - var(--profile-bottom) - 16px));padding:24px;gap:16px}.profile-body [data-pane=identity]:has(.member-profile):not([hidden]){height:100%;grid-template-columns:160px minmax(0,1fr);gap:20px}.game-home #resident-profile .profile-body:has([data-pane=identity]:not([hidden]) .member-profile),.identity-details:has(.member-profile){overflow:clip}.identity-content:has(.member-profile){scroll-padding-top:104px;scroll-padding-bottom:68px;padding-right:8px}.member-profile{display:grid;gap:16px;font-size:14px;color:var(--ui-text);min-width:0;padding-bottom:4px}.member-profile p{margin:0;overflow-wrap:anywhere}.member-profile small{font-size:12px;line-height:1.5;color:var(--ui-text-muted)}.member-profile h3{margin:0 0 12px;font-size:15px;font-weight:500}.member-section,.member-profile fieldset{margin:0;border:1px solid var(--ui-border);border-radius:14px;padding:16px;min-width:0;background:var(--ui-surface)}.member-profile legend{padding:0 6px;font-size:15px;font-weight:500}.member-overview{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.4fr);gap:12px;align-items:start}.member-overview .member-section{height:100%;box-sizing:border-box;padding:12px}.member-overview .member-avatar-row{flex-direction:column;align-items:stretch}.member-overview .member-photo{width:80px;height:80px;align-self:center}.member-overview .member-crop{grid-template-columns:minmax(0,1fr)}.member-overview .member-crop canvas{grid-row:auto;width:112px;height:112px;justify-self:center}.member-grid,.member-social-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.member-profile label{display:grid;gap:6px;min-width:0;font-size:12px;color:var(--ui-text-muted)}.member-profile input,.member-profile select{width:100%;min-width:0;box-sizing:border-box;font-size:14px;color:var(--ui-text);min-height:40px}#game-root .member-profile .ui-select,#game-root .member-profile .ui-select-trigger{width:100%;box-sizing:border-box;min-height:40px}#game-root .member-profile .ui-select-trigger{white-space:normal;text-align:start;font-size:14px}.member-profile .member-interests{display:flex;flex-wrap:wrap;gap:8px}.member-profile .member-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ui-text);min-height:40px}.member-interests .member-check{border:1px solid var(--ui-border);border-radius:12px;padding:0 10px;background:var(--ui-surface-muted);cursor:pointer}.member-interests .member-check:has(:checked){border-color:var(--ui-accent);background:var(--ui-action)}.member-profile .member-check input{width:20px;min-height:20px}.member-profile .member-check input[role=switch]{width:38px;min-height:23px}.member-progress{position:sticky;top:0;z-index:2;display:grid;gap:8px;background:var(--ui-surface-muted);padding:12px 16px;border:1px solid var(--ui-border);border-radius:14px}.member-progress p{font-size:14px;font-weight:500}.member-profile progress{width:100%;height:8px;accent-color:var(--ui-accent)}.member-requirements{font-size:12px;color:var(--ui-text-muted);line-height:1.6}.member-requirements summary{list-style:none}.member-avatar-row{display:flex;align-items:center;gap:16px}.member-avatar-controls{display:grid;gap:12px;flex:1;min-width:0}.member-crop{display:grid;grid-template-columns:128px minmax(0,1fr);gap:12px 16px;padding-top:16px;margin-top:16px;border-top:1px solid var(--ui-border)}.member-crop canvas{grid-row:span 3}.member-crop canvas,.member-photo{width:128px;height:128px;object-fit:cover;border-radius:16px;max-width:100%;background:var(--ui-surface-muted)}.member-crop[hidden]{display:none}.member-location{display:grid;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--ui-border)}.member-location button{justify-self:start;min-height:44px}.member-location p:empty{display:none}.member-actions{position:sticky;bottom:-4px;z-index:3;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding:12px 0 4px;background:var(--ui-surface);border-top:1px solid var(--ui-border)}.member-actions button{min-height:44px;padding:10px 16px!important}.member-actions button[type=submit],.member-actions button:not([type]){background:var(--ui-action);border:1px solid var(--ui-border)}.member-actions .member-status{flex:1 0 100%;font-size:12px}.member-status:empty{display:none}.member-error{color:var(--ui-danger)}.member-card{width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;padding:24px;overflow:auto;background:var(--ui-surface);color:var(--ui-text);border:1px solid var(--ui-border);border-radius:20px}.member-card header{display:flex;align-items:center;justify-content:space-between;gap:12px}.member-card h2{font-size:18px;font-weight:500;overflow-wrap:anywhere}.member-card header button{min-width:40px;min-height:40px}.member-card dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px}.member-card dd{margin:0;overflow-wrap:anywhere}.member-card textarea{width:100%;box-sizing:border-box;min-height:80px}.member-card a{color:var(--ui-accent)}@media(max-width:650px){.game-home #resident-profile:has([data-pane=identity]:not([hidden]) .member-profile){padding:16px;width:calc(100vw - 16px);gap:12px}.profile-body [data-pane=identity]:has(.member-profile):not([hidden]){grid-template-columns:minmax(0,1fr);grid-template-rows:64px minmax(0,1fr);gap:12px}[data-pane=identity]:has(.member-profile) .identity-portrait{flex-direction:row;height:64px;align-items:center}[data-pane=identity]:has(.member-profile) .profile-model{width:48px;height:64px;flex:none}[data-pane=identity]:has(.member-profile) .profile-rename{flex:1;min-width:0;border:0;margin:0}[data-pane=identity]:has(.member-profile) .identity-details{contain:none;min-height:0}.member-overview{grid-template-columns:1fr}.member-overview .member-avatar-row{flex-direction:row}.member-grid,.member-social-grid{grid-template-columns:1fr}.member-section,.member-profile fieldset{padding:12px}.member-avatar-row{gap:12px}.member-photo{width:80px;height:80px}.member-crop{grid-template-columns:88px minmax(0,1fr);gap:12px}.member-crop canvas{width:88px;height:88px}.member-progress{padding:12px}.member-card{padding:16px}}.member-avatar-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.member-avatar-header h3{margin:0;white-space:nowrap}.member-avatar-header label{max-width:132px;flex:1}.member-avatar-controls{display:none}.member-overview{grid-template-columns:minmax(200px,.8fr) minmax(0,1.5fr)}.member-overview .member-avatar-row{align-items:center;gap:12px}.member-avatar-row>small{text-align:center;max-width:200px}.member-profile .member-avatar-slot{padding:0;width:112px;height:112px;flex:none;overflow:hidden;border:1px dashed var(--ui-border);border-radius:16px;background:var(--ui-surface-muted);color:var(--ui-text-muted)}.member-overview .member-photo{width:100%;height:100%;display:block;object-fit:cover;border-radius:inherit}.member-overview .member-photo[hidden],.member-avatar-slot[hidden]{display:none}.member-overview .member-crop{padding:0;margin:0;border:0;display:block;width:112px;height:112px;flex:none}.member-overview .member-crop[hidden]{display:none}.member-overview .member-crop canvas{width:112px;height:112px;touch-action:none;cursor:grab;border-radius:16px;display:block}.member-crop canvas:active{cursor:grabbing}.member-crop canvas:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.member-privacy{display:grid;gap:4px}.member-privacy small{padding-left:46px}#game-root .member-card{width:min(440px,calc(100vw - 32px));padding:24px;overflow:auto;font-size:14px;line-height:1.6}.member-card header{align-items:flex-start;gap:16px;padding-bottom:24px;border-bottom:1px solid var(--ui-border)}.member-card header>button{flex:none;width:40px;height:40px;padding:0}.member-card-hero{display:flex;align-items:center;gap:16px;min-width:0}.member-card-hero>div{min-width:0}.member-card-hero .member-photo{width:80px;height:80px;flex:none;border:1px solid var(--ui-border)}.member-card-hero small{font-size:12px;color:var(--ui-text-muted)}.member-card-hero h2{margin:4px 0 0;font-size:20px;line-height:1.4}.member-card-body{display:grid;gap:20px;padding-top:20px}.member-card .member-card-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:16px;background:var(--ui-surface-muted);border-radius:14px}.member-card-facts dt{font-size:12px;color:var(--ui-text-muted)}.member-card-facts dd{margin-top:4px;font-size:14px}.member-card h3{font-size:13px;font-weight:500;margin:0 0 12px;color:var(--ui-text-muted)}.member-card-tags{display:flex;flex-wrap:wrap;gap:8px}.member-card-tags h3{flex:0 0 100%;margin-bottom:0}.member-card-tags span:not(.member-card-icon){padding:4px 12px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface-muted)}.member-card-socials p{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:baseline;gap:12px;margin:0;padding:8px 0;border-bottom:1px solid var(--ui-border);overflow-wrap:anywhere}.member-card-socials p:last-child{border:0}.member-card-socials small{font-size:12px;color:var(--ui-text-muted)}.member-card footer{border-top:1px solid var(--ui-border);padding-top:16px}.member-card footer>button,.member-card footer form>button{width:100%;min-height:44px;background:var(--ui-action)}.member-card footer form{display:grid;gap:12px}.member-card footer form[hidden]{display:none}.member-card footer label{display:grid;gap:8px;font-size:12px;color:var(--ui-text-muted)}.member-card-state{text-align:center;font-size:13px;color:var(--ui-text-muted)}@media(max-width:650px){.member-overview{grid-template-columns:1fr}.member-overview .member-avatar-row{justify-content:flex-start}.member-avatar-row>small{text-align:start}#game-root .member-card{padding:20px}.member-card-hero{gap:12px}.member-card-hero .member-photo{width:64px;height:64px}}#game-root .member-card{width:min(360px,calc(100vw - 32px));padding:20px;border-radius:20px}.member-card header{padding-bottom:16px;gap:8px}.member-card-hero{gap:12px}.member-card-hero .member-photo{width:64px;height:64px;border-radius:16px}.member-card-hero h2{font-size:18px}.member-card header>button{width:32px;height:40px;min-width:32px}.member-card-body{gap:16px;padding-top:16px}.member-card-body:empty{display:none}.member-card:has(.member-card-body:empty) header{border:0;padding-bottom:0}.member-card .member-card-facts{padding:12px;gap:16px 12px}.member-card-facts>div{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:8px;align-items:center}.member-card-facts dt{font-size:11px}.member-card-facts dd{font-size:13px;margin:0;grid-column:2}.member-card-facts .member-card-icon{grid-row:span 2}.member-card-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:9px;flex:none;background:color-mix(in srgb,currentColor 10%,var(--ui-surface));color:var(--ui-accent)}#game-root .member-card-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}.member-card-icon-gender{color:#9871af}.member-card-icon-country{color:#3d9b8b}.member-card-icon-age{color:#cd8b49}.member-card-icon-occupation{color:#5b8cbd}.member-card-icon-interests{color:#c49a3e}.member-card-icon-socials{color:#8a7ab5}.member-card h3{display:flex;align-items:center;gap:8px;margin-bottom:8px}.member-card h3 .member-card-icon{width:24px;height:24px}.member-card-tags{gap:6px}.member-card-tags span:not(.member-card-icon){font-size:12px;padding:3px 10px}.member-card-tags h3{margin:0}.member-card-socials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.member-card-socials h3{grid-column:1/-1;margin:0}.member-card-socials p{display:flex;gap:8px;align-items:center;padding:8px;border:1px solid var(--ui-border);border-radius:10px;min-width:0;font-size:12px}.member-card-socials p:last-child{border:1px solid var(--ui-border)}.member-card-socials p>small{flex:none;font-size:10px;font-weight:600}.member-card-socials p>a,.member-card-socials p>span{min-width:0;overflow-wrap:anywhere}.member-card-socials .member-social-fb>small{color:#527fca}.member-card-socials .member-social-ins>small{color:#b66f99}.member-card-socials .member-social-tg>small{color:#409abd}.member-card footer{padding-top:12px}.member-card-state{font-size:12px}.member-card-social-links{display:flex;gap:10px;flex-wrap:wrap}.member-social-link{display:inline-flex;width:40px;height:40px;border:1px solid var(--ui-border);border-radius:12px;align-items:center;justify-content:center;background:var(--ui-surface-muted)}.member-social-link:hover{background:var(--ui-action-hover)}.member-social-link:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.member-social-link .member-card-icon{background:none;width:24px;height:24px}.member-card-icon-x{color:var(--ui-text)}.member-card-icon-fb{color:#527fca}.member-card-icon-ins{color:#b66f99}.member-card-icon-tg{color:#409abd}.member-card:has(.member-card-body>footer:only-child) header{border:0;padding-bottom:0}.member-card-body>footer:only-child{border:0;padding-top:0}.member-card-empty{display:grid;justify-items:center;gap:8px;padding:8px 0 12px;color:var(--ui-text-muted)}#game-root .member-card-empty svg{width:80px;height:64px;fill:none;stroke:none}.member-card-empty small{font-size:12px}.member-card-empty .empty-shadow{fill:var(--ui-surface-muted)}.member-card-empty .empty-sheet{fill:var(--ui-surface-muted);stroke:var(--ui-border);stroke-width:1.5}.member-card-empty .empty-accent{fill:var(--ui-action);stroke:var(--ui-accent);stroke-width:1.5}.member-card-empty .empty-lines{stroke:var(--ui-accent);stroke-width:2;stroke-linecap:round}.member-card-empty .empty-dot{fill:var(--ui-action);stroke:var(--ui-surface);stroke-width:3}.member-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.member-card-tools{display:flex;gap:8px;margin-left:auto}#game-root .member-card-tools button,.member-blocked-badge{display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border-radius:12px;border:1px solid var(--ui-border);background:var(--ui-surface-muted)}.member-card-tools .member-card-icon{background:none}.member-card-icon-block{color:var(--ui-danger)}.member-card-bottom .member-card-social-links{gap:6px}.member-card-bottom .member-social-link{width:34px;height:40px}.career-progress:not([hidden]){position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:7px 14px;border-radius:18px;background:var(--ui-surface);color:var(--ui-text-muted);white-space:nowrap;font:400 13px/1.55 Avenir Next,Segoe UI Variable Text,Segoe UI,PingFang SC,Microsoft YaHei UI,Microsoft YaHei,Noto Sans CJK SC,sans-serif;font-variant-numeric:tabular-nums;box-shadow:0 2px 10px #29465d24;pointer-events:none;font-family:var(--ui-font)}.career-progress b{font-weight:400}.career-progress i{width:24px;height:24px;border-radius:50%;background:conic-gradient(var(--ui-accent) var(--done,0%),var(--ui-surface-muted) 0);-webkit-mask:radial-gradient(circle,transparent 47%,black 50%);mask:radial-gradient(circle,transparent 47%,black 50%)}dialog.career-dialog{--ink:var(--ui-text);--muted:var(--ui-text-muted);--line:var(--ui-border);--accent:var(--ui-accent);box-sizing:border-box;width:min(380px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:14px;border:1px solid var(--ui-border);border-radius:24px;background:var(--ui-surface);color:var(--ink);box-shadow:0 16px 56px #29465d24;font:500 14px/1.4 system-ui,sans-serif;font-family:var(--ui-font)}.career-dialog header{display:flex;align-items:center;gap:12px;padding:2px 2px 14px}.career-dialog header>div{flex:1;min-width:0}.career-dialog header small,.career-dialog dt,.career-dialog dd small{color:var(--muted);font-size:12px}.career-dialog h2,.career-dialog h3{margin:0;color:var(--ink);line-height:1.25}.career-dialog h2{margin-top:2px;font-size:21px;letter-spacing:-.025em}.career-dialog header img{order:-1;box-sizing:border-box;width:52px;height:56px;padding:4px;object-fit:contain;border-radius:12px;background:var(--ui-surface-muted)}.career-dialog button.desk-close{display:grid;place-items:center;flex:none;width:34px;height:34px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--ui-action-secondary);color:var(--ink)}.career-dialog svg{width:17px;height:17px;flex:none}.career-dialog section{padding:15px;border:1px solid var(--line);border-radius:15px;background:var(--ui-surface);box-shadow:0 2px 4px #29465d24}.career-dialog section+section{margin-top:9px}.desk-role{display:flex;align-items:center;gap:8px}.desk-role h3{font-size:18px}.desk-role small{padding:3px 8px;border-radius:99px;background:var(--ui-surface-muted);color:var(--ui-text);font-size:11px}.career-dialog dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:13px 0 0}.career-dialog dl>div{padding:10px 12px;border-radius:10px;background:var(--ui-surface)}.career-dialog dt,.desk-success{display:flex;align-items:center;gap:6px}.career-dialog dd{display:flex;align-items:baseline;gap:5px;margin:3px 0 0}.career-dialog dd b{font-size:22px;font-variant-numeric:tabular-nums}.career-dialog p,.desk-success{margin:12px 0 0;color:var(--muted);font-size:13px}.career-dialog>p{margin:0 4px 10px}.desk-success svg{color:var(--accent)}.desk-error:not(:empty){display:flex;align-items:flex-start;gap:8px;margin-top:12px;padding:10px 12px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface-muted);color:var(--ui-danger);font:500 13px/1.5 system-ui,sans-serif;overflow-wrap:anywhere;font-family:var(--ui-font)}.desk-error svg{margin-top:1px;color:var(--ui-danger)}.career-dialog footer{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:15px}.career-dialog footer button{min-height:38px;padding:7px 18px;border:0;border-radius:99px;background:var(--ui-action-secondary);color:var(--ink);font:inherit;font-weight:500}.career-dialog footer button:first-child{background:var(--ui-action-secondary);color:var(--ui-text)}.career-dialog button:hover{filter:brightness(.95)}.career-dialog button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.career-dialog .training-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.training-metrics>div{min-width:0}.career-dialog .training-metrics dd{display:block;font-size:15px;font-weight:500;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.career-dialog footer>small{align-self:center;margin-inline-end:auto;color:var(--muted)}.career-dialog footer>small+button,.career-dialog.training-confirm footer button:last-child{background:var(--ui-action);color:var(--ui-text)}.career-dialog.training-confirm footer button:first-child{background:var(--ui-action-secondary);color:var(--ink)}.career-dialog.training-confirm>h2{margin:4px 4px 14px;font-size:18px}.career-progress svg{width:17px;height:17px;flex:none;color:var(--ui-text);margin-left:-5px}@media(max-width:350px){.career-dialog section{padding:12px}.career-dialog header{gap:8px}.career-dialog h2{font-size:19px}}.identity-content .career-section{display:grid;gap:0;border:1px solid var(--ui-border);border-radius:15px;background:var(--ui-surface);overflow:hidden;container-type:inline-size}.identity-content .career-section+.career-section{margin-top:16px}.career-head{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;padding:16px;background:linear-gradient(110deg,var(--ui-surface-muted),var(--ui-surface))}.career-head>div{display:grid;gap:3px}.career-head small,.career-options small{font-size:11px;color:var(--ui-text)}.career-head strong{font-size:16px;line-height:1.35;color:var(--ui-text)}.career-case{position:relative;width:38px;height:38px;background:var(--ui-surface-muted);border-radius:11px;color:var(--ui-text)}.career-case:before,.career-case:after{content:"";position:absolute;box-sizing:border-box;border:1.6px solid currentColor;border-radius:3px}.career-case:before{width:20px;height:14px;left:9px;top:14px;background:linear-gradient(transparent 44%,currentColor 46%,currentColor 51%,transparent 53%)}.career-case:after{width:10px;height:5px;left:14px;top:10px;border-bottom:0;border-radius:3px 3px 0 0}.career-section button.career-find{min-height:36px;border:0;border-radius:10px;background:var(--ui-action-secondary);color:var(--ui-text);padding:8px 14px;white-space:nowrap;font-size:13px;font-weight:500}.career-section button.career-find:hover,.career-section button.career-find:focus-visible{background:var(--ui-action-hover)}.career-options:not([hidden]){display:grid;gap:7px;padding:12px 14px}.career-options button{display:grid;grid-template-columns:1fr auto;gap:3px 8px;align-items:center;text-align:start;border-radius:10px;border:1px solid var(--ui-border);background:var(--ui-action-secondary);padding:9px 12px;color:var(--ui-text);font-size:14px}.career-options button:hover,.career-options button:focus-visible{background:var(--ui-action-hover);border-color:var(--ui-accent)}.career-options button small{grid-row:2;grid-column:1;font-weight:400}.career-options button:after{content:"›";grid-column:2;grid-row:1/3;color:var(--ui-text);font-size:20px}.identity-content .career-section .career-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;margin:0;border:0;border-top:1px solid var(--ui-border);border-radius:0;padding:12px 16px;background:var(--ui-surface)}.career-section .career-summary small{grid-column:1}.career-section .career-summary button{grid-column:2;grid-row:1/span 2;background:var(--ui-action-secondary);color:var(--ui-text);padding:6px 11px;border-radius:8px;font-size:12px}.career-section .career-policy{margin:0;padding:11px 16px;border-top:1px solid var(--ui-border);color:var(--ui-text);font-size:12px;line-height:1.6}@container (max-width:280px){.career-head{grid-template-columns:32px minmax(0,1fr);gap:8px;padding:12px}.career-case{width:32px;height:36px}.career-head .career-find{grid-column:1/-1}.career-section .career-policy{padding:10px 12px}}.career-job-actions{grid-column:2;grid-row:1/span 2;display:flex;align-items:center;gap:7px}.career-section .career-summary button.career-go-work{background:var(--ui-action-secondary);color:var(--ui-text)}.career-job-state{color:var(--ui-text);font-size:13px;font-weight:500}@container (max-width:330px){.career-section .career-summary .career-job-actions{grid-column:1/-1;grid-row:auto;flex-wrap:wrap}}.career-requirements{display:flex;flex-direction:column;gap:6px;margin-top:10px;font-size:12px;line-height:1.6;font-variant-numeric:tabular-nums}.career-requirements .requirement-unmet{color:var(--ui-text);background:var(--ui-surface-muted);border-radius:7px;padding:5px 8px}.career-requirements .requirement-met{color:var(--ui-text)}.career-option{padding:12px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface)}.career-options .career-option>button{width:100%;text-align:left}.career-choices header{justify-content:space-between}.career-choices h2{font-size:19px}.career-choices button:disabled{opacity:.55;cursor:not-allowed}dialog.career-confirm{box-sizing:border-box;width:min(360px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:22px;border:1px solid var(--ui-border);border-radius:22px;background:var(--ui-surface);color:var(--ui-text);box-shadow:0 18px 60px #29465d24;font:400 13px/1.7 Segoe UI Variable Text,Segoe UI,PingFang SC,Microsoft YaHei UI,sans-serif;font-family:var(--ui-font)}.career-confirm::backdrop{background:var(--ui-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.career-confirm header{display:flex;align-items:center;gap:11px}.career-confirm-mark{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:12px;background:var(--ui-surface-muted);color:var(--ui-text-muted)}.career-confirm .career-confirm-mark svg{width:23px;height:23px}dialog.career-confirm h2{flex:1;margin:0;font-size:17px;font-weight:500;line-height:1.4;color:var(--ui-text)}dialog.career-confirm header .career-confirm-close{display:grid;place-items:center;flex:none;width:28px;height:28px;min-height:28px;padding:0;border:0;border-radius:50%;background:var(--ui-surface-muted);color:var(--ui-text-muted)}.career-confirm-close svg{display:block;width:16px;height:16px}dialog.career-confirm p{margin:19px 0 20px;padding:13px 15px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface);font-size:13px;font-weight:400;line-height:1.8;color:var(--ui-text-muted)}dialog.career-confirm .career-confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}dialog.career-confirm .career-confirm-actions button{display:flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;border:1px solid var(--ui-border);border-radius:11px;background:var(--ui-action-secondary);color:var(--ui-text-muted);font-size:13px;font-weight:500}dialog.career-confirm .career-confirm-actions button:last-child{background:var(--ui-action);border-color:var(--ui-border);color:var(--ui-text)}dialog.career-confirm button:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.identity-content .career-section{border-color:var(--ui-border);background:var(--ui-surface);color:var(--ui-text);font:400 13px/1.65 Segoe UI Variable Text,Segoe UI,PingFang SC,Microsoft YaHei UI,sans-serif;font-family:var(--ui-font)}.career-section .career-head{background:var(--ui-surface);padding:16px;gap:12px}.career-section .career-head strong,.career-section .career-summary strong,.career-section .career-summary>span{font-size:13px;font-weight:400;line-height:1.65;color:var(--ui-text)}.career-section .career-head small,.career-section .career-summary small{font-size:12px;font-weight:400;color:var(--ui-text-muted)}.career-section .career-case{background:var(--ui-surface-muted);color:var(--ui-text-muted)}.identity-content .career-section .career-summary{padding:16px;gap:5px 14px;border-color:var(--ui-border)}.career-section .career-policy{padding:13px 16px;font-size:12px;font-weight:400;line-height:1.8;color:var(--ui-text-muted);border-color:var(--ui-border)}.career-section button.career-icon,.career-section .career-summary button.career-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;min-height:36px;padding:0;border:1px solid var(--ui-border);border-radius:11px;background:var(--ui-action-secondary);color:var(--ui-text-muted);box-shadow:none}.career-section button.career-icon:hover{background:var(--ui-action-hover);border-color:var(--ui-border)}.career-section button.career-icon:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.career-section .career-job-state{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ui-surface-muted);color:var(--ui-text-muted)}.career-section .career-job-actions{gap:10px}.career-section .career-icon svg,.career-section .career-job-state svg{width:18px;height:18px}@container (max-width:330px){.career-section .career-summary .career-job-actions{grid-column:2;grid-row:1/span 2}.career-section .career-head{grid-template-columns:32px minmax(0,1fr) auto}.career-section .career-head .career-find{grid-column:3}}.career-section .career-job-info{display:grid;gap:4px;grid-column:1;grid-row:1;min-width:0}.career-section .career-summary .career-job-actions{grid-column:2;grid-row:1}@container (max-width:250px){.career-section .career-job-info{grid-column:1/-1;grid-row:1}.career-section .career-summary .career-job-actions{grid-column:1/-1;grid-row:2;justify-content:flex-end;margin-top:5px}}[data-wallet-balance],[data-wallet-coin],.profile-reputation b,.goal-prestige b{display:inline-block;font-variant-numeric:tabular-nums}.goal-prestige{display:inline-flex;align-items:center;gap:4px;vertical-align:middle;color:#805e21}.goal-prestige svg{width:16px;height:16px;flex:none}.goal-prestige b{font-weight:650}.amount-changes{position:fixed;inset:max(14px,env(safe-area-inset-top)) auto auto 50%;transform:translate(-50%);margin:0;padding:6px 12px;width:max-content;max-width:94vw;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface);color:var(--ui-text);box-shadow:0 3px 14px #29465d24;pointer-events:none;z-index:30}.amount-changes .wallet-currency+.wallet-currency{margin-inline-start:10px}.game-home .resident-welcome{box-sizing:border-box;width:min(520px,calc(100vw - 28px));max-height:90dvh;margin:auto;padding:0;overflow:auto;border:1px solid var(--ui-border);border-radius:22px;background:var(--ui-surface);color:var(--ui-text);box-shadow:0 26px 90px #29465d24}.resident-welcome::backdrop{background:var(--ui-overlay);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.resident-welcome-view{height:clamp(110px,22vh,192px);position:relative;overflow:hidden;background:var(--ui-action)}.resident-welcome-photo{position:absolute;inset:0;background-position:50% 47%;background-size:cover}.resident-welcome-view:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,var(--ui-action),transparent 55%)}.resident-welcome-copy{padding:clamp(19px,5vw,30px)}.resident-welcome-copy h2{margin:0 0 10px;font-size:clamp(25px,5vw,34px);line-height:1.2;letter-spacing:-.035em}.resident-welcome-copy p{margin:0;color:var(--ui-text);font-size:14px;line-height:1.65}.resident-welcome-first{margin:19px 0;display:flex;gap:12px;align-items:center;padding:11px 14px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface-muted)}.resident-welcome-first svg{width:28px;height:28px;color:var(--ui-text)}.resident-welcome-first small,.resident-welcome-first strong{display:block}.resident-welcome-first small{color:var(--ui-text);margin-bottom:3px}.resident-welcome-actions{display:flex;flex-wrap:wrap;gap:9px}.game-home .resident-welcome-actions button{flex:1;min-height:44px;padding:9px 12px;border-radius:12px;color:var(--ui-text);border:1px solid var(--ui-border);background:var(--ui-action-secondary)}.game-home .resident-welcome-actions button+button{background:var(--ui-action-secondary);border-color:var(--ui-border);color:var(--ui-text)}.game-home .resident-welcome-actions button:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.resident-welcome-error:not(:empty){padding-bottom:12px}.tutorial-progress:not([hidden]){display:flex;align-items:center;gap:12px;margin-top:16px;color:var(--ui-text);font-size:12px}.tutorial-progress progress{flex:1;height:5px;border:0;border-radius:4px;overflow:hidden;background:var(--ui-surface-muted);color:var(--ui-text-muted)}.tutorial-progress progress::-webkit-progress-bar{background:var(--ui-surface-muted)}.tutorial-progress progress::-webkit-progress-value{background:var(--ui-action)}.goal-popup.tutorial-step h3{margin-top:14px}.tutorial-instruction{margin:0 0 14px;color:var(--ui-text);font-size:14px;line-height:1.55}.game-home .goal-popup [data-goal-action=muteTutorial]{background:var(--ui-surface-muted);color:var(--ui-text)}@media(prefers-reduced-motion:no-preference){.resident-welcome[open],.goal-popup.tutorial-step[open]{animation:resident-arrives .3s ease-out both}.resident-welcome[open] .resident-welcome-photo{animation:resident-pan 1.3s cubic-bezier(.2,.7,.3,1) both}.resident-welcome[open] .resident-welcome-copy{animation:resident-arrives .4s .09s ease-out both}.goal-popup[data-kind=receipt][open] .goal-status-icon{animation:reward-stamp .42s ease-out both}.goal-popup[data-kind=receipt][open] li{animation:resident-arrives .3s .06s ease-out both}@keyframes reward-stamp{0%{transform:scale(.78);opacity:.35}65%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}.tutorial-step .tutorial-progress progress{transform-origin:left;animation:resident-progress .36s ease-out both}@keyframes resident-arrives{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes resident-pan{0%{transform:scale(1.07)}to{transform:scale(1)}}@keyframes resident-progress{0%{transform:scaleX(.85);opacity:.2}to{transform:scaleX(1);opacity:1}}}#game-root .tutorial-milestone{box-sizing:border-box;width:min(420px,calc(100vw - 32px));padding:28px;text-align:center;max-height:calc(100dvh - 32px);overflow:auto}.tutorial-milestone-art{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 18px;border-radius:22px;background:var(--ui-action);color:var(--ui-accent)}.tutorial-milestone-art svg{width:32px;height:32px}.tutorial-milestone h2{font-size:19px;font-weight:600;line-height:1.4;margin:0;color:var(--ui-text)}#game-root .tutorial-milestone p{margin:14px 0 24px;color:var(--ui-text-muted);font-size:14px;line-height:1.8}.tutorial-milestone-actions{display:flex;gap:12px}.tutorial-milestone-actions button{flex:1;min-width:0}#game-root .tutorial-milestone .tutorial-milestone-error{color:var(--ui-danger);margin:12px 0}#game-root .tutorial-graduation{background:radial-gradient(ellipse at top,var(--ui-action),transparent 65%),var(--ui-surface);padding-top:36px}.tutorial-graduation .tutorial-milestone-art{border-radius:50%;box-shadow:0 0 0 9px var(--ui-surface),0 0 0 10px var(--ui-border);margin-bottom:28px}[data-pane=goals]:has(>.goals-empty){box-sizing:border-box;height:100%;min-height:0;grid-template-rows:minmax(0,1fr);padding:0}.goals-empty{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;padding:clamp(10px,3dvh,28px) 20px;text-align:center;border:1px solid var(--ui-border);border-radius:18px;background:radial-gradient(ellipse at 50% 35%,var(--ui-surface) 0,var(--ui-surface) 55%,var(--ui-surface) 100%);font-family:var(--ui-font)}.goals-empty>svg{display:block;width:144px;height:116px;min-height:0;margin-bottom:clamp(6px,2dvh,15px);flex:0 1 116px}.goals-empty>h3{margin:0;color:var(--ui-text-muted);font-size:15px;font-weight:500;line-height:1.6;letter-spacing:.2px}.goals-empty>p{max-width:280px;margin:9px 0 0;color:var(--ui-text-muted);font-size:12px;font-weight:400;line-height:1.8}[data-pane=goals]{display:grid;gap:8px;padding:2px 4px 10px 0}[data-pane=goals][hidden]{display:none}[data-pane=goals] details{overflow:hidden;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface)}[data-pane=goals] summary{display:flex;align-items:center;gap:10px;padding:12px 16px;font-weight:500;cursor:pointer;list-style:none}[data-pane=goals] summary::-webkit-details-marker{display:none}[data-pane=goals] summary span{margin-left:auto;font-size:12px;font-weight:500;color:var(--ui-text)}[data-pane=goals] summary:after{content:"";width:7px;height:7px;border-right:2px solid var(--ui-border);border-bottom:2px solid var(--ui-border);transform:rotate(45deg);margin:-3px 2px 0 4px}[data-pane=goals] details[open]>summary{background:var(--ui-surface)}[data-pane=goals] details[open]>summary:after{transform:rotate(225deg);margin-top:4px}[data-pane=goals] details[data-group=ready]>summary{background:var(--ui-surface-muted);color:var(--ui-text)}[data-pane=goals] details[data-group=ready][open]{padding-bottom:10px}[data-pane=goals] details[data-group=ready][open]>summary{margin-bottom:10px}[data-pane=goals] details[data-group=ready] .goal-claim-all{margin-inline-start:4px}.profile-body [data-pane=goals] .goal-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:0 15px;padding:11px 0;border:0;border-radius:0;background:transparent}.profile-body [data-pane=goals] .goal-row+.goal-row{border-top:1px solid var(--ui-border)}.goal-row .goal-rewards{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}.goal-reward{display:inline-flex;align-items:center;gap:4px;vertical-align:middle;white-space:nowrap;font-variant-numeric:tabular-nums}.goal-reward svg,.goal-reward img{width:17px;height:17px;object-fit:contain;flex:none}.goal-row strong{font-size:14px;font-weight:500}.goal-row small{display:block;margin-top:3px;color:var(--ui-text);font-size:12px}.game-home .goal-claim-all{padding:5px 12px;border:1px solid var(--ui-border);border-radius:999px;background:var(--ui-surface);color:var(--ui-text);font-size:13px;font-weight:500}.game-home .goal-claim-all:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.game-home .goal-claim-all:disabled{opacity:.55}.game-home .goal-row button{min-width:70px;padding:7px 12px;border:1px solid var(--ui-border);background:var(--ui-action-secondary);color:var(--ui-text);border-radius:9px;font-size:13px}.game-home .goal-popup [data-goal-action=go],.game-home .goal-popup [data-goal-action=ok]{background:var(--ui-surface-muted);color:var(--ui-text);border:1px solid var(--ui-border)}.game-home .goal-row[data-status=completed] button{min-width:62px;border:1px solid var(--ui-border);border-radius:999px;background:var(--ui-action-secondary);color:var(--ui-text);font-weight:500;box-shadow:none}@media(hover:hover){.game-home .goal-row[data-status=completed] button:hover{background:var(--ui-action-hover);border-color:var(--ui-border)}}.game-home .goal-row[data-status=completed] button:active{background:var(--ui-action-secondary)}.game-home .goal-row button:focus-visible,.goal-popup button:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.game-home .goal-row button:disabled{border-color:transparent;background:transparent;color:var(--ui-text)}.game-home dialog.goal-popup{box-sizing:border-box;width:min(365px,calc(100vw - 28px));max-height:90dvh;margin:auto;padding:22px;border:1px solid var(--ui-border);border-radius:20px;background:var(--ui-surface);color:var(--ui-text);box-shadow:0 18px 70px #29465d24}.goal-popup::backdrop{background:var(--ui-overlay)}.game-home .goal-popup header{display:flex;align-items:center;gap:10px}.goal-popup h2{margin:0;flex:1;font-size:14px;font-weight:500;color:var(--ui-text)}.goal-status-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--ui-surface-muted);color:var(--ui-text)}.goal-status-icon svg{width:21px;height:21px}.goal-popup[data-kind=receipt] .goal-status-icon{background:var(--ui-surface-muted);color:var(--ui-text)}.goal-popup[data-kind=receipt] .goal-icon-reminder,.goal-popup[data-kind=reminder] .goal-icon-receipt{display:none}.game-home .goal-popup [data-goal-action=close]{width:32px;height:32px;padding:0;border:0;border-radius:50%;font-size:20px;background:var(--ui-surface-muted);color:var(--ui-text)}.goal-popup h3{margin:22px 0 10px;font-size:clamp(20px,5vw,24px);line-height:1.35;letter-spacing:-.025em;overflow-wrap:anywhere}.goal-popup ul{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 20px;padding:0;list-style:none}.goal-popup li{padding:4px 9px;border-radius:7px;background:var(--ui-surface-muted);color:var(--ui-text);font-size:13px}.goal-popup [role=status]:empty{display:none}.goal-popup-actions{display:grid;gap:8px;padding-top:14px;border-top:1px solid var(--ui-border)}.game-home .goal-popup-actions button{min-height:42px;padding:9px;border-radius:11px}.game-home .goal-popup-actions [data-goal-action=muteReminders]{background:transparent;color:var(--ui-text);font-size:12px}.game-home .goal-popup-actions [data-goal-action=ignoreReminder],.game-home .goal-notice .goal-status-icon{background:var(--ui-surface-muted);color:var(--ui-text)}.goal-notice #goal-notice-body{margin:16px 0;color:var(--ui-text);font-size:13px;font-weight:400;line-height:1.7;overflow-wrap:anywhere}.goal-popup button[hidden]{display:none}.city-action-statuses .goal-checkin:not([hidden]){position:static;transform:none;gap:7px;max-width:min(80vw,330px);padding:6px 11px;border:1px solid var(--ui-border);background:var(--ui-surface);color:var(--ui-text)}.game-home.visiting-room .goal-observing{position:absolute;left:50%;bottom:calc(68px + env(safe-area-inset-bottom));transform:translate(-50%);display:flex;align-items:center;gap:7px;padding:6px 11px;border-radius:14px;background:var(--ui-surface);color:var(--ui-text);z-index:6}.goal-checkin i{flex:none;background:conic-gradient(var(--ui-accent) var(--done,0%),var(--ui-surface-muted) 0)}.goal-checkin span{overflow:hidden;text-overflow:ellipsis;font-size:12px}.goal-checkin b{font-size:12px;font-variant-numeric:tabular-nums}.city-action-statuses .career-progress:not([hidden]){position:static;transform:none}.city-action-statuses .goal-tracked{order:5;display:flex;align-items:center;gap:10px;width:max-content;max-width:min(82vw,340px);padding:5px 6px 5px 13px;border:1px solid var(--ui-border);border-radius:13px;background:var(--ui-surface);color:var(--ui-text);box-shadow:0 3px 12px #29465d24;pointer-events:auto}.goal-tracked strong{font-family:var(--ui-font);font-size:13px;font-weight:400;line-height:1.55;letter-spacing:.1px;color:var(--ui-text-muted);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.game-home .goal-tracked button{flex:none;padding:4px 10px;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-action-secondary);color:var(--ui-text);font-size:12px}.game-home .goal-tracked .goal-stop{background:var(--ui-surface-muted);border-color:var(--ui-border);color:var(--ui-text)}.game-home .goal-tracked button:hover{background:var(--ui-action-hover);border-color:var(--ui-border)}.game-home .goal-tracked button:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.goal-tracked button[hidden]{display:none}.goal-celebration{position:fixed;inset:var(--ui-toast-top) auto auto 50%;transform:translate(-50%);z-index:40;display:grid;justify-items:center;gap:3px;padding:13px 22px;border:1px solid var(--ui-border);border-radius:15px;background:var(--ui-surface);color:var(--ui-text);pointer-events:none;box-shadow:0 8px 28px #29465d24}.goal-celebration strong{font-size:18px}.goal-celebration span{font-size:13px}.goal-celebration i{position:absolute;top:45%;left:50%;width:4px;height:7px;border-radius:2px;background:var(--ui-action);animation:goal-spark .8s ease-out both}.goal-celebration i:nth-of-type(3n){background:var(--ui-action)}.goal-celebration i:nth-of-type(3n+1){background:var(--ui-action)}@keyframes goal-spark{0%{transform:scale(.1);opacity:0}18%{opacity:1}to{transform:translate(var(--x),var(--y)) rotate(var(--turn));opacity:0}}.profile-body [data-pane=goals] .goal-row.goal-highlight{background:var(--ui-surface);border-radius:9px;box-shadow:inset 3px 0 #29465d24;padding-inline:10px;margin-inline:10px}@media(prefers-reduced-motion:reduce){.goal-celebration i{display:none}}.goal-popup ul[hidden]{display:none}.game-home .goal-row .goal-claimed{display:grid;place-items:center}.goal-claimed svg{width:20px;height:20px;color:var(--ui-text-muted)}.game-home .goal-row button,.game-home .goal-row[data-status=completed] button,.game-home .goal-claim-all{display:grid;place-items:center;box-sizing:border-box;width:40px;min-width:40px;height:40px;padding:9px;border-radius:11px;flex-shrink:0}.game-home .goal-row button svg,.game-home .goal-claim-all svg{width:20px;height:20px}.game-home .goal-tracked button{display:grid;place-items:center;box-sizing:border-box;width:34px;height:34px;padding:7px}.goal-tracked button svg{width:18px;height:18px}.game-home .goal-popup[data-kind=reminder]{border-color:var(--ui-border);background:radial-gradient(ellipse at 100% 0,var(--ui-surface-muted),transparent 65%),var(--ui-surface);box-shadow:0 22px 70px #29465d24,inset 0 1px #29465d24}.goal-popup-main{display:flex;align-items:center;gap:18px;margin:24px 0 22px}.goal-popup-content{flex:1;min-width:0}.goal-popup .goal-popup-main h3{margin:0;font-size:22px;line-height:1.4;color:var(--ui-text)}.goal-popup .goal-popup-main ul{margin:12px 0 0}.game-home .goal-popup [data-goal-action=go]{display:grid;place-items:center;flex:none;width:54px;height:54px;padding:14px;border:1px solid var(--ui-border);border-radius:17px;background:linear-gradient(145deg,var(--ui-surface),var(--ui-surface-muted));color:var(--ui-text);box-shadow:0 4px #29465d24,inset 0 1px #29465d24;transition:transform .15s,box-shadow .15s}.goal-popup [data-goal-action=go] svg{width:25px;height:25px}.game-home .goal-popup [data-goal-action=go]:hover{transform:translateY(-2px)}.game-home .goal-popup [data-goal-action=go]:active{transform:translateY(1px);box-shadow:none}.goal-popup[data-kind=reminder] .goal-status-icon{background:var(--ui-surface-muted);color:var(--ui-text-muted)}.goal-popup[data-kind=reminder] h2{color:var(--ui-text-muted);font-size:12px;letter-spacing:.04em}.goal-popup[data-kind=reminder] .goal-popup-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:20px;row-gap:0;padding-top:10px;border-color:var(--ui-border)}.game-home .goal-popup[data-kind=reminder] .goal-popup-actions button{min-height:30px;padding:5px 0;border:0;border-radius:0;background:transparent;color:var(--ui-text-muted);font-size:12px;font-weight:400;box-shadow:none}.game-home .goal-popup[data-kind=reminder] .goal-popup-actions button:hover{color:var(--ui-text);text-decoration:underline;text-underline-offset:3px}.goal-popup[data-kind=reminder] [data-goal-action=muteTutorial]{order:2}.game-home .goal-popup [data-goal-action=go][hidden]{display:none}@media(prefers-reduced-motion:reduce){.game-home .goal-popup [data-goal-action=go]{transition:none}}[data-pane=goals] details[data-group=ready]{border-color:var(--ui-border)}[data-pane=goals] details[data-group=ready]>summary{background:var(--ui-surface-muted);color:var(--ui-text-muted);font-weight:500}.game-home .goal-claim-all,.game-home .goal-row button,.game-home .goal-row[data-status=completed] button{background:var(--ui-action-secondary);border-color:var(--ui-border);color:var(--ui-text-muted);font-weight:400}.game-home .goal-claim-all:hover,.game-home .goal-row[data-status=completed] button:hover{background:var(--ui-action-hover);border-color:var(--ui-border)}.game-home .goal-row button:focus-visible,.game-home .goal-claim-all:focus-visible,.game-home .goal-popup button:focus-visible{outline-color:var(--ui-accent)}.game-home .goal-popup,.game-home .goal-popup[data-kind=reminder]{background:var(--ui-surface);border-color:var(--ui-border);color:var(--ui-text);box-shadow:0 18px 60px #29465d24;font-family:var(--ui-font)}.game-home .goal-popup h2,.game-home .goal-popup[data-kind=reminder] h2{color:var(--ui-text-muted);font-size:13px;font-weight:400}.game-home .goal-popup .goal-popup-main h3{color:var(--ui-text);font-size:20px;font-weight:500;line-height:1.55;letter-spacing:0}.game-home .goal-popup .goal-status-icon{background:var(--ui-surface-muted);color:var(--ui-text-muted)}.game-home .goal-popup li{background:var(--ui-surface-muted);color:var(--ui-text-muted);font-weight:400}.game-home .goal-popup [data-goal-action=close]{background:var(--ui-surface-muted);color:var(--ui-text-muted)}.game-home .goal-popup [data-goal-action=go],.game-home .goal-popup [data-goal-action=ok]{background:var(--ui-surface-muted);border-color:var(--ui-border);color:var(--ui-text-muted);font-weight:400;box-shadow:none}.game-home .goal-popup .goal-popup-actions{border-color:var(--ui-border)}.game-home .goal-popup[data-kind=reminder] .goal-popup-actions button,.game-home .goal-popup[data-kind=reminder] .goal-popup-actions button:hover{color:var(--ui-text-muted)}.profile-body [data-pane=goals] .goal-row.goal-highlight{background:var(--ui-surface);box-shadow:inset 3px 0 #29465d24}[data-pane=goals]{gap:10px}[data-pane=goals] details{border-color:var(--ui-border);background:var(--ui-surface);border-radius:15px;font-family:var(--ui-font)}[data-pane=goals] summary{min-height:54px;box-sizing:border-box;padding:11px 14px;gap:11px;color:var(--ui-text-muted);font-weight:400;transition:background .15s}[data-pane=goals] details[open]>summary,[data-pane=goals] details[data-group=ready]>summary{background:var(--ui-surface-muted);color:var(--ui-text-muted)}[data-pane=goals] summary:hover{background:var(--ui-surface-muted)}[data-pane=goals] summary:focus-visible{outline:2px solid var(--ui-accent);outline-offset:-3px;border-radius:14px}[data-pane=goals] .goal-group-icon{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:10px;background:var(--ui-surface-muted);color:var(--ui-text-muted)}[data-pane=goals] .goal-group-icon svg{display:block;width:18px;height:18px}[data-pane=goals] .goal-group-title{font-size:14px;font-weight:500;line-height:1.5;letter-spacing:.15px}[data-pane=goals] summary .goal-group-count{display:grid;place-items:center;min-width:24px;height:24px;box-sizing:border-box;margin-left:auto;padding:0 6px;border-radius:8px;background:var(--ui-surface-muted);color:var(--ui-text-muted);font-size:12px;font-weight:400;font-variant-numeric:tabular-nums}[data-pane=goals] summary:after{width:6px;height:6px;border-color:var(--ui-border);border-width:0 1.5px 1.5px 0;margin-inline:3px}[data-pane=goals] summary .goal-claim-all{width:32px;min-width:32px;height:32px;padding:7px;border-radius:10px}[data-pane=goals] summary .goal-claim-all svg{width:17px;height:17px}@media(prefers-reduced-motion:reduce){[data-pane=goals] summary{transition:none}}.game-home .goal-popup[data-kind=reminder] .goal-popup-main h3{font-size:17px;font-weight:400;line-height:1.65;letter-spacing:.1px}.goal-popup[data-kind=reminder] .goal-popup-content{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px}.goal-reminder-art{display:grid;place-items:center;width:40px;height:44px;border-radius:13px;background:var(--ui-surface-muted);font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;font-size:27px;line-height:1}.goal-reminder-art[hidden]{display:none}.goal-popup[data-kind=reminder] .goal-popup-content>.tutorial-instruction,.goal-popup[data-kind=reminder] .goal-popup-content>ul{grid-column:1/-1}.furniture-reward-actions{display:flex;gap:12px}.furniture-reward-actions button{flex:1;min-width:0}dialog.wallet-dialog.wallet-payment{width:min(360px,calc(100vw - 32px))}.wallet-payment form,.wallet-payment label{display:grid;gap:8px;min-width:0}.wallet-payment form{gap:16px}.wallet-payment p{margin:0;overflow-wrap:anywhere}.wallet-payment input{box-sizing:border-box;width:100%;min-width:0}.wallet-payment .wallet-submit{min-height:44px}.wallet-payment [hidden]{display:none}.wallet-bundles .wallet-buy{margin:6px 4px 0;min-height:40px;padding:6px}.wallet-withdraw svg{width:14px;height:14px;display:block}.wallet-withdraw .currency-name{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.resident-wallet .wallet-plus{display:inline-grid;place-items:center;width:23px;height:23px;padding:0;border:1px solid var(--ui-border);border-radius:50%;background:var(--ui-surface-muted);color:var(--ui-text);font:500 16px/1 system-ui;cursor:pointer;font-family:var(--ui-font)}.resident-wallet [data-wallet-open=coin],.resident-wallet .wallet-withdraw{border-color:var(--ui-border);color:var(--ui-text);background:var(--ui-surface)}dialog.wallet-dialog{box-sizing:border-box;width:min(430px,calc(100vw - 24px));max-height:calc(100dvh - 28px);overflow:auto;padding:18px;border:1px solid var(--ui-border);border-radius:20px;color:var(--ui-text);background:var(--ui-surface);font:500 14px/1.45 system-ui,sans-serif;font-family:var(--ui-font)}.wallet-dialog::backdrop{background:var(--ui-overlay)}.wallet-dialog header,.wallet-dialog nav,.wallet-preview{display:flex;align-items:center;gap:8px}.wallet-dialog header{justify-content:space-between;margin-bottom:12px}.wallet-dialog h2{margin:0;font-size:18px}.wallet-dialog button{font:inherit;cursor:pointer}.wallet-dialog .wallet-close{border:1px solid var(--ui-border);border-radius:50%;width:34px;height:34px;padding:0;background:var(--ui-surface);color:var(--ui-text);font-size:21px}.wallet-dialog nav{margin-bottom:12px}.wallet-dialog nav button,.wallet-submit{padding:7px 16px;border:0;border-radius:12px;color:var(--ui-text);background:var(--ui-action-secondary)}.wallet-dialog nav [aria-pressed=true],.wallet-submit{background:var(--ui-action);color:var(--ui-text);font-weight:500}.wallet-bundles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.wallet-bundles article{min-width:0;padding:12px;border:1px solid var(--ui-border);border-radius:13px;background:var(--ui-surface);display:grid;align-content:start;gap:3px}.wallet-bundles small{font-size:12px;color:var(--ui-text)}.wallet-bundles strong{font-size:16px;overflow-wrap:anywhere}.wallet-bundles span{font-size:12px;color:var(--ui-text)}.wallet-packages>small{display:block;margin-top:10px;color:var(--ui-text)}.wallet-exchange label{display:grid;gap:5px}.wallet-exchange input{font:inherit;padding:10px;border:1px solid var(--ui-border);border-radius:10px;width:100%;box-sizing:border-box}.wallet-preview{justify-content:flex-end;text-align:right}.wallet-submit:disabled{opacity:.5;cursor:default}.wallet-dialog [hidden],.wallet-feedback:empty{display:none}.wallet-feedback{margin:12px 0 0;color:var(--ui-text)}@media(max-width:420px){dialog.wallet-dialog{padding:14px}.wallet-bundles article{padding:10px}.wallet-bundles strong{font-size:14px}}.wallet-dialog{--shine:#fff2ac;--metal:#f3bd54;--rim:#d59a37;--edge:#a76e2f;--stamp:#c88a28;--cloth:#687e79;--cloth-edge:#385856;--art-light:#fff8e8;--art-dark:#f1e0bf}.wallet-dialog[data-currency=balance]{--shine:#f4faff;--metal:#bcd4e4;--rim:#91afc3;--edge:#597d97;--stamp:#7397b0;--cloth:#8995b7;--cloth-edge:#556380;--art-light:#f3f8fd;--art-dark:#d9e5ee}dialog.wallet-dialog{width:min(560px,calc(100vw - 24px));border-radius:23px}.wallet-dialog h2,.wallet-bundles strong,.wallet-exchange label>span{display:flex;align-items:center;gap:6px}.wp-token{box-sizing:border-box;position:relative;display:inline-grid;place-items:center;vertical-align:-.18em;flex:none;width:1.12em;height:1.12em;border:1px solid #98702b;border-radius:50%;background:linear-gradient(145deg,#fff2a0,#eab653 68%,#c99137);color:#896019;box-shadow:inset 0 0 0 1.5px #fff2b7}.wp-token:after{content:"";width:56%;height:56%;background:currentColor;clip-path:polygon(50% 0,63% 32%,98% 37%,74% 61%,80% 96%,50% 80%,20% 96%,26% 61%,2% 37%,37% 32%)}.wp-balance{border-color:var(--ui-border);color:var(--ui-text-muted);background:linear-gradient(145deg,var(--ui-surface),var(--ui-action) 75%,var(--ui-action));box-shadow:inset 0 0 0 1.5px #29465d24}.wp-balance:after{clip-path:polygon(50% 0,88% 50%,50% 100%,12% 50%)}.wallet-dialog h2 .wp-token{width:29px;height:29px;margin-right:3px}.wallet-bundles{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.wallet-bundles article{display:flex;flex-direction:column;gap:3px;padding:5px 5px 10px;overflow:hidden;border-radius:15px}.wallet-gift{position:relative;display:grid;place-items:center;height:94px;border-radius:11px;background:radial-gradient(ellipse at 45% 28%,var(--art-light) 20%,var(--art-dark));overflow:hidden}.wallet-gift svg{display:block;width:min(100%,149px);height:80px;margin-top:7px}.wallet-bundles strong,.wallet-bundles small{margin-left:6px}.wallet-bundles strong{margin-top:5px}.wallet-bundles .wallet-bonus{position:absolute;right:4px;top:4px;background:var(--ui-surface);color:var(--ui-text);border-radius:7px;padding:1px 5px;font-size:10px;font-weight:500}.wallet-dialog[data-currency=balance] .wallet-bonus{color:var(--ui-text);background:var(--ui-surface)}.wallet-exchange [data-wallet-rate]{display:flex;align-items:center;justify-content:center;white-space:pre-wrap;padding:12px;background:var(--ui-surface-muted);border-radius:12px;font-weight:500}.wallet-preview strong{font-variant-numeric:tabular-nums}@media(max-width:510px){.wallet-bundles{grid-template-columns:repeat(2,minmax(0,1fr))}.wallet-gift{height:78px}.wallet-gift svg{height:66px}.wallet-bundles article{padding:4px 4px 8px}}.wallet-gift .wallet-bonus{display:inline-flex;align-items:center;gap:2px;font-variant-numeric:tabular-nums}.wallet-gift .wallet-bonus svg{margin:0;width:14px;height:14px}dialog.wallet-exchange-message{width:min(350px,calc(100vw - 28px))}.wallet-exchange-message dl{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;margin:16px 0}.wallet-exchange-message dt{color:var(--ui-text)}.wallet-exchange-message dd{display:flex;align-items:center;justify-content:flex-end;gap:5px;min-width:0;margin:0;font-weight:500;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.wallet-exchange-message form{display:flex;justify-content:flex-end;gap:8px}.wallet-exchange-message form button{border:0;border-radius:12px;padding:7px 14px}.panel-skeleton{display:grid;gap:12px;padding:10px 0;min-width:0}.panel-skeleton-card{display:flex;align-items:center;gap:14px;padding:16px;border:1px solid var(--ui-border);border-radius:16px;background:var(--ui-surface);min-width:0}.panel-skeleton-art{display:block;width:42px;height:42px;flex:none;border-radius:14px;background:var(--ui-action)}.panel-skeleton-card>span{display:grid;gap:10px;flex:1;min-width:0}.panel-skeleton-line{display:block;height:9px;width:72%;border-radius:8px;background:var(--ui-surface-muted)}.panel-skeleton-line:last-child{width:46%}.panel-skeleton-card:nth-child(2n) .panel-skeleton-line:first-child{width:60%}.panel-skeleton-art,.panel-skeleton-line{animation:panel-breathe 1.8s ease-in-out infinite alternate}.panel-skeleton-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:18px;overflow:auto;min-height:0;align-content:start}.panel-skeleton-grid .panel-skeleton-card{flex-direction:column;gap:12px;padding:16px 8px;min-height:135px;text-align:center}.panel-skeleton-grid .panel-skeleton-card>span{width:80%;flex:none}.panel-skeleton-grid .panel-skeleton-line{margin:auto}.panel-skeleton-card small{font-size:11px;font-weight:400;color:var(--ui-text-muted)}.panel-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:32px 16px;min-height:180px;box-sizing:border-box;text-align:center;color:var(--ui-text-muted)}.panel-empty-art{display:grid;place-items:center;width:76px;height:76px;border:1px solid var(--ui-border);border-radius:26px;background:var(--ui-surface-muted);box-shadow:0 8px 24px #29465d08}.panel-empty-art svg{width:34px;height:34px;color:var(--ui-accent)}.panel-empty p{margin:0!important;font-size:14px;line-height:1.6}.life-phone main .panel-empty{min-height:260px}@keyframes panel-breathe{0%{opacity:.55}to{opacity:1}}@media(prefers-reduced-motion:reduce){.panel-skeleton-art,.panel-skeleton-line{animation:none}}@media(max-width:380px){.panel-skeleton-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:12px}}.city-stage .npc-talk{position:absolute;top:0;left:0;z-index:3;display:grid;place-content:center;width:28px;height:21px;padding:0 0 6px;border:1px solid #c2d5c9;border-radius:11px;background:#fffefa;color:#25513c;font:700 18px/1 system-ui;box-shadow:0 2px 6px #203c3026;cursor:pointer;font-family:var(--ui-font)}.npc-talk:after{content:"";position:absolute;left:10px;bottom:-4px;width:6px;height:6px;transform:rotate(45deg);background:var(--ui-surface);border:solid var(--ui-border);border-width:0 1px 1px 0}.city-stage .npc-talk[hidden]{display:none}.npc-dialog{width:min(310px,90vw);padding:20px;background:var(--ui-surface);color:var(--ui-text);border-radius:18px}.npc-dialog h3{margin:0;font-size:16px}.npc-dialog p{font-size:14px;margin:10px 0 18px}.npc-dialog>div{display:flex;justify-content:flex-end;gap:7px}.npc-dialog button{font-size:13px;padding:7px 12px}.npc-dialog button:last-child{display:flex;align-items:center;gap:4px;background:var(--ui-action);color:var(--ui-text)}.npc-dialog svg{width:16px;height:16px}.npc-dialog button[hidden]{display:none}dialog.car-choices,.resident-car{--ink:var(--ui-text);--muted:var(--ui-text-muted);--line:var(--ui-border);--accent:var(--ui-accent);color:var(--ink);font:500 14px/1.4 system-ui,sans-serif;font-family:var(--ui-font)}dialog.car-choices{box-sizing:border-box;width:min(390px,calc(100vw - 20px));max-height:92dvh;overflow:auto;padding:0;border:1px solid var(--ui-border);border-radius:24px;background:var(--ui-surface);box-shadow:0 16px 56px #29465d24}.car-choices *,.resident-car *{box-sizing:border-box}.car-choices::backdrop{background:var(--ui-overlay);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.car-choices header,.car-funds,.car-money,.car-tile-foot,.car-actions,.resident-car-tools,.car-swatches,.car-paint-label{display:flex;align-items:center}.car-choices header{gap:9px;padding:20px 18px 14px}.car-choices h2{margin:0;flex:1;font-size:18px;line-height:1.3;color:var(--ink)}.car-shop-mark,.car-add{display:grid;place-items:center;flex:none;color:var(--accent);background:var(--ui-surface-muted)}.car-shop-mark{width:36px;height:36px;border-radius:12px}.car-choices svg,.resident-car svg{width:18px;height:18px}.car-choices button,.resident-car button{font:inherit;cursor:pointer;color:var(--ink)}.car-choices .car-icon,.resident-car .car-icon{display:inline-grid;place-items:center;width:34px;height:34px;padding:0;background:var(--ui-surface);border:1px solid var(--line);border-radius:50%}.car-choices button:hover,.resident-car button:hover{filter:brightness(.96)}.car-choices :focus-visible,.resident-car :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.car-actions{justify-content:flex-end;gap:8px;padding:12px 20px 20px}.car-actions button{flex:1;padding:9px 16px;min-height:40px;border:1px solid var(--ui-border);border-radius:var(--ui-control-radius);background:var(--ui-action-secondary);font-weight:500}.car-actions .car-primary{background:var(--ui-action);color:var(--ui-text)}.car-detail,.car-config{margin:3px 20px 10px}dialog.car-showroom[open]{position:fixed;inset:0 0 0 auto;margin:auto clamp(8px,2vw,28px) auto auto;width:min(540px,calc(100vw - 16px));height:min(780px,90dvh);max-width:none;display:flex;flex-direction:column;border-radius:28px;overflow:hidden}.car-showroom h2{font-size:23px;letter-spacing:-.035em}.car-funds{gap:9px;flex-wrap:wrap;justify-content:flex-end}.car-money{display:inline-flex;gap:4px;color:var(--ui-text);font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.car-money svg{width:16px;height:16px}.car-money.gold svg{color:var(--ui-text-muted);fill:#ffdf8c}.car-money.silver svg{color:var(--ui-text);fill:#f2f0f6}.car-display-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(166px,1fr);align-content:start;gap:9px;margin:0 10px 12px 14px;padding:4px 5px 5px 1px;overflow:auto;scrollbar-width:thin}.car-display-grid>*{border-radius:13px}.car-display-empty{border:1px solid var(--ui-border);background:var(--ui-surface-muted)}.car-display-grid button.car-display-tile{display:grid;grid-template-rows:minmax(80px,1fr) auto auto;gap:3px;padding:5px;border:1px solid var(--line);text-align:left;background:var(--ui-action-secondary);box-shadow:0 2px 4px #29465d24}.car-display-tile img,.car-preview,.resident-car-art{background:var(--ui-surface-muted);border-radius:9px}.car-display-tile img{width:100%;height:100%;min-height:0;object-fit:contain}.car-display-tile strong,.car-tile-foot{margin:2px 5px}.car-tile-foot{justify-content:space-between}.car-add{width:27px;height:27px;border-radius:50%}.car-preview{height:155px}.car-preview canvas,.resident-car-art canvas{display:block;width:100%;height:100%}.car-paint-label{margin:12px 0 8px;justify-content:space-between;font-weight:500}.car-preview canvas,.resident-car-art canvas{touch-action:none;cursor:grab}.car-preview canvas:active,.resident-car-art canvas:active{cursor:grabbing}.car-custom{margin:4px 0 12px;color:var(--muted);font-size:13px}.car-custom summary{cursor:pointer;width:fit-content}.car-custom label{display:flex;align-items:center;gap:10px;margin:7px 0}.car-custom input{flex:1}.paint-red,.paint-green,.paint-blue{accent-color:var(--ui-accent)}.resident-car .car-collect{border:0;border-radius:16px;padding:5px 12px;color:var(--accent);background:var(--ui-surface-muted)}.car-swatches{gap:8px;margin:8px 0 14px}.car-swatches button{width:29px;height:29px;border-radius:50%;padding:0;border:2px solid var(--ui-border);box-shadow:0 0 0 1px var(--line)}.car-swatches [aria-pressed=true]{outline:2px solid var(--accent);outline-offset:2px}.car-empty{color:var(--ui-text)}.profile-body [data-pane=cars]:not([hidden]){height:100%}.profile-body [data-pane=cars].cars-empty-pane:not([hidden]){display:grid;place-items:center;min-height:0;box-sizing:border-box}.profile-body:has([data-pane=cars].cars-empty-pane:not([hidden])){overflow:hidden}.cars-empty-pane>.panel-empty{min-height:0;padding:16px}.profile-body .resident-car{box-sizing:border-box;height:100%;margin:0;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr) auto;align-items:center;gap:12px 16px;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--ui-surface)}.resident-car-art{grid-column:1/-1;width:100%;height:100%;min-height:0;overflow:hidden;background:radial-gradient(ellipse at 50% 68%,var(--ui-surface-muted),var(--ui-surface-muted) 75%);border-radius:10px}.resident-car-info{min-width:0;display:grid;gap:3px;padding:0 2px}.resident-car-info strong{font-size:16px}.resident-car-info small{color:var(--muted);overflow-wrap:anywhere}.resident-car-tools{gap:8px;flex-wrap:wrap;justify-content:flex-end}.resident-car .car-icon{background:var(--ui-surface-muted);color:var(--accent);border:0}@media(max-width:480px){.profile-body .resident-car{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto auto;gap:10px}.resident-car-tools{justify-content:flex-start}}.resident-car button:disabled,.car-choices button:disabled{opacity:.45;cursor:default}.vehicle-single{height:100%}.vehicle-list{display:grid;gap:8px;padding:1px 2px 4px}.profile-body .vehicle-list .resident-car{height:auto;min-width:0;grid-template-columns:clamp(94px,18vw,144px) minmax(0,1fr) auto;grid-template-rows:auto;gap:12px;padding:8px;border-color:var(--ui-border);border-radius:14px}.vehicle-list .resident-car-art{grid-column:1;height:86px;background:radial-gradient(ellipse at 50% 70%,var(--ui-surface-muted),var(--ui-surface-muted) 76%)}.vehicle-list .resident-car-info strong{font-size:15px;color:var(--ui-text)}.vehicle-list .resident-car-info small{font-size:12px}.vehicle-list .resident-car-tools{justify-content:flex-end;gap:5px}.vehicle-list .car-icon,.vehicle-list .car-collect{background:var(--ui-surface-muted);color:var(--ui-text)}.car-ready{justify-self:start;border-radius:12px;background:var(--ui-surface-muted);color:var(--ui-text);padding:2px 7px;font-size:11px;font-weight:500}@media(max-width:520px){.profile-body .vehicle-list .resident-car{grid-template-columns:92px minmax(0,1fr);grid-template-rows:auto auto;gap:5px 10px}.vehicle-list .resident-car-art{grid-row:1/3;height:90px}.vehicle-list .resident-car-tools{grid-column:2;justify-content:flex-start}}@media(max-width:410px){.car-showroom header{flex-wrap:wrap;padding:14px 12px 8px}.car-showroom h2{font-size:20px}.car-funds{gap:4px;font-size:12px}}dialog.car-message{width:min(352px,calc(100vw - 28px));border-radius:18px;background:var(--ui-surface)}.car-message header{padding:16px;gap:9px}.car-message h2,.car-choices:not(.car-showroom) h2{font-size:15px;font-weight:500;letter-spacing:.01em}.car-message .car-shop-mark{width:28px;height:28px;border-radius:9px}.car-message .car-icon{width:28px;height:28px}.car-message-body,.car-message .car-detail{margin:-5px 18px 16px 53px;color:var(--ui-text);font-size:13px;line-height:1.65;text-wrap:pretty}.car-message .car-actions{padding:4px 18px 18px}.car-message .car-actions button{font-size:13px;min-height:40px;padding:8px 13px}.city-door-enter.car-park-button{right:max(16px,env(safe-area-inset-right));left:auto;top:56%;transform:translateY(-50%);width:auto;height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 15px 0 12px;background:var(--ui-action-secondary);color:var(--ui-text);border:1px solid var(--ui-border);border-radius:16px;box-shadow:0 3px 14px #29465d24;font:500 13px/1 system-ui,sans-serif;font-family:var(--ui-font)}.city-door-enter.car-park-button svg{width:22px;height:22px}.city-door-enter.car-park-button[hidden]{display:none}.city-door-enter.car-park-button:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.wallet-parking-due{display:inline-grid;place-items:center;min-width:16px;height:16px;padding:0 3px;border:1px solid var(--ui-border);border-radius:50%;background:var(--ui-surface-muted);color:var(--ui-text);font:500 11px/1 system-ui;cursor:help;font-family:var(--ui-font)}.wallet-parking-due[hidden]{display:none}.resident-car .car-fee{color:var(--ui-text);font-size:12px}.car-total-fee:not([hidden]){display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:8px 2px 12px;padding:10px 12px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface-muted);color:var(--ui-text);font-size:12px}.city-door-enter.car-board-button{width:46px;height:46px;padding:0;justify-content:center;border-radius:15px}.city-door-enter.car-board-button svg{width:30px;height:30px}.city-door-enter.car-board-button:hover{background:var(--ui-action-hover)}.car-redemption-summary{display:grid;justify-items:start;gap:4px}dialog.travel-dialog{width:min(350px,calc(100vw - 20px))}dialog.travel-dialog:has(.travel-options-three){width:min(510px,calc(100vw - 20px))}.travel-options{overflow-x:auto;display:grid;grid-template-columns:repeat(2,148px);gap:12px;padding:4px 20px 14px}.car-choices .travel-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:0;aspect-ratio:1;width:100%;padding:6px 4px;border:2px solid transparent;border-radius:22px;background:var(--ui-surface-muted)}.car-choices .travel-option[aria-pressed=true]{border-color:var(--ui-border);background:var(--ui-surface-muted);box-shadow:inset 0 0 0 2px #29465d24}.travel-art{display:grid;place-items:center;width:36px;height:28px;flex:none;color:var(--ui-text)}.car-choices .travel-art svg{width:28px;height:28px;stroke-width:1.5}.travel-option strong{font-size:15px}.travel-option small{font-size:12px;color:var(--ui-text-muted)}.travel-cost{display:flex;flex-direction:column;align-items:center;gap:4px}.travel-dialog .travel-vehicle{display:flex;align-items:center;justify-content:center;gap:8px;width:calc(100% - 40px);margin:0 20px 12px;padding:9px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface);color:var(--ui-text);font:inherit}.travel-dialog .travel-vehicle[hidden]{display:none}.travel-dialog .travel-vehicle svg{width:18px;height:18px;flex:none}.travel-dialog .travel-note{margin:0 20px 4px;font-size:12px;color:var(--ui-text-muted);line-height:1.5}.travel-dialog .car-actions{padding-top:4px}.travel-dialog .travel-go{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:46px;border:1px solid var(--ui-border);border-radius:13px;background:var(--ui-surface-muted);color:var(--ui-text)}.travel-go small{font-size:12px;font-weight:400}.travel-dialog [hidden]{display:none!important}.travel-options-three{grid-template-columns:repeat(3,148px)}@media(max-width:480px)and (pointer:coarse){.travel-options-three{grid-template-columns:1fr}.travel-options-three .travel-option{min-height:64px;aspect-ratio:auto;justify-content:flex-start;flex-direction:row;padding:8px 12px;gap:8px}.travel-options-three .travel-art{width:36px;flex:none}.travel-options-three .travel-cost{margin-left:auto}}dialog.life-phone{box-sizing:border-box;position:fixed;inset:0;margin:auto;width:min(338px,94vw);height:min(618px,94dvh);max-width:none;max-height:none;padding:0;border:6px solid #243431;border-radius:38px;background:var(--ui-surface-muted);color:var(--ui-text);overflow:hidden;box-shadow:0 18px 70px #071b2480}.life-phone[open]{animation:phone-rise .32s cubic-bezier(.18,.75,.22,1)}.life-phone::backdrop{background:var(--ui-overlay)}@keyframes phone-rise{0%{transform:translateY(75vh);opacity:.4}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){.life-phone[open]{animation:none}}.phone-shell{height:100%;display:grid;grid-template-rows:46px minmax(0,1fr) 32px}.life-phone[data-page=home]{color:#fff;background:radial-gradient(ellipse at 100% 85%,#e8bc7b 0%,transparent 37%),radial-gradient(ellipse at 18% 85%,#73bdaf 0%,transparent 55%),linear-gradient(155deg,#163e48,#39716e 52%,#91c8a6)}.phone-shell header{position:relative;display:flex;align-items:center;justify-content:space-between;padding:0 10px}.phone-camera{position:absolute;left:50%;transform:translate(-50%);width:56px;height:14px;border-radius:10px;background:#172320}.life-phone button{font:inherit;cursor:pointer}.phone-shell header button,.phone-home{border:0;background:transparent;color:inherit}.phone-shell header button{width:40px;height:40px;padding:0;font-size:25px}.phone-close{margin-left:auto}.phone-home{display:grid;place-items:center;width:100%;padding:0}.phone-home i{width:80px;height:4px;border-radius:8px;background:currentColor}.phone-shell main{padding:10px 20px 16px;min-height:0;overflow:auto}.phone-shell h2{margin:4px 0 18px;font-size:24px;overflow-wrap:anywhere}.life-phone[data-page=home] main{display:flex;flex-direction:column;justify-content:space-between}.phone-widget{margin:clamp(6px,5vh,52px) auto;text-align:center;display:grid;gap:4px}.phone-widget time{font:350 clamp(46px,10vh,70px)/1.05 system-ui;letter-spacing:-.055em;font-variant-numeric:tabular-nums}.phone-apps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:14px 6px;background:#ffffff36;border:1px solid #ffffff52;border-radius:25px}.phone-apps button{display:grid;justify-items:center;align-content:start;gap:6px;padding:0;border:0;background:none;color:#123a33;overflow-wrap:anywhere;font-size:13px;font-weight:650}.phone-apps i{display:grid;place-items:center;width:49px;height:49px;border-radius:15px;color:#fff;font:26px system-ui;box-shadow:inset 0 1px #ffffff60,0 3px 8px #173f3320}.life-phone[data-page=home] button:hover{background:transparent;filter:brightness(.95)}.app-contacts{background:#386d92}.app-inbox{background:#218264}.app-notices{background:#aa6336}.phone-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;width:100%;text-align:start;padding:12px;margin-bottom:6px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:14px;color:inherit}.phone-row strong,.phone-row small{grid-column:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phone-row small{color:var(--ui-text)}.phone-unread{grid-area:1/2;color:var(--ui-text);font-size:12px}.phone-article,.phone-history p{white-space:pre-wrap;overflow-wrap:anywhere}.life-phone[data-page=chat] main{display:flex;flex-direction:column;gap:8px}.phone-history{flex:1;overflow:auto;min-height:0}.phone-history p{width:fit-content;max-width:84%;border-radius:14px;padding:9px 12px;margin:6px 0;background:var(--ui-surface)}.phone-history .mine{margin-left:auto;background:var(--ui-surface-muted)}.phone-shell form{display:flex;gap:6px;align-items:center}.phone-shell textarea{flex:1;min-width:0;height:50px;box-sizing:border-box;resize:none;padding:8px;border:1px solid var(--ui-border);border-radius:12px;font:inherit}.phone-shell form button{border:0;border-radius:12px;background:var(--ui-action-secondary);color:var(--ui-text);padding:9px}.phone-status:empty{display:none}.city-action-controls [data-phone]{position:relative;width:46px;height:46px;flex-shrink:0}.phone-mini{position:relative;display:block;width:21px;height:34px;border-radius:5px;border:1px solid #465954;box-sizing:border-box;background:linear-gradient(105deg,#f0f3ed,#83928e 18%,#192f30 50%,#acb7b1);box-shadow:1px 2px 3px #15292440}.phone-mini b{display:block;position:absolute;inset:1.5px;border-radius:3px;background:radial-gradient(ellipse at 12% 105%,#facb77,transparent 52%),radial-gradient(ellipse at 95% 95%,#85ecce 0%,#5da1ad 38%,transparent 60%),linear-gradient(155deg,#113843,#447f99 58%,#bce7de)}.phone-mini b:before,.phone-mini b:after{content:"";position:absolute;left:50%;translate:-50%;border-radius:3px}.phone-mini b:before{top:1px;width:7px;height:2px;background:#182d30}.phone-mini b:after{bottom:1px;width:7px;height:1px;background:#f2fff9}.phone-mini:after{content:"";position:absolute;right:-2px;top:9px;width:1px;height:7px;background:#697c75;border-radius:1px}.phone-inbox-icon i{position:relative}[data-phone-unread] [data-phone]:after,[data-phone-unread] .app-inbox:after{content:"";position:absolute;right:3px;top:3px;width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:var(--ui-notification);box-shadow:0 1px 3px #68272155}[data-phone-unread] .app-inbox:after{right:-3px;top:-3px}.phone-apps{grid-template-columns:repeat(4,minmax(0,1fr))}.app-settings{background:linear-gradient(145deg,#788f98,#3d505d)}.phone-toggle,.social-card{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 9px;margin:5px 0;background:var(--ui-surface);border-radius:12px}.phone-toggle input{width:22px;height:22px;accent-color:var(--ui-accent)}.social-card{flex-wrap:wrap}.social-card strong{overflow-wrap:anywhere}.social-card small:empty{display:none}.social-card button,.social-search{padding:7px 10px;margin:2px;border:0;border-radius:9px;background:var(--ui-action-secondary);color:var(--ui-text)}.phone-shell input[type=search]{min-width:0;flex:1;padding:9px;border:1px solid var(--ui-border);border-radius:12px}.friend-alert:not([hidden]){position:fixed;z-index:9;left:50%;right:auto;top:var(--ui-toast-top);transform:translate(-50%);max-width:calc(100vw - 32px);border:0;border-radius:18px;background:var(--ui-action);color:var(--ui-text);padding:10px 16px}.contacts-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:3px 0 20px}.contacts-heading h2{margin:0;margin-inline-end:auto}.life-phone .blocked-entry{font-size:12px;padding:6px 8px;background:transparent;color:var(--ui-text)}.life-phone .phone-icon{display:inline-grid;place-items:center;flex:none;width:36px;height:40px;border:0;background:transparent;color:var(--ui-text);padding:0;border-radius:12px}.phone-icon svg{width:19px;height:19px}.life-phone .phone-icon-find{width:42px;height:42px;background:var(--ui-action-secondary)}.life-phone .phone-icon-delete{color:var(--ui-text)}.life-phone .phone-icon:disabled{color:var(--ui-text-muted);cursor:default}.contact-list{display:grid;gap:10px;padding-bottom:18px}.phone-contact{display:flex;align-items:center;gap:2px;padding:10px 6px 10px 10px;border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:17px;box-shadow:0 2px 5px #29465d24}.life-phone .contact-open{display:flex;align-items:center;min-width:0;flex:1;gap:10px;padding:0;background:none;border:0;text-align:start;color:inherit}.contact-avatar{border-radius:50%;width:42px;height:42px;background:linear-gradient(145deg,var(--ui-surface-muted),var(--ui-surface-muted));flex:none}.contact-open span{display:grid;min-width:0;gap:3px}.contact-open strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.contact-open small{font-size:12px;color:var(--ui-text-muted)}.phone-history p .phone-icon{width:32px;height:30px;vertical-align:middle;margin-inline-start:4px}.phone-history p .phone-icon svg{width:15px;height:15px}.phone-sheet-shade{position:absolute;inset:0;z-index:5;display:flex;align-items:center;padding:8px;box-sizing:border-box;background:var(--ui-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.phone-sheet{box-sizing:border-box;width:100%;max-height:100%;overflow:auto;padding:12px 18px 19px;border:1px solid var(--ui-border);border-radius:26px;background:var(--ui-surface);color:var(--ui-text);text-align:center;box-shadow:0 -6px 32px #29465d24;animation:phone-sheet-in .2s ease-out}.phone-sheet:before{content:"";display:block;width:30px;height:4px;border-radius:4px;margin:0 auto 14px;background:var(--ui-surface-muted)}.phone-sheet-art{width:50px;height:50px;margin:0 auto 10px;display:grid;place-items:center;border-radius:50%;background:var(--ui-surface-muted);color:var(--ui-text)}.phone-sheet-art img{width:100%;height:100%;border-radius:50%}.phone-sheet-art svg{width:23px;height:23px}.phone-sheet h3{margin:0;font-size:19px;line-height:1.4}.phone-sheet p{margin:7px 0 18px;color:var(--ui-text);line-height:1.55;font-size:14px;overflow-wrap:anywhere}.phone-sheet-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:9px}.phone-sheet-actions button{min-height:43px;border:0;border-radius:13px;background:var(--ui-action-secondary);color:var(--ui-text);font-weight:500}.phone-sheet-actions button:last-child{background:var(--ui-action);color:var(--ui-text)}.phone-sheet.danger .phone-sheet-art{background:var(--ui-surface-muted);color:var(--ui-danger)}.phone-sheet.danger .phone-sheet-actions button:last-child{background:var(--ui-action)}@keyframes phone-sheet-in{0%{transform:translateY(35px);opacity:.3}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){.phone-sheet{animation:none}}.life-phone[data-page=settings] main{padding:10px 16px 20px}.life-phone[data-page=settings] h2{margin:2px 4px 20px;font-size:21px;letter-spacing:-.025em}.phone-setting-group{margin:0 0 20px}.phone-setting-group h3{margin:0 0 8px 9px;font-size:12px;font-weight:500;letter-spacing:.045em;color:var(--ui-text)}.phone-setting-card{overflow:hidden;border:1px solid var(--ui-border);border-radius:17px;background:var(--ui-surface);box-shadow:0 2px 5px #29465d24}.phone-setting-card .phone-toggle{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;margin:0;padding:11px 12px;border-radius:0;cursor:pointer;font-size:13px;line-height:1.4;font-weight:400;color:var(--ui-text)}.phone-setting-card .phone-toggle+.phone-toggle{border-top:1px solid var(--ui-border)}.phone-setting-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--ui-surface-muted);color:var(--ui-text)}.phone-setting-icon svg{width:17px;height:17px}.phone-setting-icon.effects,.phone-setting-icon.visits,.phone-setting-icon.requests{background:var(--ui-surface-muted);color:var(--ui-text)}.life-phone .chat-clear{flex:none;padding:6px 9px;border:1px solid var(--ui-border);border-radius:10px;color:var(--ui-text);background:var(--ui-surface);font-size:12px}.notice-heading,.notice-byline{display:flex;align-items:center;gap:11px}.notice-heading{margin:4px 0 18px}.notice-heading small,.notice-date,.notice-byline{font-size:11px;color:var(--ui-text);font-weight:500}.notice-heading h2{font-size:20px;line-height:1.25;margin:1px 0 0}.notice-symbol,.notice-chevron{display:inline-grid;place-items:center;flex:none}.notice-symbol svg{width:21px;height:21px}.notice-heading>.notice-symbol{width:40px;height:40px;border-radius:13px;background:var(--ui-surface-muted);color:var(--ui-text)}.notice-list:not(:empty){padding:0 13px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:17px}.life-phone .notice-entry{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 14px;gap:10px;align-items:center;text-align:start;padding:13px 0;background:transparent;color:inherit;border:0;border-radius:0}.notice-entry+.notice-entry{border-top:1px solid var(--ui-border)}.notice-entry>span{display:grid;gap:4px;overflow-wrap:anywhere}.notice-entry strong{font-size:15px;line-height:1.4;font-weight:500}.notice-entry small{font-size:12px;line-height:1.55;color:var(--ui-text);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.notice-chevron svg{width:13px;height:13px;color:var(--ui-text-muted)}.notice-byline{gap:7px;margin:4px 0 14px}.notice-byline time{margin-inline-start:auto}.life-phone[data-page=notice-detail] h2{font-size:20px;line-height:1.45;margin-bottom:14px}.life-phone[data-page=notice-detail] .phone-article{border-top:1px solid var(--ui-border);padding-top:14px;font-size:14px;line-height:1.8}.phone-apps .app-notices .notice-symbol{display:contents}.system-message-head{display:flex;align-items:center;justify-content:space-between;color:var(--ui-text);font-size:12px}.life-phone[data-page=detail] .phone-article{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:16px;padding:16px;font-size:14px;line-height:1.65}.phone-sale{margin:12px 0 0;font-variant-numeric:tabular-nums}.phone-sale div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:6px 0}.phone-sale dt{color:var(--ui-text)}.phone-sale dd{margin:0;text-align:end}.phone-sale div:last-child{margin-top:8px;border-top:1px solid var(--ui-border);padding-top:12px;font-weight:500;color:var(--ui-text)}.phone-shell .social-person-card{flex-wrap:wrap}.phone-shell .social-person-card>strong{flex:1;min-width:0;overflow-wrap:anywhere}.phone-shell .phone-friend-greeting{display:grid;gap:8px;flex:0 0 100%;margin:4px 0 0}.phone-shell .phone-friend-greeting[hidden]{display:none}.phone-shell .phone-friend-greeting label{display:grid;gap:8px;font-size:12px;color:var(--ui-text-muted)}.phone-shell .phone-friend-greeting textarea{width:100%;height:88px;min-height:88px}.phone-shell .phone-friend-greeting>button{justify-self:end;min-height:40px}.phone-shell .social-person-card>small{flex:0 0 100%;overflow-wrap:anywhere}.phone-shell .social-person-card>small:empty{display:none}.phone-shell .social-person-identity{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.phone-shell .social-person-identity strong{font-size:13px;overflow-wrap:anywhere;min-width:0;font-weight:500}.phone-shell .social-person-avatar{width:40px;height:40px;padding:0;flex:none;border:1px solid var(--ui-border);border-radius:12px;overflow:hidden;background:var(--ui-surface-muted)}.phone-shell .social-person-avatar img{display:block;width:100%;height:100%;object-fit:cover}.phone-shell .phone-discovery-modes{display:flex;gap:8px;padding:4px;margin-bottom:12px;border-radius:14px;background:var(--ui-surface-muted)}.phone-shell .phone-discovery-modes button{flex:1;min-height:40px;background:transparent}.phone-shell .phone-discovery-modes button[aria-pressed=true]{background:var(--ui-action);color:var(--ui-accent)}.phone-shell main>form[hidden]{display:none}.phone-shell .social-person-identity>div{min-width:0;display:grid;gap:2px}.phone-shell .social-person-identity small{font-size:11px;color:var(--ui-text-muted)}#game-root .phone-discovery-modes .phone-nearby-refresh{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;padding:0;border-radius:50%;background:var(--ui-action)}#game-root .phone-discovery-modes .phone-nearby-refresh[hidden]{display:none}#game-root .phone-nearby-refresh svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.building-actions:has(.plot-actions:not(:empty)):not(:has(.plot-actions>.primary)){display:flex;align-items:flex-end;justify-content:flex-end;flex-wrap:wrap}.building-actions .plot-actions{justify-content:flex-end;padding:0;max-width:100%}.building-actions .plot-actions:has(>.primary){width:100%}.property-price,.property-controls .property-purchase{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-variant-numeric:tabular-nums}.property-price svg{width:18px;height:18px}.property-price.gold svg{color:#925e13;fill:#ffdb78}.property-price.silver svg{color:#5c6870;fill:#e2e9ed}.game-home button.property-purchase{background:var(--ui-action-secondary);color:var(--ui-text);padding:10px 15px;border-radius:14px;gap:10px}.property-purchase .property-price{border-left:1px solid var(--ui-border);padding-left:10px}.property-build{margin-inline-start:auto}.building-title{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 8px;padding-right:20px}.building-title h3{margin-right:0}.villa-listing-badge:not([hidden]){display:inline-block;padding:3px 9px;border-radius:12px;background:var(--ui-surface-muted);color:var(--ui-text);font-size:13px;font-weight:500;white-space:nowrap}.building-actions:has(.plot-actions[data-listing]:not([data-listing=""])){display:grid}.building-actions .plot-actions[data-listing]:not([data-listing=""]){display:grid;justify-items:end;width:100%;gap:8px}.property-enter{margin-inline-start:auto;min-width:76px}.property-move p,.property-move label,.property-move-result{font-size:14px;line-height:1.5}.property-move label{display:flex;align-items:center;gap:8px}.property-move select{flex:1;min-width:0;padding:6px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:8px}.property-move-result:not(:empty){display:block;margin:0 18px 16px;padding:9px 12px;background:var(--ui-surface-muted);color:var(--ui-text);border-radius:10px}.villa-countdown{display:grid;grid-template-columns:1fr auto;gap:6px 18px;align-items:center;min-width:min(150px,100%);padding:8px 12px;background:var(--ui-surface-muted);border-radius:12px;color:var(--ui-text);font-size:13px;font-variant-numeric:tabular-nums}.villa-countdown progress{grid-column:1/-1;width:100%;height:6px;border:0;border-radius:6px;overflow:hidden;background:var(--ui-surface-muted);accent-color:var(--ui-accent)}.villa-countdown progress::-webkit-progress-bar{background:var(--ui-surface-muted)}.villa-countdown progress::-webkit-progress-value{background:var(--ui-action);border-radius:6px}.property-icon-picker{width:100%;min-width:0}.property-icon-picker summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none}.property-icon-picker summary::-webkit-details-marker{display:none}.property-icon-picker summary>span{margin-inline-end:auto}.property-icon-picker summary:after{content:"⌄";color:var(--ui-text)}.property-icon-picker[open] summary:after{transform:rotate(180deg)}.property-icon-picker img{width:30px;height:30px}.property-icon-picker>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:9px;padding:7px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface)}.game-home .property-icon-picker button{position:relative;display:grid;justify-items:center;gap:3px;padding:6px 2px;background:var(--ui-action-secondary);border:1px solid transparent;border-radius:9px;font-size:11px}.game-home .property-icon-picker button[aria-pressed=true]{border-color:var(--ui-border);background:var(--ui-action)}.property-icon-picker button[aria-pressed=true]:after{content:"✓";position:absolute;right:3px;top:0;color:var(--ui-text)}.building-actions .plot-actions:has(.property-build){flex-basis:100%;justify-content:flex-start}.property-confirm{width:min(310px,calc(100vw - 32px));padding:24px;background:var(--ui-surface);color:var(--ui-text);border:1px solid var(--ui-border);border-radius:20px;box-shadow:0 18px 64px #29465d24}.property-confirm::backdrop{background:var(--ui-overlay)}.property-error .property-error-symbol{display:grid;place-items:center;width:43px;height:43px;margin:0 0 12px;border-radius:14px;background:var(--ui-surface-muted);color:var(--ui-danger)}.property-error-symbol svg{width:25px;height:25px}.property-error dl{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;margin:0;padding:13px 15px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface)}.property-error dt{color:var(--ui-danger);font-size:13px}.property-error dd{margin:0;text-align:right}.property-error footer{display:flex;justify-content:flex-end;margin-top:18px}.property-error footer button{min-width:85px}.property-confirm h3{margin:0 0 16px;font-size:19px}.property-confirm>.property-price{font-size:24px}.property-confirm>div{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}.property-confirm button:last-child{background:var(--ui-action);color:var(--ui-text)}.property-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,165px),1fr));gap:12px;padding:2px}#resident-profile .property-tile{position:relative;display:grid;grid-template-rows:1fr auto;aspect-ratio:1;width:100%;min-width:0;padding:0;overflow:hidden;text-align:left;color:var(--ui-text);background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:16px;box-shadow:0 2px 4px #29465d24}#resident-profile .property-tile:hover,#resident-profile .property-tile:focus-visible{border-color:var(--ui-accent);box-shadow:0 3px 12px #29465d24}.property-art{position:relative;display:grid;place-items:center;width:100%;min-height:0;background:radial-gradient(ellipse at 50% 78%,var(--ui-action) 0%,transparent 36%),linear-gradient(150deg,var(--ui-surface-muted),var(--ui-surface-muted) 64%,var(--ui-surface-muted))}.property-art img{display:block;width:96%;height:96%;object-fit:contain}.property-residence{position:absolute;top:9px;left:9px;padding:3px 8px;color:var(--ui-text);background:var(--ui-action);border-radius:16px;font-size:11px;line-height:1.4}.property-listed{position:absolute;bottom:9px;right:9px;padding:3px 9px;color:var(--ui-text);background:var(--ui-surface-muted);border:1px solid var(--ui-border);border-radius:16px;font-size:12px;font-weight:500;line-height:1.4}.property-caption{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:10px 13px;line-height:1.3}.property-caption strong{font-size:14px}.property-caption>span{font-size:20px;color:var(--ui-text-muted)}.property-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem;padding:.5rem 0}.property-controls label{display:inline-flex;align-items:center;gap:.5rem}.property-controls:empty{display:none}.property-settings .property-hero{position:relative;height:clamp(125px,24vh,195px);overflow:hidden;background:radial-gradient(ellipse at 51% 81%,var(--ui-action) 0%,transparent 33%),linear-gradient(145deg,var(--ui-surface-muted),var(--ui-surface-muted) 55%,var(--ui-surface-muted));border-bottom:1px solid var(--ui-border)}.property-settings .property-hero img{width:100%;height:100%;object-fit:contain}.property-settings .property-dismiss{position:absolute;right:12px;top:12px;display:grid;place-items:center;padding:0;width:31px;height:31px;border-radius:50%;background:var(--ui-surface);color:var(--ui-text);box-shadow:0 1px 6px #29465d24;font-size:21px}#resident-profile .property-settings header{padding:16px 18px;gap:12px}.property-settings header small{font-weight:500;color:var(--ui-text);background:var(--ui-surface-muted);padding:4px 9px;border-radius:16px}.property-settings .property-controls:not(:empty){padding:0 18px 18px}.property-settings:not([open]){display:none}.property-settings{width:min(350px,calc(100vw - 40px));padding:0;overflow:auto;max-height:85dvh;color:var(--ui-text);background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:20px;box-shadow:0 20px 68px #29465d24}.property-settings::backdrop{background:var(--ui-overlay)}#resident-profile .property-settings header{display:flex;align-items:center;justify-content:space-between}.property-settings h3{margin:0;font-size:20px;line-height:1.25;font-weight:500;letter-spacing:.01em}.property-settings .property-controls{font-size:14px;line-height:1.5;font-weight:500;color:var(--ui-text);row-gap:12px}.property-settings header small{font-size:12px;line-height:1.5}.property-settings .property-controls>button{font-size:14px;font-weight:500}.game-home .property-icon-picker button{min-height:44px;align-items:center}.property-settings label{width:100%;justify-content:space-between}.property-settings select,.property-settings input[type=color]{width:105px}.property-commands,.property-sale-area{width:100%;display:grid;gap:8px}.property-commands{grid-template-columns:repeat(2,minmax(0,1fr));padding-top:12px;border-top:1px solid var(--ui-border)}.property-commands>button:last-child:nth-child(odd){grid-column:1/-1}#resident-profile .property-commands>button,#resident-profile .property-sale-area>button{width:100%;min-width:0;min-height:42px;margin:0;padding:8px 10px;border-radius:11px;font-size:14px;line-height:1.25}.property-sale-area{padding-top:12px;border-top:1px solid var(--ui-border)}#resident-profile .property-sale-area>button:disabled{background:var(--ui-action-secondary);color:var(--ui-text);cursor:not-allowed;opacity:1}.property-sale-area small{font-size:12px;line-height:1.55;color:var(--ui-text)}.property-sale-area small:empty{display:none}@media(max-width:440px){.property-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.property-caption{padding:8px 10px}}.game-home .property-confirm{box-sizing:border-box;width:min(350px,calc(100vw - 32px));padding:22px;background:var(--ui-surface);color:var(--ui-text);border:1px solid var(--ui-border);border-radius:22px;box-shadow:0 18px 60px #29465d24;font:400 13px/1.7 Segoe UI Variable Text,Segoe UI,PingFang SC,Microsoft YaHei UI,sans-serif;font-family:var(--ui-font)}.game-home .property-confirm::backdrop{background:var(--ui-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.game-home .property-confirm h3{margin:0 0 16px;font-size:16px;font-weight:500;line-height:1.6;color:var(--ui-text)}.game-home .property-confirm>.property-price{display:flex;align-items:center;gap:8px;padding:14px;border-radius:12px;background:var(--ui-surface-muted);font-size:21px;font-weight:400;color:var(--ui-text-muted);font-variant-numeric:tabular-nums}.game-home .property-confirm>div{gap:10px;margin-top:20px}.game-home .property-confirm button{flex:1;min-height:40px;padding:9px 12px;border:1px solid var(--ui-border);border-radius:11px;background:var(--ui-action-secondary);color:var(--ui-text-muted);font:inherit;font-weight:400}.game-home .property-confirm button:last-child{background:var(--ui-action);color:var(--ui-text-muted);border-color:var(--ui-border)}.game-home .property-confirm button:hover{background:var(--ui-action-hover)}.game-home .property-confirm button:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}#resident-profile [data-pane=settings] dl{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 16px;margin:14px 0 0;padding:4px 16px;border:1px solid var(--ui-border);border-radius:16px;background:var(--ui-surface);color:var(--ui-text-muted);font-size:13px;font-weight:400}#resident-profile [data-pane=settings] dl :is(dt,dd){box-sizing:border-box;min-height:60px;margin:0;display:flex;align-items:center;border-bottom:1px solid var(--ui-border)}#resident-profile [data-pane=settings] dl :is(dt,dd)[hidden]{display:none}#resident-profile [data-pane=settings] dl :is(dt,dd):nth-last-child(-n+2){border-bottom:0}#resident-profile [data-pane=settings] dd{justify-content:flex-end}#resident-profile .preference-label{gap:11px;line-height:1.5}#resident-profile .preference-label svg{box-sizing:content-box;width:18px;height:18px;flex:none;padding:7px;border-radius:10px;fill:none;stroke:#86a4ba;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;background:var(--ui-surface-muted)}#resident-profile [data-pane=settings] .npc-picker{color:var(--ui-text-muted)}#resident-profile [data-pane=settings] .npc-picker summary,#resident-profile #profile-language{box-sizing:border-box;min-width:112px;min-height:36px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-surface-muted);color:var(--ui-text-muted);font-size:12px;font-weight:400;line-height:1.4}#resident-profile [data-pane=settings] .language-globe{display:none}#resident-profile #profile-language{padding:8px 28px 8px 12px}#resident-profile [data-pane=settings] .language-picker{color:var(--ui-text-muted)}#resident-profile [data-pane=settings] .npc-options,#resident-profile #profile-language::picker(select){background:var(--ui-surface);border-color:var(--ui-border);box-shadow:0 8px 24px #29465d24}#resident-profile [data-pane=settings] .npc-options button,#resident-profile #profile-language option{color:var(--ui-text-muted);font-size:12px;font-weight:400}#resident-profile [data-pane=settings] .npc-options button:is(:hover,:focus-visible,[aria-pressed=true]),#resident-profile #profile-language option:is(:checked,:hover){background:var(--ui-action-hover);color:var(--ui-text-muted)}#resident-profile [data-pane=settings] :is(summary,select,input):focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}@media(max-width:420px){#resident-profile [data-pane=settings] dl{padding-inline:12px;column-gap:10px}#resident-profile .preference-label{gap:8px}#resident-profile .preference-label svg{padding:5px;width:16px;height:16px}}@media(prefers-reduced-motion:reduce){#resident-profile #tutorial-prompts,#resident-profile #tutorial-prompts:after{transition:none}}.game-home .game-navigation{display:flex;justify-content:center}.game-home .topbar .location{gap:14px}.topbar .location b{flex:none;background:var(--ui-action)}.topbar .location b[data-online=true]{background:#359b67}@media(min-width:651px)and (pointer:fine){.game-home .topbar .location{margin-left:128px}}@media(max-width:650px),(pointer:coarse){.game-home .game-navigation .topbar{display:flex;flex-wrap:wrap;align-items:center;gap:7px 12px;width:100%;max-width:780px;padding:7px 12px}.game-home .game-navigation .topbar .wordmark,.game-home .game-navigation .location{display:inline-flex}.game-navigation .topbar .tools:empty{display:none}}.scene-tools:not([hidden]){position:absolute;left:max(12px,env(safe-area-inset-left));top:50%;transform:translateY(-50%);z-index:5;display:grid;gap:6px}.scene-tools :is(.resident-camera,.resident-labels,.home-layout-launch,.home-dismiss-guests){position:relative;inset:auto;margin:0;width:40px;height:40px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface);color:var(--ui-text);padding:9px;box-shadow:0 2px 8px #29465d24}.scene-tools .home-layout-launch svg{width:20px;height:20px}.scene-tools #resident-views{top:0;right:auto;left:calc(100% + 8px);min-width:130px}.city-action-controls .resident-avatar,.profile-portrait{width:46px;height:46px;flex:none;border:3px solid var(--ui-border);border-radius:50%;background:var(--ui-surface-muted) var(--resident-portrait) center/cover no-repeat;box-shadow:0 2px 10px #29465d24}.game-home #resident-profile{--profile-bottom: calc(max(12px,env(safe-area-inset-bottom)) + 64px) ;box-sizing:border-box;position:fixed;z-index:10;inset:auto 0 var(--profile-bottom);margin:0 auto;width:min(720px,calc(100vw - 16px));height:min(520px,calc(100dvh - var(--profile-bottom) - max(12px,env(safe-area-inset-top))));padding:clamp(16px,3vw,32px);border:1px solid var(--ui-border);border-radius:26px;background:var(--ui-surface);color:var(--ui-text);overflow:hidden}@media(pointer:coarse)and (max-width:650px){.game-home #resident-profile{--profile-bottom: calc(max(16px,env(safe-area-inset-bottom)) + clamp(82px,22vmin,106px) + 70px) }}@media(max-width:650px){.game-home:has(.city-stage .mobile-hud:not([hidden])) #resident-profile{--profile-bottom: calc(env(safe-area-inset-bottom) + 112px + clamp(82px,22vmin,106px)) }}.game-home #resident-profile[open]{display:flex;flex-direction:column;gap:18px;animation:resident-rise .18s ease-out}.game-home #resident-profile:has([data-pane=identity]:not([hidden])){height:auto;max-height:calc(100dvh - var(--profile-bottom) - max(12px,env(safe-area-inset-top)))}@keyframes resident-rise{0%{transform:translateY(28px);opacity:.6}}@media(prefers-reduced-motion:reduce){.game-home #resident-profile[open]{animation:none}}.game-home #resident-profile::backdrop{background:var(--ui-overlay);-webkit-backdrop-filter:none;backdrop-filter:none}.game-home #resident-profile header{justify-content:flex-start}.game-home #resident-profile .profile-name{font-size:20px;letter-spacing:-.04em;flex:0 1 auto;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-home #resident-profile .profile-close{flex:none;border-radius:50%;width:36px;height:36px;padding:0;font-size:22px}.profile-tabs{display:flex;gap:6px;flex-wrap:wrap;flex-shrink:0}.profile-tabs button{flex:1 0 auto;white-space:nowrap;padding:8px 12px;background:#eff2ef;font-size:13px}.profile-tabs [aria-selected=true]{background:#19563e;color:#fff}.profile-body{overflow-y:auto;overflow-x:hidden;flex:1 1 auto;min-width:0;min-height:0}.profile-body,.identity-content{scrollbar-width:thin;scrollbar-color:var(--ui-border) transparent}.profile-body::-webkit-scrollbar,.identity-content::-webkit-scrollbar{width:6px;height:6px}.profile-body::-webkit-scrollbar-thumb,.identity-content::-webkit-scrollbar-thumb{background:var(--ui-border);border-radius:6px}.profile-body::-webkit-scrollbar-track,.identity-content::-webkit-scrollbar-track{background:transparent;border-radius:6px}.portfolio-city{display:block;margin:12px 2px 8px;color:var(--ui-text-muted);font-size:12px;line-height:1.5}.career-section>.portfolio-city{margin:0;padding:12px 16px 0}@container (max-width:280px){.career-section>.portfolio-city{padding:12px 12px 0}}.profile-body:has([data-pane=cars]:not([hidden]) .vehicle-list),.profile-body:has([data-pane=properties]:not([hidden])){overflow-y:auto;overscroll-behavior:contain}.profile-body:has([data-pane=identity]:not([hidden])){display:grid;grid-template-rows:minmax(0,1fr);overflow:hidden}.profile-model:active{cursor:grabbing}.profile-model{cursor:grab;width:100%;height:clamp(160px,34dvh,330px);display:block;background:linear-gradient(160deg,var(--ui-surface-muted),var(--ui-surface-muted));border-radius:18px;touch-action:none}.profile-rename,.profile-composer{display:flex;align-items:end;gap:10px;margin-top:12px}.profile-rename label{display:grid;gap:5px;flex:1;font-size:13px}.profile-rename input,.profile-composer textarea{min-width:0;width:100%;box-sizing:border-box;font:inherit;padding:8px 10px;border-radius:10px;border:1px solid var(--ui-border)}[data-pane=identity]{position:relative}.profile-body .profile-rename{margin:0;gap:3px;align-items:center;border-top:1px solid var(--ui-border);padding:5px;background:var(--ui-surface)}.profile-rename label>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.profile-body .profile-rename input{width:clamp(68px,12vw,110px);padding:5px 7px;border:0;background:transparent;font-size:13px;color:inherit}.profile-body .profile-rename button{padding:5px 9px;border-radius:8px;font-size:12px;background:var(--ui-action-secondary);color:var(--ui-text)}.profile-body article{display:grid;align-items:center;grid-template-columns:1fr auto;gap:8px;padding:12px 14px;border-radius:14px;margin-bottom:6px;background:var(--ui-surface-muted)}.profile-body article progress{width:100%;accent-color:var(--ui-accent)}.profile-body article small{font-variant-numeric:tabular-nums}.profile-chat{max-height:28dvh;overflow:auto;display:grid;gap:5px}.profile-chat p{justify-self:start;background:var(--ui-surface-muted);padding:8px 12px;margin:0;border-radius:12px;white-space:pre-wrap;overflow-wrap:anywhere}.profile-chat .mine{justify-self:end;background:var(--ui-surface-muted)}.game-home #resident-profile footer{border-top:1px solid var(--ui-border);padding-top:10px}.game-home #resident-profile footer button{color:var(--ui-text);background:transparent}.vital-alerts{position:absolute;z-index:4;left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));display:flex;flex-wrap:wrap;gap:5px;max-width:33vw;pointer-events:none}.vital-alerts>*{pointer-events:auto}@media(pointer:coarse),(max-width:900px)and (any-pointer:coarse){.vital-alerts{left:50%;transform:translate(-50%);bottom:calc(var(--controls-bottom,max(12px,env(safe-area-inset-bottom))) + 54px + var(--route-space,0px) + var(--tow-space,0px));justify-content:center;width:max-content;max-width:calc(100% - 24px)}.game-home:has(.city-action-controls:not([hidden]) .city-tow-status:not([hidden])){--tow-space:30px}.game-home:has(.city-action-controls:not([hidden]) .city-action-bar:not([hidden])){--route-space:64px}}.vital-emblem{--rim:#dfcfa7;position:relative;width:43px;height:43px;flex:none;border-radius:50%;padding:3px;background:conic-gradient(var(--rim) var(--fraction,0%),var(--ui-surface-muted) 0);box-shadow:0 2px 5px #29465d24}.vital-emblem[data-rank="2"]{--rim:#e2b268}.vital-emblem[data-rank="3"]{--rim:#d98459}.vital-emblem[data-rank="4"]{--rim:#b8525b}.emblem-art{width:100%;height:100%;display:grid;place-items:center;border-radius:50%;background:linear-gradient(150deg,var(--ui-surface),var(--ui-surface-muted))}.emblem-art svg{width:29px;height:29px}.game-home button.emblem-art{display:grid;place-items:center;padding:0;border:0;background:linear-gradient(150deg,var(--ui-action-secondary),var(--ui-action-secondary));cursor:pointer}.vital-guide[open]{position:fixed;inset:0;margin:auto;height:fit-content;width:min(350px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:22px;z-index:12;border:1px solid var(--ui-border);border-radius:20px;background:var(--ui-surface);color:var(--ui-text);box-shadow:0 16px 48px #29465d24;font-weight:400}.vital-guide h3{display:flex;align-items:center;gap:11px;margin:0;font-size:15px;line-height:1.5;font-weight:500;color:var(--ui-text)}.vital-guide-art{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:13px;background:var(--ui-surface-muted);font:26px/1 "Segoe UI Emoji","Apple Color Emoji",sans-serif}.vital-guide p{margin:16px 0 18px;font-size:13px;font-weight:400;line-height:1.75;color:var(--ui-text-muted);overflow-wrap:anywhere}.vital-guide .vital-guide-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:15px;border-top:1px solid var(--ui-border)}.vital-guide button{display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid var(--ui-border);border-radius:13px;background:var(--ui-action-secondary);color:var(--ui-text-muted);transition:background .15s,border-color .15s}.vital-guide button:last-child{background:var(--ui-action);border-color:var(--ui-border);color:var(--ui-text-muted)}.vital-guide button svg{width:20px;height:20px}.vital-guide button.vital-guide-choice{width:auto;min-height:42px;height:auto;display:flex;gap:7px;padding:9px 11px;font-size:12px;font-weight:400;line-height:1.4}.vital-guide-choice svg{flex:none}.vital-guide .vital-guide-actions:has(.vital-guide-choice){align-items:stretch}.vital-guide .vital-guide-actions:has(.vital-guide-choice)>button:first-child{position:absolute;top:22px;right:22px;width:32px;height:32px;border:0;border-radius:50%;background:var(--ui-action-secondary)}.vital-guide:has(.vital-guide-choice) h3{padding-right:38px}.vital-guide .vital-guide-choice{flex:1;min-width:0;justify-content:center}.vital-guide button:hover{filter:none;background:var(--ui-action-hover);border-color:var(--ui-border)}.vital-guide button:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.vital-guide-hint{position:fixed;left:50%;top:15%;transform:translate(-50%);z-index:9;padding:8px 14px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface);color:var(--ui-text-muted);box-shadow:0 5px 18px #29465d24;font-size:12px;line-height:1.5;pointer-events:none}.vital-emblem.recovering{background:conic-gradient(var(--ui-accent) var(--fraction),var(--ui-surface-muted) 0)}.emblem-countdown{position:absolute;bottom:1px;left:50%;transform:translate(-50%);padding:1px 4px;border-radius:6px;background:var(--ui-action);color:var(--ui-text);font:500 10px/1.1 system-ui,sans-serif;font-variant-numeric:tabular-nums;pointer-events:none;font-family:var(--ui-font)}.game-home button.emblem-art:disabled{cursor:default;opacity:1}.vital-emblem:has(.emblem-countdown:not([hidden])) .emblem-art svg{width:25px;height:25px;transform:translateY(-3px)}.vital-emblem .emblem-stop{position:absolute;right:-4px;top:-6px;border-radius:50%;width:19px;height:19px;padding:0;border:2px solid var(--ui-border);background:var(--ui-action);color:var(--ui-text);font:500 14px/14px sans-serif;font-family:var(--ui-font)}.return-dock{position:absolute;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:4}.return-dock:empty{display:none}.game-home .city-back{margin:0;order:99;padding:10px;width:42px;height:42px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface);color:var(--ui-text)}.city-back svg{width:100%;height:100%}.game-home #resident-profile .profile-logout{display:grid;place-items:center;width:36px;height:36px;padding:9px;border-radius:50%;background:var(--ui-surface-muted);color:var(--ui-text)}.profile-reputation{display:inline-flex;align-items:center;gap:5px;flex:none;margin-inline-end:auto;border:1px solid #e8dab5;border-radius:20px;padding:4px 9px;background:#fbf5e4;color:#715423;font-size:12px;line-height:1.3}.profile-reputation-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.profile-reputation svg{width:17px;height:17px}.profile-reputation b{font-variant-numeric:tabular-nums}.profile-logout svg{width:18px;height:18px}.profile-rename label,.profile-composer textarea,.profile-name{min-width:0}.profile-body article strong,.profile-chat p{overflow-wrap:anywhere}.rename-success{max-width:min(320px,90vw);padding:26px;text-align:center;border-radius:22px}.rename-success h3{margin:12px 0 4px}.rename-success p{margin:0 0 18px;color:var(--ui-text);overflow-wrap:anywhere}.saved-mark{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--ui-surface-muted);color:var(--ui-text);font-size:22px}.welcome-tools{display:flex;align-items:center;gap:6px}.welcome-language-picker{position:relative;display:inline-flex;align-items:center;color:#34654f}.welcome-language-picker .language-globe{display:block;position:absolute;left:11px;top:50%;transform:translateY(-50%);pointer-events:none}.welcome-language-picker:after{content:"";position:absolute;right:13px;width:6px;height:6px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:translateY(-2px) rotate(45deg);pointer-events:none}.welcome-language{appearance:none;line-height:1.2;font-family:inherit;font-size:13px;font-weight:600;color:#244b39;border:1px solid #d3dfd6;border-radius:20px;background:#f3f7f2;padding:8px 30px 8px 34px;min-height:34px;cursor:pointer}@supports (appearance:base-select){.welcome-language,.welcome-language::picker(select){appearance:base-select}.welcome-language::picker-icon{display:none}.welcome-language::picker(select){margin-top:6px;min-width:144px;padding:5px;background:#fffefa;border:1px solid #d5e0d6;border-radius:15px;box-shadow:0 8px 24px #1e412a26}.welcome-language option{border-radius:10px;min-height:36px;padding:7px 10px;color:#31543f;font:inherit}.welcome-language option:checked{background:#e8f2e8;color:#215b3d;font-weight:650}.welcome-language option:hover,.welcome-language option:focus-visible{background:#eff5ee}.welcome-language option::checkmark{order:1;margin-inline-start:auto}}.welcome-logout{width:32px;height:32px;padding:7px;background:#f4f1ed;color:#884f45}.welcome-logout svg{width:100%;height:100%}.settings-account{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 16px;padding:14px 16px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface)}.settings-address{flex:1 1 180px;min-width:0;font-size:14px;color:var(--ui-text);overflow-wrap:anywhere}.settings-email{color:var(--ui-text);font-weight:500}.settings-account-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.settings-account-actions button{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;font-size:13px}.settings-account-actions button:disabled{opacity:1;color:var(--ui-text);background:var(--ui-action-secondary)}.settings-mail-status{font-size:13px;color:var(--ui-text);margin:10px 0 0}.npc-picker{position:relative;display:inline-block;color:var(--ui-text)}.npc-picker summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:92px;padding:6px 12px;border:1px solid var(--ui-border);border-radius:18px;background:var(--ui-surface);font-size:13px;font-weight:500;cursor:pointer;list-style:none}.npc-picker summary::-webkit-details-marker{display:none}.npc-picker summary:after{content:"";width:6px;height:6px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:translateY(-2px) rotate(45deg)}.npc-picker[open] summary:after{transform:translateY(2px) rotate(225deg)}.npc-options{position:absolute;z-index:2;right:0;top:calc(100% + 5px);width:136px;padding:5px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:14px;box-shadow:0 8px 22px #29465d24}.npc-options button{width:100%;display:flex;justify-content:space-between;padding:7px 10px;border-radius:9px;background:transparent;color:var(--ui-text);font-size:13px}.npc-options button:is(:hover,:focus-visible){background:var(--ui-action-hover)}.npc-options button[aria-pressed=true]{background:var(--ui-action);color:var(--ui-text)}.npc-options button[aria-pressed=true]:after{content:"✓"}.profile-body [data-pane=identity]:not([hidden]){display:grid;min-height:0;grid-template-rows:minmax(0,1fr);grid-template-columns:clamp(108px,29%,190px) minmax(0,1fr);align-items:start;gap:clamp(8px,2vw,18px)}.identity-portrait{display:flex;flex-direction:column;min-width:0;min-height:0;max-height:100%;overflow:hidden;border:1px solid var(--ui-border);border-radius:16px;background:var(--ui-surface-muted)}.identity-portrait .profile-model{flex:0 1 auto;min-height:0;height:auto;width:100%;aspect-ratio:2/3;border-radius:0;background:linear-gradient(155deg,var(--ui-surface-muted),var(--ui-surface-muted))}.identity-portrait .profile-rename{flex-shrink:0}.identity-portrait .profile-rename input{width:100%;padding-inline:4px}.identity-details{display:flex;flex-direction:column;align-self:stretch;min-width:0;min-height:0;contain:size}.identity-tabs{flex-shrink:0}.identity-tabs{display:flex;gap:3px;padding:3px;border-radius:12px;background:var(--ui-surface-muted)}.identity-tabs button{flex:1;min-width:0;padding:7px 3px;border:0;background:transparent;color:var(--ui-text);font-size:13px;border-radius:9px}.identity-tabs button[aria-selected=true]{background:var(--ui-action);color:var(--ui-text);box-shadow:0 1px 4px #29465d24}.identity-content{margin-top:9px;min-height:0;overflow:auto}.identity-content .identity-skill,.identity-content .career-summary{border:1px solid var(--ui-border);background:var(--ui-surface);padding:10px 12px;gap:6px 10px;margin-bottom:6px}.identity-skill strong,.career-summary strong{font-size:14px}.identity-content .identity-skill{grid-template-columns:minmax(0,1fr) auto 40px;grid-template-areas:"name level action" "meter meter action" "xp xp action"}.identity-skill strong{grid-area:name}.identity-skill span{grid-area:level}.identity-skill small{grid-area:xp}#resident-profile .identity-skill .skill-guide{grid-area:action;justify-self:end;position:relative;width:40px;height:44px;min-width:0;min-height:0;padding:0;margin:0;border:0;border-radius:12px;box-shadow:none;cursor:pointer;color:var(--ui-text);background:radial-gradient(circle at center,var(--ui-surface-muted) 0 14px,transparent 14.5px)}.skill-guide:before,.skill-guide:after{content:"";position:absolute;inset:0;margin:auto;width:12px;height:2px;border-radius:2px;background:currentColor}.skill-guide:after{transform:rotate(90deg)}#resident-profile .skill-guide:enabled:hover{color:var(--ui-text);background:radial-gradient(circle,var(--ui-action) 0 14px,transparent 14.5px)}#resident-profile .skill-guide:focus-visible{outline:2px solid var(--ui-accent);outline-offset:1px}#resident-profile .skill-guide:disabled{opacity:.45;cursor:default}.identity-skill span{color:var(--ui-text);font-size:11px;background:var(--ui-surface-muted);padding:2px 7px;border-radius:10px}.identity-content .identity-skill progress{grid-area:meter;height:5px;border:0;border-radius:4px;overflow:hidden;background:var(--ui-surface-muted);appearance:none}.identity-skill progress::-webkit-progress-bar{background:var(--ui-surface-muted)}.identity-skill progress::-webkit-progress-value{background:var(--ui-action)}.identity-skill small,.career-summary small{color:var(--ui-text);font-size:11px}.identity-content .career-summary{grid-template-columns:1fr;gap:10px;padding-block:18px}@media(max-width:420px){.profile-body [data-pane=identity]:not([hidden]){grid-template-columns:minmax(94px,34%) minmax(0,1fr)}.identity-content .identity-skill{padding:8px}}.has-goal-reward .resident-avatar,.has-goal-reward [data-tab=goals]{position:relative}.has-goal-reward .resident-avatar:after,.has-goal-reward [data-tab=goals]:after{content:"";display:inline-block;width:9px;height:9px;background:var(--ui-notification);border-radius:50%;box-shadow:0 0 0 2px #fff}.has-goal-reward .resident-avatar:after,.has-goal-reward [data-tab=goals]:after{position:absolute;right:3px;top:3px}.profile-rename .profile-name-prefix{font-style:normal;font-size:13px;color:var(--ui-text-muted);padding-left:5px;flex:none}.identity-portrait .profile-rename{box-sizing:border-box;gap:6px;padding:7px 8px;border:1px solid var(--ui-border);border-top:1px solid var(--ui-border);border-radius:0 0 14px 14px;background:var(--ui-surface);transition:border-color .15s,box-shadow .15s}.identity-portrait .profile-rename:focus-within{border-color:var(--ui-accent);box-shadow:inset 0 0 0 1px #29465d24;background:var(--ui-surface)}.identity-portrait .profile-rename label{flex:1 1 0;min-width:0}.identity-portrait .profile-rename input,.identity-portrait .profile-rename input:focus,.identity-portrait .profile-rename input:focus-visible{box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:5px 0;border:0;border-radius:0;outline:none;box-shadow:none;background:transparent;color:var(--ui-text);font-weight:400}.identity-portrait .profile-rename button{flex:0 0 auto;margin:0;padding:6px 9px;background:var(--ui-action-secondary);color:var(--ui-text-muted);border:1px solid var(--ui-border);border-radius:8px;font-weight:400}.identity-portrait .profile-rename button:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.identity-portrait .profile-rename button{display:grid;place-items:center;width:28px;height:28px;padding:0}.identity-portrait .profile-rename button svg{width:15px;height:15px}@container (max-width:250px){.career-section .career-summary>span,.career-section .career-summary>strong{grid-column:1/-1}.career-section .career-summary .career-job-actions{grid-column:1/-1;grid-row:auto;justify-content:flex-end;margin-top:4px}}@media(max-width:650px),(max-width:900px)and (pointer:coarse){#game-root .game-home #resident-profile{--profile-bottom:max(12px,env(safe-area-inset-bottom));width:min(480px,calc(100vw - 32px));height:min(560px,78dvh);max-height:calc(100dvh - var(--profile-bottom) - max(16px,env(safe-area-inset-top)));padding:12px;border-radius:20px;gap:10px}#game-root #resident-profile>header{gap:6px;flex:none}#game-root #resident-profile .profile-portrait{width:32px;height:32px;border-width:2px}#game-root #resident-profile .profile-name{font-size:17px;letter-spacing:0}#game-root #resident-profile :is(.profile-close,.profile-logout){width:40px;height:40px;flex:none}#game-root #resident-profile .profile-reputation{padding:3px 6px;gap:3px;font-size:11px}#game-root #resident-profile .profile-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}#game-root #resident-profile .profile-tabs button{min-height:40px;padding:5px 4px;font-size:12px;border-radius:10px;white-space:normal;line-height:1.3}#game-root #resident-profile [data-pane=identity]:not([hidden]){height:100%;grid-template-columns:minmax(0,1fr);grid-template-rows:56px minmax(0,1fr);gap:8px}#game-root #resident-profile .identity-portrait{flex-direction:row;height:56px;align-items:center;border-radius:12px}#game-root #resident-profile .profile-model{width:42px;height:56px;flex:none;aspect-ratio:auto}#game-root #resident-profile .profile-rename{flex:1;min-width:0;padding:4px 6px;border:0;border-radius:0}#game-root #resident-profile .profile-rename input{font-size:16px}#game-root #resident-profile .profile-rename button{width:40px;height:40px}#game-root #resident-profile .identity-details{contain:none;min-height:0}#game-root #resident-profile .identity-tabs button{min-height:40px;padding:4px;font-size:12px}#game-root #resident-profile .identity-content{margin-top:6px;padding-right:2px;scroll-padding-top:8px}#game-root #resident-profile .member-profile{gap:10px}#game-root #resident-profile :is(.member-section,.member-profile fieldset){padding:10px;border-radius:12px}#game-root #resident-profile .member-profile h3{margin-bottom:8px;font-size:14px}#game-root #resident-profile .member-overview{grid-template-columns:minmax(0,1fr);gap:10px}#game-root #resident-profile .member-overview .member-avatar-row{flex-direction:row;gap:8px}#game-root #resident-profile .member-overview :is(.member-avatar-slot,.member-crop){width:72px;height:72px}#game-root #resident-profile .member-overview .member-crop canvas{width:72px;height:72px}#game-root #resident-profile .member-progress{position:static;padding:8px 10px;gap:5px}#game-root #resident-profile .member-actions{position:static;padding-top:8px}#game-root #resident-profile [data-pane=settings] dl{padding-inline:8px;column-gap:8px}#game-root #resident-profile [data-pane=settings] dl :is(dt,dd){min-height:48px}#game-root #resident-profile .settings-account{padding:10px;gap:8px}}@media(min-width:651px)and (max-width:900px)and (pointer:coarse){#game-root .game-home #resident-profile{width:min(640px,calc(100vw - 40px));height:calc(100dvh - 32px);gap:8px}#game-root #resident-profile .profile-tabs{grid-template-columns:repeat(6,minmax(0,1fr))}#game-root #resident-profile [data-pane=identity]:not([hidden]){grid-template-columns:132px minmax(0,1fr);grid-template-rows:minmax(0,1fr)}#game-root #resident-profile .identity-portrait{flex-direction:column;height:auto}#game-root #resident-profile .profile-model{width:100%;height:128px}#game-root #resident-profile .profile-rename{width:100%;gap:2px;padding:2px}}.pocket-dialog{--ink:var(--ui-text);--muted:var(--ui-text-muted);--line:var(--ui-border);--accent:var(--ui-accent);position:fixed;z-index:9;inset:0 0 0 auto;margin:auto clamp(8px,2vw,28px) auto auto;width:min(540px,calc(100vw - 16px));height:min(780px,90dvh);max-width:none;max-height:none;padding:0;border:1px solid var(--ui-border);border-radius:28px;overflow:hidden;background:var(--ui-surface);color:var(--ink);box-shadow:0 16px 56px #29465d24;font:500 14px/1.4 system-ui,sans-serif;font-family:var(--ui-font)}.pocket-dialog[open]{display:flex;flex-direction:column}.pocket-confirm{position:absolute;inset:0;height:fit-content;z-index:1;margin:auto;width:min(330px,90%);padding:22px;border:1px solid var(--line);border-radius:20px;background:var(--ui-surface);color:var(--ink);box-shadow:0 12px 44px #29465d24,0 0 0 100vmax #29465d24}.pocket-confirm p{margin:12px 0 20px}.pocket-confirm .product-price{display:inline-flex;vertical-align:middle}.pocket-confirm-actions{display:flex;justify-content:flex-end;gap:8px}.pocket-confirm-actions button{flex:1;min-height:40px;border:1px solid var(--ui-border);border-radius:var(--ui-control-radius)}.pocket-confirm-actions button:last-child{background:var(--ui-action);color:var(--ui-text)}.pocket-dialog *{box-sizing:border-box}.pocket-dialog [hidden]{display:none!important}.pocket-dialog button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:32px;margin:0;padding:5px 10px;border:0;border-radius:99px;background:var(--ui-action-secondary);color:var(--ink);font:inherit;font-weight:500;cursor:pointer}.pocket-dialog button:hover{filter:brightness(.95)}.pocket-dialog :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pocket-dialog svg:not(.product-art svg){width:19px;height:19px;flex:none}.pocket-head,.pocket-funds,.pocket-search,.pocket-subhead,.pocket-capacity,.pocket-groups,.product-price,.product-actions,.upgrade-price,.pocket-feedback{display:flex;align-items:center}.pocket-head{gap:9px;padding:22px 20px 12px}.pocket-dialog h2,.pocket-dialog h3{margin:0;line-height:1.2;color:inherit}.pocket-dialog h2{font-size:23px;letter-spacing:-.035em}.pocket-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:var(--ui-surface-muted);color:var(--accent)}.pocket-funds{margin-left:auto;gap:5px;color:var(--ui-text);font-variant-numeric:tabular-nums}.pocket-dialog .pocket-close{margin-left:4px;width:34px;padding:0;background:var(--ui-surface);border:1px solid var(--line)}.pocket-search{flex:none;gap:9px;margin:0 18px 14px;padding:0 15px;height:43px;border-radius:25px;background:var(--ui-surface-muted);color:var(--muted)}.pocket-search:focus-within{outline:2px solid var(--accent)}.pocket-search input{min-width:0;flex:1;border:0;outline:0!important;background:transparent;color:var(--ink);font:inherit}.pocket-shell{flex:1;min-height:0;display:grid;grid-template-columns:68px minmax(0,1fr);gap:12px;padding:0 8px 12px 12px}.pocket-shell.facility-shop,.pocket-shell.food-shop{grid-template-columns:minmax(0,1fr)}.food-shop .pocket-subhead{justify-content:flex-end}.facility-shop .pocket-body{display:flex;flex-direction:column;overflow:hidden}.facility-shop .pocket-subhead,.facility-shop .pocket-groups{flex:none}.facility-shop .pocket-content{min-height:0;overflow:auto;flex:1;scrollbar-width:thin}.pocket-rail{display:flex;flex-direction:column;gap:5px;padding:7px 4px;border-radius:24px;background:var(--ui-surface-muted);overflow:auto}.pocket-rail button{flex-direction:column;gap:4px;min-height:58px;border-radius:17px;padding:6px 2px;background:transparent;color:var(--ui-text);font-size:12px}.pocket-rail button[aria-pressed=true]{background:var(--ui-action);color:var(--accent);box-shadow:0 2px 6px #29465d24}.pocket-body{min-width:0;overflow:auto;padding:3px 5px 5px 1px;scrollbar-width:thin}.pocket-subhead{justify-content:space-between;margin:6px 0 12px}.pocket-subhead h3{font-size:16px}.pocket-dialog .pocket-go-buy{color:var(--accent);background:var(--ui-surface-muted);padding-inline:14px}.pocket-dialog .outfit-checkout{background:var(--ui-action);color:var(--ui-text);font-size:12px;padding:6px 12px}.pocket-dialog .outfit-checkout:disabled{background:var(--ui-surface-muted);color:var(--ui-text-muted);cursor:default}.product-actions button[data-cart-key][aria-pressed=true]{background:var(--ui-action);color:var(--ui-text)}.pocket-error-dialog.success .pocket-error-icon{background:var(--ui-surface-muted);color:var(--ui-text)}.pocket-error-dialog.success p:empty{display:none}.pocket-groups{flex-wrap:wrap;gap:5px;margin-bottom:12px}.pocket-groups button,.pocket-footer button{background:var(--ui-action-secondary);border:1px solid var(--line);font-size:12px}.pocket-groups button[aria-pressed=true]{background:var(--ui-action);color:var(--ui-text)}.pocket-capacity,.upgrade-price,.product-price{gap:4px;font-variant-numeric:tabular-nums}.pocket-content{display:flex;gap:8px;align-items:flex-start}.pocket-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;flex:1;min-width:0}.pocket-dialog[data-category=facility] .pocket-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.pocket-dialog[data-mode=shop][data-category=all] .pocket-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.pocket-dialog[data-mode=shop][data-category=all] .pocket-slot{grid-column:auto / span 3}.pocket-dialog[data-mode=shop][data-category=all] [data-kind=facility]{grid-column:auto / span 4}.pocket-dialog[data-mode=shop][data-category=all] [data-kind=apparel]{grid-column:auto / span 6}.pocket-dialog[data-mode=shop][data-category=all] [data-kind=food]+[data-kind=facility],.pocket-dialog[data-mode=shop][data-category=all] [data-kind=facility]+[data-kind=apparel]{grid-column-start:1}.pocket-slot{position:relative}.pocket-slot-loading{justify-content:center;align-items:center;gap:10px}.pocket-slot-loading .panel-skeleton{width:100%;padding:8px}.pocket-slot-loading .panel-skeleton-card{flex-direction:column;border:0;background:none;padding:4px;gap:12px}.pocket-slot-loading .panel-skeleton-card>span{width:100%}.pocket-slot-loading .panel-skeleton-line{margin:auto}.pocket-slot-loading>small{color:var(--ui-text-muted);font-size:11px;font-weight:400}.pocket-dialog .pocket-effects-trigger{position:absolute;top:5px;right:5px;min-height:22px;width:22px;height:22px;padding:0;background:var(--ui-surface);color:var(--ui-text);font-size:13px}.pocket-effects{inset:0;margin:auto;width:min(240px,85vw);height:fit-content;padding:15px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface);color:var(--ui-text);box-shadow:0 5px 28px #29465d24}.pocket-effects>div{display:flex;justify-content:space-between;gap:12px;margin-top:7px}.pocket-slot{display:flex;flex-direction:column;min-width:0;padding:4px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface);box-shadow:0 2px 4px #29465d24}.product-art{display:grid;place-items:center;aspect-ratio:1.3;overflow:hidden;border-radius:9px;background:#eddef9}.product-art img,.product-art svg,.product-art canvas{width:85%;height:85%;object-fit:contain}.pocket-dialog button.product-art{display:grid;width:100%;padding:0;border-radius:9px}.pocket-dialog button.product-art:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.pocket-slot[data-kind=food] .product-art{background:#f8e8d4}.pocket-slot[data-kind=apparel] .product-art{background:#e0edf0}.product-info{flex:1;display:flex;flex-direction:column;align-items:flex-start;padding:5px 2px 2px;gap:2px;overflow-wrap:anywhere}.product-info>small{font-size:11px;color:var(--muted)}.product-info>strong{font-size:13px}.product-actions{width:100%;justify-content:space-between;flex-wrap:wrap;gap:4px;margin-top:auto;padding-top:7px}.product-actions:empty{display:none}.product-actions button,.pocket-fitting button{background:var(--ui-action-secondary);color:var(--ui-text);font-size:12px}.product-price{font-size:12px;gap:2px}.product-actions button{min-height:26px;padding:3px 5px;max-width:100%;gap:2px}.product-actions .product-icon-action{display:inline-grid;place-items:center;width:28px;height:28px;padding:0;border-radius:50%}.product-price svg,.upgrade-price svg,.product-actions button svg{width:15px!important;height:15px!important}.pocket-dialog[data-mode=bag] .pocket-grid{grid-auto-rows:minmax(156px,1fr)}.pocket-dialog[data-mode=bag] .product-art{height:68px;flex:none;aspect-ratio:auto}.pocket-dialog[data-mode=bag] .pocket-fitting+.pocket-grid{align-self:start;max-height:100%}.pocket-slot.vacant{position:relative;min-height:76px;background:var(--ui-surface-muted);border:1px dashed var(--ui-border)}.slot-index{position:absolute;top:7px;left:9px;font:11px ui-monospace,monospace;color:var(--ui-text-muted)}.pocket-footer{display:flex;justify-content:flex-end;padding-top:12px}.upgrade-price{padding-left:7px;border-left:1px solid var(--line)}.pocket-empty{grid-column:1/-1;display:grid;justify-items:center;align-content:center;gap:8px;min-height:130px;color:var(--muted)}.pocket-feedback{gap:6px;padding:8px;margin-bottom:8px;border-radius:12px;background:var(--ui-surface-muted)}.pocket-feedback button{margin-left:auto;background:var(--ui-action-secondary)}.pocket-dialog[data-category=apparel] .pocket-body{display:flex;flex-direction:column}.pocket-content:has(.pocket-fitting){display:grid;grid-template-columns:minmax(0,40fr) minmax(0,60fr);align-items:stretch;flex:1;min-height:130px}.pocket-fitting{display:flex;flex-direction:column;align-items:center;min-height:0;padding:5px;border-radius:14px;background:var(--ui-surface-muted)}.pocket-fitting canvas{width:100%;min-height:0;height:0;flex:1;touch-action:none;cursor:grab}.pocket-fitting canvas:active{cursor:grabbing}.pocket-fitting{position:relative}.pocket-fitting .pocket-reset-view{position:absolute;top:6px;right:6px;background:var(--ui-surface);color:var(--accent);border:1px solid var(--line)}.pocket-fitting+.pocket-grid{grid-template-columns:repeat(2,minmax(0,1fr));overflow-y:auto;align-content:start;overscroll-behavior:contain;scrollbar-width:thin}@media(max-width:480px){.pocket-dialog[data-category=apparel]{height:74dvh}.pocket-dialog{inset:8px 0 auto auto;margin-top:0;height:62dvh;border-radius:21px}.pocket-head{padding:15px 13px 10px}.pocket-dialog h2{font-size:20px}.pocket-search{margin:0 11px 10px}.pocket-shell{grid-template-columns:50px minmax(0,1fr);gap:6px;padding-left:6px}.pocket-rail button{font-size:11px}.pocket-grid{gap:5px}.pocket-slot{padding:4px;border-radius:14px}.product-art{border-radius:10px}}.home-layout-launch{position:absolute;right:12px;top:32%;z-index:5;background:var(--ui-surface);color:var(--ui-text);border:1px solid var(--ui-border);border-radius:12px;padding:9px 13px}.layout-tools:not([hidden]){position:absolute;z-index:8;transform:translate(-50%);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px;width:max-content;max-width:min(216px,90%);padding:7px 8px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:14px;box-shadow:0 3px 12px #29465d24}.layout-tools small{flex:1 0 100%;font-size:11px;text-align:center;color:var(--ui-text)}.layout-session{display:grid;gap:5px;justify-items:center}.layout-tools button,.layout-session button{width:32px;height:32px;padding:7px;display:grid;place-items:center;border-radius:10px;color:var(--ui-text);background:var(--ui-action-secondary)}.layout-session button{background:var(--ui-action-secondary);border:1px solid var(--ui-border)}.layout-tools svg,.layout-session svg{width:17px;height:17px}.pocket-error-dialog{box-sizing:border-box;width:min(340px,calc(100vw - 32px));padding:24px;background:linear-gradient(145deg,var(--ui-surface),var(--ui-surface));color:var(--ui-text);border:1px solid var(--ui-border);border-radius:22px;box-shadow:0 18px 60px #29465d24,0 3px 12px #29465d24;font-family:var(--ui-font)}.pocket-error-dialog[open]{position:fixed;inset:0;margin:auto;height:fit-content;z-index:12;display:grid;grid-template-columns:42px minmax(0,1fr);column-gap:14px;row-gap:6px;align-items:start}.pocket-error-icon,.pocket-error-dialog.success .pocket-error-icon{grid-row:1 / 3;display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface-muted);color:var(--ui-text-muted)}.pocket-error-icon svg{width:23px;height:23px}.pocket-error-dialog h3{margin:2px 0 0;font-size:16px;line-height:24px;font-weight:500;letter-spacing:.1px}.pocket-error-dialog p{grid-column:2;margin:0;color:var(--ui-text-muted);font-size:13px;font-weight:400;line-height:22px;overflow-wrap:anywhere}.pocket-error-dialog button{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap;min-height:38px;width:100%;margin-top:16px;border:1px solid var(--ui-border);border-radius:11px;background:var(--ui-action-secondary);color:var(--ui-text-muted);padding:8px 14px;font-size:13px;font-weight:500;line-height:20px;cursor:pointer;transition:background .15s,border-color .15s}.pocket-error-dialog button svg{width:17px;height:17px}.pocket-error-dialog button:hover{background:var(--ui-action-hover);border-color:var(--ui-border)}.pocket-error-dialog button:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.item-state{position:absolute;left:7px;top:7px;padding:2px 5px;border-radius:8px;background:var(--ui-surface);color:var(--ui-text);font-size:10px;line-height:1.3;pointer-events:none}.item-state.active{background:var(--ui-surface-muted);color:var(--ui-text)}#game-root:has(.layout-session) .pocket-dialog[data-mode=bag][open]{width:min(540px,42vw)}@media(max-width:700px){#game-root:has(.layout-session) .pocket-dialog[data-mode=bag][open]{inset:auto 0 0;margin:0 auto;width:calc(100vw - 12px);height:42dvh}}.food-product-heading{display:flex;align-items:center;justify-content:space-between;gap:5px;width:100%;font-size:13px}.food-product-heading strong{min-width:0;overflow-wrap:anywhere}.food-product-heading .product-price{flex:none;white-space:nowrap}.product-actions.food-cart-actions{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:4px;padding-top:9px}.food-cart-actions .food-cart-count{font-size:13px;font-variant-numeric:tabular-nums;text-align:center}.pocket-dialog .food-cart-actions button{display:grid;place-items:center;flex:none;width:28px;height:28px;padding:0;border-radius:50%}.pocket-dialog .food-cart-actions button:disabled{opacity:.4;cursor:default}.pocket-dialog[data-mode=shop][data-category=food] .pocket-grid{grid-template-columns:repeat(auto-fill,minmax(min(110px,100%),1fr));gap:8px}.pocket-confirm.food-order-confirm{box-sizing:border-box;max-height:calc(100% - 24px);overflow:auto;background:var(--ui-surface)}.food-order-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.food-order-item{display:flex;align-items:center;justify-content:center;gap:9px;padding:10px 7px;border:1px solid var(--ui-border);border-radius:13px;background:var(--ui-surface)}.food-order-art{display:grid;place-items:center;flex:none;width:48px;height:46px;border-radius:10px;background:var(--ui-surface-muted)}.pocket-dialog .food-order-art svg,.pocket-dialog .food-order-art img{width:44px;height:40px;object-fit:contain}.food-order-item strong{font-size:17px;font-variant-numeric:tabular-nums;color:var(--ui-text);white-space:nowrap}.food-order-total{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 18px;padding-top:13px;border-top:1px solid var(--ui-border);color:var(--ui-text-muted);font-size:12px}.food-order-total .product-price{gap:5px;font-size:18px;color:var(--ui-text)}.food-order-total .product-price svg{width:18px;height:18px}.pocket-dialog .tutorial-shop-masked{position:relative;isolation:isolate}.pocket-dialog .tutorial-shop-masked:after{content:"";position:absolute;inset:0;z-index:5;border-radius:inherit;background:color-mix(in srgb,var(--ui-surface-muted) 70%,transparent)}.pocket-dialog .tutorial-shop-target{outline:2px solid var(--ui-accent);outline-offset:-2px}.vital-bars:not([hidden]){display:grid;gap:8px}.vital-bars .vital-row{display:grid;grid-template-columns:36px minmax(0,1fr) 24px;align-items:center;gap:14px;position:relative;background:var(--ui-surface);padding:12px;border-radius:16px}.vital-bars svg{width:34px;height:34px;color:var(--vital-color);background:var(--ui-surface);padding:6px;border-radius:12px}.vital-bars progress{appearance:none;width:100%;height:8px;border:0;border-radius:9px;overflow:hidden;background:var(--ui-surface-muted);color:var(--vital-color)}.vital-bars progress::-webkit-progress-bar{background:var(--ui-surface-muted)}.vital-bars progress::-webkit-progress-value{background:var(--vital-fill,var(--vital-color))}.vital-bars progress::-moz-progress-bar{background:var(--vital-fill,var(--vital-color))}.vital-bars .low{--vital-fill:var(--vital-warning)}[data-pane=needs]:not([hidden]){height:100%;container-type:size}[data-pane=needs] .vital-bars:not([hidden]){height:100%;max-height:350px;grid-template-rows:repeat(6,minmax(0,1fr));gap:5px}[data-pane=needs] .vital-bars .vital-row{min-height:0;padding:0 12px}[data-pane=needs] .vital-bars svg{max-height:100%;box-sizing:border-box}@container (max-height:240px){[data-pane=needs] .vital-bars:not([hidden]){grid-template:repeat(3,minmax(0,1fr))/repeat(2,minmax(0,1fr))}}.vital-bars .vital-rule-help{width:24px;height:24px;padding:0;border:1px solid var(--ui-border);border-radius:50%;background:var(--ui-surface);color:var(--ui-text);font:500 13px/1 system-ui;font-family:var(--ui-font)}.vital-rule-dialog[open]{position:fixed;inset:0;margin:auto;width:min(320px,calc(100vw - 32px));height:fit-content;padding:20px;border:1px solid var(--ui-border);border-radius:18px;background:var(--ui-surface);color:var(--ui-text)}.vital-rule-dialog::backdrop{background:var(--ui-overlay)}.vital-rule-dialog h3{margin:0;font-size:16px}.vital-rule-dialog p{white-space:pre-line;font-size:14px;line-height:1.65}.vital-rule-dialog button{display:block;margin-left:auto;font-size:13px}.vital-row>:is(svg,progress){pointer-events:none}*{box-sizing:border-box}body{margin:0;font-family:var(--ui-font);color:#192f29}button,input{font:inherit}button{cursor:pointer;border:0;border-radius:999px;padding:.7rem 1.2rem;background:var(--ui-action-secondary);color:var(--ui-text);font-weight:500}button:hover{filter:brightness(.95)}button:focus-visible,input:focus-visible{outline:3px solid var(--ui-accent);outline-offset:3px}button:disabled{opacity:.55;cursor:wait}.primary{background:var(--ui-action);color:var(--ui-text)}.game-home{min-height:100vh;min-height:100svh;display:flex;align-items:center;justify-content:space-between;flex-direction:column;padding:18px 16px max(25px,env(safe-area-inset-bottom));position:relative;isolation:isolate;background:#a9c6ad}.city-stage,.city-cover{position:absolute;inset:0}.game-home:has(.city-cover:not([hidden]),.scene-tools[hidden],.realtime-status:not([hidden])) .vital-alerts{display:none}.city-stage{z-index:-1;overflow:hidden}.city-stage canvas{display:block;width:100%;height:100%;touch-action:none}dialog.building-menu{width:min(760px,calc(100vw - 24px));margin:auto;padding:0;max-height:calc(100dvh - 24px);overflow:auto;border:0;border-radius:24px;background:var(--ui-surface);box-shadow:0 24px 90px #29465d24}.building-card{display:grid;grid-template-columns:46% 1fr;min-height:clamp(260px,44vh,360px)}.building-art{display:grid;place-items:center;padding:clamp(12px,3vw,34px);background:radial-gradient(ellipse at 50% 68%,var(--ui-surface-muted),var(--ui-surface-muted) 70%)}.building-preview{display:block;width:100%;height:clamp(150px,33vh,280px);object-fit:contain}.building-details{display:flex;flex-direction:column;align-items:flex-start;padding:clamp(16px,3vw,36px);min-width:0;position:relative}.building-details h3{margin:20px 16px 12px 0;font-size:clamp(20px,3vw,32px);line-height:1.15;overflow-wrap:anywhere}.building-description{margin:0;font-size:15px;line-height:1.65;color:var(--ui-text)}.building-close{position:absolute;top:8px;right:8px;width:32px;height:32px;padding:0;font-size:22px}.building-close-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.building-actions{align-self:stretch;margin-top:auto;padding-top:18px;display:grid;gap:8px;justify-items:end}.building-actions button{min-width:min(120px,100%);min-height:44px}@media(max-width:480px){.building-card{grid-template-columns:38% 1fr}}.city-cover{z-index:2;display:grid;place-items:center;overflow:hidden;background:var(--ui-surface-muted);pointer-events:auto}.city-cover:before{content:"";position:absolute;inset:-10%;filter:blur(36px);background:radial-gradient(ellipse at 18% 24%,var(--ui-action) 0 9%,transparent 28%),radial-gradient(ellipse at 74% 26%,var(--ui-action) 0 8%,transparent 26%),radial-gradient(ellipse at 69% 78%,var(--ui-action) 0 18%,transparent 44%),linear-gradient(134deg,var(--ui-action) 10%,var(--ui-action) 36%,var(--ui-action) 55%,var(--ui-action) 80%)}.city-loading{position:relative;display:grid;gap:12px;width:min(300px,84vw);padding:26px;border-radius:24px;text-align:center;color:var(--ui-text);background:var(--ui-surface);border:1px solid var(--ui-border);-webkit-backdrop-filter:blur(28px);backdrop-filter:blur(28px);box-shadow:0 12px 40px #29465d24}.topbar,.welcome,.city-back{position:relative;z-index:3}.game-home.restoring-session .welcome,.game-home.in-room .welcome,.game-home.in-room .scenery-rain,.city-back[hidden]{display:none}.city-loading progress{width:100%;height:6px;accent-color:var(--ui-accent)}.city-loading output{font-size:12px;font-variant-numeric:tabular-nums}.city-loading output:empty,.city-cover[hidden],.city-loading [hidden]{display:none}.topbar,.welcome,dialog{box-shadow:0 5px 30px #15342f24;background:#fffffff7}.topbar{display:flex;align-items:center;gap:20px;width:min(780px,100%);padding:7px 8px 7px 20px;border-radius:44px}.wordmark{display:inline-flex;gap:9px;align-items:center;font:850 29px/1 Segoe UI,sans-serif;letter-spacing:-2px;color:var(--ui-text);font-family:var(--ui-font)}.wordmark i{width:19px;height:17px;display:inline-block;transform:skewY(-12deg);background:linear-gradient(to right,#178557 28%,transparent 28% 36%,#178557 36% 65%,transparent 65% 73%,#178557 73%);clip-path:polygon(0 25%,36% 25%,36% 0,68% 0,68% 40%,100% 40%,100% 100%,0 100%)}.tools,.actions,.switch{display:flex;gap:7px;align-items:center}.tools{margin-left:auto}.tools:empty{display:none}.city-clock{margin-inline:auto;white-space:nowrap;color:var(--ui-text);font-size:15px;font-weight:500;font-variant-numeric:tabular-nums}.city-clock:not([hidden])+.tools{margin-left:0}@media(max-width:650px){.topbar{flex-wrap:wrap}.city-clock{font-size:13px}}.language-picker{position:relative;display:inline-flex;color:var(--ui-text)}.language-picker:after{content:"";position:absolute;right:13px;top:calc(50% - 4px);width:5px;height:5px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);pointer-events:none}.language-globe{position:absolute;top:calc(50% - 7px);left:12px;width:14px;height:14px;border:1.3px solid;border-radius:50%;pointer-events:none;z-index:1}.language-globe:before,.language-globe:after{content:"";position:absolute}.language-globe:before{inset:-1px 2.5px;border:1px solid;border-radius:50%}.language-globe:after{inset:50% 0 auto;border-top:1px solid}.lang{white-space:nowrap;appearance:none;cursor:pointer;border:1px solid var(--ui-border);border-radius:999px;padding:0 26px 0 32px;min-height:38px;background:var(--ui-surface);color:var(--ui-text);line-height:1.3;font-family:var(--ui-font);font-size:13px;font-weight:500}.lang:hover{background:var(--ui-surface-muted)}.lang:focus-visible{outline:3px solid var(--ui-accent);outline-offset:2px}@supports (appearance: base-select){.lang,.lang::picker(select){appearance:base-select}.lang{align-items:center}.lang::picker-icon{display:none}.lang::picker(select){margin-top:7px;min-width:145px;padding:5px;border:1px solid var(--ui-border);border-radius:16px;background:var(--ui-surface);box-shadow:0 7px 24px #29465d24}.lang option{min-height:40px;padding:8px 12px;border-radius:11px;color:var(--ui-text);font:inherit}.lang option:checked{background:var(--ui-surface-muted);color:var(--ui-text)}.lang option:hover,.lang option:focus-visible{background:var(--ui-surface-muted)}.lang option::checkmark{order:1;margin-left:auto}}@media(max-width:360px){.topbar .wordmark{font-size:22px;gap:4px}.topbar .wordmark i{width:12px}.game-home .topbar{padding-left:9px}.language-globe{display:none}.lang{padding-left:10px}.topbar .tools{gap:4px}.topbar .tools button{padding:9px 8px;font-size:13px;white-space:nowrap}}.location,.eyebrow{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:#416455}.location b,.eyebrow b{height:7px;width:7px;border-radius:50%;background:#51a77e}.welcome{container-type:inline-size;width:min(460px,100%);padding:24px 26px;border-radius:24px}.eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase}.game-home .location[hidden]{display:none}.game-home .game-navigation .topbar:not([data-city-entered]) .city-clock{display:none}.welcome-tagline{flex:1;min-width:0;text-align:center;color:var(--ui-text-muted);font-size:clamp(11px,1.6vw,13px);font-weight:400;line-height:1.6;letter-spacing:.05em;padding-inline-start:10px;border-inline-start:1px solid var(--ui-border)}.welcome-tagline[hidden]{display:none}.welcome-heading{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-bottom:22px}.welcome-connection{display:flex;align-items:center;gap:6px;min-width:0;margin-inline-end:auto;color:var(--ui-text-muted);font-size:12px;line-height:1.5}.welcome-connection:before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--ui-danger)}.welcome-connection[data-online=true]:before{background:#51a77e}.welcome h1{white-space:nowrap;font-size:min(34px,8.8cqi);margin:0 0 8px;line-height:1.2;letter-spacing:-.045em}:lang(en) .welcome h1{font-size:min(34px,7.2cqi)}.intro{color:#52685d;font-size:14px;margin:0 0 22px;line-height:1.5;overflow-wrap:anywhere}.actions{flex-wrap:wrap}.actions .primary{flex:1;box-shadow:inset 0 -3px #29465d24}.actions button{min-height:44px}.notice,.feedback{font-size:14px;line-height:1.5;color:var(--ui-text)}.notice{margin:12px 0 0}dialog{width:min(410px,calc(100% - 32px));border:0;padding:27px;border-radius:24px;color:inherit}dialog::backdrop{background:var(--ui-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}form header{display:flex;align-items:center;justify-content:space-between}.close{font-size:24px;padding:0;width:34px;height:34px}.fields label{display:grid;gap:7px;margin:13px 0;font-size:14px;font-weight:500}.fields input{width:100%;padding:12px 14px;border:1px solid var(--ui-border);border-radius:12px}.submit{width:100%}.switch{justify-content:center;flex-wrap:wrap;margin-top:9px}.switch button{font-size:13px;background:transparent;padding:7px}.feedback:empty{display:none}@media(max-width:560px){.topbar{gap:5px;padding-left:14px}.location{display:none}.in-room .location{display:flex}.tools button{padding:.6rem .8rem}.welcome{padding:20px}.game-home{padding:10px 10px 18px}.wordmark{font-size:26px}}.resident-card{position:relative;z-index:3;display:flex;align-items:center;gap:10px;padding:7px 16px 7px 7px;border-radius:18px;background:var(--ui-surface);max-width:75vw}.resident-card img{width:46px;height:46px;background:var(--ui-surface-muted);border-radius:50%}.resident-card div{min-width:0}.resident-card strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resident-card small,.resident-card[data-connection=offline] small,.resident-card[data-connection=connecting] small,.resident-card[data-connection=reconnecting] small{color:var(--ui-text)}.welcome .realtime-status:not([hidden]){display:flex;align-items:center;gap:12px;box-sizing:border-box;width:100%;margin-top:22px;padding:13px 15px;border:1px solid #dfe9f1;border-radius:14px;background:linear-gradient(110deg,#f0f6fb,#f9fbfd);color:#68859b;font-size:13px;font-weight:400;line-height:1.5;animation:connection-enter .25s ease-out}.connection-emblem{position:relative;display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:11px;background:#e1edf6;color:#7a9fb9}.connection-emblem:before{content:"";position:absolute;inset:0;border:1px solid #a8c7dc;border-radius:inherit;animation:connection-pulse 1.8s ease-out infinite}.connection-emblem svg{position:relative;width:22px;height:22px}.connection-dots{display:flex;align-items:center;gap:4px;margin-left:auto;padding-inline:3px}.connection-dots i{width:4px;height:4px;border-radius:50%;background:#8cacc2;animation:connection-dot 1.2s ease-in-out infinite}.connection-dots i:nth-child(2){animation-delay:.16s}.connection-dots i:nth-child(3){animation-delay:.32s}@keyframes connection-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes connection-pulse{0%{opacity:.65;transform:scale(.95)}to{opacity:0;transform:scale(1.35)}}@keyframes connection-dot{0%,70%,to{opacity:.35;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){.welcome .realtime-status:not([hidden]),.connection-emblem:before,.connection-dots i{animation:none}.connection-emblem:before{display:none}}.resident-card[hidden],.welcome[hidden]{display:none}.character-dialog{width:min(600px,95vw);max-height:92svh;overflow:auto}.character-layout{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:18px}.character-preview{touch-action:none;cursor:grab;width:100%;height:270px;background:var(--ui-surface-muted);border-radius:16px}.character-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.character-fields label{display:grid;gap:4px;font-size:.85rem}.character-fields label:first-child{grid-column:1/-1}.character-fields input,.character-fields select{width:100%;min-width:0;padding:7px;border:1px solid var(--ui-border);border-radius:8px;font:inherit}@media(max-width:500px){.character-dialog{padding:16px}.character-layout{grid-template-columns:1fr}.character-preview{height:175px}}.character-preview:active{cursor:grabbing}.game-navigation{width:100%;display:flex;justify-content:center;align-items:center;gap:8px;pointer-events:none}.game-navigation>*{pointer-events:auto}.game-navigation:has(.resident-card:not([hidden])){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,780px) minmax(0,1fr)}.game-navigation .topbar{grid-column:2}.game-navigation .resident-card{justify-self:end;max-width:100%}@media(max-width:1120px){.game-navigation:has(.resident-card:not([hidden])){grid-template-columns:minmax(0,780px) minmax(76px,max-content)}.game-navigation .topbar{grid-column:1}.game-navigation .resident-card{max-width:22vw}}@media(max-width:650px){.game-navigation:has(.resident-card:not([hidden])) .wordmark{display:none}.game-navigation .resident-card{gap:4px;padding:4px 6px}.resident-card img{width:32px;height:32px}.game-navigation:has(.resident-card:not([hidden])) .tools{flex-wrap:wrap;justify-content:flex-end}}.game-home.in-room .mobile-actions{right:auto;left:130px}.game-home [data-boost][aria-pressed=true] [data-run],.game-home [data-boost][aria-pressed=false] [data-walk]{display:none}#game-root .city-stage .viewport-performance{inset:var(--fps-top,max(.5rem,env(safe-area-inset-top))) auto auto max(.5rem,env(safe-area-inset-left));line-height:1.2;white-space:nowrap;pointer-events:none}.game-navigation .resident-card{width:clamp(178px,20vw,250px);max-width:100%}.resident-labels{display:grid;place-items:center;flex:none;margin-left:auto;width:36px;height:36px;padding:0;border-radius:50%;color:var(--ui-text);background:var(--ui-surface-muted)}.resident-labels svg{width:20px;height:20px}.resident-labels[aria-pressed=true] .eye-slash,.in-room .resident-labels{display:none}.game-home.hide-building-labels .building-labels{opacity:0}.resident-camera{position:relative;display:grid;place-items:center;margin-left:0;flex:none;width:36px;height:36px;background:var(--ui-surface-muted);border-radius:50%}.resident-camera{padding:0;color:var(--ui-text)}.in-room .resident-camera{margin-left:auto}.resident-camera i{position:relative;width:18px;height:13px;border:1.8px solid currentColor;border-radius:4px}.resident-camera i:before{content:"";position:absolute;left:4px;top:-5px;width:7px;height:3px;background:currentColor;border-radius:2px 2px 0 0}.resident-camera i:after{content:"";position:absolute;left:5px;top:2px;border:1.6px solid currentColor;width:4px;height:4px;border-radius:50%}.view-options{padding:5px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:14px;box-shadow:0 8px 25px #29465d24}#resident-views{position:absolute;right:0;top:calc(100% + 6px);width:max-content;min-width:100%}.view-options button{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;border-radius:9px;padding:8px 11px;background:transparent;font-size:14px;text-align:start}.view-options button:hover,.view-options button:focus-visible{background:var(--ui-action-hover)}.view-options button[aria-pressed=true]{color:var(--ui-text);background:var(--ui-action)}.view-options button:after{content:"";width:.9em}.view-options button[aria-pressed=true]:after{content:"✓"}@media(max-width:650px){.game-navigation .resident-card{width:158px}.resident-labels,.resident-camera{width:32px;height:32px}}.stop-services>div{display:grid;gap:3px;padding:8px 0;border-top:1px solid var(--ui-border)}.stop-services span{font-size:.9rem;color:var(--ui-text)}.resident-avatar{padding:0;display:grid;place-items:center;border-radius:50%;flex:none}#resident-profile{width:min(380px,92vw)}#resident-profile header,#resident-profile footer{display:flex;align-items:center;justify-content:space-between;gap:10px}#resident-profile h2{margin:0}.profile-name{display:block;margin:1.2rem 0 .8rem;font-size:1.3rem;overflow-wrap:anywhere}#resident-profile dl{display:grid;grid-template-columns:auto 1fr;gap:.65rem 1rem;padding:1rem;background:var(--ui-surface-muted);border-radius:14px}#resident-profile dt{color:var(--ui-text)}#resident-profile dd{margin:0;text-align:end}#resident-profile footer{justify-content:flex-end}.city-door-enter{position:absolute;z-index:2;transform:translate(-50%,-100%);width:24px;height:24px;padding:4px;background:#124d36a8;color:var(--ui-text)}.city-door-enter:before{content:"";position:absolute;inset:-10px;border-radius:50%}.city-door-enter svg{display:block;width:100%;height:100%}.city-door-enter span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.city-door-enter[hidden],.visiting-room .resident-camera{display:none}@media(max-width:650px),(pointer:coarse),(max-width:900px)and (any-pointer:coarse){:root{color-scheme:only light}.game-home{--hud-paper: #fffdf5;--hud-ink: #203e36;--hud-accent: #24664f;--hud-line: #d5dfcf;--hud-shadow: 0 2px 9px #243d3026}.game-home .game-navigation,.game-home .game-navigation:has(.resident-card:not([hidden])){display:flex;justify-content:space-between;align-items:flex-start;gap:6px}.game-home .topbar{display:grid;width:48%;min-width:0;max-width:48%;gap:0;grid-template-columns:minmax(0,1fr);justify-items:start;padding:3px 8px 6px;border-radius:13px;background:var(--hud-paper);color:var(--hud-ink);box-shadow:var(--hud-shadow)}.game-home .topbar .wordmark{display:none}.game-home .topbar .location{grid-row:3;max-width:100%;font-size:11px;overflow-wrap:anywhere}.game-home .topbar .tools{grid-row:1;margin:0;max-width:100%;flex-wrap:wrap}.game-home .language-picker{max-width:100%}.game-home .language-globe,.game-home .language-picker:after{display:none}.game-home .lang{appearance:auto;max-width:100%;min-height:34px;padding:2px 0;border:0;border-radius:4px;background:transparent;color:var(--hud-accent);font-family:var(--ui-font);font-size:13px;line-height:1.3;font-weight:500}.game-home .lang::picker-icon{display:revert}.game-home .topbar .city-clock{grid-row:2;margin:0;padding-top:3px;color:var(--ui-text);font-size:11px;line-height:1.4;letter-spacing:.02em}.game-home .game-navigation .resident-card{width:auto;max-width:calc(100% - 104px);gap:5px;padding:5px;border:1px solid var(--hud-line);border-radius:14px;color:var(--hud-ink);background:var(--hud-paper);box-shadow:var(--hud-shadow)}.game-home .resident-card strong{max-width:12ch;font-size:14px}.game-home .resident-card small{font-size:11px}.game-home .resident-camera,.game-home .resident-labels{flex:none;width:34px;height:34px;color:var(--hud-accent);background:var(--ui-surface-muted)}.game-home .city-action-bar{border-color:var(--hud-line);color:var(--hud-ink);background:var(--hud-paper);box-shadow:var(--hud-shadow)}.game-home .city-action-home{background:var(--hud-accent);color:var(--ui-text)}.game-home .mobile-stick{left:calc(env(safe-area-inset-left) + 32px);bottom:calc(env(safe-area-inset-bottom) + 40px);background:var(--ui-surface);border:1px solid var(--ui-border);box-shadow:var(--hud-shadow)}.game-home .mobile-stick span{background:var(--ui-action);border:2px solid var(--ui-border)}.game-home .city-stage .mobile-actions,.game-home .city-stage:has(.viewport-performance) .mobile-actions{right:calc(env(safe-area-inset-right) + 8px);bottom:calc(env(safe-area-inset-bottom) + 72px)}.game-home.in-room .city-stage .mobile-actions{left:calc(env(safe-area-inset-left) + 152px);right:auto}.game-home .mobile-actions :is([data-boost],.player-interrupt){transform:translate(-24px)}.game-home.in-room .mobile-actions :is([data-boost],.player-interrupt){transform:translate(-8px)}.game-home .mobile-actions button{background:var(--ui-action-secondary);color:var(--ui-text);border:1px solid var(--hud-line);box-shadow:var(--hud-shadow);border-radius:13px}.game-home .mobile-actions [aria-pressed=true]{background:var(--ui-surface-muted);color:var(--ui-text)}#game-root .city-stage .viewport-performance{background:var(--ui-surface);color:var(--ui-text-muted);font-size:10px;border-radius:7px}.game-home .city-stage .building-label,.game-home .remote-player-labels span{background:var(--ui-surface);color:var(--ui-text);border:1px solid var(--ui-border)}}@media(max-width:650px){.game-home:has(.city-stage .mobile-hud:not([hidden])){--controls-bottom: calc(env(safe-area-inset-bottom) + 48px + clamp(82px,22vmin,106px)) }}.resident-wallet:not([hidden]){display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 12px;margin-inline:auto}.wallet-currency{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--ui-text);font-variant-numeric:tabular-nums}.wallet-currency i{width:13px;height:13px;border-radius:50%;border:2px solid #879caa;background:#dbe6ed;box-shadow:inset 0 0 0 1px #fff}.wallet-currency .wallet-gold{background:#ffd77b;border-color:#bc8e37}.wallet-currency b{color:var(--ui-text)}.currency-name{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.game-navigation .topbar .city-clock{margin-inline-start:auto;margin-inline-end:auto;order:0;justify-self:center}@media(max-width:650px){.resident-wallet:not([hidden]){gap:3px 6px;grid-row:4;margin:0}}.game-navigation .resident-wallet:not([hidden]){order:5;margin-inline-start:0;margin-inline-end:14px;justify-self:end}@media(min-width:651px)and (pointer:fine){.game-navigation .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:8px;padding-inline:16px}.topbar .wordmark,.topbar .location{grid-area:1 / 1}.topbar .location{margin-left:110px;min-width:0;overflow:hidden}.topbar .city-clock{grid-area:1 / 2}.topbar .resident-wallet{grid-area:1 / 3;max-width:100%}}@media(min-width:651px)and (max-width:1120px)and (pointer:fine){.game-navigation,.game-navigation:has(.resident-card:not([hidden])){display:grid;grid-template-columns:minmax(0,780px) clamp(178px,20vw,250px)}}.scene-tools .home-dismiss-guests{order:1}.scene-tools .home-dismiss-guests:not([hidden]){display:grid;place-items:center}.home-dismiss-guests svg{width:20px;height:20px}dialog.dismiss-confirm{box-sizing:border-box;width:min(334px,calc(100vw - 32px));margin:auto;padding:23px;border:1px solid var(--ui-border);border-radius:23px;background:var(--ui-surface);color:var(--ui-text);box-shadow:0 18px 60px #29465d24}.dismiss-confirm>i{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--ui-surface-muted);color:var(--ui-text)}.dismiss-confirm svg{width:24px;height:24px}.dismiss-confirm h2{margin:16px 0 7px;font-size:19px;line-height:1.4}.dismiss-confirm p{margin:0;color:var(--ui-text);font-size:14px;line-height:1.65}.dismiss-actions{display:flex;gap:9px;margin-top:21px}.dismiss-actions button{flex:1;min-height:42px;padding:8px;border:0;border-radius:12px;background:var(--ui-action-secondary);color:var(--ui-text);font-size:14px}.dismiss-actions [data-confirm]{background:var(--ui-action);color:var(--ui-text)}.clock-weather:not([hidden]){display:inline-flex;position:relative;align-items:center;justify-content:center;width:24px;height:24px;margin-inline-start:6px;vertical-align:middle;border-radius:6px;cursor:help}.clock-weather svg{display:block;width:21px;height:21px}.clock-weather span{position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);z-index:2;padding:4px 9px;border-radius:7px;background:var(--ui-action);color:var(--ui-text);font:500 12px/1.4 system-ui;white-space:nowrap;pointer-events:none;opacity:0;font-family:var(--ui-font)}.clock-weather:hover span,.clock-weather:focus-visible span{opacity:1}.game-home .game-navigation .topbar{box-sizing:border-box;max-width:100%;transition:width .38s cubic-bezier(.2,.75,.25,1)}.game-home .game-navigation .topbar:has(.resident-wallet[hidden]){width:min(94%,400px);display:flex;flex-wrap:nowrap;gap:clamp(5px,1vw,12px);align-items:center;padding:7px 14px}.game-home .game-navigation .topbar:has(.resident-wallet[hidden]) .location{flex:1;min-width:0;margin:0;overflow:hidden;white-space:nowrap;gap:6px}.game-home .game-navigation .topbar:has(.resident-wallet[hidden]) .city-clock{flex:1;min-width:0;margin:0;padding:0;text-align:center}.game-home .game-navigation .topbar:has(.resident-wallet:not([hidden])){width:min(100%,780px)}.game-navigation .topbar .resident-wallet:not([hidden]){margin-inline:auto 0;animation:wallet-appear .32s ease-out both}@keyframes wallet-appear{0%{opacity:0;transform:translate(-7px)}to{opacity:1;transform:translate(0)}}@media(prefers-reduced-motion:reduce){.game-home .game-navigation .topbar{transition:none}.game-navigation .topbar .resident-wallet:not([hidden]){animation:none}}#game-root.game-ui{font-family:var(--ui-font);color:var(--ui-text);font-size:14px;line-height:1.5}.game-ui :where(h2,h3,h4,strong,b){font-weight:500}#game-root :where(button,input,textarea,select){font-family:var(--ui-font);font-weight:400}:where(#game-root) button:not(:where(.welcome button,.profile-tabs button)){font-weight:500}:where(#game-root) button:not(:where(.welcome button,.profile-tabs button)):hover{filter:none;background-color:var(--ui-action-hover)}#game-root :where(button):disabled{cursor:not-allowed;opacity:.48}#game-root :where(button,input,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}#game-root :where(button){touch-action:manipulation}#game-root :where(input:not([type=range]):not([type=checkbox]):not([type=radio]):not([type=file]),textarea){box-sizing:border-box;max-width:100%;min-width:0;border:1px solid var(--ui-border);border-radius:var(--ui-control-radius);background:var(--ui-surface);color:var(--ui-text);padding:9px 11px;font-size:14px;line-height:1.5;box-shadow:none}#game-root :where(input,textarea)::placeholder{color:var(--ui-text-muted);opacity:.8}#game-root :where(input,textarea):focus{border-color:var(--ui-accent);outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-accent) 13%,transparent)}#game-root :where(input,textarea):disabled{background:var(--ui-surface-muted);opacity:.6}#game-root input[type=number]{appearance:textfield}#game-root input::-webkit-inner-spin-button,#game-root input::-webkit-outer-spin-button,#game-root input::-webkit-search-cancel-button{appearance:none;margin:0}:where(#game-root) progress{appearance:none;border:0;border-radius:99px;overflow:hidden;background:var(--ui-border);color:var(--ui-accent)}:where(#game-root) progress::-webkit-progress-bar{background:var(--ui-border)}:where(#game-root) progress::-webkit-progress-value{background:var(--ui-accent);border-radius:99px}:where(#game-root) progress::-moz-progress-bar{background:var(--ui-accent);border-radius:99px}#game-root :where(input,textarea)[aria-invalid=true]{border-color:var(--ui-danger)}#game-root :where(input[type=checkbox],input[type=radio]){appearance:none;position:relative;display:inline-grid;place-items:center;flex:none;width:20px;height:20px;padding:0;margin:0;border:1px solid var(--ui-border);border-radius:6px;background:var(--ui-surface);vertical-align:middle;cursor:pointer;box-shadow:none}#game-root :where(input[type=radio]){border-radius:50%}#game-root :where(input[type=checkbox],input[type=radio]):checked{background:var(--ui-action);border-color:var(--ui-accent)}#game-root :where(input[type=checkbox]):checked:after{content:"";position:static;width:8px;height:4px;border:solid var(--ui-accent);border-width:0 0 2px 2px;transform:rotate(-45deg);background:none;border-radius:0}#game-root :where(input[type=radio]):checked:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--ui-accent)}#game-root input[role=switch]{width:38px;height:23px;border-radius:99px;background:var(--ui-border)}#game-root input[role=switch]:after{content:"";position:absolute;left:3px;top:3px;width:15px;height:15px;border:0;border-radius:50%;background:var(--ui-surface);transform:none;transition:left var(--ui-motion)}#game-root input[role=switch]:checked{background:var(--ui-accent)}#game-root input[role=switch]:checked:after{left:18px;transform:none;background:var(--ui-surface);border:0}#game-root input[role=switch]:before{content:none}#game-root input[type=range]{appearance:none;height:6px;padding:0;border:0;border-radius:99px;background:var(--ui-border);accent-color:var(--ui-accent);box-shadow:none;cursor:pointer}#game-root input[type=range]::-webkit-slider-thumb{appearance:none;width:18px;height:18px;border:3px solid var(--ui-surface);border-radius:50%;background:var(--ui-accent);box-shadow:0 1px 5px #29465d30}#game-root input[type=range]::-moz-range-thumb{width:13px;height:13px;border:3px solid var(--ui-surface);border-radius:50%;background:var(--ui-accent)}#game-root input[type=file]{max-width:100%;font-size:12px;color:var(--ui-text-muted)}#game-root input[type=file]::file-selector-button{font:inherit;border:1px solid var(--ui-border);border-radius:10px;padding:9px 12px;margin-right:10px;color:var(--ui-accent);background:var(--ui-action);cursor:pointer}#game-root dialog::backdrop{background:var(--ui-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#game-root .ui-native-select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip-path:inset(50%);padding:0!important;border:0!important}#game-root .ui-select{display:inline-flex;max-width:100%;min-width:0;vertical-align:middle}#game-root .ui-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:36px;max-width:100%;padding:7px 11px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-surface);color:var(--ui-text);font-size:13px;white-space:nowrap}#game-root .ui-select-trigger:after{content:"";flex:none;width:6px;height:6px;border:solid var(--ui-text-muted);border-width:0 1.5px 1.5px 0;transform:rotate(45deg);margin-top:-3px}#game-root .ui-select-menu{position:fixed;inset:auto;margin:0;padding:5px;overflow:auto;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface);color:var(--ui-text);box-shadow:var(--ui-shadow);font:400 13px/1.5 var(--ui-font)}#game-root .ui-select-menu button{display:block;width:100%;padding:9px 12px;min-height:36px;border:0;border-radius:9px;text-align:start;background:transparent;color:var(--ui-text);font:inherit;white-space:normal}#game-root .ui-select-menu button[aria-selected=true]{background:var(--ui-action);color:var(--ui-accent)}#game-root .ui-select-menu button[aria-selected=true]:after{content:"✓";float:right;margin-left:12px}#game-root .ui-select-menu button:focus-visible{outline-offset:-2px;background:var(--ui-action-hover)}#game-root .ui-field-error{display:block;color:var(--ui-danger);font-size:12px;margin:5px 0;line-height:1.5}#game-root .ui-color-palette{display:inline-flex;gap:5px;flex-wrap:wrap;max-width:168px;margin:5px}#game-root .ui-color-palette{display:grid;grid-template-columns:repeat(4,22px);width:max-content}#game-root .ui-color-palette button{background:var(--swatch);border:2px solid var(--ui-surface);box-shadow:0 0 0 1px var(--ui-border);width:22px;height:22px;min-height:22px;padding:0;border-radius:7px}#game-root .ui-color-palette button:hover{background:var(--swatch);outline:2px solid var(--ui-accent)}#game-root .ui-color-value{width:105px;font-variant-numeric:tabular-nums}#game-root .ui-file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;clip-path:inset(50%)}#game-root .ui-file{display:flex;align-items:center;gap:10px;min-width:0;max-width:100%}#game-root .ui-file button{display:grid;place-items:center;flex:none;width:38px;height:38px;padding:0;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-action);color:var(--ui-accent);font-size:22px}#game-root .ui-file>span{color:var(--ui-text-muted);font-size:12px;overflow-wrap:anywhere}#game-root:has(.ui-toast) .friend-alert{top:calc(var(--ui-toast-top) + 60px)}#game-root .ui-toast{position:fixed;z-index:100;top:max(var(--ui-toast-top),env(safe-area-inset-top));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;max-width:calc(100vw - 32px);width:max-content;padding:12px 18px;border:1px solid var(--ui-border);border-radius:16px;background:var(--ui-surface);color:var(--ui-text);font:400 14px/1.5 var(--ui-font);box-shadow:var(--ui-shadow);pointer-events:none;animation:ui-arrive var(--ui-motion) ease-out}#game-root .ui-toast{right:auto;bottom:auto;margin:0}#game-root .ui-toast span svg{width:17px;height:17px;vertical-align:middle}#game-root :is(.ui-toast,.ui-message)>svg{width:22px;height:22px;flex:none;fill:none;stroke:var(--ui-accent);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}#game-root .ui-message{width:min(360px,calc(100vw - 32px));padding:24px;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-surface);color:var(--ui-text);box-shadow:var(--ui-shadow)}#game-root .ui-message>svg{box-sizing:content-box;padding:10px;border-radius:14px;background:var(--ui-action)}#game-root .ui-message p{font-size:14px;line-height:1.7;margin:16px 0 22px;overflow-wrap:anywhere}#game-root .ui-message button{display:block;width:100%;min-height:40px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-action);color:var(--ui-accent);white-space:nowrap}@keyframes ui-arrive{0%{opacity:0;translate:0 -8px}to{opacity:1;translate:0 0}}@media(prefers-reduced-motion:reduce){#game-root .ui-toast{animation:none}#game-root input[role=switch]:after{transition:none}}#game-root .welcome .primary{background:#147c52;color:#fff}#game-root .welcome button:not(.ui-select-trigger):not(.primary){background:#edf2ee;color:#18362c}#game-root .welcome-language-picker:has(.ui-select),#game-root .language-picker:has(.ui-select){background:none;border:0;padding:0}#game-root .welcome-language-picker:has(.ui-select):after,#game-root .language-picker:has(.ui-select):after{content:none}#game-root .welcome-language-picker .ui-select-trigger{padding-inline-start:34px}#game-root .welcome-language-picker:has(.ui-select) .language-globe{z-index:1}dialog.hotel-panel{box-sizing:border-box;width:min(380px,calc(100vw - 32px));max-height:90dvh;overflow:auto;padding:0;border:1px solid var(--ui-border);border-radius:20px;background:var(--ui-surface);color:var(--ui-text);font:14px/1.6 var(--ui-font);box-shadow:var(--ui-shadow)}dialog.hotel-panel.hotel-has-home{width:min(560px,calc(100vw - 32px))}.hotel-panel::backdrop{background:var(--ui-overlay)}.hotel-panel header{display:flex;align-items:center;gap:12px;padding:16px 20px}.hotel-panel h3{flex:1;font-size:18px;margin:0;font-weight:500}.hotel-panel button{min-height:44px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-action);color:var(--ui-text);padding:8px 12px;cursor:pointer}.hotel-panel button:hover{background:var(--ui-action-hover)}.hotel-panel [data-close]{width:40px;min-height:40px;padding:0;background:var(--ui-action-secondary)}.hotel-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;padding:0 20px 20px}.hotel-has-home .hotel-cards{grid-template-columns:1fr 1.2fr}.hotel-home-slot{display:flex;min-width:0}.hotel-home-slot button{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface-muted);font-size:16px;min-height:160px}.hotel-home-slot svg{width:36px;height:36px;flex:none}.hotel-stay-card{min-width:0;padding:16px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface-muted)}.hotel-destination{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:500}.hotel-destination button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:12px 8px;background:var(--ui-surface);font-size:16px}.hotel-destination svg{width:28px;height:28px;flex:none}.hotel-remaining{margin:16px 0;color:var(--ui-text-muted);font-size:12px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.hotel-renewal{border-top:1px solid var(--ui-border);padding-top:16px}.hotel-renewal label{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:12px}.hotel-renewal input{width:72px;min-width:0;box-sizing:border-box}.hotel-price{display:flex;align-items:center;gap:6px;margin:12px 0;font-size:12px;color:var(--ui-text-muted)}.hotel-price svg{width:16px;height:16px;flex:none}.hotel-error{color:var(--ui-danger);font-size:12px;margin:12px 0 0}.hotel-error:empty{display:none}.hotel-panel footer{display:flex}.hotel-panel footer button{width:100%}.hotel-panel [hidden]{display:none!important}@media(max-width:480px){.hotel-has-home .hotel-cards{grid-template-columns:minmax(0,1fr)}.hotel-home-slot button{min-height:76px;flex-direction:row;gap:12px}.hotel-home-slot svg{width:28px;height:28px}}.building-activities:not([hidden]){display:flex;flex-wrap:wrap;column-gap:9px;row-gap:11px;margin:15px 0 7px}.building-activity{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:6px 11px;border:1px solid var(--ui-border);border-radius:99px;background:var(--ui-surface-muted);color:var(--ui-text-muted);font:400 13px/1.5 Avenir Next,Segoe UI Variable Text,Segoe UI,PingFang SC,Microsoft YaHei UI,Microsoft YaHei,Noto Sans CJK SC,sans-serif;letter-spacing:.05px;font-family:var(--ui-font)}.building-activity .building-activity-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:20px;height:22px;font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;font-size:17px;line-height:1}.building-activity span{overflow-wrap:anywhere}.building-menu .building-description{font-family:var(--ui-font);font-weight:400;line-height:1.85;color:var(--ui-text-muted)}.building-menu .building-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding-top:22px}.game-home .building-menu .building-icon-action{display:inline-grid;place-items:center;flex:none;min-width:44px;width:44px;min-height:44px;height:44px;padding:10px;border:1px solid var(--ui-border);border-radius:13px;background:var(--ui-surface-muted);color:var(--ui-text)}.building-menu .building-icon-action svg{display:block;width:21px;height:21px;margin:0}.building-menu .building-button-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.game-home .building-menu .building-close{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:32px;height:32px;min-width:32px;min-height:32px;padding:0;border-radius:50%;background:var(--ui-surface-muted);color:var(--ui-text-muted)}.building-menu .building-close svg{width:18px;height:18px;flex:none}.game-home .building-menu .building-go{background:var(--ui-surface-muted);border-color:var(--ui-border);color:var(--ui-text)}.game-home .building-menu .building-icon-action:hover{background:var(--ui-surface-muted);border-color:var(--ui-border)}.game-home .building-menu .building-icon-action:focus-visible{outline:2px solid var(--ui-accent);outline-offset:3px}.game-home .building-menu .building-icon-action[hidden]{display:none}.building-menu .plot-actions{align-items:center}dialog.ad-dialog{box-sizing:border-box;width:min(438px,calc(100vw - 24px));max-height:calc(100dvh - 24px);margin:auto;padding:0;overflow:auto;border:1px solid var(--ui-border);border-radius:20px;background:var(--ui-surface);color:var(--ui-text);box-shadow:0 18px 64px #29465d24;font:500 14px/1.5 system-ui,sans-serif;font-family:var(--ui-font)}.ad-dialog::backdrop{background:var(--ui-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.ad-dialog header,.ad-dialog footer,.ad-dialog .ad-title,.ad-amount{display:flex;align-items:center;gap:8px}.ad-dialog header{padding:10px 16px;background:var(--ui-surface-muted);border-bottom:1px solid var(--ui-border)}.ad-dialog header img{width:46px;height:38px;object-fit:contain}.ad-dialog header h2{flex:1;font-size:18px;line-height:1.25}.ad-dialog h2,.ad-dialog h3,.ad-dialog p{margin:0;overflow-wrap:anywhere}.ad-dialog section{display:grid;gap:12px;padding:17px 20px 18px}.ad-dialog section>h3{font-size:14px}.ad-dialog section p{white-space:pre-wrap;color:var(--ui-text);line-height:1.6}.ad-dialog small{font-size:12px;color:var(--ui-text-muted)}.ad-dialog footer{justify-content:flex-end;flex-wrap:wrap}.ad-dialog [role=status]:not(:empty){padding:0 20px 12px;font-size:13px;color:var(--ui-text)}.ad-dialog button,.ad-dialog a{display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;min-height:36px;min-width:36px;padding:6px 10px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-action-secondary);color:var(--ui-text);font:inherit;cursor:pointer;text-decoration:none}.ad-dialog button:hover,.ad-dialog a:hover{background:var(--ui-action-hover)}.ad-dialog :focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}.ad-dialog header button{padding:6px;border-radius:50%}.ad-dialog svg{width:17px;height:17px}.ad-dialog button.primary{background:var(--ui-action);color:var(--ui-text);border-color:var(--ui-border);font-weight:500;padding-inline:16px}.ad-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ad-plans button{position:relative;align-items:flex-start;flex-direction:column;gap:9px;padding:12px;border-radius:12px}.ad-plans button strong{font-size:15px}.ad-plans [aria-pressed=true]{border-color:var(--ui-border);background:var(--ui-surface-muted)}.ad-plans [aria-pressed=true]:after{content:"✓";position:absolute;right:7px;top:5px;font-size:12px;color:var(--ui-text)}.ad-amount{gap:5px;color:var(--ui-text);font-weight:500;font-variant-numeric:tabular-nums}.ad-total{display:flex;align-items:center;gap:8px;margin-right:auto}.ad-dialog footer:has(.ad-total){margin-top:2px;padding-top:12px;border-top:1px solid var(--ui-border)}dialog.ad-viewing{width:min(510px,calc(100vw - 24px));border:0}.ad-dialog.ad-viewing header{position:absolute;z-index:1;top:10px;right:10px;padding:0;gap:6px;background:none;border:0}.ad-viewing header h2,.ad-viewing header img{display:none}.ad-viewing header button{background:var(--ui-action-secondary);box-shadow:0 2px 7px #29465d24}.ad-dialog.ad-viewing section{display:block;padding:0}.ad-poster{display:block;width:100%;height:auto;max-height:clamp(155px,34dvh,255px);object-fit:contain;background:var(--ui-action)}.ad-dialog article{min-width:0;display:grid;gap:3px;padding:13px 18px 16px}.ad-dialog .ad-title{gap:6px;align-items:center}.ad-title h3{font-size:19px;line-height:1.3;min-width:0}.ad-dialog .ad-title a{flex:none;padding:4px;min-width:30px;min-height:30px;background:var(--ui-surface-muted);border:0}.ad-dialog article p{max-height:13em;overflow:auto}.ad-editing footer small{margin-right:auto}dialog.ad-editing{width:min(820px,calc(100vw - 24px))}.ad-editing form{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:16px 22px}.ad-fields,.ad-art,.ad-dialog form label{display:grid;align-content:start;gap:5px;min-width:0}.ad-fields,.ad-art{gap:10px}.ad-dialog form label{font-size:13px;font-weight:500}.ad-dialog input,.ad-dialog textarea{box-sizing:border-box;width:100%;min-width:0;padding:7px 9px;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-surface);color:var(--ui-text);font:400 14px/1.45 system-ui,sans-serif;font-family:var(--ui-font)}.ad-dialog textarea{resize:vertical}.ad-dialog input[type=file]{padding:4px;font-size:12px}.ad-dialog input::file-selector-button{padding:4px 8px;border:0;border-radius:5px;background:var(--ui-action-secondary);color:var(--ui-text)}.ad-editing form footer{grid-column:1/-1;border-top:1px solid var(--ui-border);padding-top:12px}.ad-art fieldset{display:grid;min-width:0;margin:0;padding:0;border:0;gap:4px}.ad-art img,.ad-art canvas{display:block;width:100%;max-height:190px;object-fit:contain;border-radius:9px}.ad-art fieldset label{grid-template-columns:6.5em 1fr;align-items:center;font-size:12px;font-weight:500}.ad-art input[type=range]{padding:0;accent-color:var(--ui-accent)}.ad-dialog [hidden]{display:none}@media(max-width:580px){.ad-dialog header{padding:8px 12px}.ad-dialog section{padding:14px;gap:10px}.ad-editing form{grid-template-columns:minmax(0,1fr);gap:12px}.ad-viewing .ad-poster{max-height:185px;object-fit:contain}.ad-art canvas,.ad-art img{max-height:145px}.ad-plans button{padding:10px 8px}}.city-map{position:absolute;z-index:5;right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));width:152px;color:var(--ui-text)}.in-room .city-map,.game-home:has(.scene-tools[hidden]) .city-map,.game-home:has(.city-cover:not([hidden])) .city-map{display:none}.city-map summary{display:block;list-style:none;cursor:pointer;overflow:hidden;border:2px solid var(--ui-border);border-radius:15px;background:var(--ui-surface);box-shadow:0 3px 16px #29465d24}.city-map summary::-webkit-details-marker{display:none}.city-map canvas{display:block;width:100%;height:auto}.city-map summary span{display:flex;justify-content:space-between;align-items:center;padding:5px 10px;font-size:13px;font-weight:500}.city-map summary span:after{content:"";width:6px;height:6px;border:solid var(--ui-border);border-width:2px 2px 0 0;transform:rotate(-45deg)}.city-map[open] summary span:after{transform:rotate(135deg)}.city-map section{position:absolute;right:0;bottom:calc(100% + 7px);display:grid;gap:7px;width:min(292px,calc(100vw - 24px));padding:10px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:17px;box-shadow:0 8px 28px #29465d24}.city-map input{width:100%;padding:9px 12px;border:1px solid var(--ui-border);background:var(--ui-surface);border-radius:10px;font-size:14px;color:inherit}.map-places{overflow:auto;overscroll-behavior:contain;max-height:min(36dvh,300px);scrollbar-width:thin}.map-places button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:9px;text-align:start;background:transparent;color:inherit;font-size:13px}.map-places button:hover,.map-places button:focus-visible{background:var(--ui-action-hover)}.map-places small{color:var(--ui-text-muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:500}.map-places p{margin:8px;font-size:13px;color:var(--ui-text-muted)}.map-places .map-group{justify-content:flex-start;gap:9px;font-weight:500}.map-group:before{content:"";width:6px;height:6px;border:solid var(--ui-border);border-width:1.5px 1.5px 0 0;transform:rotate(45deg)}.map-group[aria-expanded=true]:before{transform:rotate(135deg)}.map-group small{margin-inline-start:auto;background:var(--ui-surface-muted);border-radius:8px;padding:1px 7px}.map-group-items:not([hidden]){margin:0 0 5px 12px;border-inline-start:1px solid var(--ui-border);padding-inline-start:4px}@media(max-width:650px),(max-height:500px){.city-map{width:120px;right:max(8px,env(safe-area-inset-right));bottom:max(6px,env(safe-area-inset-bottom))}.city-map summary{display:flex;align-items:center;border-radius:12px}.city-map canvas{width:46px;height:39px;object-fit:cover}.city-map summary span{flex:1;gap:4px;padding:4px;font-size:11px}}button.home-garage-button{position:absolute;right:1rem;top:24%;z-index:4;display:grid;place-items:center;box-sizing:border-box;width:44px;height:44px;min-width:44px;padding:0;margin:0;border:1px solid #d6cfdf;border-radius:50%;background:#faf9fc;color:#634497;box-shadow:0 2px 7px #27263420;cursor:pointer}button.home-garage-button img{display:block;width:37px;height:37px;pointer-events:none}button.home-garage-button:hover{background:#efe8f7}button.home-garage-button:focus-visible{outline:2px solid #634497;outline-offset:2px}.home-garage-view[open]{width:min(56rem,94vw);height:min(39rem,80dvh);box-sizing:border-box;display:grid;grid-template:auto auto minmax(0,1fr) / 1fr auto;align-items:center;gap:.5rem;padding:1rem;border:0;border-radius:.7rem;color:#272532;background:#f8f7fa}.home-garage-view output,.home-garage-view canvas{grid-column:1/-1}.home-garage-view canvas{width:100%;height:100%;touch-action:none}.home-garage-view::backdrop{background:#272430a6}.home-garage-view button{background:#eeebf2;color:#453b53;border:1px solid #dedbe4;border-radius:16px;padding:6px 12px;font-size:13px;font-weight:600;cursor:pointer}
