:root{--paper:#fff5df;--ink:#493350;--muted:#876a89;--green:#7950a3;--gold:#e7b863;--line:#d7bddb}
body{background:#392349;background-image:radial-gradient(ellipse at top,#775291,transparent 75%);color:#fff0d9}
.topbar{background:#352041e8;border-color:#b68ac344}.brand,nav button{color:#ffe9b7}.brand span{color:#d5b9e4}
.news{background:#472e59;color:#ffedcc;border-color:#9673a0}.news .eyebrow{color:#dabbec}
.play-area{background:#fff4dfee;color:var(--ink);border-color:#d8b9da;border-radius:18px;box-shadow:0 8px 0 #38204033,0 12px 35px #27143225}
.choice{border:1px solid #ad8ab9;border-radius:10px;background:#f0dfed;color:#51355f;box-shadow:0 3px 0 #b695be;font-weight:600}.choice.primary{background:linear-gradient(#9868bf,#774aa0);border-color:#674080;color:#fff6df;box-shadow:0 3px 0 #4c2d68}.choice:hover{filter:brightness(1.07)}
.meter{background:#decce1}.meter i{background:linear-gradient(90deg,#a46eb9,#7150a3)}.succession-control{background:#ecdcf1;border-color:#b993c6;color:#603977}.trait{background:#ebdcee;color:#6c477a}.account-link{color:#7950a3}
dialog{background:#fff4df;color:#493350;border-color:#b58ac5;border-radius:18px}.close{color:#7950a3}
.storybook-era .landscape{background-image:url('assets/storybook-village.png');background-size:cover;background-position:center;filter:none}
.storybook-era .village{display:none}.storybook-era .stage{background:#a8dcd5;border-color:#ad84bf}.storybook-era .stage:after{background:linear-gradient(0deg,#3d25464d,transparent 22%);box-shadow:none}
.storybook-era .family{filter:drop-shadow(0 5px 3px #53345230);width:36%;left:0;height:90%;bottom:0}
.storybook-era .family-label{color:#fff5da;text-shadow:0 2px 3px #482b4a}.storybook-era .scene-label{color:#4e3861;text-shadow:0 1px #fff8}.storybook-era .sky-note{display:none}
.village-life{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden}.village-life>svg{width:100%;height:100%}.idle{transform-box:fill-box;transform-origin:50% 100%;animation:family-idle 9s ease-in-out infinite}.spouse{animation-delay:-4s;animation-duration:11s}.child{animation-name:child-idle;animation-duration:13s}.elder{animation-duration:15s}
@keyframes family-idle{0%,40%,100%{transform:rotate(0) scaleY(1)}45%{transform:rotate(-1.2deg) scaleY(1.015)}55%{transform:rotate(1deg) scaleY(1.005)}65%{transform:rotate(0)}}
@keyframes child-idle{0%,70%,100%{transform:translateY(0) rotate(0)}75%{transform:translateY(-3px) rotate(-3deg)}82%{transform:translateY(0) rotate(2deg)}}
.walker{animation:walk-road 44s linear infinite}.rider{animation:ride-road 67s linear infinite}.chicken{animation:peck 12s ease-in-out infinite}.chicken-two{animation-delay:-5s}
@keyframes walk-road{0%{transform:translate(720px,390px)}48%{transform:translate(915px,450px)}50%{transform:translate(915px,450px) scaleX(-1)}98%,100%{transform:translate(720px,390px) scaleX(-1)}}
@keyframes ride-road{0%,60%{opacity:0;transform:translate(610px,355px)}62%{opacity:1}88%{opacity:1;transform:translate(1020px,490px)}90%,100%{opacity:0;transform:translate(1100px,510px)}}
@keyframes peck{0%,100%{transform:translate(790px,475px)}30%{transform:translate(815px,480px) rotate(4deg)}60%{transform:translate(830px,475px) rotate(-3deg)}}
.chicken-two{translate:65px 15px}.chimney-smoke{position:absolute;left:80%;top:30%}.chimney-smoke i{position:absolute;width:14px;height:14px;border-radius:50%;background:#fff9df77;filter:blur(4px);animation:smoke 7s linear infinite}.chimney-smoke i:nth-child(2){animation-delay:-2s}.chimney-smoke i:nth-child(3){animation-delay:-4s}.chimney-smoke i:nth-child(4){animation-delay:-6s}@keyframes smoke{from{transform:translate(0,0) scale(.5);opacity:0}20%{opacity:.7}to{transform:translate(22px,-65px) scale(2.5);opacity:0}}
.weather-particles{position:absolute;inset:0;opacity:0;transition:opacity 4s ease-in-out,background-color 6s ease-in-out;background:#7484b515}.weather-particles i{position:absolute;top:-10%;width:1px;height:16px;background:#e6f4ff9c;animation:rain 1.4s linear infinite}.stage[data-weather="1"] .weather-particles,.stage[data-weather="2"] .weather-particles{opacity:1}.stage[data-weather="2"] .weather-particles i{width:5px;height:5px;border-radius:50%;background:#fff;animation-duration:9s}.weather-label{position:absolute;right:15px;top:60px;color:#59476b;background:#fff2d9c9;padding:5px 9px;border-radius:20px;font:calc(10px * var(--text-scale,1)) Arial,sans-serif}@keyframes rain{to{transform:translate(-40px,650px)}}
@media(orientation:landscape) and (min-width:600px){html,body{height:100%;overflow:hidden}.topbar{height:34px;padding:6px 18px;position:absolute;inset:0 0 auto;z-index:20}.brand{font-size:calc(14px * var(--text-scale,1))}.brand span{display:none}#app{height:100dvh;position:relative;isolation:isolate}.stage{position:absolute;inset:34px 0 30px;margin:0;min-height:0;max-height:none;height:auto;border:0;border-radius:0;z-index:-1}.play-area{position:absolute;top:50px;bottom:45px;left:30%;width:40%;margin:0;padding:16px;display:flex;flex-direction:column;gap:8px;overflow:auto}.household,.footer{display:none}.identity{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.identity>.eyebrow{display:none}.person-title{grid-column:1;font-size:calc(23px * var(--text-scale,1));margin:0}.person-subtitle{grid-column:1;font-size:calc(12px * var(--text-scale,1));margin:4px 0}.metrics{grid-column:2;grid-row:1/4;gap:3px}.money{grid-column:1;grid-row:3;padding:0;border:0;margin:4px 0;display:block}.money .eyebrow{display:none}.money strong{font-size:calc(22px * var(--text-scale,1))}.budget-strip,.traits,.succession-control,.succession-status{grid-column:1/-1}.card{border:0;border-top:1px solid var(--line);padding:12px 0 0;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.card h1{font-size:calc(26px * var(--text-scale,1));margin:5px 0 10px}.card .prompt{font-size:calc(15px * var(--text-scale,1));line-height:1.45;overflow:auto;min-height:0}.choices{margin-top:auto;flex-wrap:nowrap;flex-shrink:0}.choice{min-width:0;font-size:calc(11px * var(--text-scale,1));flex:1}.card-note{font-size:calc(10px * var(--text-scale,1))}.result-list{overflow:auto;font-size:calc(14px * var(--text-scale,1));min-height:0}.yearbar{position:absolute;left:20px;top:52px;padding:0;display:block;max-width:26%}.yearblock{display:block}.era{border:0;padding:0}.yearnumber{color:#fff5de;text-shadow:0 2px 5px #543965}.news{position:absolute;bottom:0;left:0;right:0;margin:0;height:30px;padding:6px 14px;overflow:auto;font-size:calc(11px * var(--text-scale,1))}.news>.eyebrow{display:none}.news-list{white-space:nowrap;display:block}.storybook-era .family{width:31%;left:-1%;height:80%;bottom:2%}.storybook-era .landscape{background-size:100% 100%}.scene-label{right:20px;top:16px}.weather-label{top:62px}.conditions{margin-top:8px}}
@media(orientation:landscape) and (max-height:600px) and (min-width:600px){.play-area{left:29%;width:43%;top:41px;bottom:37px;padding:9px 12px;gap:3px}.person-title{font-size:calc(18px * var(--text-scale,1))}.person-subtitle{font-size:calc(10px * var(--text-scale,1))}.money strong{font-size:calc(18px * var(--text-scale,1))}.card{padding-top:5px}.card h1{font-size:calc(20px * var(--text-scale,1));margin:3px 0 6px}.card .prompt,.result-list{font-size:calc(12px * var(--text-scale,1));line-height:1.35}.choice{font-size:calc(9px * var(--text-scale,1));padding:7px;min-height:34px}.card-note{font-size:calc(8px * var(--text-scale,1))}.yearbar{left:12px;top:43px}.yearnumber{font-size:calc(30px * var(--text-scale,1))}.weather-label{font-size:calc(8px * var(--text-scale,1))}.scene-label strong{font-size:calc(20px * var(--text-scale,1))}.storybook-era .family{width:31%;height:80%}}
@media(prefers-reduced-motion:reduce){.idle,.walker,.rider,.chicken,.chimney-smoke i{animation:none!important}.walker{transform:translate(760px,400px)}.chicken{transform:translate(800px,475px)}.rider{display:none}}
.no-motion .walker{transform:translate(760px,400px)}.no-motion .chicken{transform:translate(800px,475px)}.no-motion .rider{display:none}
.storybook-era .family svg svg{overflow:hidden!important}
.choice.primary,.choice:first-child{background:linear-gradient(#9868bf,#774aa0)!important;color:#fff6df;border-color:#674080}
@media(orientation:landscape) and (min-height:650px) and (min-width:600px){.play-area{bottom:auto;max-height:calc(100dvh - 95px)}.card{flex:0 1 auto}.card .prompt{max-height:30vh;margin-bottom:22px}.choices{margin-top:12px}.storybook-era .family{height:70%;bottom:4%}.yearbar .conditions{max-width:100%}.yearbar .chip{font-size:calc(11px * var(--text-scale,1));padding:6px 9px}}
.weather-particles{container-type:size}
.weather-particles i{animation-duration:var(--rain-duration);animation-delay:var(--rain-delay);opacity:var(--flake-opacity)}
.stage[data-weather="2"] .weather-particles i{width:var(--flake-size);height:var(--flake-size);animation-name:snowfall;animation-duration:var(--snow-duration);animation-delay:var(--snow-delay)}
@keyframes snowfall{0%{transform:translate(0,0)}25%{transform:translate(var(--sway),30cqh)}50%{transform:translate(var(--drift),60cqh)}75%{transform:translate(calc(var(--drift) - var(--sway)),90cqh)}100%{transform:translate(var(--drift),120cqh)}}
@keyframes rain{to{transform:translate(-40px,120cqh)}}
.storybook-era .landscape:after{content:'';position:absolute;inset:0;background-image:url('assets/storybook-village-snow.png');background-size:inherit;background-position:inherit;opacity:0;transition:opacity 6s ease-in-out;pointer-events:none}
.storybook-era .stage[data-season="winter"] .landscape:after{opacity:1}
@media(prefers-reduced-motion:reduce){.storybook-era .landscape:after{transition:none}}
.storybook-era .landscape:before{content:'';position:absolute;inset:0;background-image:url('assets/storybook-village-rain.png');background-size:inherit;background-position:inherit;opacity:0;transition:opacity 6s ease-in-out;pointer-events:none}
.storybook-era .stage[data-weather="1"] .landscape:before,.storybook-era .stage[data-weather="3"] .landscape:before{opacity:1}
.storybook-era .landscape:after{background-image:url('assets/storybook-village-overcast-snow.png')}
.stage[data-weather="3"] .weather-particles{opacity:1;background:#303e663d}
.stage[data-weather="1"] .weather-particles i:nth-child(even){visibility:hidden}
.stage[data-weather="3"] .weather-particles i{display:block;visibility:visible;width:2px;height:34px;background:linear-gradient(transparent,#e6f4ffdd);animation-duration:.65s;opacity:.85}
.village-life:after{content:'';position:absolute;inset:0;pointer-events:none;background:#ecedff;opacity:0}
.stage[data-weather="3"] .village-life:after{animation:distant-lightning 18s -6s linear infinite}
@keyframes distant-lightning{0%,63%,67%,100%{opacity:0}64%{opacity:.2}65%{opacity:.08}}
@media(prefers-reduced-motion:reduce){.storybook-era .landscape:before{transition:none}.stage[data-weather="3"] .village-life:after{animation:none!important;opacity:0}}
.no-motion .stage[data-weather="3"] .village-life:after{animation:none!important;opacity:0}
.personal-activity{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:5px 0;border-top:1px solid var(--line);font:calc(10px * var(--text-scale,1)) Arial,sans-serif}.personal-activity span{flex:1}.personal-activity button{color:#7950a3;font-size:calc(11px * var(--text-scale,1));text-decoration:underline;min-height:26px}.personal-activity small{color:var(--muted)}.household-offer{border:1px solid var(--line);border-radius:10px;padding:12px;margin:10px 0;background:#f8eddc}.household-offer h4{margin:0 0 7px}.household-offer p{font-size:calc(14px * var(--text-scale,1));line-height:1.4}.household-offer .choice{padding:9px 12px}.account-actions h3{margin-bottom:6px}
.storybook-era .landscape{background-image:url('assets/rural-village-sun.png')}
.storybook-era .landscape:before{background-image:url('assets/rural-village-rain.png')}
.storybook-era .landscape:after{background-image:url('assets/rural-village-snow.png')}
@media(orientation:landscape) and (max-height:600px) and (min-width:600px){.metric-help{min-height:19px;padding:1px 0}.personal-activity{font-size:calc(9px * var(--text-scale,1));gap:3px;padding:2px 0}.personal-activity button{font-size:calc(10px * var(--text-scale,1));min-height:23px}.personal-activity small{font-size:calc(8px * var(--text-scale,1))}.card>.eyebrow{display:none}.card h1{font-size:calc(17px * var(--text-scale,1));margin:2px 0 4px}.card .prompt{min-height:35px;margin-bottom:5px}.budget-strip{margin-top:3px;padding:3px 0}.succession-status{font-size:calc(8px * var(--text-scale,1))}.card-note{font-size:calc(7px * var(--text-scale,1));margin-top:3px}}
/* Free annual practice: finger-sized targets and a compact landscape arena. */
.practice p{margin:8px 0;font-size:calc(16px * var(--text-scale,1));line-height:1.4}.practice .practice-note{font:calc(12px * var(--text-scale,1)) Arial,sans-serif;color:var(--muted)}.practice-arena{height:200px;display:flex;align-items:center;justify-content:center;background:#e9dfcd;border-radius:14px;margin-top:12px;overflow:hidden}.practice-status{text-align:center;font:calc(14px * var(--text-scale,1)) Arial,sans-serif;padding:8px;min-height:30px}.practice-balls{display:grid;grid-template-columns:repeat(5,52px);gap:18px}.practice-ball{width:52px;height:52px;border:0;border-radius:50%;background:radial-gradient(circle at 32% 25%,#ffffff30,transparent 55%),var(--ball-color);box-shadow:inset -3px -4px 0 #00000018,0 3px 3px #00000016;cursor:pointer;touch-action:manipulation}.practice-ball:focus-visible{outline:3px solid #342b45;outline-offset:3px}.dummy-zone{position:relative;width:280px;height:190px;touch-action:none;user-select:none;cursor:crosshair}.dummy-post{position:absolute;background:#785432;width:16px;height:150px;left:132px;top:34px}.dummy-arms{position:absolute;background:#9b7946;width:170px;height:16px;left:55px;top:79px;transform:rotate(-5deg);border-radius:8px}.dummy-head{position:absolute;background:#d4b37a;border:3px solid #9a7844;border-radius:50%;width:43px;height:43px;left:118px;top:8px}.dummy-pad{position:absolute;background:#cbb186;border:4px solid #8a6745;width:88px;height:100px;left:96px;top:51px;border-radius:25px;display:grid;place-items:center;color:#795134;font:bold calc(48px * var(--text-scale,1)) Georgia}.dummy-base{position:absolute;left:92px;bottom:4px;width:100px;height:13px;border-radius:50%;background:#725639}.dummy-zone[data-hits="1"] .dummy-pad{transform:rotate(-5deg)}.dummy-zone[data-hits="2"] .dummy-pad{transform:rotate(5deg)}.practice-finish{text-align:center;font-size:calc(24px * var(--text-scale,1));padding:10px}.practice-finish p{font-size:calc(14px * var(--text-scale,1))}.practice-finish button{font-size:calc(12px * var(--text-scale,1));padding:10px}
@media(orientation:landscape) and (max-height:600px){#modal:has(.practice){padding:12px 22px;max-height:96dvh;width:min(620px,95vw)}#modal:has(.practice) h2{font-size:calc(22px * var(--text-scale,1));margin:0}.practice p{font-size:calc(12px * var(--text-scale,1));margin:5px 0}.practice .practice-note{font-size:calc(10px * var(--text-scale,1))}.practice-arena{height:160px;margin-top:6px}.practice-balls{gap:12px}.dummy-zone{transform:scale(.8)}.practice-status{font-size:calc(12px * var(--text-scale,1));padding:4px;min-height:20px}}
.practice-flock{grid-template-columns:repeat(5,64px);gap:8px 12px}.practice-hen{width:64px;height:64px;border-radius:8px;background:none;box-shadow:none;padding:0}.practice-hen svg{display:block;width:100%;height:100%;pointer-events:none}.practice-hen:hover{background:#ffffff25}
@media(max-width:420px){.practice-flock{grid-template-columns:repeat(5,50px);gap:8px}.practice-hen{width:50px;height:58px}}
.arrow-zone{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;touch-action:none;user-select:none;cursor:grab}.practice-arrow{font:calc(100px * var(--text-scale,1))/1 Arial,sans-serif;color:#755195;pointer-events:none}.arrow-progress{font:calc(14px * var(--text-scale,1)) Arial,sans-serif;color:#645671;pointer-events:none}
.income-arena{position:relative;background:repeating-linear-gradient(90deg,#dfd3bb 0%,#dfd3bb 33%,#cabb9c 33%,#cabb9c 33.333%)}.falling-item{position:absolute;width:44px;height:44px;transform:translateX(-50%);touch-action:none;cursor:pointer;padding:0}.falling-item.coin{border-radius:50%;border:3px solid #7d8991;background:linear-gradient(135deg,#f5f7f8,#bcc7ce);color:#596871;font-size:calc(26px * var(--text-scale,1));box-shadow:inset 0 0 0 3px #e7edf0}.falling-item.stone{background:#838385;border:3px solid #62656b;border-radius:45% 30% 40% 25%;box-shadow:inset 5px 5px #a1a1a0}
.year-outcome{font-size:calc(13px * var(--text-scale,1));line-height:1.4;border-bottom:1px solid var(--line);padding:6px 0;margin-bottom:8px;color:var(--muted);max-height:130px;overflow:auto}.year-outcome summary{cursor:pointer}.year-outcome ul{padding-left:18px}.year-outcome li{margin:4px 0}@media(orientation:landscape) and (max-height:600px){.year-outcome{font-size:calc(10px * var(--text-scale,1));margin-bottom:3px;padding:3px 0;max-height:60px}.year-outcome:not([open]) summary{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}}
.year-outcome-button{align-self:flex-start;font-size:calc(12px * var(--text-scale,1));color:#7950a3;text-decoration:underline;padding:4px 0;margin-bottom:4px}@media(orientation:landscape) and (max-height:600px){.year-outcome-button{font-size:calc(10px * var(--text-scale,1));min-height:20px;padding:2px 0}}
.news-headline{font:inherit;color:inherit;background:none;border:0;padding:2px 0;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;cursor:pointer}.news-headline:hover{text-decoration-style:solid}.news-headline:focus-visible{outline:2px solid #f3d78d;outline-offset:2px}
/* Long choices must remain readable inside narrow cards. */
.choices{min-width:0;width:100%}.choices>.choice{min-width:0;max-width:100%;flex:1 1 0;white-space:normal;overflow-wrap:anywhere;word-break:normal;line-height:1.25;height:auto}
.scene-toggle{position:fixed;right:16px;top:42px;z-index:25;border:1px solid #baa2c7;border-radius:18px;background:#f7efdfed;color:#513764;padding:7px 12px;font:calc(12px * var(--text-scale,1)) Arial,sans-serif}.scene-only .play-area,.scene-only .mobile-handover{display:none!important}body:not(.storybook-era) .village-actors,body:not(.storybook-era) .chimney-smoke{display:none}body:not(.storybook-era) .village-life{z-index:3}.roof-snow{opacity:0;transition:opacity 6s ease-in-out}.stage[data-season="winter"] .roof-snow{opacity:.95}.landscape,.village{transition:filter 6s ease-in-out}body:not(.storybook-era) .stage[data-season="winter"] .landscape{filter:saturate(.4) brightness(1.03)}body:not(.storybook-era) .stage[data-weather="1"] .landscape,body:not(.storybook-era) .stage[data-weather="1"] .village{filter:saturate(.8) brightness(.72)}body:not(.storybook-era) .stage[data-weather="3"] .landscape,body:not(.storybook-era) .stage[data-weather="3"] .village{filter:saturate(.65) brightness(.59)}.village-life:before{content:'';position:absolute;inset:0;opacity:0;transition:opacity 6s;background:radial-gradient(ellipse 8% 1.2% at 45% 85%,#d9e6f080,transparent),radial-gradient(ellipse 7% .8% at 57% 74%,#d9e6f070,transparent),radial-gradient(ellipse 4% .6% at 65% 63%,#e1e9f06b,transparent),linear-gradient(#28394b77,transparent 55%);pointer-events:none}.stage[data-weather="1"] .village-life:before{opacity:.6}.stage[data-weather="3"] .village-life:before{opacity:1}@media(prefers-reduced-motion:reduce){.roof-snow,.landscape,.village,.village-life:before{transition:none}}@media(max-height:500px){.scene-toggle{top:38px;font-size:calc(10px * var(--text-scale,1));padding:5px 9px}}@media(orientation:portrait){.scene-only .stage{height:calc(100dvh - 140px);max-height:none}}
.building-smoke{pointer-events:none}.smoke-puff{fill:#c6c1b6;opacity:0;animation:roof-smoke 10s ease-out infinite}@keyframes roof-smoke{0%{transform:translate(0,0) scale(.6);opacity:0}20%{opacity:.3}100%{transform:translate(18px,-70px) scale(2.7);opacity:0}}.evening-shade{position:absolute;inset:0;background:linear-gradient(#15203cc4,#25304680 55%,#17203d9c);opacity:0;transition:opacity 12s;pointer-events:none}.stage[data-evening="true"] .evening-shade{opacity:1}.village-fire{position:absolute;left:64%;top:77%;width:32px;height:36px;opacity:0;transition:opacity 10s;pointer-events:none}.stage[data-evening="true"] .village-fire{opacity:1}.fire-glow{position:absolute;width:200px;height:105px;left:-84px;top:-25px;background:radial-gradient(ellipse,#ffc16b65 0%,#f7953235 35%,transparent 70%);mix-blend-mode:screen;animation:firelight 2.5s ease-in-out infinite alternate}.fire-logs{position:absolute;bottom:0;left:3px;width:27px;height:7px;border-radius:4px;background:#4d2b19;transform:rotate(-12deg);box-shadow:0 0 5px #fd953d}.fire-flame{position:absolute;bottom:5px;left:8px;width:18px;height:27px;border-radius:60% 30% 55% 45%;background:linear-gradient(#fff1a0,#ffb839 50%,#de572b);filter:drop-shadow(0 0 6px #ffad36);transform-origin:50% 100%;animation:flame-dance .8s ease-in-out infinite alternate}.fire-flame.small{left:18px;width:9px;height:18px;animation-delay:-.4s}.fire-smoke i{position:absolute;top:0;left:12px;width:12px;height:12px;border-radius:50%;background:#c6bbb166;animation:roof-smoke 8s ease-out infinite}.fire-smoke i:nth-child(2){animation-delay:-3s}.fire-smoke i:nth-child(3){animation-delay:-6s}@keyframes flame-dance{from{transform:rotate(-7deg) scale(.88,1)}to{transform:rotate(8deg) scale(1.08,.86)}}@keyframes firelight{from{opacity:.7;transform:scale(.95)}to{opacity:1;transform:scale(1.05)}}@media(prefers-reduced-motion:reduce){.smoke-puff,.fire-smoke i{animation:none;opacity:.15}.fire-flame,.fire-glow{animation:none}.evening-shade,.village-fire{transition:none}}.no-motion .smoke-puff,.no-motion .fire-smoke i,.no-motion .fire-flame,.no-motion .fire-glow{animation:none}

/* Stack long labels instead of breaking a word into isolated letters. */
.choices{flex-wrap:wrap}.choices>.choice{flex:1 1 190px;overflow-wrap:normal;word-break:normal;letter-spacing:.045em}
/* Both scenery layers share the same coordinates at every viewport size. */
body:not(.storybook-era) .stage .landscape{background-size:100% 100%;background-position:center}
body:not(.storybook-era) .stage .village{inset:0;width:100%;height:100%;bottom:0;right:0}
.ground-snow{opacity:0;transition:opacity 6s ease-in-out}.stage[data-season="winter"] .ground-snow{opacity:.85}
@media(prefers-reduced-motion:reduce){.ground-snow{transition:none}}
.household-home{filter:saturate(.8) brightness(.9);transition:filter 6s;pointer-events:none}.stage[data-season="winter"] .household-home{filter:saturate(.3) brightness(1.12)}.stage[data-weather="1"] .household-home{filter:saturate(.7) brightness(.73)}.stage[data-weather="3"] .household-home{filter:saturate(.6) brightness(.62)}
.village-editor{position:fixed;z-index:100;left:15px;bottom:45px;width:270px;padding:16px;border-radius:12px;background:#fbf3e4f5;color:#493555;border:1px solid #987bb0;box-shadow:0 5px 25px #0004;font:calc(14px * var(--text-scale,1)) Georgia}.village-editor[hidden]{display:none}.village-editor p{font-size:calc(13px * var(--text-scale,1));margin:8px 0}.village-editor label{display:block;margin:10px 0}.village-editor select,.village-editor input{display:block;width:100%;margin-top:5px}.village-editor button{padding:8px;margin:3px;border:1px solid #987bb0;border-radius:5px;background:#e8ddef;color:#493555}.arranging-village .play-area,.arranging-village .scene-toggle,.arranging-village .family,.arranging-village .family-label,.arranging-village .welcome{visibility:hidden!important}.arranging-village .village{z-index:10;touch-action:none}.arranging-village .painted-site{cursor:grab;pointer-events:all}.arranging-village .layout-selected{filter:drop-shadow(0 0 4px #f3d174) drop-shadow(0 0 2px #fff)}.arranging-village .stage:after,.arranging-village .village-life{pointer-events:none}.arranging-village .painted-site:active{cursor:grabbing}
/* Match accumulated snow to the surrounding winter terrain. */
.stage[data-season="winter"] .ground-snow{opacity:.98}

.weather-particles i:nth-child(n+53){display:none}
.stage[data-weather="3"] .weather-particles i{display:block}
.stage[data-weather="5"] .weather-particles{opacity:1;background:#a1b0c52b}
.stage[data-weather="5"] .weather-particles i{display:block;left:var(--storm-left)!important;width:var(--flake-size);height:var(--flake-size);border-radius:50%;background:#fff;animation-name:snowstorm;animation-duration:calc(var(--snow-duration) / 2);animation-delay:calc(var(--snow-delay) / 2)}
@keyframes snowstorm{from{transform:translate(-20cqw,0)}to{transform:translate(20cqw,120cqh)}}

.weather-label{display:none}
.home-snow{opacity:0;transition:opacity 6s;pointer-events:none}.home-snow .household-home{filter:none!important}.stage[data-season="winter"] .home-snow{opacity:.95}@media(prefers-reduced-motion:reduce){.home-snow{transition:none}}

/* Equal annual choices; no visual recommendation of the first option. */
.choice,.choice.primary,.choice:first-child{background:linear-gradient(#9868bf,#774aa0)!important;color:#fff6df!important;border-color:#674080!important;box-shadow:0 3px 0 #4c2d68}.choice:focus-visible{outline:3px solid #d5ae4e;outline-offset:4px}.choice:disabled{opacity:.55}
.scroll-name{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.scroll-banner{display:inline-flex;align-items:center;justify-content:center;width:23px;height:32px;background:#171717;color:#e5ce89;clip-path:polygon(0 0,100% 0,100% 100%,50% 78%,0 100%);font:700 calc(8px * var(--text-scale,1)) Arial;padding-bottom:6px;vertical-align:middle}.scroll-banner.legend{width:57px;background:#a52032;color:#fff2d2;letter-spacing:.04em}.scroll-row .trait{display:inline-block;margin:2px 5px 4px 0}

@media (display-mode: fullscreen), (display-mode: standalone){.topbar{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));}.scene-toggle{right:max(16px,env(safe-area-inset-right));}dialog{max-height:calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);}}

.history-description{white-space:pre-line;line-height:1.65;}

.person-sex{font-size:.65em;font-weight:normal;letter-spacing:0;color:#766582;white-space:nowrap;margin-left:.35em;}

.scroll-banner.noble{width:54px;background:#623884;color:#fff1ce;letter-spacing:.04em}.scroll-crest{display:inline-flex;align-items:center}.scroll-crest svg{width:32px;height:36px}

.scroll-honours{display:inline-flex;align-items:center;gap:7px;flex-wrap:nowrap}

.scroll-banner.noble{width:23px;background:#623884}.scroll-banner.outcast{background:#37754a}

.scroll-banner.legend{width:23px;background:#a52032}

.practice-arrow{width:120px;height:100px;flex:none;line-height:1}.practice-arrow svg{display:block;width:100%;height:100%}.character-inspection{position:fixed;z-index:1000;max-width:calc(100vw - 16px);padding:9px 13px;background:#302339;color:#fff3d7;border:1px solid #c5ad78;border-radius:8px;font:calc(15px * var(--text-scale,1))/1.35 Arial,sans-serif;box-shadow:0 3px 12px #0005;pointer-events:none}.person-hover-area{cursor:pointer;touch-action:manipulation}.person-hover-area:focus-visible{stroke:#e5cc89;stroke-width:1}

/* Legendary lives use the same badge shape as traits, in red. */
.trait.trait-legend{background:#f1d8d7;color:#8a2532;border-color:#c78b91}

.falling-item.gear{border:0;border-radius:0;background:transparent url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2048%2048%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22g%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23dde5e8%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23697c89%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Cpolygon%20points%3D%2242.00%2C24.00%2045.73%2C27.44%2044.92%2C30.80%2040.04%2C32.17%2038.56%2C34.58%2039.56%2C39.56%2036.93%2C41.80%2032.17%2C40.04%2029.56%2C41.12%2027.44%2C45.73%2024.00%2C46.00%2021.18%2C41.78%2018.44%2C41.12%2014.01%2C43.60%2011.07%2C41.80%2011.27%2C36.73%209.44%2C34.58%204.40%2C33.99%203.08%2C30.80%206.22%2C26.82%206.00%2C24.00%202.27%2C20.56%203.08%2C17.20%207.96%2C15.83%209.44%2C13.42%208.44%2C8.44%2011.07%2C6.20%2015.83%2C7.96%2018.44%2C6.88%2020.56%2C2.27%2024.00%2C2.00%2026.82%2C6.22%2029.56%2C6.88%2033.99%2C4.40%2036.93%2C6.20%2036.73%2C11.27%2038.56%2C13.42%2043.60%2C14.01%2044.92%2C17.20%2041.78%2C21.18%22%20fill%3D%22url(%23g)%22%20stroke%3D%22%233e505d%22%20stroke-width%3D%222%22%2F%3E%3Ccircle%20cx%3D%2224%22%20cy%3D%2224%22%20r%3D%2210%22%20fill%3D%22%23c4ced3%22%20stroke%3D%22%234b5d69%22%20stroke-width%3D%222%22%2F%3E%3Ccircle%20cx%3D%2224%22%20cy%3D%2224%22%20r%3D%225%22%20fill%3D%22%23514b42%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;box-shadow:none}

.mood-help details{border-top:1px solid #d4bdd7;padding:12px 0}.mood-help summary{cursor:pointer;font-weight:bold;color:#654574;min-height:32px;line-height:1.5}.mood-help summary:focus-visible{outline:2px solid #956ba9;outline-offset:3px}.mood-help h3{margin:18px 0 6px}.mood-help-table{width:100%;border-collapse:collapse;font:inherit;line-height:1.45;margin:8px 0 16px;table-layout:fixed}.mood-help-table th,.mood-help-table td{text-align:left;vertical-align:top;padding:9px 6px;border-bottom:1px solid #e1d3c1;overflow-wrap:anywhere}.mood-help-table th:last-child,.mood-help-table td:last-child{width:28%;text-align:right;font-variant-numeric:tabular-nums}.mood-help-table th{font-weight:bold;color:#654574}.mood-help .mood-help-note{font-size:.92em;line-height:1.5}.mood-help>p:first-child{margin-top:0}
