.life-modal{display:flex;flex-direction:column;overflow:hidden;max-height:94dvh}.life-modal>header{flex-shrink:0}.life-modal-body{overflow:auto;min-height:0;overscroll-behavior:contain}.life-panel-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-top:1px solid var(--line);background:var(--bpc-bg-elevated);flex-shrink:0}.life-panel-footer button{padding:9px 12px;font-size:12px}.life-panel-footer span{font-size:11px;color:var(--gold);white-space:nowrap}.life-panel-footer .life-next{font-weight:700}.life-modal>.life-feedback:empty{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.asset-wallet{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:11px;padding:0 0 10px;border-bottom:1px solid var(--line)}.asset-wallet b{color:var(--gold);margin-left:5px}.asset-wallet details{font-size:10px;position:relative}.asset-wallet details[open]{flex-basis:100%}.asset-wallet summary{cursor:pointer;color:var(--muted)}.asset-screen>.life-chip-tabs{margin:9px 0}.asset-screen>.life-chip-tabs button{flex:1 1;padding:7px 9px}.stock-terminal{display:grid;min-height:0;grid-gap:14px;gap:14px}.stock-list-pane{min-width:0;display:flex;flex-direction:column}.stock-toolbar label{display:block}.stock-toolbar input{padding:9px}.stock-filters{display:flex;align-items:center;gap:7px;margin:7px 0}.stock-filters button{padding:5px 8px;font-size:10px;white-space:nowrap}.stock-filters select{width:auto;min-width:0;flex:1 1;padding:5px;margin:0;font-size:10px}.stock-filters label{display:flex;align-items:center;font-size:10px;gap:4px;white-space:nowrap}.stock-filters input{display:inline;width:13px;height:13px;margin:0}.stock-toolbar>small{display:block;color:var(--muted);font-size:10px;margin-bottom:8px}.stock-columns{display:flex;justify-content:space-between;padding:7px 9px;border-bottom:1px solid var(--line);font-size:10px;color:var(--muted)}.stock-rows{overflow:auto;min-height:0;overscroll-behavior:contain;max-height:44dvh}.stock-rows>button{display:flex;align-items:center;justify-content:space-between;text-align:left;gap:12px;width:100%;padding:10px 9px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none!important}.stock-rows>button[aria-pressed=true]{background:#f5c45113;border-left:3px solid var(--gold);padding-left:6px}.stock-rows>button>span{min-width:0}.stock-rows>button>span:last-child{flex-shrink:0;text-align:right}.stock-rows strong{font-size:12px;display:block}.stock-rows small{display:block;color:var(--muted);font-size:10px;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stock-rows em{font-size:9px;color:var(--gold);font-style:normal}.market-up{color:var(--life-success)!important}.market-down{color:var(--life-danger)!important}.stock-pagination{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:10px;color:var(--muted)}.stock-pagination button{padding:5px 9px}.stock-detail-pane{min-width:0}.stock-detail-pane:has(.stock-empty){display:none}.stock-back{padding:5px 9px;font-size:11px;margin-bottom:10px}.stock-quote small{color:var(--gold);font-size:11px}.stock-quote h3{font-size:16px;margin:3px 0 7px}.stock-quote>strong{font-size:25px;display:inline-block;margin-right:10px}.stock-quote>span{font-size:10px;color:var(--muted)}.stock-chart{margin:8px 0}.stock-chart svg{display:block;width:100%;height:110px;background:repeating-linear-gradient(0deg,transparent,transparent 35px,#ffffff09 36px);border-bottom:1px solid var(--line)}.stock-chart>small{display:block;color:var(--muted);font-size:9px;text-align:right}.stock-position{display:grid;grid-template-columns:1fr 1fr;grid-gap:5px;gap:5px;margin:10px 0;font-size:10px}.stock-position span{color:var(--muted);background:var(--bpc-bg-muted);padding:6px 8px;border-radius:5px}.stock-position b{display:block;color:var(--ink);font-size:12px;margin-top:3px}.stock-side{display:flex;gap:6px}.stock-side button{flex:1 1;padding:7px}.stock-order .life-form-label{margin:8px 0 4px}.stock-order input{padding:8px;margin-top:4px}.stock-quick{display:flex;gap:5px}.stock-quick button{flex:1 1;font-size:10px;padding:6px}.stock-order dl{margin:8px 0}.stock-order dl>div{display:flex;justify-content:space-between;font-size:11px;margin:4px 0}.stock-order dt{color:var(--muted)}.stock-order dd{margin:0;font-weight:700}.stock-order>small{display:block;font-size:9px;color:var(--muted);margin-top:7px}.stock-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;height:100%;padding:30px;color:var(--muted)}.stock-empty>span{font-size:45px;color:var(--gold)}.stock-has-selection .stock-list-pane{display:none}.people-tabs{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.people-tabs button{padding:8px 10px;font-size:12px}.people-tabs>span{margin-left:auto;font-size:10px;color:var(--gold)}.meeting-route-grid{display:grid;grid-gap:9px;gap:9px;margin:12px 0}.meeting-route{display:flex;text-align:left;align-items:center;gap:12px;padding:13px!important;min-height:84px}.meeting-route>span{font-size:25px;width:34px;text-align:center;flex-shrink:0}.meeting-route>div{flex:1 1;min-width:0}.meeting-route b,.meeting-route small,.meeting-route strong{display:block}.meeting-route strong{font-size:13px}.meeting-route small{font-size:11px;color:var(--muted);margin:4px 0}.meeting-route b{font-size:10px;color:var(--gold);font-weight:400}.meeting-route em{font-size:23px;color:var(--gold);font-style:normal}.meeting-route:disabled{opacity:.6}.people-contacts{display:grid;grid-gap:15px;gap:15px}.people-contacts>aside{min-width:0}.contact-list{max-height:49dvh;overflow:auto;margin-top:8px}.contact-list>button{display:flex;width:100%;align-items:center;text-align:left;gap:9px;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:6px}.contact-list>button>span{width:48px;height:48px;background-size:400% 400%;flex-shrink:0}.contact-list>button>div{flex:1 1}.contact-list strong{display:block;font-size:12px}.contact-list small{display:block;color:var(--muted);font-size:10px}.contact-list b{color:var(--gold)}.contact-profile{min-width:0}.contact-hero{display:flex;align-items:center;gap:12px}.contact-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:7px;gap:7px;margin:10px 0}.contact-actions button{padding:10px 6px;font-size:11px}.contact-profile details{font-size:11px;color:var(--muted);margin-top:15px}.contact-profile summary{cursor:pointer}.people-contacts:not(.people-selected) .contact-profile,.people-selected>aside{display:none}@container life-viewport ((max-width:899px)){.life-app:has(.life-topbar){height:100dvh;min-height:570px;overflow:hidden}.life-hero{flex:1 1;height:auto;min-height:110px;max-height:none}.life-hero-person{width:52%;left:24%;bottom:50px;max-height:100%}.life-dock{margin-top:0}.life-action{min-height:72px}.life-hero .life-date strong{font-size:13px}.life-headline{padding:7px 10px!important}.life-headline strong{font-size:12px}.life-last-result{max-height:34px}.stock-has-selection .stock-list-pane{display:none}}@container life-viewport ((min-width:900px)) or ((min-width:740px)){.life-app:has(.life-topbar){max-width:1600px;width:100%;height:100dvh;min-height:0;display:grid;grid-template-columns:minmax(300px,1.08fr) minmax(360px,1fr);grid-template-rows:54px 54px 100px minmax(0,1fr);overflow:hidden}.life-topbar{grid-column:1/-1;grid-row:1;position:relative;padding:9px 20px}.life-wallet{gap:24px;max-width:850px}.life-wallet small{font-size:10px}.life-wallet strong{font-size:15px}.life-top-icons{margin-left:auto;gap:8px}.life-top-icons button{width:32px}.life-tiles{grid-column:2;grid-row:2;margin:7px 12px}.life-tiles small{font-size:10px}.life-tiles strong{font-size:13px}.life-hero{grid-column:1;grid-row:2/5;min-height:0;max-height:none;height:auto;flex:none;aspect-ratio:auto;border-right:1px solid var(--line)}.life-hero-background{background-position:50%}.life-hero-person{width:min(85%,65dvh);left:50%;transform:translateX(-50%);bottom:90px}.life-date{padding:17px 18px 25px}.life-date strong{font-size:19px}.life-date span{font-size:12px}.life-person-name{top:56px;left:18px;font-size:15px}.life-owned{bottom:105px;left:18px;right:18px}.life-owned button{font-size:11px;padding:5px 7px}.life-headline{padding:15px 18px!important}.life-headline strong{font-size:18px}.life-headline small{font-size:11px}.life-body{grid-column:2;grid-row:3;padding:3px 12px 0}.life-stat strong{font-size:20px}.life-stat small{font-size:11px}.life-stat{padding:8px 3px!important}.life-relationship{padding:8px 2px!important}.life-dock{grid-column:2;grid-row:4;min-height:0;display:flex;flex-direction:column;overflow:auto;padding:10px 12px;margin:0}.life-ap-row{margin-bottom:10px}.life-actions{grid-template-columns:repeat(4,minmax(0,1fr));flex:1 1;min-height:0;align-content:start;gap:7px}.life-action{min-height:78px;justify-content:center;padding:7px 4px!important}.life-action-icon{font-size:20px}.life-action strong{font-size:12px}.life-action small{font-size:10px}.life-last-result{max-height:48px;flex-shrink:0;margin-top:8px;font-size:10px}.life-bottom-nav{margin-top:auto;flex-shrink:0}.life-bottom-nav>button{padding:12px 8px;font-size:13px}.life-bottom-nav .life-next{font-size:16px}.life-modal-shade{padding:20px}.life-modal{width:100%;max-width:1160px;height:calc(100dvh - 40px);max-height:900px}.life-modal>header{padding:12px 18px}.life-modal-body{flex:1 1;padding:14px 18px}.life-modal h2{font-size:18px}.life-panel-footer{padding:10px 18px}.life-modal:not(.life-panel-school):not(.life-panel-assets):not(.life-panel-people){max-width:960px}.life-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.life-roster{grid-template-columns:repeat(8,minmax(0,1fr))}.asset-screen{height:100%;display:flex;flex-direction:column;min-height:0}.asset-wallet{flex-shrink:0}.asset-screen>.life-chip-tabs{flex-shrink:0;max-width:650px}.stock-terminal{grid-template-columns:minmax(280px,1fr) minmax(280px,.9fr);flex:1 1;min-height:0;gap:22px}.stock-has-selection .stock-list-pane,.stock-list-pane{display:flex;min-height:0}.stock-rows{flex:1 1;max-height:none}.stock-detail-pane{display:block!important;border-left:1px solid var(--line);padding-left:22px;overflow:auto}.stock-back{display:none}.stock-detail-pane .stock-empty{display:flex}.stock-position{grid-template-columns:repeat(4,minmax(0,1fr))}.stock-order{max-width:490px}.stock-pagination{flex-shrink:0}.stock-chart svg{height:clamp(85px,16dvh,170px)}.campus-school.campus-view-map{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);grid-template-rows:auto auto auto auto auto 1fr;grid-column-gap:22px;column-gap:22px;align-items:start}.campus-view-map>.campus-heading{grid-column:1/-1}.campus-view-map>.campus-map{grid-column:1;grid-row:2/8;width:min(100%,calc(100dvh - 310px));margin:6px auto;min-width:240px}.campus-view-map>.campus-status{grid-column:2;grid-row:2;margin-top:6px}.campus-view-map>.campus-instruction{grid-column:2;grid-row:3;font-size:12px;margin:15px 0}.campus-view-map>.campus-notice{grid-column:2;grid-row:4;padding:13px;font-size:12px}.campus-view-map>.campus-record{grid-column:2;grid-row:5;gap:7px;margin:14px 0}.campus-view-map>.campus-record span{font-size:12px;padding:12px}.campus-view-map>.campus-memory-book{grid-column:2;grid-row:6;margin-top:5px}.campus-academic-panel{margin-top:12px}.campus-school:not(.campus-view-map){display:grid;grid-template-columns:minmax(300px,1.15fr) minmax(260px,.85fr);grid-gap:10px 22px;gap:10px 22px;align-items:start}.campus-school:not(.campus-view-map)>.campus-heading,.campus-school:not(.campus-view-map)>.campus-status{grid-column:1/-1}.campus-school:not(.campus-view-map)>h3{grid-column:1;margin:6px 0}.campus-room-scene{grid-column:1;grid-row:4/8;height:clamp(240px,43dvh,440px)}.campus-school:not(.campus-view-map)>.campus-place-actions{grid-column:2;grid-row:4;margin:0}.campus-school:not(.campus-view-map)>.campus-club,.campus-school:not(.campus-view-map)>.campus-story-card{grid-column:2;grid-row:5}.campus-school:not(.campus-view-map)>p{grid-column:2}.campus-school:not(.campus-view-map)>.campus-memory-book{grid-column:1/-1}.campus-person-art{max-height:260px}.campus-room-people strong{font-size:11px}.campus-room-people small{font-size:10px}.meeting-route-grid{grid-template-columns:1fr 1fr;gap:12px}.meeting-route{min-height:110px;padding:16px!important}.meeting-route small{font-size:12px}.people-contacts{grid-template-columns:minmax(240px,.8fr) minmax(300px,1.2fr);height:calc(100% - 45px);min-height:0}.people-contacts>aside,.people-selected>aside{display:flex;flex-direction:column;min-height:0}.contact-list{flex:1 1;max-height:none}.contact-profile,.people-contacts:not(.people-selected) .contact-profile{display:block;border-left:1px solid var(--line);padding-left:20px;overflow:auto}.contact-hero .life-npc-portrait{width:120px;height:120px}.contact-profile .life-metrics{grid-template-columns:repeat(4,1fr)}.people-screen{height:100%;min-height:0}.people-tabs{min-height:35px}.people-tabs>span{font-size:12px}.life-event-dialog{max-width:900px;padding:24px;display:grid;grid-template-columns:220px 1fr;grid-column-gap:25px;column-gap:25px}.life-event-dialog:not([open]){display:none}.life-event-dialog>.life-gold,.life-event-dialog>h2{grid-column:1/-1}.life-choice-portrait{grid-column:1;grid-row:3/6;width:220px;height:220px;margin:0}.life-event-dialog>p,.life-event-options{grid-column:2}.life-event-options{margin-top:8px}.life-event-dialog:not(:has(.life-choice-portrait))>.life-event-options,.life-event-dialog:not(:has(.life-choice-portrait))>p{grid-column:1/-1}}@container life-viewport ((min-width:740px) and (max-height:650px)){.life-actions{gap:4px}.life-action{min-height:62px;padding:4px 2px!important}.life-action-icon{font-size:16px}.life-action strong{font-size:11px}.life-action small{font-size:9px}.life-last-result{max-height:30px}.life-body{padding-top:0}.life-dock{padding-top:5px}.life-tiles{margin-top:4px;margin-bottom:4px}.stock-position{grid-template-columns:1fr 1fr}.stock-chart svg{height:65px}.meeting-route{min-height:85px}.campus-view-map>.campus-map{min-width:200px;width:min(100%,calc(100dvh - 190px))}}@container life-viewport ((min-width:900px)) or ((min-width:740px)){.stock-detail-pane{display:flex!important;flex-direction:column;overflow:hidden;gap:8px}.stock-research{min-height:0;overflow:auto;overscroll-behavior:contain;flex:1 1}.stock-order{flex-shrink:0;width:100%;border-top:1px solid var(--line);padding-top:8px}.stock-quote h3{margin:2px 0 4px;font-size:15px}.stock-quote>strong{font-size:23px}.stock-chart svg{height:clamp(50px,10dvh,110px)}.stock-position{margin:6px 0}.stock-position span{padding:4px 6px}.stock-side button{padding:6px}.stock-order .life-primary{padding:9px 10px}.stock-order .life-form-label{margin:6px 0 4px}.stock-order input{padding:7px}.stock-order dl{margin:6px 0}.stock-order .stock-quick button{padding:5px}}@container life-viewport ((min-width:740px) and (max-height:650px)){.stock-research{min-height:65px}.stock-quote>strong{font-size:19px}.stock-position{grid-template-columns:repeat(4,minmax(0,1fr))}.stock-chart svg{height:45px}.stock-order>small{font-size:8px}.stock-order dl>div{margin:2px 0}.stock-order input{padding:5px}.stock-side button{padding:4px}}@container life-viewport ((max-width:899px)){.life-hero-person{height:calc(100% - 85px);width:auto;aspect-ratio:1;max-width:72%;left:50%;transform:translateX(-50%);bottom:55px}.life-panel-assets:has(.stock-terminal){height:94dvh}.life-panel-assets:has(.stock-terminal) .life-modal-body{flex:1 1;min-height:0;overflow:hidden}.asset-screen:has(.stock-terminal){height:100%;display:flex;flex-direction:column;min-height:0}.asset-screen>.life-chip-tabs,.asset-wallet{flex-shrink:0}.stock-terminal{flex:1 1;min-height:0}.stock-list-pane{min-height:0}.stock-rows{max-height:none;flex:1 1}.stock-pagination{flex-shrink:0}.stock-has-selection .stock-detail-pane{display:flex;flex-direction:column;min-height:0;gap:6px}.stock-back{align-self:start;flex-shrink:0;margin-bottom:2px}.stock-has-selection .stock-research{min-height:65px;flex:1 1;overflow:auto;overscroll-behavior:contain}.stock-order{flex-shrink:0;padding-top:8px;border-top:1px solid var(--line)}.stock-chart svg{height:70px}.stock-quote h3{font-size:14px}.stock-quote>strong{font-size:22px}.stock-order .life-form-label{margin-top:6px}.stock-order input{padding:7px}.stock-position{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}.stock-position span{font-size:9px;padding:4px}.stock-position b{font-size:10px}}.campus-people-pages{position:absolute;top:8px;left:8px;right:8px;display:flex;align-items:center;justify-content:flex-end;gap:7px;color:#fff;text-shadow:0 1px 3px #000;font-size:12px}.campus-people-pages>span:first-child{margin-right:auto;background:#131b28d9;border-radius:5px;padding:5px}.campus-people-pages button{padding:5px 10px!important;background:#131b28e8!important;color:#fff!important}.contact-list>button>span{background-size:auto 210%!important;background-position:center 10%!important}.campus-staff-icon{display:flex;align-items:center;justify-content:center;height:110px;font-size:70px}.life-app{color-scheme:inherit;--life-danger:#b42318;--life-success:#166534;--life-romance:#be185d;--life-connections:#6d28d9;--life-on-accent:#fff;--life-danger-bg:color-mix(in srgb,var(--life-danger) 9%,var(--bpc-bg));--life-success-bg:color-mix(in srgb,var(--life-success) 9%,var(--bpc-bg));font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;box-shadow:0 0 0 1px var(--bpc-border-strong),0 12px 45px var(--bpc-shadow)}html[data-theme=dark] .life-app{--life-danger:#fda4af;--life-success:#86efac;--life-romance:#f9a8d4;--life-connections:#c4b5fd;--life-on-accent:#0f1419}body:has(.life-app){background:var(--bpc-bg-muted);color:var(--bpc-text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.life-app button,.life-app input,.life-app select{font-family:inherit}.life-app button:disabled{opacity:.5}.life-app .life-next,.life-app .life-primary{background:var(--bpc-accent);color:var(--life-on-accent);border-color:var(--bpc-accent)}.life-app .life-next:hover:enabled,.life-app .life-primary:hover:enabled{background:var(--bpc-accent-hover);border-color:var(--bpc-accent-hover)}.life-app button:hover:enabled{border-color:var(--bpc-accent)}.life-ap-track,.life-stat-track{background:var(--bpc-border-strong)}.life-ap-track i{background:var(--bpc-accent)}.life-stat{border-right-color:var(--bpc-border-strong)!important}.life-event-dialog,.life-modal{box-shadow:0 18px 60px var(--bpc-shadow)}.life-event-dialog::-webkit-backdrop{background:var(--bpc-backdrop)}.life-event-dialog::backdrop,.life-modal-shade{background:var(--bpc-backdrop)}.life-event-dialog{color-scheme:inherit}.life-event-options button:hover:enabled{border-color:var(--bpc-accent);background:var(--bpc-bg-hover)}.life-event-options button:focus-visible{outline:2px solid var(--bpc-accent);outline-offset:2px}.life-price-history .life-spark-bars span{background:var(--bpc-accent)}.stock-rows>button[aria-pressed=true]{background:color-mix(in srgb,var(--bpc-accent) 10%,var(--bpc-bg))}.stock-chart svg{background:repeating-linear-gradient(0deg,transparent,transparent 35px,var(--bpc-border) 36px)}.stock-side button:first-child[aria-pressed=true]{background:var(--life-success-bg);border-color:var(--life-success)}.stock-side button:last-child[aria-pressed=true]{background:var(--life-danger-bg);border-color:var(--life-danger)}.life-headline>span{color:#dbeafe}.campus-room-people small{color:#fff}.life-hero-person{box-shadow:none}.life-date,.life-headline,.life-owned{color-scheme:dark}.campus-story-card>small{color:var(--bpc-accent)}.life-bpc-settings{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px;border:1px solid var(--bpc-border-strong);border-radius:10px;background:var(--bpc-bg-muted);margin-bottom:14px}.life-bpc-settings>div{flex:1 1;min-width:150px}.life-bpc-settings small,.life-bpc-settings strong{display:block}.life-bpc-settings small{font-size:10px;color:var(--bpc-text-muted);margin-top:3px}.life-bpc-settings button{padding:8px 10px;font-size:11px}.life-bpc-settings button[aria-checked=true]{background:var(--bpc-accent);color:var(--life-on-accent);border-color:var(--bpc-accent)}.life-opening{box-sizing:border-box;display:flex;flex-direction:column;width:calc(100% - 24px);max-width:950px;max-height:92dvh;padding:0;border:1px solid var(--bpc-border-strong);border-radius:18px;background:var(--bpc-bg-elevated);color:var(--bpc-text);box-shadow:0 20px 80px var(--bpc-shadow);font:14px/1.65 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color-scheme:inherit;overflow:hidden}.life-opening:not([open]){display:none}.life-opening::-webkit-backdrop{background:var(--bpc-backdrop);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.life-opening::backdrop{background:var(--bpc-backdrop);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.life-opening *{box-sizing:border-box}.opening-layout{display:grid;grid-template-columns:.8fr 1.2fr;min-height:0;overflow:auto;overscroll-behavior:contain}.opening-visual{isolation:isolate;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:450px;overflow:hidden;color:#fff;background:#15243a;padding:30px}.opening-landscape{position:absolute;inset:0;z-index:-2;background:linear-gradient(#101b2dcc,#101b2de8),url(/games/life-sim/neighborhood-1997-v1.png) 50%/cover;filter:grayscale(.8)}.opening-visual>span{font-size:11px;letter-spacing:4px;font-weight:700}.opening-visual>strong{font-size:80px;font-weight:750;line-height:1.1;letter-spacing:-4px;margin:20px 0}.opening-visual>small{font-size:12px;margin-top:25px;color:#e2e8f0;text-align:center}.opening-watch{position:relative;width:95px;height:95px;border:2px solid #ffffff88;border-radius:50%;box-shadow:0 0 0 7px #ffffff0a}.opening-watch:after,.opening-watch:before{content:"";position:absolute;width:2px;height:7px;background:#fff;left:45px}.opening-watch:before{top:5px}.opening-watch:after{bottom:5px}.opening-watch b,.opening-watch i{position:absolute;background:#fff;border-radius:3px;left:45px;bottom:45px;transform-origin:50% 100%}.opening-watch i{width:2px;height:31px;transform:rotate(-75deg)}.opening-watch b{width:3px;height:23px;transform:rotate(30deg)}.opening-scene-1 .opening-landscape{filter:grayscale(1) blur(4px)}.opening-scene-1 .opening-watch i{animation:opening-rewind 5s linear infinite}.opening-scene-1 .opening-watch b{animation:opening-rewind 12s linear infinite}.opening-scene-2 .opening-landscape{background:linear-gradient(#12324a44,#12324abb),url(/games/life-sim/neighborhood-1997-v1.png) 50%/cover;filter:none}.opening-story{padding:34px 34px 26px;align-self:center;min-width:0}.opening-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--bpc-text-muted);font-size:11px}.opening-meta>span:first-child{color:var(--bpc-accent);font-weight:650}.opening-story h1{font-size:30px;line-height:1.15;letter-spacing:-.8px;margin:18px 0 22px;color:var(--bpc-text-strong)}.opening-story h1:focus{outline:none}.opening-story p{margin:0 0 15px;font-size:14px;line-height:1.8;color:var(--bpc-text)}.opening-start{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--bpc-border-strong);padding-top:15px;margin-top:20px}.opening-start span{flex:1 1;font-size:10px;color:var(--bpc-text-muted);padding:8px;background:var(--bpc-bg-muted);border-radius:7px}.opening-start b{display:block;font-size:17px;color:var(--bpc-text-strong);margin-top:3px}.opening-story .opening-error{color:var(--life-danger);font-size:12px}.opening-footer{flex-shrink:0;padding:16px 24px 20px;border-top:1px solid var(--bpc-border-strong);background:var(--bpc-bg-elevated)}.opening-progress{display:flex;gap:5px;margin-bottom:12px}.opening-progress span{height:3px;flex:1 1;background:var(--bpc-border-strong);border-radius:4px}.opening-progress .is-read{background:var(--bpc-accent)}.opening-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}.opening-controls button{border:1px solid var(--bpc-border-strong);background:var(--bpc-bg-muted);color:var(--bpc-text);padding:10px 14px;border-radius:9px;font:600 12px system-ui,-apple-system,Segoe UI,Roboto,sans-serif;cursor:pointer}.opening-controls button:focus-visible{outline:2px solid var(--bpc-accent);outline-offset:3px}.opening-controls .life-primary{width:auto;min-width:160px;display:inline-block;margin:0}.opening-controls button:disabled{cursor:default;opacity:.5}@keyframes opening-rewind{0%{transform:rotate(0)}to{transform:rotate(-1turn)}}@container life-viewport ((max-width:650px)){.opening-layout{display:block}.opening-visual{min-height:135px;height:135px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;justify-items:start;align-content:center;padding:20px 24px;grid-gap:3px 14px;gap:3px 14px}.opening-visual>span{font-size:9px;letter-spacing:3px}.opening-visual>strong{font-size:48px;grid-row:2;margin:0}.opening-watch{grid-column:2;grid-row:1/3;width:64px;height:64px;transform:scale(.75);transform-origin:right center}.opening-watch:after,.opening-watch:before{left:29px}.opening-watch b,.opening-watch i{left:29px;bottom:29px}.opening-watch i{height:22px}.opening-watch b{height:15px}.opening-visual>small{display:none}.opening-story{padding:20px 22px 12px}.opening-story h1{font-size:25px;margin:13px 0 16px}.opening-story p{font-size:13px;line-height:1.7;margin-bottom:12px}.opening-footer{padding:12px 18px 15px}.opening-meta{font-size:10px}.opening-controls{gap:6px}.opening-controls button{font-size:11px;padding:10px}.opening-controls .life-primary{min-width:0}.opening-start{margin-top:12px;padding-top:10px}}@media(prefers-reduced-motion:reduce){.opening-watch b,.opening-watch i{animation:none!important}}@container life-viewport ((max-width:899px) and (max-height:700px)){body:has(.life-app){overflow-y:auto}.life-app:has(.life-topbar){height:auto;min-height:100dvh;overflow:visible}.life-hero{height:240px;min-height:240px;flex:none}.life-tiles strong{font-size:11px;line-height:1.5;white-space:nowrap}}.life-dialogue{display:grid;grid-gap:12px;gap:12px;margin:16px 0 20px;text-align:left}.life-dialogue-line{border:1px solid var(--bpc-border-strong);border-radius:12px;padding:12px 14px;background:var(--bpc-bg-muted)}.life-dialogue-line>strong{display:block;color:var(--bpc-accent);font-size:12px;margin-bottom:5px}.life-dialogue-line>p{margin:0;line-height:1.65;font-size:14px;white-space:pre-line}.life-dialogue-player{margin-left:24px;background:var(--bpc-bg-elevated)}.life-dialogue-npc{margin-right:12px}.life-event-dialog:has(.life-dialogue){width:calc(100% - 24px);max-width:620px;max-height:90dvh;overflow-y:auto}.life-event-dialog .life-choice-portrait{width:88px;height:88px}.life-school-screen{position:fixed;inset:0;z-index:20;background:var(--bpc-bg);display:flex;overflow:hidden}body:has(.life-school-screen){overflow:hidden!important}.life-school-screen .life-panel-school{width:100%;max-width:none;height:100dvh;max-height:none;border:0;border-radius:0;box-shadow:none;background:var(--bpc-bg);margin:0;display:flex;flex-direction:column}.life-panel-school>header{flex-shrink:0;gap:12px;justify-content:start;padding:calc(10px + env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) 10px max(14px,env(safe-area-inset-left));background:var(--bpc-bg-elevated)}.life-panel-school>header .school-home{padding:9px 12px;font-size:12px;white-space:nowrap;font-weight:600;color:var(--bpc-accent)}.life-panel-school>header h2{font-size:16px;outline:none}.school-header-date{margin-left:auto;font-size:11px;color:var(--bpc-text-muted);white-space:nowrap}.life-panel-school>.life-modal-body{width:100%;max-width:1600px;flex:1 1;margin:0 auto;padding:16px;min-height:0;overflow:auto}.life-panel-school>.life-panel-footer{padding-bottom:max(10px,env(safe-area-inset-bottom))}.life-panel-school>.life-feedback{flex-shrink:0;background:var(--bpc-bg-elevated)}@container life-viewport ((min-width:900px)) or ((min-width:740px)){.life-panel-school .campus-view-map>.campus-map{width:min(100%,calc(100dvh - 260px))}.life-panel-school .campus-room-scene{height:clamp(240px,48dvh,500px)}}@container life-viewport ((max-width:600px)){.life-panel-school>header{gap:9px}.life-panel-school>header h2{font-size:14px}.school-header-date{display:none}.life-panel-school>.life-modal-body{padding:12px 16px}.life-panel-school>header .school-home{font-size:12px;padding:8px 10px}}.life-event-dialog .life-choice-portrait{width:140px;height:190px}@container life-viewport ((min-width:900px)){.life-event-dialog:has(.life-dialogue){max-width:900px}.life-event-dialog .life-choice-portrait{width:220px;height:300px}.life-event-dialog>.life-dialogue{grid-column:2}}.life-app .life-hero-background{background-image:linear-gradient(180deg,#11182720,#0f111720),url(/games/life-sim/neighborhood-1997-v1.png)}.life-app .life-hero-person{left:50%;transform:translateX(-50%);bottom:0;height:calc(100% - 38px);aspect-ratio:auto;-webkit-mask-image:none;mask-image:none}.life-app .life-headline{background:linear-gradient(180deg,#0f111710,#0f11178c)!important;text-shadow:0 1px 4px #000,0 0 10px #0009}.life-app .life-hero>.journey-home{position:absolute;top:32px;right:12px;z-index:3;display:block;width:auto;max-width:calc(100% - 88px);min-height:0;margin:0;padding:2px 0;border:0;border-radius:0;background:transparent;color:#fff;text-align:right;box-shadow:none;text-shadow:0 1px 5px #000;font:inherit}.life-app .life-hero>.journey-home>span{display:block;text-align:right}.life-app .life-hero>.journey-home small,.life-app .life-hero>.journey-home strong{display:block;font-size:11px;line-height:1.5;font-weight:400;opacity:1}.life-app .life-hero>.journey-home:focus-visible{outline:2px solid var(--bpc-accent);outline-offset:3px}@container life-viewport ((min-width:900px)) or ((min-width:740px)){.life-app .life-hero>.journey-home{top:42px;right:18px}}@container life-viewport ((max-width:899px)){.life-app{--home-ability-overlap:74px}.life-app .life-hero{flex:1 1;height:auto;min-height:180px;margin-bottom:calc(-1 * var(--home-ability-overlap))}.life-app .life-hero-person{width:70%;max-height:none}.life-app .life-headline{bottom:var(--home-ability-overlap)}.life-app .life-owned{bottom:calc(88px + var(--home-ability-overlap))}.life-app .life-body{position:relative;z-index:1;box-sizing:border-box;height:var(--home-ability-overlap);flex:0 0 var(--home-ability-overlap)}.life-app .life-stat-strip{height:100%;box-sizing:border-box;background:color-mix(in srgb,var(--panel) 84%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}}.life-app .life-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.life-app .life-modal>header{gap:12px;min-height:58px}.life-app .life-panel-school>header{box-sizing:border-box;flex:0 0 56px;height:56px;min-height:56px;padding:6px max(14px,env(safe-area-inset-right)) 6px max(14px,env(safe-area-inset-left))}.life-app .life-modal>header h2{flex:1 1;min-width:0;font-size:17px;outline:none}.life-app .life-modal>header .life-panel-back{flex:none;min-width:44px;min-height:40px;padding:6px 10px;font-size:20px;border:0;background:transparent;color:var(--ink);white-space:nowrap}.life-app .school-ap{white-space:nowrap;font-size:13px;font-weight:650;color:var(--ink)}.life-app .life-school-swipe{touch-action:pan-y;overscroll-behavior:contain}.life-app .life-hero-background,.life-app .life-hero-person{touch-action:none}.life-app .campus-clean{display:block}.life-app .campus-clean .campus-map{width:100%;margin:0;grid-column:auto;grid-row:auto;min-width:0}.life-app .campus-room-title{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px}.life-app .campus-room-title h3{font-size:17px;margin:0}.life-app .campus-clean .campus-room-scene{height:280px;grid-column:auto;grid-row:auto;margin:0 0 16px}.life-app .campus-room-people>button{position:relative;overflow:visible;min-height:100px;cursor:pointer}.life-app .campus-new-marker{position:absolute;top:9%;right:14%;width:22px;height:22px;line-height:22px;border-radius:50%;background:#ffda47;color:#302500;font-size:16px;font-weight:850;box-shadow:0 2px 7px #0005;text-shadow:none;z-index:2}.life-app .campus-room-people strong{font-size:11px;padding:5px 2px}.life-app .campus-room-people small{font-size:10px;line-height:1.6}.life-app .campus-room-actions{min-width:0}.life-app .campus-day-card{padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--bpc-bg-elevated);margin-bottom:12px}.life-app .campus-day-card>small{font-size:10px;letter-spacing:.08em;color:var(--muted)}.life-app .campus-day-card h3{font-size:17px;margin:7px 0}.life-app .campus-day-card p{font-size:13px;line-height:1.6;margin:0 0 12px}.life-app .campus-day-card>button{width:100%;padding:11px}.life-app .campus-clean .campus-place-actions{margin:12px 0;display:grid;grid-gap:8px;gap:8px}.life-app .campus-place-actions>button{padding:13px!important}.life-app .campus-place-actions span{font-size:11px;line-height:1.6;color:var(--muted)}.life-app .campus-clean .campus-story-card{margin:0 0 12px}.life-app .campus-clean .campus-story-card>small{color:var(--life-danger)}.life-app .campus-club{display:flex;gap:8px;margin-bottom:12px}.life-app .campus-club select{min-width:0;flex:1 1}.life-app .campus-memory-book{margin-top:16px}.life-app .life-audio-settings input[type=checkbox]{display:inline-block;width:auto;padding:0;accent-color:var(--bpc-accent)}.life-app .life-audio-settings input[type=range]{padding:0;border:0;background:transparent;height:24px;cursor:pointer}.life-app .life-data-credits{max-width:760px;line-height:1.7;font-size:13px}.life-app .life-data-credits a{color:var(--bpc-accent)}.life-app .life-panel-news .life-modal-body{max-width:780px;margin:0 auto;width:100%;line-height:1.7}@container life-viewport ((min-width:900px)) or ((min-width:740px)){.life-app .campus-clean .campus-map{grid-column:1;grid-row:1;width:min(100%,calc(100dvh - 155px));justify-self:center}.life-app .campus-clean:not(.campus-view-map){display:grid;grid-template-columns:minmax(320px,1.15fr) minmax(260px,.85fr);grid-gap:14px 22px;gap:14px 22px}.life-app .campus-clean .campus-room-title{grid-column:1/-1;grid-row:1;margin:0}.life-app .campus-clean .campus-room-scene{grid-column:1;grid-row:2;margin:0;height:clamp(280px,calc(100dvh - 205px),600px)}.life-app .campus-clean .campus-room-actions{grid-column:2;grid-row:2;max-height:calc(100dvh - 205px);overflow:auto;padding-right:3px;overscroll-behavior:contain}.life-app .campus-clean .campus-memory-book{grid-column:1/-1;grid-row:3;margin-top:0}.life-app .campus-room-people .campus-person-art{max-height:370px}}@container life-viewport ((max-width:430px)){.life-app .life-modal>header h2{font-size:15px}.life-app .campus-room-people strong{font-size:10px}.life-app .campus-room-people small{font-size:9px}.life-app .campus-pin-label{font-size:10px}}.life-app .life-panel-school>.life-modal-body:has(>.campus-view-map){padding:0;max-width:none;overflow:hidden;display:flex}.life-app .campus-clean.campus-view-map{display:flex;align-items:center;justify-content:center;container-type:size;flex:1 1;min-width:0;min-height:0;height:100%;background:var(--bpc-bg)}.life-app .campus-clean.campus-view-map>.campus-map{flex:none;width:min(100cqw,100cqh);height:min(100cqw,100cqh);aspect-ratio:1;min-width:0;margin:0;border:0;border-radius:0}.life-app .campus-view-map>.campus-map>img{object-fit:contain}.life-swipe-home{touch-action:pan-y;overscroll-behavior:none}.life-app .life-portrait-shortcut{padding:0;border:0;background-color:transparent;border-radius:0;box-shadow:none;cursor:pointer}.life-app .life-portrait-shortcut:hover:enabled{background-color:transparent;border-color:transparent}.life-app .life-portrait-shortcut:focus-visible{outline:2px solid var(--bpc-accent);outline-offset:-4px}.life-app .life-hero .life-partner-shortcuts{left:12px;right:auto;top:48px;bottom:auto;width:48px;max-height:calc(100% - 136px - var(--home-ability-overlap,0px));min-height:48px;flex-direction:column;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:none;pointer-events:auto}.life-app .life-partner-shortcuts>button{pointer-events:auto}.life-app .life-hero .life-date{top:36px}.life-app .life-hero>.journey-home{top:68px;display:flex;flex-direction:column;align-items:flex-end;gap:8px}.life-app .life-hero>.journey-home .life-family-shortcut{position:static;width:auto;max-width:100%;min-height:36px;display:flex;align-items:center;gap:5px;padding:5px 8px;text-shadow:none}.life-app .life-hero>.journey-home .life-family-shortcut small{font-size:10px;color:var(--ink);text-shadow:none}.life-app .life-hero .life-hero-person{height:calc(100% - 74px)}.life-app .life-hero .life-partner-shortcuts{top:84px;max-height:calc(100% - 172px - var(--home-ability-overlap,0px))}@container life-viewport ((min-width:900px)) or ((min-width:740px)){.life-app .life-hero>.journey-home{top:78px}}.life-app .life-actions{--home-action-height:60px;--home-action-gap:4px;grid-auto-rows:var(--home-action-height);gap:var(--home-action-gap);flex:0 1 auto;min-height:var(--home-action-height);max-height:calc(3 * var(--home-action-height) + 2 * var(--home-action-gap));overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin}.life-app .life-dock .life-actions>.life-action{box-sizing:border-box;min-height:0;height:100%;justify-content:center}.life-app .life-actions>.life-action strong{max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.2}.people-partner-list{display:flex;flex-direction:column;gap:24px;min-width:0}.people-partner-list>.contact-profile{min-width:0;max-height:none;overflow:visible;padding:0 0 24px;border-left:0;border-bottom:1px solid var(--line)}.people-partner-list>.contact-profile:last-child{padding-bottom:0;border-bottom:0}@container life-viewport ((min-width:740px) and (max-height:650px)){.life-app .life-actions{--home-action-height:54px;--home-action-gap:4px}}.life-school-screen>section>header{touch-action:none}@media(prefers-reduced-motion:no-preference){.life-school-screen{animation:life-school-arrive .22s ease-out}@keyframes life-school-arrive{0%{transform:translateY(100%)}to{transform:translateY(0)}}}