:root{--ui-name-resident:var(--ui-text);--ui-name-local:#c7d3e4;--ui-name-known:#e5c77d;--ui-name-highlight:#fff4cc;--ui-name-shimmer-seconds:4s;--ui-panel:#0f1a2b;--ui-card:#1e293b;--ui-button:#203247;--ui-text:#f5f7ff;--ui-muted:#a5b4c8;--ui-accent:#22d3ee;--ui-icon-bg:#083344;--ui-border:rgba(153,177,205,.25);--ui-backdrop:rgba(3,9,19,.68);--ui-glow:0 0 20px rgba(34,211,238,.18);--ui-radius-modal:24px;--ui-radius-card:16px;--ui-radius-button:14px;--ui-space-xs:8px;--ui-space-sm:12px;--ui-space-md:16px;--ui-space-lg:24px;--ui-space-xl:32px;--ui-font:Inter,"Avenir Next",system-ui,sans-serif;--ui-blur:8px;--ui-panel-width:780px;--ui-store-width:236px;--ui-guide-width:180px;--ui-dock-top:100px;--ui-dock-bottom:90px;--ui-dock-layer:24;--ui-dock-tab-top:38%;--ui-dock-tab-max:120px;--ui-guide-height:50svh;--ui-mobile-status-width:120px;--ui-compact-panel-width:280px;--ui-compact-wide-width:420px;--ui-font-compact:12px;--ui-font-caption:11px;--ui-font-item:13px;--ui-font-panel:16px;--ui-control-size:44px;--ui-compact-icon:32px;--ui-motion-fast:.16s;--ui-font-classic:Georgia,"Times New Roman",serif;--ui-classic-panel:#101b2b;--ui-classic-card:#182536;--ui-classic-text:#f4f0e8;--ui-classic-muted:#9caec0;--ui-classic-gold:#c6b58e;--ui-classic-cyan:#72dce6;--ui-classic-border:rgba(198,181,142,.2);--ui-classic-width:560px;--ui-classic-title:2.25rem;--ui-classic-reading:2.5rem;--ui-classic-label:.68rem}.player-name{display:inline-flex;align-items:baseline;gap:.25em;color:var(--ui-name-resident);font:inherit;max-width:100%}.player-name[data-tier=Local]{color:var(--ui-name-local)}.player-name:is([data-tier=Known],[data-tier=Icon]){color:var(--ui-name-known)}.player-name[data-tier=Icon] .player-name-text{background:linear-gradient(110deg,var(--ui-name-known) 25%,var(--ui-name-highlight) 50%,var(--ui-name-known) 75%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:influence-shimmer var(--ui-name-shimmer-seconds) linear infinite}.player-name-crown{color:var(--ui-name-known);font-size:.85em}.conversation-peer .player-name[data-tier]{display:inline-flex;flex-direction:row;gap:.25em}.player-name[data-tier] :is(.player-name-text,.player-name-crown){display:inline;flex-direction:row}.message-bubble .ui-button{background:var(--ui-button);color:var(--ui-text);padding:var(--ui-space-xs);border:1px solid var(--ui-border)}@keyframes influence-shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.player-name[data-tier=Icon] .player-name-text{animation:none;background:none;color:var(--ui-name-known)}}:is(.ui-modal,dialog#panel,.studio-dialog){background:var(--ui-panel);color:var(--ui-text);font-family:var(--ui-font);border:1px solid var(--ui-border);border-radius:var(--ui-radius-modal);padding:var(--ui-space-lg);max-width:min(var(--ui-panel-width),calc(100vw - var(--ui-space-xl)));box-shadow:0 24px 80px #0008}:is(.ui-modal,dialog#panel,.studio-dialog)::backdrop{background:var(--ui-backdrop);-webkit-backdrop-filter:blur(var(--ui-blur));backdrop-filter:blur(var(--ui-blur))}.ui-modal-header{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--ui-space-sm);padding:0 0 var(--ui-space-lg);border:0;background:none;text-align:center;height:auto;color:var(--ui-text)}.ui-modal-header h2{margin:0;font-size:clamp(1.25rem,3vw,1.85rem);font-weight:750;letter-spacing:-.035em;color:var(--ui-text)}.ui-modal-header p{margin:0;color:var(--ui-muted);font-size:1rem;line-height:1.6}.ui-modal-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:var(--ui-radius-card);border:1px solid #22d3ee55;background:var(--ui-icon-bg);color:var(--ui-accent);font-size:2rem;margin-bottom:var(--ui-space-sm)}.ui-card{box-sizing:border-box;background:var(--ui-card);border:1px solid var(--ui-border);border-radius:var(--ui-radius-card);padding:var(--ui-space-md);color:var(--ui-text);display:flex;flex-direction:column;align-items:center;gap:var(--ui-space-xs);font-family:var(--ui-font);text-align:center;transition:border-color .15s,box-shadow .15s}.ui-card:is(:hover,:focus-visible,[data-selected=true]){border-color:var(--ui-accent);box-shadow:var(--ui-glow);outline:none}.ui-card-icon{font-size:2.2rem}.ui-card-name{font-size:1.15rem;color:var(--ui-text)}.ui-card-helper{color:var(--ui-accent);font-size:.9rem;line-height:1.5}.ui-button{background:var(--ui-button);border:1px solid var(--ui-border);border-radius:var(--ui-radius-button);color:var(--ui-text);padding:var(--ui-space-sm) var(--ui-space-md);font:600 1rem var(--ui-font);cursor:pointer;min-height:44px}.ui-button:hover,.ui-button:focus-visible{border-color:var(--ui-accent);box-shadow:var(--ui-glow);outline:none}.ui-button:disabled{opacity:.55;cursor:default}.ui-modal-footer{width:100%;margin-top:var(--ui-space-xl)}.ui-modal.ui-docked{box-sizing:border-box;position:absolute;z-index:var(--ui-dock-layer);margin:0;padding:var(--ui-space-sm);max-width:calc(100% - var(--ui-space-xl));overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;pointer-events:auto;font-size:var(--ui-font-compact);line-height:1.5;-webkit-backdrop-filter:blur(var(--ui-blur));backdrop-filter:blur(var(--ui-blur));animation:ui-dock-in var(--ui-motion-fast) ease-out}.ui-docked[data-side=right]{--ui-dock-direction:100%;right:calc(var(--ui-control-size) + var(--ui-space-xs));max-width:calc(100% - var(--ui-control-size) - var(--ui-space-md))}.ui-docked[data-side=left]{--ui-dock-direction:-100%;left:var(--ui-space-xs)}.ui-docked[hidden],.ui-docked-tab[hidden]{display:none!important}.ui-docked .ui-modal-header{gap:var(--ui-space-xs);padding:0 var(--ui-space-md) var(--ui-space-sm)}.ui-docked .ui-modal-icon{width:var(--ui-compact-icon);height:var(--ui-compact-icon);font-size:var(--ui-font-panel);border-radius:var(--ui-radius-button);margin:0}.ui-docked .ui-modal-header h2{font-size:var(--ui-font-panel);letter-spacing:0}.ui-docked .ui-modal-header p{font-size:var(--ui-font-caption);line-height:1.4}.ui-docked .ui-button,.ui-docked-tab{font-size:var(--ui-font-compact);min-height:var(--ui-control-size);padding:var(--ui-space-xs);line-height:1.3}.ui-docked .ui-docked-close{position:absolute;top:0;right:0;width:var(--ui-control-size);padding:0;background:transparent;border-color:transparent;font-size:var(--ui-font-panel)}.ui-docked-tab{position:absolute;z-index:var(--ui-dock-layer);max-width:var(--ui-dock-tab-max);pointer-events:auto;overflow-wrap:anywhere}.ui-docked-tab[data-side=right]{right:0;border-radius:var(--ui-radius-button) 0 0 var(--ui-radius-button)}.ui-docked-tab[data-side=left]{left:0;border-radius:0 var(--ui-radius-button) var(--ui-radius-button) 0}.ui-docked:focus{outline:none}.ui-docked :is(button,select):focus-visible,.ui-docked-tab:focus-visible{outline:2px solid var(--ui-accent);outline-offset:2px}@keyframes ui-dock-in{0%{transform:translate(var(--ui-dock-direction))}to{transform:translate(0)}}@media(prefers-reduced-motion:reduce){.ui-modal.ui-docked{animation:none}}:is(#panel,.studio-dialog,.store-shopping,.styling-dialog,.cityapp-card,.phone-shell){--ink:var(--ui-text);--muted:var(--ui-muted);color:var(--ui-text);font-family:var(--ui-font)}:is(#panel,.studio-dialog,.store-shopping,.styling-dialog) :is(button,input,select){border-radius:var(--ui-radius-button);border:1px solid var(--ui-border);background:var(--ui-button);color:var(--ui-text)}:is(#panel,.studio-dialog,.store-shopping,.styling-dialog) :is(h2,h3,label,b,strong){color:var(--ui-text)}:is(#panel,.studio-dialog,.store-shopping,.styling-dialog) :is(p,small){color:var(--ui-muted)}:is(.cityapp-card,.store-product){background:var(--ui-card);border-color:var(--ui-border);border-radius:var(--ui-radius-card)}.store-shopping{background:var(--ui-panel);border:1px solid var(--ui-border);border-radius:var(--ui-radius-modal)}.studio-dialog .ui-card{background:var(--ui-card)}.studio-dialog .ui-card-helper,.store-product .ui-card-helper{color:var(--ui-accent)}#phone-root .phone-display{background:var(--ui-panel);color:var(--ui-text)}#phone-root .phone-display :is(.phone-status,.phone-app-header,.cityapp){color:var(--ui-text)}#phone-root .phone-display :is(.cityapp-card,.cityapp-row,.cityapp-tabs,.cityapp-note){background:var(--ui-card);border-color:var(--ui-border);border-radius:var(--ui-radius-card);color:var(--ui-text)}#phone-root .phone-display :is(.cityapp-row small,.cityapp label,.cityapp p){color:var(--ui-muted)}#phone-root .phone-display :is(.cityapp input,.cityapp select,.cityapp-small,.phone-primary,.cityapp-tabs button){background:var(--ui-button);color:var(--ui-text);border:1px solid var(--ui-border);border-radius:var(--ui-radius-button)}#phone-root .phone-display :is(.cityapp-row:hover,.cityapp-row.chosen,.cityapp-tabs button.selected,.ui-button:hover){border-color:var(--ui-accent);box-shadow:var(--ui-glow);color:var(--ui-text)}#phone-root .phone-display :is(.cityapp .ui-card-name,.cityapp .ui-button){color:var(--ui-text)}#phone-root .cityapp .ui-card-helper{color:var(--ui-accent)}#phone-root .ui-button{border:1px solid var(--ui-border)}#phone-root .phone-home-indicator{background:var(--ui-text)}.phone-scrim{background:var(--ui-backdrop);-webkit-backdrop-filter:blur(var(--ui-blur));backdrop-filter:blur(var(--ui-blur))}#phone-root .phone-display .cityapp-tabs button.selected{background:var(--ui-icon-bg);border-color:var(--ui-accent)}#phone-root .cityapp{scrollbar-color:var(--ui-muted) var(--ui-panel)}.primary-needs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ui-space-sm);margin-block:var(--ui-space-md)}.primary-need{padding:var(--ui-space-sm);min-width:0}.primary-need .ui-card-icon{font-size:1.25rem}.primary-need .ui-card-name{font-size:1rem}.primary-need meter{width:100%;accent-color:var(--ui-accent)}.primary-need>small{color:var(--ui-muted);font-size:.75rem}.primary-need meter::-webkit-meter-bar{background:var(--ui-panel);border:1px solid var(--ui-border)}.primary-need meter::-webkit-meter-optimum-value{background:var(--ui-accent)}.primary-need meter::-moz-meter-bar{background:var(--ui-accent)}#phone-root .daily-life-app :is(.cityapp-card,select){box-sizing:border-box;min-width:0;max-width:100%}.daily-life-app .daily-actions{grid-template-columns:repeat(2,minmax(0,1fr))}#app #daily-hud{background:var(--ui-panel);border-color:var(--ui-border);color:var(--ui-text);border-radius:var(--ui-radius-button);font-family:var(--ui-font)}dialog#panel[data-variant=classic]{box-sizing:border-box;width:var(--ui-classic-width);max-width:calc(100vw - var(--ui-space-xl));max-height:calc(100svh - var(--ui-space-xl));padding:var(--ui-space-xl);background:var(--ui-classic-panel);border-color:var(--ui-classic-border);scrollbar-width:thin;scrollbar-color:var(--ui-classic-muted) var(--ui-classic-panel)}#panel[data-variant=classic] .ui-modal-header{gap:var(--ui-space-sm);padding-bottom:var(--ui-space-lg);margin-bottom:var(--ui-space-lg);border-bottom:1px solid var(--ui-classic-border)}#panel[data-variant=classic] .ui-modal-icon{width:48px;height:48px;margin:0 0 var(--ui-space-xs);font-size:1.5rem;color:var(--ui-classic-cyan);background:var(--ui-icon-bg);border-color:var(--ui-classic-border)}#panel[data-variant=classic] .ui-modal-eyebrow{font-size:var(--ui-classic-label);font-weight:600;letter-spacing:.18em;color:var(--ui-classic-gold)}#panel[data-variant=classic] .ui-modal-header h2{font:400 var(--ui-classic-title)/1.1 var(--ui-font-classic);letter-spacing:-.035em;color:var(--ui-classic-text);margin:0;padding:0}#panel[data-variant=classic] .ui-modal-header p{font-size:.875rem;line-height:1.5;color:var(--ui-classic-muted);margin:0;max-width:32ch}#panel[data-variant=classic] .close{top:var(--ui-space-md);right:var(--ui-space-md);width:36px;height:36px;display:grid;place-items:center;padding:0;border-radius:50%;background:transparent;color:var(--ui-classic-muted);border:1px solid var(--ui-classic-border);font-size:1.25rem}#panel[data-variant=classic] .close:is(:hover,:focus-visible){color:var(--ui-classic-text);border-color:var(--ui-classic-cyan);outline:2px solid transparent}.primary-needs[data-variant=classic]{gap:var(--ui-space-md);margin:0 0 var(--ui-space-xl)}.primary-needs[data-variant=classic] .primary-need{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto 1fr auto auto;align-items:start;justify-items:start;gap:var(--ui-space-xs);padding:var(--ui-space-lg);text-align:left;background:var(--ui-classic-card);border-color:var(--ui-classic-border);box-shadow:none}.primary-needs[data-variant=classic] .primary-need:hover{border-color:var(--ui-classic-cyan);box-shadow:var(--ui-glow)}.primary-needs[data-variant=classic] .ui-card-icon{grid-area:1/1;display:flex;color:var(--ui-classic-cyan)}.primary-needs[data-variant=classic] .ui-card-icon svg{width:24px;height:24px}#panel[data-variant=classic] .primary-need .ui-card-name{grid-area:2/1;font-size:.875rem;font-weight:600;letter-spacing:.015em;color:var(--ui-classic-text)}#panel[data-variant=classic] .primary-need .ui-card-helper{grid-area:3/1/4/-1;font-size:.75rem;line-height:1.5;color:var(--ui-classic-muted);min-height:3em;align-self:start}#panel[data-variant=classic] .primary-need-value{grid-area:1/2/3/3;align-self:center;display:flex;align-items:baseline;gap:4px;font:400 var(--ui-classic-reading)/1 var(--ui-font-classic);font-variant-numeric:tabular-nums;letter-spacing:-.04em;color:var(--ui-classic-text)}#panel[data-variant=classic] .primary-need-value span{font:400 .625rem/1 var(--ui-font);letter-spacing:0;color:var(--ui-classic-muted);white-space:nowrap}.primary-needs[data-variant=classic] meter{grid-area:4/1/5/-1;height:8px;margin-block:var(--ui-space-xs);accent-color:var(--ui-classic-cyan)}.primary-needs[data-variant=classic] meter::-webkit-meter-bar{background:var(--ui-panel);border:none;border-radius:var(--ui-radius-card)}.primary-needs[data-variant=classic] meter::-webkit-meter-optimum-value{background:var(--ui-classic-cyan);border-radius:var(--ui-radius-card)}.primary-needs[data-variant=classic] meter::-moz-meter-bar{background:var(--ui-classic-cyan);border-radius:var(--ui-radius-card)}#panel[data-variant=classic] .primary-need>small:last-child{grid-area:5/1/6/-1;font-size:.625rem;line-height:1.6;color:var(--ui-classic-muted)}#panel[data-variant=classic] #character-editor{padding-top:var(--ui-space-lg);border-top:1px solid var(--ui-classic-border)}@media(max-width:480px){dialog#panel[data-variant=classic]{padding:var(--ui-space-lg);--ui-classic-title:2rem;--ui-classic-reading:2.125rem}.primary-needs[data-variant=classic]{gap:var(--ui-space-sm)}.primary-needs[data-variant=classic] .primary-need{padding:var(--ui-space-md)}#panel[data-variant=classic] .primary-need-value{flex-direction:column;align-items:flex-end;gap:var(--ui-space-xs)}}@media(prefers-reduced-motion:reduce){.primary-needs[data-variant=classic] .primary-need{transition:none}}.work-earnings{display:grid;gap:var(--ui-space-md);width:100%;text-align:left}.work-earnings p{margin:var(--ui-space-xs) 0;color:var(--ui-muted);font-size:.85rem;line-height:1.5}.work-earnings [role=status]{color:var(--ui-accent)}.work-job-card{padding:var(--ui-space-sm)}.work-job-card>.ui-card-icon{font-size:1.25rem}.work-job-card>p{margin:var(--ui-space-xs) 0}.work-job-card>.ui-button{width:100%}.work-earnings>.ui-card{padding:var(--ui-space-sm);align-items:flex-start;text-align:left}.work-earnings p{margin:0}.ui-modal[data-variant=compact]{padding:var(--ui-space-sm);font-size:var(--ui-font-compact)}.ui-modal[data-variant=compact] .ui-modal-header{display:grid;grid-template-columns:var(--ui-compact-icon) minmax(0,1fr);justify-items:start;gap:0 var(--ui-space-xs);padding:0 var(--ui-control-size) var(--ui-space-sm) 0;text-align:left;min-height:var(--ui-control-size)}.ui-modal[data-variant=compact] .ui-modal-icon{grid-row:1/3;width:var(--ui-compact-icon);height:var(--ui-compact-icon);font-size:var(--ui-font-panel);border-radius:var(--ui-space-xs);margin:0}.ui-modal[data-variant=compact] .ui-modal-header h2{font-size:var(--ui-font-panel);letter-spacing:0;line-height:1.3;overflow-wrap:anywhere}.ui-modal[data-variant=compact] .ui-modal-header p{grid-column:2;font-size:var(--ui-font-caption);line-height:1.4}.ui-modal[data-variant=compact] .ui-button{font-size:var(--ui-font-compact);padding:var(--ui-space-xs);min-height:var(--ui-control-size)}dialog#transit-panel{width:var(--ui-compact-panel-width);max-width:calc(100vw - var(--ui-space-lg));max-height:calc(100dvh - var(--ui-space-lg));padding:var(--ui-space-sm);overflow:auto;scrollbar-width:thin;color-scheme:dark}#transit-panel .transit-field{margin:0 0 var(--ui-space-xs);font-size:var(--ui-font-caption);color:var(--ui-muted)}#transit-panel select{margin:0;width:100%;min-width:0;min-height:var(--ui-control-size);padding:var(--ui-space-xs);background:var(--ui-card);color:var(--ui-text);border:1px solid var(--ui-border);border-radius:var(--ui-radius-button);font-size:var(--ui-font-compact);font-weight:400}#transit-panel select:focus-visible{border-color:var(--ui-accent);box-shadow:var(--ui-glow)}#transit-panel p:not(.ui-modal-header p){font-size:var(--ui-font-compact);line-height:1.4;margin:var(--ui-space-xs) 0;color:var(--ui-muted)}#transit-panel .transit-status{color:var(--ui-accent)!important}#transit-panel .transit-actions{display:flex;gap:var(--ui-space-xs)}#transit-panel .transit-actions>.ui-button{flex:1;min-width:0}#transit-panel>.ui-button{width:100%;margin-top:var(--ui-space-xs)}#transit-panel .ui-modal-header{padding-right:0}#transit-panel .ui-card{padding:var(--ui-space-sm)}#transit-panel .ui-card-name{font-size:var(--ui-font-item)}#transit-panel .ui-card-helper{font-size:var(--ui-font-compact)}@media(max-height:480px)and (min-width:600px){dialog#transit-panel[open]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--ui-space-xs);width:var(--ui-compact-wide-width)}#transit-panel>:not(.transit-field){grid-column:1/-1}}dialog#panel[data-variant=compact]{padding:var(--ui-space-sm);width:min(var(--ui-compact-panel-width),calc(100vw - var(--ui-space-lg)))}#panel[data-variant=compact] .ui-modal-header{flex-direction:row;justify-content:flex-start;gap:var(--ui-space-xs);padding:0 var(--ui-control-size) var(--ui-space-xs) 0;min-height:var(--ui-control-size)}#panel[data-variant=compact] .ui-modal-icon{width:var(--ui-space-lg);height:var(--ui-space-lg);font-size:var(--ui-font-item);border-radius:var(--ui-space-xs);margin:0}#panel[data-variant=compact] .ui-modal-header h2{font-size:var(--ui-font-item);letter-spacing:0}#panel[data-variant=compact] .close{top:var(--ui-space-xs);right:var(--ui-space-xs);width:var(--ui-control-size);height:var(--ui-control-size);padding:0;font-size:var(--ui-font-panel)}#panel.city-transport-popup[data-variant=compact] #panel-content h3{font-size:var(--ui-font-panel);margin:0}#panel.city-transport-popup[data-variant=compact] #panel-content p{font-size:var(--ui-font-compact);line-height:1.4;margin:var(--ui-space-xs) 0}#panel.city-transport-popup[data-variant=compact] #panel-content button{min-height:var(--ui-control-size);padding:var(--ui-space-xs);font-size:var(--ui-font-compact)}
