:root{--bg:#0d1117;--surface:#161b22;--surface-2:#21262d;--border:#30363d;--text:#c9d1d9;--text-muted:#8b949e;--text-bright:#f0f6fc;--accent:#58a6ff;--accent-hover:#79b8ff;--success:#3fb950;--danger:#f85149;--warning:#d29922;--stat-high:#3fb950;--stat-mid:#d29922;--stat-low:#f85149;--radius:12px;--font:"Segoe UI", system-ui, -apple-system, sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--nav-inset:max(var(--safe-bottom), 20px);--app-height:100dvh;--app-width:100vw}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;touch-action:manipulation;min-height:100%}body{min-height:100dvh;font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);margin:0;overflow:hidden auto}html.native-app,html.native-app body{height:var(--app-height);min-height:var(--app-height);padding:0;overflow:hidden}body.is-updating #root,body.is-updating .app{visibility:hidden}.update-overlay{z-index:99999;background:var(--bg);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.update-overlay[hidden]{display:none!important}.update-overlay-card{text-align:center;max-width:320px}.update-overlay-card h2{color:var(--text-bright);margin:16px 0 8px;font-size:1.25rem}.update-overlay-card p{color:var(--text-muted);margin:0;font-size:.9rem;line-height:1.45}.update-spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite update-spin;display:inline-block}@keyframes update-spin{to{transform:rotate(360deg)}}.error-screen{text-align:center;justify-content:center;align-items:center;padding:32px 20px}.error-screen h2{color:var(--text-bright);margin:0 0 8px}.error-screen p{color:var(--text-muted);max-width:420px;margin:0 0 12px}.error-screen-hint{font-size:.85rem}.app-version-footer{flex-shrink:0;justify-content:center;padding:10px 12px 16px;display:flex}html.native-app .app-version-footer{padding:6px max(12px, var(--safe-right)) max(10px, var(--nav-inset)) max(12px, var(--safe-left))}.version-status{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.version-status-compact{gap:4px}.version-status-compact .version-badge{padding:3px 8px;font-size:.65rem}.version-status-compact .version-label{display:none}.version-badge{color:var(--text-bright);border:1px solid var(--border);background:var(--surface-2);border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:5px 11px;font-size:.75rem;font-weight:600;text-decoration:none;display:inline-flex}.version-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.62rem;font-weight:500}.version-badge-web.has-update{border-color:var(--accent);color:var(--accent)}.version-badge-apk{color:var(--success);cursor:pointer;background:#3fb95014;border-color:#3fb95073;transition:filter .15s,border-color .15s}.version-badge-apk:hover{filter:brightness(1.1);border-color:var(--success)}.version-badge-app{border-color:var(--border)}.version-badge-apk.has-update,button.version-badge-apk{font:inherit;cursor:pointer;border:none}button.version-badge-apk.has-update{border:1px solid var(--success)}.version-badge-apk.unavailable{opacity:.55;cursor:default}.version-download{font-size:.85em}.version-badge.has-update{border-color:var(--accent);color:var(--accent)}.version-latest{font-weight:600}.update-banner{border-radius:var(--radius);background:#58a6ff1a;border:1px solid #58a6ff73;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0 0 12px;padding:12px 14px;display:flex}html.native-app .update-banner{top:max(8px, var(--safe-top));left:max(10px, var(--safe-left));right:max(10px, var(--safe-right));z-index:1000;margin:0;position:fixed;box-shadow:0 8px 32px #00000073}.update-banner-text{color:var(--text);flex-direction:column;gap:4px;font-size:.82rem;display:flex}.update-banner-text strong{color:var(--text-bright);font-size:.88rem}.update-banner-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.update-banner-btn{padding:8px 14px;font-size:.78rem}.update-banner-dismiss{font-size:.72rem}#root{justify-content:center;min-height:100dvh;display:flex}.app{flex-direction:column;width:100%;max-width:960px;min-height:100dvh;display:flex}html.native-app #root,html.native-app .app{height:var(--app-height);min-height:var(--app-height);max-height:var(--app-height);overflow:hidden}:is(.app:has(.start-screen),.app:has(.login-screen),.app:has(.save-slots-screen)){max-width:720px}.app:has(.character-creator){max-width:900px}html:not(.native-app) .app:has(.character-creator){height:auto;max-height:none;overflow-y:auto}html:not(.native-app) .app:has(.character-creator) .start-screen{flex:none;min-height:auto;overflow:visible}.app:has(.game-screen){max-width:1040px}.screen{flex-direction:column;flex:1;min-height:0;padding:16px 14px;display:flex}.start-screen,.login-screen,.save-slots-screen,.death-screen{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;overflow:hidden auto}.game-screen{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex-direction:column;flex:1;min-height:0;padding:10px 10px 0;display:flex;overflow:hidden auto}html:not(.native-app) .game-screen{min-height:calc(100dvh - 72px)}html.embedded:not(.native-app){height:var(--app-height);overflow:hidden}html.embedded:not(.native-app) body,html.embedded:not(.native-app) #root{height:100%;min-height:0;overflow:hidden}html.embedded:not(.native-app) .app{height:100%;min-height:0;max-height:var(--app-height);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;overflow:hidden auto}html.embedded:not(.native-app) .screen,html.embedded:not(.native-app) .game-screen{min-height:0;overflow:visible}html.embedded:not(.native-app) .game-layout,html.embedded:not(.native-app) .game-main,html.embedded:not(.native-app) .game-tab-content{min-height:auto;overflow:visible}html.embedded:not(.native-app) .game-footer{margin-top:12px;position:static}html.native-app .game-screen{padding:6px 10px 0;overflow:hidden}html.native-app .game-header,html.native-app .stats-bar.compact,html.native-app .game-tabs{flex-shrink:0}html.native-app .game-layout,html.native-app .game-main{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}html.native-app .game-tab-content{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;overflow:hidden auto}html.native-app .game-footer{padding:8px max(10px, var(--safe-right)) max(12px, var(--nav-inset)) max(10px, var(--safe-left));flex-shrink:0;margin-top:auto;position:static;box-shadow:0 -8px 24px #00000059}html.native-app .game-footer .version-status{display:none}html.native-app .age-up-btn{padding:14px;font-size:1rem}html.native-app.compact-height .age-up-btn{padding:12px;font-size:.95rem}.start-screen{text-align:center;justify-content:center;align-items:center;gap:8px}.logo{margin-bottom:8px;font-size:64px}.login-logo{border-radius:22%;width:min(200px,55vw);height:auto;margin-bottom:12px;box-shadow:0 8px 32px #00000073}.start-screen h1{color:var(--text-bright);letter-spacing:-.5px;margin:0;font-size:2.5rem}.subtitle{color:var(--text-muted);margin:0 0 32px}.welcome-user{color:var(--text-muted);margin:-24px 0 16px;font-size:.85rem}.start-screen.character-creator{justify-content:flex-start;align-items:stretch;gap:12px;padding-top:8px;padding-bottom:8px}.character-creator{text-align:left;align-items:stretch;gap:12px;width:100%;max-width:820px;margin:0 auto}.character-creator .character-preview{margin-bottom:0}.character-creator .start-actions{background:0 0;border-top:none;margin-top:4px;padding-top:0}html.native-app .character-creator .start-actions{z-index:2;padding:10px 0 max(8px, var(--safe-bottom));background:linear-gradient(to top, var(--bg) 85%, transparent);border-top:1px solid var(--border);margin-top:12px;position:sticky;bottom:0}@media (height<=740px){html:not(.native-app) .character-creator .start-actions{z-index:2;background:linear-gradient(to top, var(--bg) 85%, transparent);border-top:1px solid var(--border);margin-top:12px;padding:10px 0 6px;position:sticky;bottom:0}}.native-app:not(.tablet-width) .creator-preview-card{display:none}.native-app .creator-header h1{font-size:clamp(1.2rem,5vw,1.75rem)}.native-app .character-preview{gap:10px;margin-bottom:12px;padding:12px}.native-app .preview-field{gap:4px}.native-app .preview-field input,.native-app .preview-field select{padding:8px 10px;font-size:.92rem}.native-app .field-hint{font-size:.72rem;line-height:1.3}.native-app .avatar-grid{grid-template-columns:repeat(5,1fr);gap:5px}.native-app .avatar-emoji{font-size:1.35rem}.native-app .gender-btn{padding:7px 3px;font-size:.72rem}.native-app .start-actions{flex-wrap:wrap;gap:8px;padding-bottom:8px}.native-app .start-actions .btn{flex:calc(50% - 4px);min-width:0;padding:10px 8px;font-size:.82rem}.native-app .start-actions .btn.primary{flex:100%}.creator-header{text-align:center}.creator-header h1{color:var(--text-bright);margin:0;font-size:1.75rem}.character-creator .subtitle{margin:8px 0 0}.creator-layout{flex-direction:column;gap:16px;width:100%;display:flex}@media (width>=640px){.creator-layout{flex-direction:row;align-items:flex-start}.creator-preview-card{flex:0 0 180px;position:sticky;top:16px}.creator-form{flex:1}}.creator-preview-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:20px 16px}.creator-avatar-display{margin-bottom:12px;font-size:4.5rem;line-height:1}.creator-preview-name{color:var(--text-bright);margin:0 0 6px;font-size:1.1rem}.creator-preview-meta{color:var(--text-muted);margin:0 0 4px;font-size:.75rem}.creator-form{text-align:left}.avatar-grid{grid-template-columns:repeat(6,1fr);gap:6px;display:grid}@media (width<=480px){.avatar-grid{grid-template-columns:repeat(5,1fr)}}.compact-width .avatar-grid{grid-template-columns:repeat(4,1fr)}.avatar-option{aspect-ratio:1;background:var(--surface-2);border:2px solid var(--border);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:0;transition:border-color .15s,background .15s,transform .1s;display:flex}.avatar-option:hover{border-color:var(--accent);transform:scale(1.05)}.avatar-option.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:#58a6ff26}.avatar-emoji{font-size:1.6rem;line-height:1}.preview-field-full{grid-column:1/-1}.login-screen{text-align:center;justify-content:center;align-items:center}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:left;width:100%;max-width:360px;padding:20px}.auth-tabs{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:16px;display:grid}.auth-tab{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:8px;padding:8px;font-family:inherit;font-size:.85rem}.auth-tab.active{border-color:var(--accent);color:var(--accent);background:#58a6ff1a}.auth-card .preview-field{margin-bottom:12px}.auth-card input{background:var(--surface-2);border:1px solid var(--border);width:100%;color:var(--text-bright);border-radius:8px;padding:10px 12px;font-family:inherit;font-size:.95rem}.auth-error{color:var(--danger);margin:0 0 12px;font-size:.8rem}.auth-save-hint{color:var(--success);margin:0 0 12px;font-size:.75rem}.auth-cloud-hint{color:var(--muted);margin:0 0 12px;font-size:.75rem}.auth-submit{width:100%}.header-actions{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.game-menu{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.menu-btn{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:6px;padding:4px 8px;font-family:inherit;font-size:.68rem}.menu-btn:hover{border-color:var(--accent);color:var(--accent)}.save-notice{color:var(--success);text-align:right;width:100%;font-size:.68rem}.user-meta{opacity:.8;font-size:.72rem!important}.death-actions{gap:10px;width:100%;display:flex}.death-actions .btn{flex:1}.realtor-panel{background:var(--surface);border-radius:var(--radius);border:1px solid #d2992266;padding:12px 14px}.realtor-message{color:var(--success);margin:0 0 10px;font-size:.78rem}.listing-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}@media (width<=719px){.listing-grid{grid-template-columns:1fr}}.listing-card{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;flex-direction:column;align-items:flex-start;gap:4px;padding:10px;display:flex}.listing-emoji{font-size:1.5rem}.listing-name{color:var(--text-bright);font-size:.85rem;font-weight:600}.listing-price{color:var(--warning);margin-bottom:4px;font-size:.75rem}.listing-card .special-action-btn{width:100%}.owned-assets{grid-template-columns:1fr 1fr;gap:8px;display:grid}@media (width<=719px){.owned-assets{grid-template-columns:1fr}}.owned-asset-card{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:6px;padding:10px;display:flex}.owned-asset-label{text-transform:uppercase;color:var(--text-muted);font-size:.68rem;font-weight:600}.owned-asset-name{color:var(--text-bright);font-size:.85rem;font-weight:600}.owned-asset-value{color:var(--text-muted);font-size:.72rem}.owned-asset-empty{color:var(--text-muted);font-size:.8rem;font-style:italic}.owned-asset-card .special-action-btn{width:100%;margin-top:4px}.owned-asset-actions{flex-direction:column;gap:4px;width:100%;margin-top:4px;display:flex}.owned-asset-actions .special-action-btn{margin-top:0}.character-preview{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:1fr;gap:16px;width:100%;margin-bottom:24px;padding:20px;display:grid}@media (width>=560px){.character-preview{grid-template-columns:1fr 1fr}.character-preview .preview-field:first-child,.character-preview .preview-field:nth-child(2){grid-column:span 1}.preview-field:has(.gender-options){grid-column:1/-1}}.preview-field{text-align:left;flex-direction:column;gap:6px;display:flex}.preview-field label{color:var(--text-muted);font-size:.85rem;font-weight:500}.field-hint{color:var(--text-muted);margin:0;font-size:.78rem;line-height:1.35}.preview-field input,.preview-field select{background:var(--surface-2);border:1px solid var(--border);color:var(--text-bright);border-radius:8px;padding:10px 12px;font-family:inherit;font-size:1rem}.preview-field select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238b949e' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.preview-field input:focus,.preview-field select:focus{border-color:var(--accent);outline:none}.name-row{gap:8px;display:flex}.name-row input{flex:1}.icon-btn{background:var(--surface-2);border:1px solid var(--border);cursor:pointer;border-radius:8px;flex-shrink:0;width:44px;font-size:1.2rem;transition:border-color .15s,background .15s}.icon-btn:hover{border-color:var(--accent);background:#58a6ff1f}.icon-btn:active{transform:scale(.95)}.gender-options{gap:8px;display:flex}.gender-btn{background:var(--surface-2);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:8px;flex:1;padding:8px 4px;font-family:inherit;font-size:.8rem;transition:border-color .15s,background .15s}.gender-btn.active{border-color:var(--accent);color:var(--accent);background:#58a6ff1f}.start-actions{flex-wrap:wrap;flex-shrink:0;gap:12px;width:100%;display:flex}.btn{border-radius:var(--radius);cursor:pointer;border:none;padding:14px 24px;font-family:inherit;font-size:1rem;font-weight:600;transition:background .15s,transform .1s}.btn:active{transform:scale(.98)}.btn.primary{background:var(--accent);color:#0d1117;flex:1}.btn.primary:hover{background:var(--accent-hover)}.btn.secondary{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}.btn.secondary:hover{border-color:var(--text-muted)}.btn.danger{color:var(--danger);background:#f8514926;border:1px solid #f8514966}.btn.danger:hover{background:#f8514940}.save-slots-screen{gap:16px;padding-bottom:24px}.save-slots-header{text-align:center}.save-slots-header h1{color:var(--text-bright);margin:0;font-size:1.75rem}.save-slots-count{color:var(--text-muted);margin:8px 0 0;font-size:.8rem}.save-slots-grid{grid-template-columns:1fr;gap:12px;display:grid}@media (width>=560px){.save-slots-grid{grid-template-columns:1fr 1fr}}@media (width>=900px){.save-slots-grid{grid-template-columns:repeat(3,1fr)}}.save-slot-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;min-height:200px;padding:14px;display:flex}.save-slot-card.filled{border-color:#58a6ff59}.save-slot-card.empty{opacity:.9;border-style:dashed}.save-slot-number{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:700}.save-slot-empty{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;display:flex}.save-slot-empty-icon{font-size:2rem}.save-slot-empty p{margin:0;font-size:.85rem}.save-slot-preview{text-align:center;flex-direction:column;flex:1;align-items:center;gap:4px;display:flex}.save-slot-avatar{margin-bottom:4px;font-size:2.5rem;line-height:1}.save-slot-name{color:var(--text-bright);font-size:1rem}.save-slot-meta{color:var(--text-muted);font-size:.75rem}.save-slot-status{color:var(--success);text-transform:uppercase;font-size:.68rem;font-weight:600}.save-slot-status.dead{color:var(--text-muted)}.save-slot-time{color:var(--text-muted);margin-top:4px;font-size:.65rem}.save-slot-actions{flex-direction:column;gap:6px;display:flex}.save-slot-btn{width:100%;padding:8px 12px;font-size:.82rem}.save-slots-footer{justify-content:center;margin-top:8px;display:flex}@media (width<=719px){.game-header{flex-direction:column;align-items:stretch;gap:10px}.header-actions{align-items:stretch;width:100%}.game-menu{justify-content:flex-start}.character-info h2{font-size:clamp(1.1rem,4.5vw,1.4rem)}.character-avatar{width:44px;height:44px;font-size:2rem}.meta{font-size:clamp(.72rem,3.2vw,.85rem)}.stats-bar.compact{gap:6px;padding:8px}.stat-chip{padding:5px 6px}.age-up-btn{padding:clamp(12px,3.5vw,16px);font-size:clamp(.95rem,4vw,1.1rem)}.game-footer{padding-bottom:max(10px, var(--safe-bottom))}}.compact-width .screen{padding:12px 10px}.compact-width .game-screen{padding:8px 8px 0}.compact-width .menu-btn{padding:4px 6px;font-size:.62rem}.compact-height .game-header,.compact-height .stats-bar.compact{margin-bottom:8px}.compact-height .character-avatar{width:40px;height:40px;font-size:1.75rem}html.native-app .screen{padding-top:max(16px, var(--safe-top));padding-bottom:max(12px, var(--safe-bottom));padding-left:max(14px, var(--safe-left));padding-right:max(14px, var(--safe-right))}.native-app .game-screen{padding-top:max(8px, var(--safe-top));padding-bottom:0}.game-header{flex-shrink:0;justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.game-layout{flex:1;grid-template-columns:1fr;gap:0;min-height:0;display:grid;overflow:hidden}@media (width>=720px){.game-layout{grid-template-columns:minmax(0,1fr) minmax(240px,34%);gap:16px}.native-app .game-layout{grid-template-columns:1fr;gap:0}.native-app .game-log-panel{display:none!important}.native-app .mobile-only-tab{display:flex!important}}@media (width>=900px){.native-app.tablet-width .game-layout{grid-template-columns:minmax(280px,42%) 1fr;gap:16px}.native-app.tablet-width .game-log-panel{display:flex!important}.native-app.tablet-width .mobile-only-tab,.native-app.tablet-width .mobile-log-tab{display:none!important}}.game-main{flex-direction:column;min-height:0;display:flex;overflow:hidden}.game-tabs{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);scrollbar-width:none;flex-shrink:0;gap:4px;margin-bottom:12px;padding:4px;display:flex;overflow-x:auto}.game-tabs::-webkit-scrollbar{display:none}.game-tab{min-width:56px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:10px 8px;font-family:inherit;font-size:.82rem;font-weight:500;transition:background .15s,color .15s;display:flex}.game-tab.active{background:var(--surface-2);color:var(--text-bright)}.game-tab .tab-label{font-size:.72rem}@media (width<=719px){.game-tab .tab-label{display:none}.game-tab{min-width:44px;padding:10px 6px}}.tab-icon{font-size:1rem}.game-tab-content{flex:1;min-height:0;padding-right:2px;overflow-y:auto}.life-tab,.social-tab,.school-tab,.career-tab,.world-tab{flex-direction:column;gap:12px;padding-bottom:8px;display:flex}.quick-cards{grid-template-columns:1fr 1fr;gap:8px;display:grid}.quick-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:4px;padding:12px;display:flex}.quick-card.highlight{background:#d299220f;border-color:#d2992266}.quick-card-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.72rem}.quick-card-value{color:var(--text-bright);font-size:.95rem;font-weight:600}.tab-tip{color:var(--text-muted);margin:0;padding:8px 4px;font-size:.78rem;line-height:1.4}.game-log-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;min-height:0;display:none;overflow:hidden}@media (width>=720px){.game-log-panel{height:100%;max-height:none;display:flex}}.log-panel-header{border-bottom:1px solid var(--border);color:var(--text-bright);flex-direction:column;flex-shrink:0;align-items:stretch;gap:10px;padding:12px 14px;font-size:.85rem;font-weight:600;display:flex}.log-panel-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.log-count{color:var(--text-muted);font-size:.72rem;font-weight:400}.debug-export-panel{grid-template-columns:1fr 1fr;gap:8px;display:grid}.debug-export-panel-btn{white-space:nowrap;width:100%;padding:8px 10px;font-size:.72rem}.debug-export-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.debug-export-inline-btn{padding:8px 12px;font-size:.75rem}.log-tab-toolbar{justify-content:stretch;margin-bottom:8px;display:flex}.log-tab-toolbar .debug-export-actions{width:100%}.log-tab-toolbar .debug-export-inline-btn{flex:1}.death-actions .debug-export-actions{justify-content:center;width:100%;margin-bottom:4px}.game-log-panel .event-log{border:none;border-radius:0;flex:1;min-height:0;margin:0}.mobile-only-tab{display:flex}@media (width>=720px){.mobile-only-tab,.mobile-log-tab{display:none}}.log-tab .event-log{min-height:300px}.character-info h2{color:var(--text-bright);margin:0 0 4px;font-size:1.4rem}.character-title-row{align-items:center;gap:12px;display:flex}.character-avatar{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;font-size:2.5rem;line-height:1;display:flex}.character-title-row h2{margin:0 0 2px}.character-title-row .meta{margin:0}.meta{color:var(--text-muted);margin:0;font-size:.85rem}.money{background:var(--surface);border:1px solid var(--border);color:var(--success);white-space:nowrap;border-radius:8px;padding:8px 12px;font-size:.9rem;font-weight:600}.stats-bar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;flex-shrink:0;gap:10px;margin-bottom:12px;padding:16px;display:flex}.stats-bar.compact{grid-template-columns:1fr 1fr;gap:8px;padding:10px;display:grid}.stat-chip{background:var(--surface-2);border-radius:8px;align-items:center;gap:8px;padding:6px 8px;display:flex}.stat-chip-icon{flex-shrink:0;font-size:1rem}.stat-chip-body{flex:1;min-width:0}.stat-chip-label{color:var(--text-muted);margin-bottom:3px;font-size:.65rem;display:block}.stat-chip-value{color:var(--text-bright);text-align:right;flex-shrink:0;width:24px;font-size:.78rem;font-weight:700}.stat-chip .stat-track{height:4px}.stat-row{grid-template-columns:110px 1fr 36px;align-items:center;gap:8px;display:grid}.stat-label{color:var(--text-muted);font-size:.82rem}.stat-track{background:var(--surface-2);border-radius:4px;height:8px;overflow:hidden}.stat-fill{border-radius:4px;height:100%;transition:width .4s}.stat-value{color:var(--text-bright);text-align:right;font-size:.82rem;font-weight:600}.skills-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;padding:12px 14px}.skills-hint{color:var(--text-muted);margin:0 0 10px;font-size:.72rem}.skills-grid{flex-direction:column;gap:6px;display:flex}.skill-row{grid-template-columns:120px 1fr 32px;align-items:center;gap:8px;display:grid}.skill-label{color:var(--text);font-size:.72rem}.skill-track{height:6px}.skill-value{color:var(--text-bright);text-align:right;font-size:.72rem;font-weight:600}@media (width<=719px){.skill-row{grid-template-columns:1fr;gap:2px}.skill-value{text-align:left}}.school-panel{background:var(--surface);border-radius:var(--radius);border:1px solid #58a6ff66;padding:12px 14px}.school-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.school-label{color:var(--accent);font-size:.78rem;font-weight:700}.school-level-badge{color:var(--text-muted);background:var(--surface-2);border-radius:4px;padding:2px 8px;font-size:.72rem}.school-stats-row{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px;display:grid}.school-stat{background:var(--surface-2);text-align:center;border-radius:8px;flex-direction:column;gap:2px;padding:8px;display:flex}.school-stat-label{color:var(--text-muted);text-transform:uppercase;font-size:.65rem}.school-stat-value{color:var(--text-bright);font-size:.9rem;font-weight:700}.school-major{color:var(--text-muted);margin:0 0 8px;font-size:.78rem}.school-status{color:var(--text);margin:0 0 10px;font-size:.85rem}.school-actions{margin-top:4px}.job-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:0;padding:10px 14px}.job-panel-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.job-label{color:var(--warning);font-size:.78rem;font-weight:600}.job-tenure{color:var(--text-muted);font-size:.72rem}.job-title{color:var(--text-bright);font-size:1rem;font-weight:600}.job-meta{color:var(--text-muted);margin-top:2px;font-size:.72rem}.current-production{background:#58a6ff14;border:1px solid #58a6ff40;border-radius:6px;margin-top:8px;padding:8px 10px}.production-label{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;font-size:.65rem;font-weight:600;display:block}.production-title{color:var(--text-bright);margin-top:2px;font-size:.85rem;font-weight:600;display:block}.production-meta{color:var(--text-muted);margin-top:2px;font-size:.68rem;display:block}.job-panel.special-job{background:#d299220f;border-color:#d2992280}.job-performance-block{margin-top:10px}.job-performance-header{color:var(--text-muted);justify-content:space-between;margin-bottom:4px;font-size:.72rem;display:flex}.performance-track{height:6px}.performance-fill{background:linear-gradient(90deg,#58a6ff,#3fb950)}.job-raises-badge{color:var(--success);margin-top:6px;font-size:.65rem;font-weight:600;display:inline-block}.job-raise-hint{color:var(--warning);margin:0 0 8px;font-size:.72rem}.fame-bar-track{background:var(--surface-2);border-radius:4px;height:8px;margin-top:8px;position:relative;overflow:hidden}.fame-bar-fill{background:linear-gradient(90deg,#d29922,#f0c040);border-radius:4px;height:100%;transition:width .4s}.fame-bar-label{color:var(--warning);font-size:.68rem;position:absolute;top:-16px;right:0}.special-career-panel{background:var(--surface);border-radius:var(--radius);border:1px solid #d2992266;margin-bottom:0;padding:12px 14px}.special-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px;margin-bottom:6px;display:flex}.special-label{color:var(--warning);font-size:.78rem;font-weight:700}.fame-badge{color:var(--text-muted);font-size:.72rem}.special-hint{color:var(--text-muted);margin:0 0 10px;font-size:.72rem}.featured-careers-hint{color:var(--warning);font-weight:600}.featured-careers-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;display:grid}@media (width<=719px){.featured-careers-grid{grid-template-columns:1fr}}.film-careers-hint,.politics-careers-hint{margin-top:4px}.film-careers-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px;display:grid}@media (width<=719px){.film-careers-grid{grid-template-columns:1fr}}.featured-career{flex-direction:column;align-items:flex-start;min-height:72px;padding:10px 12px}.featured-career.locked{opacity:.55;cursor:not-allowed}.career-lock-reason{color:var(--text-muted);margin-top:4px;font-size:.62rem;line-height:1.2;display:block}.film-current-card{background:#58a6ff14;border:1px solid #58a6ff4d;border-radius:8px;margin-bottom:10px;padding:10px 12px}.film-current-label{color:var(--accent);margin-bottom:4px;font-size:.68rem;font-weight:600;display:block}.film-current-card strong{color:var(--text-bright);font-size:.95rem;display:block}.film-current-role,.film-current-meta{color:var(--text-muted);margin-top:2px;font-size:.72rem;display:block}.film-credits{margin-bottom:10px}.film-credits-label{color:var(--text-muted);margin-bottom:4px;font-size:.72rem;font-weight:600;display:block}.film-credits-list{color:var(--text);margin:0;padding-left:16px;font-size:.72rem}.film-credits-list li{margin-bottom:2px}.special-actions{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}@media (width<=719px){.special-actions{grid-template-columns:1fr 1fr}}.special-action-btn{background:var(--surface-2);border:1px solid var(--border);cursor:pointer;color:var(--text);text-align:left;border-radius:8px;align-items:center;gap:6px;padding:8px 10px;font-family:inherit;font-size:.75rem;transition:border-color .15s,background .15s;display:flex}.special-action-btn:hover{border-color:var(--warning);background:#d2992214}.special-action-btn.pursue:hover{border-color:var(--accent);background:#58a6ff14}.special-action-btn.danger:hover{border-color:var(--danger);background:#f8514914}.action-emoji{flex-shrink:0;font-size:1rem}.action-label{line-height:1.2}.panel-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px;margin-bottom:10px;display:flex}.panel-label{color:var(--accent);font-size:.78rem;font-weight:700}.panel-count{color:var(--text-muted);font-size:.72rem}.relationships-panel,.health-panel,.pet-panel,.job-actions-panel,.world-actions-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:0;padding:12px 14px}.relationships-panel{border-color:#bc8cff66}.health-panel{border-color:#3fb95066}.pet-panel{border-color:#ffb45073}.pet-card{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;align-items:center;gap:12px;margin-bottom:10px;padding:10px 12px;display:flex}.pet-emoji{font-size:2rem;line-height:1}.pet-info{flex-direction:column;gap:2px;display:flex}.pet-name{font-size:.95rem;font-weight:600}.pet-species{color:var(--text-muted);font-size:.75rem}.pet-stats{flex-direction:column;gap:8px;margin-bottom:10px;display:flex}.pet-stat-row{grid-template-columns:88px 1fr 32px;align-items:center;gap:8px;display:grid}.pet-stat-label{color:var(--text-muted);font-size:.72rem}.pet-stat-bar-wrap{background:var(--surface-2);border:1px solid var(--border);border-radius:4px;height:8px;overflow:hidden}.pet-stat-bar{border-radius:3px;height:100%;transition:width .2s}.pet-stat-bar.good{background:linear-gradient(90deg,#3fb950,#56d364)}.pet-stat-bar.warn{background:linear-gradient(90deg,#d29922,#e3b341)}.pet-stat-bar.bad{background:linear-gradient(90deg,#f85149,#ff7b72)}.pet-stat-value{text-align:right;color:var(--text-muted);font-size:.72rem;font-weight:600}.pet-care-status{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.pet-care-warn{color:#e3b341;font-size:.72rem}.pet-care-ok{color:#3fb950;font-size:.72rem}.special-hint.pet-actions-exhausted{color:var(--text-muted)}.relationship-sections{flex-direction:column;gap:10px;margin-bottom:10px;display:flex}.relationship-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px;font-size:.72rem;font-weight:600}.relationship-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.relationship-row{background:var(--surface-2);border:1px solid var(--border);cursor:pointer;text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:8px 10px;font-family:inherit;transition:border-color .15s,background .15s;display:flex}.relationship-row:hover:not(:disabled){background:#bc8cff0f;border-color:#bc8cff80}.relationship-row.selected{background:#bc8cff1a;border-color:#bc8cffb3}.relationship-row.deceased{opacity:.55;cursor:not-allowed}.relationship-row-main{flex-direction:column;gap:2px;min-width:0;display:flex}.relationship-name{color:var(--text-bright);align-items:center;gap:6px;font-size:.85rem;font-weight:600;display:flex}.relationship-gender{color:var(--accent);flex-shrink:0;font-size:.9rem}.relationship-meta{color:var(--text-muted);font-size:.72rem}.relationship-closeness{flex-shrink:0;font-size:.78rem;font-weight:700}.marriage-status{color:var(--warning);margin:0 0 8px;font-size:.82rem;font-weight:600}.marriage-status.dating{color:var(--accent)}.pregnancy-status{color:var(--success);background:#3fb9501a;border:1px solid #3fb9504d;border-radius:8px;margin:0 0 10px;padding:8px 10px;font-size:.8rem}.partner-actions-block{border-radius:var(--radius);background:#58a6ff14;border:1px solid #58a6ff4d;margin-bottom:12px;padding:10px 12px}.partner-actions-title{color:var(--accent);margin-top:0;font-weight:600}.partner-actions{margin-bottom:0}.partner-age-hint{color:var(--text-muted);margin:8px 0 0;font-size:.68rem}.health-status{color:var(--text-muted);margin:0 0 10px;font-size:.85rem}.health-conditions{margin-bottom:10px}.health-conditions-label{color:var(--text-muted);margin-bottom:6px;font-size:.72rem;display:block}.condition-tags{flex-wrap:wrap;gap:6px;display:flex}.condition-tag{color:var(--danger);background:#f851491f;border:1px solid #f8514940;border-radius:6px;padding:4px 8px;font-size:.72rem}.condition-tag.severity-mild{color:var(--warning);background:#d2b43c1f;border-color:#d2b43c4d}.condition-tag.severity-moderate{color:#ff8c3c;background:#ff8c3c1f;border-color:#ff8c3c4d}.condition-tag.severity-serious{color:var(--danger);background:#f851491f;border-color:#f8514959}.condition-tag.severity-critical{color:#e060a0;background:#b4287826;border-color:#b4287866;font-weight:600}.condition-years{opacity:.75;font-weight:400}.job-browse-collapsed{padding:0}.job-browse-summary{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;list-style:none;display:flex}.job-browse-summary::-webkit-details-marker{display:none}.job-browse-summary:before{content:"▸";color:var(--muted);margin-right:6px}.job-browse-collapsed[open] .job-browse-summary:before{content:"▾"}.job-browse-collapsed[open]>:not(summary){padding:0 14px 14px}.job-browse-panel{background:var(--surface);border-radius:var(--radius);border:1px solid #58a6ff66;padding:12px 14px}.job-browse-hint,.job-browse-tip{color:var(--text-muted);margin:0 0 10px;font-size:.78rem}.job-browse-tip{background:#58a6ff14;border:1px solid #58a6ff33;border-radius:8px;padding:8px 10px}.interview-badge{color:var(--warning);font-weight:600}.job-category-tabs{flex-wrap:wrap;gap:4px;margin-bottom:10px;display:flex}.job-category-tab{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:6px;padding:4px 8px;font-family:inherit;font-size:.68rem}.job-category-tab.active{border-color:var(--accent);color:var(--accent);background:#58a6ff1a}.job-browse-layout{grid-template-columns:1fr 1fr;gap:10px;min-height:200px;display:grid}@media (width<=719px){.job-browse-layout{grid-template-columns:1fr}}.job-list{flex-direction:column;gap:4px;max-height:280px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.job-list-item{text-align:left;background:var(--surface-2);border:1px solid var(--border);cursor:pointer;border-radius:8px;width:100%;padding:8px 10px;font-family:inherit;transition:border-color .15s}.job-list-item:hover{border-color:var(--accent)}.job-list-item.selected{border-color:var(--accent);background:#58a6ff1a}.job-list-item.locked{opacity:.65}.job-list-row{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.job-list-title{color:var(--text-bright);flex:1;min-width:0;font-size:.82rem;font-weight:600;display:block}.job-list-pay{color:var(--success);white-space:nowrap;flex-shrink:0;font-size:.72rem;font-weight:600}.job-list-meta{color:var(--text-muted);margin-top:2px;font-size:.68rem;display:block}.job-detail{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:10px 12px}.job-detail-title{color:var(--text-bright);margin:0 0 4px;font-size:1rem}.job-detail-pay{color:var(--success);margin:0 0 4px;font-size:.88rem;font-weight:700}.job-detail-pay-note{color:var(--text-muted);margin:0 0 10px;font-size:.65rem;line-height:1.35}.job-detail-category{color:var(--text-muted);margin:0 0 10px;font-size:.72rem}.job-requirements{color:var(--text);margin:0 0 10px;padding-left:16px;font-size:.72rem}.job-requirements .soft-req{color:var(--text-muted);font-style:italic}.job-skills-section{margin-bottom:10px}.job-skills-heading{color:var(--text-bright);margin:0 0 6px;font-size:.75rem;font-weight:600}.job-skill-relevance{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.job-skill-relevance li{background:var(--surface-2);border-radius:4px;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:4px 6px;font-size:.72rem;display:grid}.job-skill-relevance .relevance-high{border-left:3px solid var(--success)}.job-skill-relevance .relevance-medium{border-left:3px solid var(--warning)}.job-skill-relevance .relevance-low{border-left:3px solid var(--text-muted)}.skill-rel-badge{color:var(--text-muted);text-transform:uppercase;font-size:.62rem;font-weight:600}.skill-rel-yours{color:var(--text-bright);text-align:right;min-width:24px;font-weight:600}.job-skills-tip{color:var(--text-muted);margin:6px 0 0;font-size:.68rem}.job-blocked{color:var(--danger);margin:0 0 10px;font-size:.75rem}.job-chance{color:var(--success);margin:0 0 10px;font-size:.75rem}.job-detail-actions{flex-wrap:wrap;gap:6px;display:flex}.job-detail-actions .special-action-btn{flex:1;min-width:100px}.major-picker{margin-bottom:10px}.major-grid,.school-status-block{margin-bottom:8px}.school-sat{color:var(--accent);margin:4px 0 0;font-size:.75rem;font-weight:600}.school-sat-hint,.sat-action-hint{color:var(--warning);margin:4px 0 6px;font-size:.78rem}.sat-promo-btn{border:1px solid var(--accent);cursor:pointer;text-align:left;width:100%;color:var(--text);background:#58a6ff1f;border-radius:10px;align-items:center;gap:12px;margin:10px 0;padding:12px 14px;font-family:inherit;transition:background .15s,transform .1s;display:flex}.sat-promo-btn:hover{background:#58a6ff33}.sat-promo-btn:active{transform:scale(.99)}.sat-promo-icon{flex-shrink:0;font-size:1.8rem}.sat-promo-text{flex-direction:column;gap:2px;display:flex}.sat-promo-title{color:var(--text-bright);font-size:.9rem;font-weight:700}.sat-promo-desc{color:var(--text-muted);font-size:.72rem}.btn-link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.75rem}.banking-panel{background:var(--surface);border-radius:var(--radius);border:1px solid #3fb95059;padding:12px 14px}.banking-balance{color:var(--success);font-size:.95rem;font-weight:700}.banking-overview,.banking-this-year,.banking-history{margin-top:10px}.banking-stat-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;display:grid}.banking-stat{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.banking-stat-wide{grid-column:1/-1}.banking-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.68rem}.banking-stat-value{font-size:.88rem;font-weight:700}.banking-stat-value.positive,.banking-line-amount.positive{color:var(--success)}.banking-stat-value.negative,.banking-line-amount.negative{color:var(--danger,#f85149)}.banking-line-amount.credit{color:var(--success)}.banking-hint{color:var(--text-muted);margin:0 0 8px;font-size:.72rem;line-height:1.4}.banking-era-note{color:var(--warning,#d29922);margin:4px 0 0;font-size:.72rem}.banking-section{margin-bottom:12px}.banking-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px;font-size:.7rem;font-weight:600}.banking-line-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.banking-line{background:var(--surface-2);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:.78rem;display:flex}.banking-line-label{color:var(--text)}.banking-line-amount{flex-shrink:0;font-weight:600}.banking-total-row{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:6px;padding:8px 8px 0;font-size:.8rem;font-weight:600;display:flex}.banking-net-row{margin-top:12px;padding-top:10px}.retirement-panel{background:var(--surface);border-radius:var(--radius);border:1px solid #d2992259;margin-top:10px;padding:12px 14px}.retirement-badge{color:var(--warning,#d29922);background:#d299221f;border-radius:999px;padding:2px 8px;font-size:.68rem;font-weight:600}.retirement-stats{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;display:grid}.retirement-stat{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}.retirement-stat:nth-child(3){grid-column:1/-1}.retirement-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.68rem}.retirement-stat-value{font-size:.88rem;font-weight:700}.retirement-hint-inline{color:var(--text-muted);font-size:.68rem;font-weight:400}.retirement-income-breakdown{margin-top:10px}.retirement-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px;font-size:.7rem;font-weight:600}.banking-history-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.banking-history-item{border:1px solid var(--border);background:var(--surface-2);border-radius:8px;overflow:hidden}.banking-history-row{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:none;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 10px;font-family:inherit;font-size:.78rem;display:grid}.banking-history-row:hover{background:#3fb9500f}.banking-history-age{color:var(--accent);font-weight:600}.banking-history-year{color:var(--text-muted)}.banking-history-net{font-weight:700}.banking-history-detail{border-top:1px solid var(--border);padding:0 10px 10px}.economy-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:4px;margin-bottom:0;padding:10px 14px;display:flex}.economy-label{color:var(--success);font-size:.78rem;font-weight:600}.economy-summary{color:var(--text-muted);font-size:.75rem;line-height:1.35}.era-panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:0;padding:12px 14px}.era-panel-header{align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.era-year{color:var(--accent);font-size:1.1rem;font-weight:700}.era-subtitle{color:var(--text-muted);font-size:.78rem}.era-features{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}@media (width<=719px){.era-features{grid-template-columns:1fr 1fr}}.era-feature{border-radius:6px;align-items:center;gap:6px;padding:4px 6px;font-size:.75rem;display:flex}.era-feature.unlocked{color:var(--success);background:#3fb95014}.era-feature.locked{color:var(--text-muted);opacity:.6}.era-feature-icon{text-align:center;flex-shrink:0;width:14px;font-size:.7rem}.era-feature-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.event-log{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex:1;min-height:120px;padding:12px;overflow-y:auto}.event-log.empty{justify-content:center;align-items:center;display:flex}.event-log.empty p{color:var(--text-muted);font-style:italic}.log-entry{border-bottom:1px solid var(--border);padding:10px 8px}.log-entry:last-child{border-bottom:none}.log-age{color:var(--accent);background:#58a6ff1a;border-radius:4px;margin-bottom:4px;padding:2px 8px;font-size:.75rem;font-weight:700;display:inline-block}.log-text{color:var(--text);margin:4px 0 0;font-size:.95rem;line-height:1.4}.event-log.compact{min-height:0;padding:6px 8px}.event-log.compact .log-entry{padding:6px 4px}.event-log.compact .log-age{margin-bottom:2px;padding:1px 5px;font-size:.62rem}.event-log.compact .log-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:.78rem;line-height:1.35;display:-webkit-box;overflow:hidden}.log-truncated{color:var(--text-muted);text-align:center;background:var(--surface-2);border-radius:4px;margin:0 0 6px;padding:4px 6px;font-size:.65rem}.game-footer{padding:10px 0 max(14px, var(--safe-bottom));border-top:1px solid var(--border);background:var(--bg);z-index:2;flex-direction:column;flex-shrink:0;align-items:stretch;gap:8px;display:flex;position:sticky;bottom:0}html:not(.native-app) .game-footer{padding-top:8px}.game-header .version-badge{flex-shrink:0}.footer-actions-status{flex-direction:column;align-items:center;gap:2px;display:flex}.year-actions-count{text-align:center;color:var(--text-muted);margin:0;font-size:.85rem}.year-actions-count.exhausted{color:var(--warning);font-weight:600}.pet-actions-count{text-align:center;color:#ffb450;margin:0;font-size:.78rem}.pet-actions-count.exhausted{color:var(--text-muted)}.age-up-btn{background:var(--success);color:#0d1117;width:100%;padding:16px;font-size:1.1rem}.age-up-btn.age-up-ready{box-shadow:0 0 0 2px var(--warning), 0 0 16px #d2992259}.special-action-btn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.2)}.age-up-btn:hover{filter:brightness(1.1)}.death-screen{text-align:center;justify-content:center;align-items:center;gap:8px}.death-icon{margin-bottom:8px;font-size:56px}.death-screen h1{color:var(--text-muted);margin:0;font-size:2rem}.death-screen h2{color:var(--text-bright);margin:8px 0 0;font-size:1.6rem}.death-age{color:var(--text-muted);margin:4px 0}.death-cause{color:var(--danger);margin:0 0 32px;font-weight:600}.life-summary{grid-template-columns:1fr 1fr;gap:12px;width:100%;margin-bottom:32px;display:grid}.summary-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:4px;padding:16px;display:flex}.summary-label{color:var(--text-muted);font-size:.8rem}.summary-value{color:var(--text-bright);font-size:1.3rem;font-weight:700}.death-screen .btn.primary{width:100%}.college-picker{margin-top:12px}.college-list{flex-direction:column;gap:8px;max-height:320px;margin-bottom:8px;display:flex;overflow-y:auto}.college-card{background:var(--surface-2);border:1px solid var(--border);text-align:left;cursor:pointer;color:var(--text);border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;font-family:inherit;transition:border-color .15s,background .15s;display:flex}.college-card:hover:not(:disabled){border-color:var(--accent);background:var(--surface-3)}.college-card.locked{opacity:.55;cursor:not-allowed}.college-card-header{align-items:center;gap:10px;display:flex}.college-emoji{font-size:1.5rem}.college-name{color:var(--text-bright);font-size:.9rem;font-weight:600;display:block}.college-prestige{color:var(--text-muted);font-size:.7rem}.college-desc{color:var(--text-muted);margin:0;font-size:.75rem;line-height:1.35}.college-reqs{flex-wrap:wrap;gap:4px;display:flex}.college-req-tag{color:var(--accent);background:#58a6ff1f;border-radius:4px;padding:2px 6px;font-size:.65rem}.college-lock-reason{color:var(--danger);margin:0;font-size:.72rem}.school-college-name{color:var(--accent);margin:4px 0 0;font-size:.8rem;font-weight:600}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000a6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.college-interview-modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:480px;max-height:90vh;padding:20px;overflow-y:auto;box-shadow:0 8px 32px #0006}.interview-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.interview-college-icon{font-size:2rem}.interview-header h3{color:var(--text-bright);margin:0;font-size:1.1rem}.interview-subtitle{color:var(--text-muted);margin:2px 0 0;font-size:.75rem}.interview-progress{gap:6px;margin-bottom:16px;display:flex}.interview-progress-dot{background:var(--surface-3);border-radius:2px;flex:1;height:4px}.interview-progress-dot.done{background:var(--success)}.interview-progress-dot.active{background:var(--accent)}.interview-question{color:var(--text-bright);margin:0 0 14px;font-size:.95rem;font-weight:500;line-height:1.4}.interview-options{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.interview-option{background:var(--surface-2);border:1px solid var(--border);text-align:left;cursor:pointer;color:var(--text);border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;font-family:inherit;transition:border-color .15s,background .15s;display:flex}.interview-option:hover{border-color:var(--text-muted)}.interview-option.selected{border-color:var(--accent);background:#58a6ff1a}.interview-option-letter{background:var(--surface-3);width:22px;height:22px;color:var(--text-muted);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:flex}.interview-option.selected .interview-option-letter{background:var(--accent);color:#0d1117}.interview-option-text{font-size:.82rem;line-height:1.35}.interview-actions{gap:8px;display:flex}.interview-actions .btn{cursor:pointer;border:none;border-radius:8px;flex:1;padding:10px 16px;font-size:.85rem;font-weight:600}.interview-actions .btn:disabled{opacity:.45;cursor:not-allowed}.year-event-modal{background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;max-width:420px;padding:20px;box-shadow:0 8px 32px #0006}.year-event-modal.fatal{border-color:var(--danger);background:linear-gradient(180deg, #f8514914 0%, var(--surface) 40%)}.event-modal-header{align-items:center;gap:12px;margin-bottom:14px;display:flex}.event-modal-icon{font-size:2rem}.event-modal-header h3{color:var(--text-bright);margin:0;font-size:1.1rem}.event-modal-subtitle{color:var(--text-muted);margin:2px 0 0;font-size:.75rem}.event-modal-text{color:var(--text-bright);margin:0 0 14px;font-size:1rem;line-height:1.45}.event-stat-changes{flex-direction:column;gap:6px;margin:0 0 14px;padding:0;list-style:none;display:flex}.event-stat-changes li{border-radius:6px;justify-content:space-between;align-items:center;padding:6px 10px;font-size:.82rem;display:flex}.event-stat-changes .stat-up{color:var(--success);background:#3fb9501f}.event-stat-changes .stat-down{color:var(--danger);background:#f851491f}.event-death-cause{color:var(--danger);margin:0 0 14px;font-size:.82rem;font-weight:600}.event-continue-btn{cursor:pointer;border:none;border-radius:8px;width:100%;padding:12px;font-size:.9rem;font-weight:600}.event-choice-prompt{color:var(--accent);text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px;font-size:.82rem;font-weight:600}.event-choice-list{flex-direction:column;gap:8px;margin-bottom:14px;display:flex}.event-choice-btn{border:1px solid var(--border);background:var(--surface-2);width:100%;color:var(--text-bright);text-align:left;cursor:pointer;border-radius:8px;padding:12px 14px;font-size:.88rem;font-weight:500;transition:background .15s,border-color .15s}.event-choice-btn:hover{background:var(--surface-3)}.event-choice-btn.good{background:#3fb95014;border-color:#3fb95073}.event-choice-btn.good:hover{background:#3fb95029}.event-choice-btn.bad{background:#f8514914;border-color:#f8514973}.event-choice-btn.bad:hover{background:#f8514929}.event-choice-btn.neutral{border-color:#8b949e59}.event-money-change{border-radius:6px;margin:0 0 14px;padding:6px 10px;font-size:.82rem;font-weight:600}.school-career-goal{color:var(--warning);margin:4px 0 0;font-size:.78rem}.school-greek{color:var(--accent);margin:6px 0 0;font-size:.82rem;font-weight:600}.school-greek-type{color:var(--text-muted);font-weight:400}.career-goal-picker{margin-top:12px}.career-goal-list{flex-direction:column;gap:8px;margin-bottom:8px;display:flex}.career-goal-card{background:var(--surface-2);border:1px solid var(--border);text-align:left;cursor:pointer;color:var(--text);border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;font-family:inherit;transition:border-color .15s,background .15s;display:flex}.career-goal-card:hover{border-color:var(--accent);background:var(--surface-3)}.career-goal-emoji{flex-shrink:0;font-size:1.4rem}.career-goal-title{color:var(--text-bright);font-size:.85rem;font-weight:600;display:block}.career-goal-desc{color:var(--text-muted);margin-top:2px;font-size:.72rem;line-height:1.35;display:block}.career-goal-tip,.job-career-goal-match{color:var(--warning);margin:0 0 8px;font-size:.78rem}.career-goal-badge{margin-left:4px}.job-reqs-heading{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin:10px 0 6px;font-size:.78rem}.job-requirement-checks{flex-direction:column;gap:4px;margin:0 0 10px;padding:0;list-style:none;display:flex}.job-requirement-checks li{align-items:center;gap:6px;font-size:.78rem;display:flex}.job-requirement-checks .req-met{color:var(--success)}.job-requirement-checks .req-unmet{color:var(--danger)}.req-icon{flex-shrink:0;width:14px;font-weight:700}.req-label{flex:1}.req-detail{color:var(--text-muted);font-size:.7rem}
