/* Layout owns its minimums: never clip overflowing cards to disguise a broken grid. */
.autosave-status{font-size:11px;color:#9caec4;white-space:nowrap;padding:4px}
.annual-playing .autosave-status{font-size:9px;padding:2px}
.project-offers{margin:18px 0;padding:14px 0;border-block:1px solid #394456}
.project-offers summary{font-weight:700;cursor:pointer;color:#d5e2f4}
.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.project-choice{min-width:0;text-align:left;background:#242c38;border:1px solid #46556b;border-radius:14px;padding:16px;display:grid;gap:9px;color:#eef3fc;white-space:normal}
.project-choice:hover{background:#303e51;border-color:#96accb}
.project-choice small{line-height:1.6;font-weight:400;color:#acbbce}
.career-highlights h2{font-size:clamp(18px,4vw,25px)}
.career-highlights small{color:#a6b5ca;line-height:1.65}
.award-suspense{text-align:center}
.award-envelope{width:100px;height:72px;display:grid;place-items:center;margin:20px auto 28px;background:#283347;border:1px solid #8096b9;border-radius:6px;font-size:36px;color:#c4d5ee;animation:envelope-glow 2s ease-in-out infinite alternate}
@keyframes envelope-glow{to{box-shadow:0 0 32px #90afd03d;transform:translateY(-3px)}}
@media(max-width:600px){.project-grid{grid-template-columns:1fr}.project-choice{padding:13px 15px;gap:5px}.project-choice b{font-size:14px}.project-choice small{font-size:12px}}
@media(prefers-reduced-motion:reduce){.award-envelope{animation:none}}
.annual-playing>header{height:52px}.annual-playing .logo{font-size:17px}.annual-playing .logo small{display:none}.annual-playing main{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}
.annual-playing .annual-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 12px;padding:12px 15px;margin-bottom:10px;border-radius:14px}
.annual-heading{min-width:0}.annual-heading .eyebrow{font-size:10px;letter-spacing:.8px}.annual-heading h1{font-size:17px;margin:2px 0;line-height:1.3}
.scene-speed{display:flex;align-items:center;gap:7px;font-size:10px;color:#aab9cc}.scene-speed select{width:98px;min-height:36px;padding:5px 8px;border:1px solid #45536a;border-radius:8px;background:#242d3b;color:#e7edf7;font-size:16px!important}
.annual-toolbar .year-progress{grid-column:1/-1;gap:5px;margin:0}.annual-toolbar .year-progress span{font-size:9px;line-height:12px;padding:0;border-radius:3px;background:#30394a;color:#aab9cc}.annual-toolbar .year-progress .done{background:#647f9e;color:#f2f6fd}
.annual-playing .annual-screen .scene{height:clamp(190px,32dvh,280px);margin-bottom:10px}.annual-playing .annual-screen .scene-actor{bottom:12px;width:112px;height:calc(100% - 24px);max-height:200px}.annual-playing .annual-screen .scene-actor>.avatar{width:100%;height:100%}.annual-playing .scene-caption{font-size:15px;bottom:15px}
.annual-playing .annual-result{padding:13px 15px;margin-bottom:10px}.annual-playing .annual-result h3{font-size:15px;margin-bottom:5px;line-height:1.4}.annual-playing .annual-result>p{font-size:12px;line-height:1.65;margin-bottom:5px}.annual-details summary{font-size:11px;color:#acc1df;cursor:pointer;padding:5px 0}.annual-playing>nav{min-height:58px;padding:5px 8px calc(5px + env(safe-area-inset-bottom,0px))}.annual-playing .nav-item>span{font-size:19px}.annual-playing .nav-item{font-size:9px}
@media(max-width:440px){.annual-playing .annual-heading h1{font-size:15px}.scene-speed{font-size:0}.scene-speed select{font-size:16px!important}.annual-playing .annual-screen .scene{height:210px}.annual-playing .annual-screen .scene-actor{height:180px;width:101px;bottom:15px}.annual-playing .annual-screen .scene-actor>.avatar{height:180px;width:101px}}
/* Quiet, tactile choices; cool slate belongs to the existing blue-grey environment. */
:root{--blue:#2c3544;--accent:#acc1df}
.primary{background:linear-gradient(145deg,#2c3441,#242b35);color:#e9eef7;border:1px solid #49566a;box-shadow:inset 0 1px 0 #ffffff0b,0 4px 12px #0002;transition:background .18s,border-color .18s,transform .18s}
.primary:hover:not(:disabled){background:linear-gradient(145deg,#354254,#2a3443);border-color:#8199b9;transform:translateY(-1px)}
.primary:active:not(:disabled){transform:translateY(0);background:#354254}
.year-actions .primary{text-align:left;padding:18px 20px;min-height:64px;font-size:15px;letter-spacing:-.2px;position:relative}
.year-actions .primary:after{content:'↗';float:right;color:#adbfda;font-size:18px;font-weight:400}
.event-choice{background:linear-gradient(135deg,#282930,#202127);border:1px solid #45434a;border-radius:14px;box-shadow:inset 0 1px 0 #ffffff05;transition:border-color .18s,background .18s}
.event-choice:hover:not(:disabled){border-color:#8199b9;background:#2b3545}
.event-choice .choice-index{color:#bbcee8;background:#738baa1f;border:1px solid #738baa3b;border-radius:8px}
.year-controls .primary{border-color:#8199b9;background:#354254}
button:focus-visible,summary:focus-visible{outline:2px solid #b5cbe8;outline-offset:4px}
.year-review{border-color:#45536a;background:linear-gradient(135deg,#252e3d,#202630);padding:19px 22px}
.year-review h2{font-size:18px}.year-review p{font-size:13px;margin-bottom:8px}.year-review small{display:block;color:#aab9cc;font-size:12px;line-height:1.8}.year-review .eyebrow{color:#b0c5e4}
.annual-options{margin:12px 0 18px}.annual-options summary{color:#aab9cc;font-size:13px;cursor:pointer;padding:8px 0}.annual-options .genre-choices{margin-top:8px}
html{touch-action:pan-y;scroll-padding-bottom:110px}body{min-width:0}button,a,input,select,summary{touch-action:manipulation}button,input,select,textarea{max-width:100%}input,select,textarea{font-size:16px!important}main,header,#app,.card,.creator,.profile,.section-head,.selected-avatar,.avatar-grid,.avatar-card,.activity,.event-choice,.shop-item,.ranking>div,.history-row{min-width:0}main{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}p,h1,h2,h3,b,dd{overflow-wrap:anywhere}.avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.avatar-card{width:100%;height:auto;min-height:0;padding:12px 5px 8px;display:grid;grid-template-rows:150px auto;justify-items:center;gap:8px}.avatar-card>.avatar{display:block;width:min(100%,84px);height:150px;min-width:0;max-width:100%;flex-shrink:1}.avatar-card>span{position:static;display:block;line-height:1.5;font-size:10px;letter-spacing:.8px}.selected-avatar>div{min-width:0}.selected-avatar>.avatar{flex:0 0 76px}.wizard-bottom{position:static;padding:12px 0 calc(12px + env(safe-area-inset-bottom,0px));background:none}.wizard-bottom .wide{min-height:52px;margin:0}.profile-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-stats>div,.meter,.profile-identity>div,.event-choice>div,.activity>div{min-width:0}.meter{min-width:14px}.profile-stats b{flex-shrink:0}.shop-grid,.finance-grid,.wardrobe-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.history-row,.section-head{flex-wrap:wrap}.history-row>b,.ranking b{min-width:0}.ranking strong{flex-shrink:0}.genre-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.genre-choices label{min-width:0}.genre-choices select{min-width:0;max-width:100%}.audience-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.audience-grid>div{min-width:0;padding:10px 7px}.audience-grid small{overflow-wrap:anywhere}nav{height:auto;min-height:78px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.dialog{max-height:85dvh}.result{padding:20px}.result h3{font-size:19px;line-height:1.5}.result p{font-size:14px;line-height:1.85}.result-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.result-metrics span{font-size:11px;color:var(--muted)}.result-metrics b{display:block;font-size:15px;color:#e3edff}.year-controls{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.year-controls button{min-height:44px}.year-progress{display:flex;gap:7px;margin:15px 0}.year-progress span{flex:1;padding:7px 3px;text-align:center;background:#252d3a;border-radius:7px;font-size:12px}.year-progress .done{background:#284a44;color:#b4eed7}.annual-screen .scene{height:clamp(240px,48vw,360px)}.award-summary>article{padding:18px 0;border-bottom:1px solid var(--line)}.award-summary details{margin-top:12px}.event-result{border:1px solid #536780}.year-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.year-actions button{min-height:72px}.agency-size{display:inline-block;font-size:10px;padding:2px 6px;background:#34323b;border-radius:4px;color:#ead4a4;margin:3px}.scene-actor{left:auto;right:14%;transform-origin:50% 100%}.scene-caption{max-width:52%}.scene-kind-press .scene-art{filter:brightness(.8)}.event-card .event-text{font-size:16px;line-height:1.85}
@media(max-width:640px){.avatar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.avatar-card{grid-template-rows:144px auto}.avatar-card>.avatar{height:144px;width:81px}.genre-choices{grid-template-columns:1fr}.event-choice{gap:10px;padding:15px 12px}.event-choice b{font-size:15px}.event-choice small{font-size:12px}.section-head .badge{white-space:normal}.profile-stats{gap:10px}.profile-facts{gap:8px}.scene-caption{max-width:48%}}
@media(max-width:440px){.avatar-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.avatar-card{grid-template-rows:160px auto}.avatar-card>.avatar{height:160px;width:90px}.selected-avatar{gap:14px}.selected-avatar>div>b{font-size:15px}.selected-avatar p{font-size:12px}.onboarding-heading h1{font-size:clamp(23px,6.6vw,28px)}.shop-grid{grid-template-columns:1fr}.profile-stats{gap:8px}.profile-stats>div{gap:4px}.profile-stats span{min-width:20px}.profile-facts b{font-size:11px}.result-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.year-actions{grid-template-columns:1fr}.award-outcome{gap:10px;padding:12px}.award-outcome h2{font-size:17px}.ranking>div{gap:10px;padding:10px 6px}.dialog-backdrop{padding:12px}.dialog{padding:18px}.scene-actor{right:8%}.scene-caption{font-size:17px}}
@media(max-width:340px){header,main{width:calc(100% - 20px)}.card{padding:17px 13px}.avatar-grid{gap:9px}.avatar-card{grid-template-rows:142px auto}.avatar-card>.avatar{height:142px;width:80px}.selected-avatar{flex-wrap:wrap}.logo{font-size:16px}.header-tools .text-btn{padding:7px 6px}.profile-stats{grid-template-columns:1fr}.profile-stats>div{gap:10px}.audience-grid b{font-size:17px}.collection{grid-template-columns:1fr 1fr}}
