/* Visual second edition: painted landscape, dark gallery surround, warm folio below. */
:root{--paper:#eee6d5;--ink:#302f26;--muted:#837964;--green:#354c3e;--gold:#bc9b62;--line:#cfc2a7;--red:#954a38}
body{background:#18221d;color:#eee5d0;background-image:radial-gradient(ellipse at 60% 0,#364136 0,transparent 60%);min-height:100vh}
.topbar{height:80px;border-bottom:1px solid #bba47730;background:#111b16b0;padding:18px 4%}.brand{color:#e5d8b9;font-size:calc(20px * var(--text-scale,1));letter-spacing:4px}.brand span{color:#a69d86;font-size:calc(10px * var(--text-scale,1));letter-spacing:1.4px}nav button{color:#d9cdb2;font-size:calc(13px * var(--text-scale,1))}nav button:hover{color:#fff0c8}.yearbar{padding:23px 4% 20px}.yearnumber{font-size:calc(46px * var(--text-scale,1));color:#eee3c8;letter-spacing:1px}.yearnumber small{color:#ac9c78;font-size:calc(12px * var(--text-scale,1))}.era{border-color:#bba47740;color:#d3c7a9}.era span{color:#a69f88}.yearbar .chip{color:#c1c6ae;border-color:#a5b29844;background:#0d160f33}.yearbar .chip.bad{color:#e0b18b;border-color:#b5866659;background:#ad61311a}
.stage{margin:0 2.8%;height:51vh;min-height:470px;max-height:630px;border:1px solid #b8a17180;border-radius:10px 10px 0 0;background:#68715a;box-shadow:0 20px 55px #0005;isolation:isolate}
.landscape{background-image:url('assets/terrain-painted.png');background-size:100% 100%;background-position:center;opacity:1;mix-blend-mode:normal;filter:saturate(.8) brightness(.88)}
.stage:after{box-shadow:inset 0 0 65px #15221966;background:linear-gradient(0deg,#132115b0,transparent 18%),linear-gradient(90deg,#1123164a,transparent 38%,transparent 94%,#11231644);z-index:2}
.village{inset:0;width:100%;height:100%;bottom:0;filter:saturate(.85) brightness(.88);z-index:1}.village svg{overflow:hidden}.painted-site{filter:drop-shadow(1px 4px 3px #20321a20)}
.family{left:-1.5%;bottom:12px;width:38%;height:91%;z-index:4;filter:drop-shadow(4px 7px 5px #12201766) saturate(.83) brightness(.93)}
.scene-label{top:21px;right:29px;color:#f2e5c5;text-shadow:0 2px 6px #16251f}.scene-label strong{font-size:calc(32px * var(--text-scale,1));margin-top:4px;letter-spacing:1px}.scene-label span{font-size:calc(8px * var(--text-scale,1));letter-spacing:2.3px;color:#eee4cadb}.sky-note{display:none}
.family-label{left:25px;bottom:19px;color:#d3c7a4;font:calc(10px * var(--text-scale,1)) Arial,sans-serif;letter-spacing:1px;text-shadow:0 2px 6px #000;z-index:6}.family-label strong{color:#f2e6c8;font:calc(22px * var(--text-scale,1)) Georgia,serif;letter-spacing:0;margin-bottom:5px}
.news{margin:0 2.8%;border:1px solid #a7905b80;border-top:0;background:#263629;color:#e4dac1;padding:14px 23px;box-shadow:0 10px 30px #0002;font-size:calc(13px * var(--text-scale,1))}.news .eyebrow{color:#b69e6d;font-size:calc(9px * var(--text-scale,1));letter-spacing:1.5px}.news-list span+span:before{color:#bc9b62}
.play-area{margin:0 2.8% 20px;padding:30px 32px 34px;gap:26px;background:radial-gradient(ellipse at 55% 0,#f5eddd,#e9dfc8);color:var(--ink);border:1px solid #b8a17180;border-top:0;border-radius:0 0 10px 10px;box-shadow:0 20px 40px #0003;grid-template-columns:225px minmax(300px,1fr) 230px}
.identity .eyebrow,.household .eyebrow{font-size:calc(9px * var(--text-scale,1));letter-spacing:1.5px}.person-title{font-weight:normal;font-size:calc(28px * var(--text-scale,1));margin-top:8px}.person-subtitle{font-size:calc(12px * var(--text-scale,1));margin-bottom:21px;color:#81745c}.metric label{font-size:calc(10px * var(--text-scale,1));letter-spacing:1px}.meter{height:4px;background:#c9bea33d;border:1px solid #c5b79480}.meter i{height:2px;background:linear-gradient(90deg,#6d7959,#415d46)}.money{margin-top:19px;padding-top:14px}.money .eyebrow{font-size:calc(8px * var(--text-scale,1))}.money strong{font-size:calc(26px * var(--text-scale,1));color:#394738}.trait{background:#d5c4a440;color:#796044;border:1px solid #b9a58040;border-radius:3px;font-size:calc(10px * var(--text-scale,1))}
.card{padding:0 27px;border-color:#c6b69480}.card>.eyebrow{color:#9c7b46;font-size:calc(9px * var(--text-scale,1));letter-spacing:2px}.card h1{font-size:calc(31px * var(--text-scale,1));margin:12px 0 15px;line-height:1.16;color:#3c3a2d}.card .prompt{font-size:calc(16px * var(--text-scale,1));line-height:1.7;color:#60573f;max-width:640px}.choices{gap:12px}.choice{border-radius:3px;font-size:calc(10px * var(--text-scale,1));letter-spacing:1.3px;padding:15px 23px;min-width:152px;border-color:#70775a;background:#e6ddc4;color:#43523d;box-shadow:inset 0 1px #fff6,0 2px 4px #3331;transition:background .15s}.choice:first-child,.primary{background:linear-gradient(#465f48,#2d4737);color:#f2e7ce;border-color:#324a37}.choice:hover{background:#607052;color:#fff5db}.card-note{font-size:calc(10px * var(--text-scale,1));letter-spacing:.25px;color:#95856c}.aside-title{font-size:calc(19px * var(--text-scale,1))}.household-line{font-size:calc(12px * var(--text-scale,1));line-height:1.45;margin:8px 0}.result-list{font-size:calc(14px * var(--text-scale,1));line-height:1.7;color:#5d533c}.result-source a{color:#7a714e}.footer{color:#9b9983;font-size:calc(9px * var(--text-scale,1));margin:22px 4% 28px;letter-spacing:1.5px}
.welcome{background:linear-gradient(90deg,#11251def,#14251acf 42%,#172c1880 75%,#1a2a1990);justify-content:flex-start;text-align:left;padding:50px 7%;color:#eee1c2}.welcome>div{max-width:570px}.welcome .eyebrow{color:#c0a877;letter-spacing:3px}.welcome h1{font-size:calc(66px * var(--text-scale,1));line-height:1.04;text-shadow:0 3px 20px #0004;margin:22px 0}.welcome p{color:#d0c7b0;font-size:calc(17px * var(--text-scale,1));line-height:1.8;margin:15px 0;max-width:465px}.welcome-form{justify-content:flex-start;margin:25px 0 20px}.welcome select{background:#142b20bd;color:#ddd3b8;border-color:#a3916466;border-radius:3px;font-size:calc(12px * var(--text-scale,1));padding:12px}.welcome .choice{min-width:230px;background:linear-gradient(#c1a06a,#a9864e);border-color:#d2b985;color:#182b1c;box-shadow:0 5px 20px #0004}.welcome .card-note{color:#b1ae94;margin-top:18px}.welcome-below{color:#a69e86;letter-spacing:.4px;font-size:calc(12px * var(--text-scale,1))}.speech{background:#efe4c9ed;border-color:#887b5a;box-shadow:0 5px 20px #0003;color:#4c4432;z-index:7}.speech:after{border-top-color:#efe4c9}.leaf{background:#9a7b39}.mobile-handover .textbutton{color:#d9cbb0}
dialog{background:#eee5d1;color:#3b392c;border:1px solid #ba9c68;border-radius:6px;box-shadow:0 30px 120px #0008}dialog::backdrop{background:#0d1a15bb}.modal-head{border-color:#cbb98f}.modal-head h2{font-size:calc(30px * var(--text-scale,1))}.close{color:#91815e}.settings-copy{color:#6e6047;font-size:calc(14px * var(--text-scale,1))}.scroll-row{border-color:#cbb98f}.scroll-row h3{font-size:calc(23px * var(--text-scale,1))}.scroll-row p{color:#837154}.heir-card{border-color:#cbb98f;background:#e5d9bf55;border-radius:3px}.scroll-empty{color:#827255}
@media(min-width:1650px){.stage{height:53vh;max-height:700px}.play-area{grid-template-columns:260px 1fr 250px;padding:35px 40px}.card h1{font-size:calc(35px * var(--text-scale,1))}}
@media(max-width:1100px){.play-area{grid-template-columns:190px 1fr;padding:25px;gap:22px}.household{display:none}.card{border-right:0;padding-right:0}.stage{height:460px;min-height:440px}.family{width:43%;left:-3%;bottom:2px}.village{width:100%;inset:0}.card h1{font-size:calc(27px * var(--text-scale,1))}.scene-label strong{font-size:calc(26px * var(--text-scale,1))}}
@media(max-width:650px){.topbar{height:70px;padding:15px 4%}.brand{font-size:calc(14px * var(--text-scale,1));letter-spacing:2.5px}.brand span{font-size:calc(7px * var(--text-scale,1));letter-spacing:.6px}nav{gap:8px}nav button{font-size:calc(11px * var(--text-scale,1))}.yearbar{padding:17px 5%}.yearnumber{font-size:calc(35px * var(--text-scale,1))}.era{font-size:calc(12px * var(--text-scale,1));max-width:185px}.era span{font-size:calc(10px * var(--text-scale,1))}.stage{margin:0 3%;height:440px;min-height:440px;border-radius:8px 8px 0 0}.landscape{background-size:auto 100%;background-position:55% center}.village{width:185%;height:85%;left:-68%;top:-10px;bottom:auto;right:auto;opacity:1}.family{width:92%;height:73%;left:-14%;bottom:25px;filter:drop-shadow(3px 6px 3px #11231166) brightness(.92)}.scene-label{top:15px;right:17px}.scene-label strong{font-size:calc(26px * var(--text-scale,1))}.scene-label span{font-size:calc(6px * var(--text-scale,1));letter-spacing:1.5px}.family-label{left:17px;bottom:15px;font-size:calc(8px * var(--text-scale,1));letter-spacing:.4px}.family-label strong{font-size:calc(20px * var(--text-scale,1))}.stage:after{background:linear-gradient(0deg,#132115dd,transparent 22%);box-shadow:inset 0 0 40px #15221955}.news{margin:0 3%;padding:13px;font-size:calc(11px * var(--text-scale,1));gap:12px}.news .eyebrow{font-size:calc(7px * var(--text-scale,1));letter-spacing:.7px;min-width:55px}.play-area{margin:0 3% 18px;padding:22px 20px;display:flex;gap:20px;border-radius:0 0 8px 8px}.identity{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.person-title{font-size:calc(24px * var(--text-scale,1));line-height:1.1}.person-subtitle{font-size:calc(11px * var(--text-scale,1))}.metric label{font-size:calc(9px * var(--text-scale,1))}.money strong{font-size:calc(24px * var(--text-scale,1))}.card{padding:21px 0 0;border-left:0;border-top:1px solid #c6b69480}.card h1{font-size:calc(28px * var(--text-scale,1))}.card .prompt{font-size:calc(15px * var(--text-scale,1));line-height:1.65}.choice{min-width:125px;padding:13px 15px;font-size:calc(9px * var(--text-scale,1))}.welcome{padding:35px 8%;align-items:center}.welcome h1{font-size:calc(44px * var(--text-scale,1));margin:16px 0}.welcome p{font-size:calc(14px * var(--text-scale,1));line-height:1.65}.welcome-form{gap:10px;margin:16px 0}.welcome select{padding:9px;font-size:calc(11px * var(--text-scale,1))}.welcome .eyebrow{font-size:calc(8px * var(--text-scale,1));letter-spacing:1.7px}.welcome .card-note{font-size:calc(9px * var(--text-scale,1));margin-top:12px}.welcome .choice{min-width:210px}.footer{font-size:calc(7px * var(--text-scale,1));letter-spacing:1px;line-height:1.5}.speech{font-size:calc(11px * var(--text-scale,1));max-width:160px;bottom:48%;right:3%}.modal-head h2{font-size:calc(24px * var(--text-scale,1))}dialog{padding:20px}}

/* Canopy-only seasonal layer: every era retains its own road and bridge layout. */
.season-layer{content:"";position:absolute;inset:0;background:url('assets/terrain-autumn.png') center/100% 100% no-repeat;mask:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201536%201024%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22soft%22%3E%3CfeGaussianBlur%20stdDeviation%3D%228%22%2F%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Cg%20fill%3D%22white%22%20filter%3D%22url%28%23soft%29%22%3E%3Cpath%20d%3D%22M0%200H230L255%20115L210%20190L190%20345L145%20510L0%20540Z%22%2F%3E%3Cpath%20d%3D%22M180%20130L410%20100L610%20130L780%20160L970%20175L1130%20150L1310%2090L1536%2025V278L1430%20311L1350%20286L1270%20250L1170%20286L1070%20315L990%20275L905%20304L827%20275L755%20274L688%20235L610%20272L561%20239L513%20263L439%20250L340%20259L250%20239L181%20272Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A') center/100% 100% no-repeat;-webkit-mask:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%201536%201024%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22soft%22%3E%3CfeGaussianBlur%20stdDeviation%3D%228%22%2F%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Cg%20fill%3D%22white%22%20filter%3D%22url%28%23soft%29%22%3E%3Cpath%20d%3D%22M0%200H230L255%20115L210%20190L190%20345L145%20510L0%20540Z%22%2F%3E%3Cpath%20d%3D%22M180%20130L410%20100L610%20130L780%20160L970%20175L1130%20150L1310%2090L1536%2025V278L1430%20311L1350%20286L1270%20250L1170%20286L1070%20315L990%20275L905%20304L827%20275L755%20274L688%20235L610%20272L561%20239L513%20263L439%20250L340%20259L250%20239L181%20272Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A') center/100% 100% no-repeat;opacity:0;transition:opacity 4s;pointer-events:none}
.stage[data-season="autumn"] .season-autumn{opacity:1}
.no-motion .season-layer{transition:none}

.season-thaw{background-image:url("assets/terrain-winter-trees.png")}
.stage[data-season="thaw"] .season-thaw{opacity:1}
.stage[data-season="thaw"] .landscape{filter:saturate(.35) brightness(1.03)}
.season-winter{mask:none;-webkit-mask:none;background-image:url('assets/terrain-winter-cobblestone.png')}
.stage[data-road="dirt"] .season-winter{background-image:url('assets/terrain-winter-dirt-ford-v2.png')}
.stage[data-road="paved"] .season-winter{background-image:url('assets/terrain-winter-paved.png')}

.landscape::after{display:none!important}.season-layer{transition:opacity 10s ease-in-out!important}.stage[data-season="winter"] .season-winter{opacity:1}.season-winter{z-index:2}.season-thaw,.season-autumn{z-index:1}@media(prefers-reduced-motion:reduce){.season-layer{transition:none!important}}.no-motion .season-layer{transition:none!important}
