:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#354b40;background:#f7f6ee;font-size:14px;--green:#3d624e;--rust:#ad6847;--border:#e0e2d4;--muted:#7c8576}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{outline-offset:4px}button{border:1px solid #d5dacb;background:#fffdf5;color:#425b49;border-radius:7px;padding:10px 14px;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,transform .15s}button:hover:not(:disabled){background:#eff1e3;border-color:#a7b5a0;transform:translateY(-1px)}button:focus-visible,[role=button]:focus-visible{outline:3px solid #bd8658}button:disabled{opacity:.42;cursor:default}.primary{background:var(--green);color:#fffcef;border-color:var(--green)}.primary:hover:not(:disabled){background:#2e513e}.wide{width:100%}.linkbutton{border:0;background:transparent;text-decoration:underline;padding-left:0}a{color:#657958}.busy button,.busy [data-place],.busy input,.busy select{pointer-events:none}.busy button:not(:disabled){opacity:.7}.topbar{height:82px;margin:0 auto;padding:0 4%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);background:#faf9f2}.brand{display:flex;align-items:center;gap:11px;color:#3c5744;text-decoration:none;font:600 25px Georgia,serif}.brandmark{display:grid;place-items:center;border:1px solid #7f9575;border-radius:50%;width:37px;height:37px;font-style:italic;font-size:30px}.brand small{display:block;font:9px system-ui;letter-spacing:2.4px;margin-top:5px;color:#8a927e}.topright{display:flex;gap:20px;align-items:center}.version{font-size:11px;color:#9c9f8d}.chip{border:1px solid #d8decf;background:#f0f2e7;padding:6px 10px;border-radius:100px;font-size:10px;white-space:nowrap;color:#697e5e}main{max-width:1440px;margin:auto;padding:30px 4% 0}.weekbar{display:flex;justify-content:space-between;gap:20px;align-items:center}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:650;color:#899579}.weekbar h1{font:normal 30px/1.25 Georgia,serif;margin:10px 0;color:#3c5642}.weekbar p{font-size:12px;color:#8c9182;margin:10px 0 22px}.weekend{display:grid;grid-template-columns:auto auto;align-items:center;gap:9px 16px}.weekend>strong{font:30px Georgia,serif;color:#6c805b}.weekend>strong small{display:block;font:10px system-ui;text-align:center;margin-top:3px;color:#939783}.weekend>small{grid-column:1/3;color:#949985;font-size:9px;text-align:right}.moneystrip{display:grid;grid-template-columns:repeat(4,1fr) 1.6fr;gap:20px;border:1px solid var(--border);border-radius:9px;padding:17px 20px;background:#fdfcf6}.moneystrip>div{border-right:1px solid var(--border);padding-right:15px}.moneystrip>div:last-child{border:0}.moneystrip small{display:block;font-size:8px;letter-spacing:1.2px;color:#939b84}.moneystrip strong{font:24px Georgia,serif;color:#48634d;display:block;margin-top:6px}.moneystrip strong small{display:inline;font:10px system-ui;letter-spacing:0}.tabs{display:flex;gap:20px;margin:22px 0;border-bottom:1px solid var(--border);overflow:auto}.tabs button{padding:10px 0 13px;background:none;border:none;border-radius:0;white-space:nowrap;font-size:11px;color:#939984;position:relative;transform:none}.tabs .selected{color:#425e46}.tabs .selected:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:#84986e}.tabs span{font-size:9px;display:inline-block;padding:2px 5px;background:#e9ecde;border-radius:6px;margin-left:3px}.town-layout{display:grid;grid-template-columns:minmax(0,1.95fr) minmax(300px,1fr);gap:23px;align-items:start}.town-layout>section{min-width:0}.mapcard{border:1px solid var(--border);border-radius:12px;background:#fdfcf6;overflow:hidden}.maptop{display:flex;justify-content:space-between;align-items:center;padding:19px 23px 14px}.maptop h2{font:25px Georgia,serif;margin:7px 0 0}.mapcard>#townsvg{display:block;width:100%;height:auto}.mapfoot{padding:16px 20px;font-size:10px;color:#879178;display:flex;gap:8px;align-items:center;min-height:48px}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#b97c56}.mapbuilding{cursor:pointer}.mapbuilding:hover .buildinghalo,.mapbuilding:focus .buildinghalo{fill:#fff9df88;stroke:#9d8e61;stroke-dasharray:4 4}.mapbuilding.current .buildinghalo{stroke:#af815b;stroke-width:1;fill:#fff9df44}#avatar{pointer-events:none}#avatar.moving .legs{animation:walk .22s ease-in-out infinite alternate;transform-origin:0px -5px}#avatar.moving .person{animation:bob .22s ease-in-out infinite alternate}#avatar.moving .vehicle{animation:bob .15s ease-in-out infinite alternate}@keyframes walk{from{transform:rotate(-12deg)}to{transform:rotate(12deg)}}@keyframes bob{from{transform:translateY(-1px)}to{transform:translateY(1px)}}.destinations{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin:12px 0 20px}.destinations button{font-size:9px;padding:8px 3px;min-height:46px;line-height:1.25}.destinations small{display:block;color:#9b9f8c;font-size:8px;font-weight:400;margin-top:5px}.card{padding:23px;border:1px solid var(--border);border-radius:11px;background:#fdfcf6;margin-bottom:20px}.card h2{font:27px/1.2 Georgia,serif;margin:10px 0 13px;color:#425c45}.card h3{font-size:13px;line-height:1.4;margin:0 0 12px;font-weight:600}.card p{line-height:1.65}.card p:last-child{margin-bottom:0}.muted{color:#8a927f;line-height:1.7}.small{font-size:11px}.row{display:flex;justify-content:space-between;align-items:center;gap:9px}.inset{padding:17px;background:#f0f1e5;border-radius:8px;margin:15px 0}.actionrow{padding:15px 0;border-top:1px solid #e8e9de;display:flex;justify-content:space-between;align-items:center;gap:12px}.actionrow strong{font-size:12px;display:block}.actionrow small{font-size:9px;display:block;line-height:1.6;color:#9b9e8b;margin-top:4px}.actionrow button{padding:7px 10px;font-size:10px;flex-shrink:0}.needgrid{display:grid;grid-template-columns:1fr 1fr;gap:17px 20px;margin-top:18px}.need label{font-size:10px;color:#7d8974}.need small{font-size:9px;color:#9ca18f}.meter{height:5px;background:#e7eadb;border-radius:20px;overflow:hidden;margin-top:7px}.meter i{height:100%;display:block;background:#9aaf7a;border-radius:20px}.soft{background:#f0f2e6}.notice,.warning{font-size:11px;padding:10px 12px;border-radius:6px;line-height:1.6}.notice{background:#eef1e3;color:#7f8d6b}.warning{background:#f5ebdf;color:#aa7654}.notice a{font-weight:600}details{margin-top:17px;border-top:1px solid var(--border);padding-top:14px}summary{font-size:11px;color:#7a8b6d;cursor:pointer;line-height:1.5}.jobcard{margin-top:15px;border-top:1px solid var(--border);padding-top:16px}.jobcard>strong,.jobcard .row>strong{font-size:12px}.jobcard p{margin:9px 0}.jobcard button{margin-top:4px}.content-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:24px}.content-layout>.card{align-self:start}.timeline article{border-left:1px solid #d9deca;padding:2px 0 12px 18px;margin:20px 0 0;position:relative}.timeline article:before{content:'';position:absolute;left:-4px;top:5px;width:7px;height:7px;border-radius:50%;background:#a5b68a}.timeline small{font-size:8px;color:#98a088;letter-spacing:1px}.timeline p{margin:8px 0;font-size:12px;color:#75846d}.people{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:24px 0 30px}.people article{display:flex;gap:12px;align-items:center}.people small{display:block;font-size:10px;line-height:1.6;color:#8f9b81;margin-top:5px}.people strong{font-size:12px}.portrait{width:34px;height:34px;border-radius:50%;color:#fff;display:grid;place-items:center;flex-shrink:0}.code{font:38px Georgia,serif;letter-spacing:6px;color:#748961}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.stack{display:grid;gap:10px}.check{display:flex;align-items:center;gap:8px}.check input{width:auto;margin:0}.tablewrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:11px;margin:20px 0;line-height:1.5}th{text-align:left;color:#98a286;font-weight:500;font-size:9px;letter-spacing:.7px}td,th{padding:11px 5px;border-bottom:1px solid #e5e7d9}td:last-child,th:last-child{text-align:right}tr.total td{font-weight:650;color:#526f4d;border-top:2px solid #c8d1b8}.bankbalances{display:grid;gap:10px;font-size:11px;margin:20px 0}.bankbalances span{display:flex;justify-content:space-between}label{display:block;font-size:10px;color:#8d987d;line-height:1.5;margin:14px 0}input,select,textarea{display:block;width:100%;border:1px solid #dadfcf;background:#fcfcf5;border-radius:6px;padding:10px 12px;color:#5f7255;font-size:12px;margin-top:7px}textarea{line-height:1.7;resize:vertical;margin-bottom:14px}footer{text-align:center;font-size:9px;color:#a0a58e;padding:30px 0}.ending{max-width:780px;margin:auto;padding:40px}.ending h2{font-size:42px}.ending>p{font-size:14px;line-height:1.9;color:#75816c}.ending h3{margin-top:30px}#toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,12px);z-index:20;background:#3d5544;color:#fffaed;box-shadow:0 8px 30px #31462e20;border-radius:9px;padding:15px 22px;font-size:12px;max-width:min(620px,92vw);opacity:0;pointer-events:none;transition:opacity .15s,transform .15s}#toast.show{opacity:1;transform:translate(-50%,0)}.setup{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;max-width:1120px;padding-top:60px;align-items:center}.setup-art>h1{font:normal 60px/1.06 Georgia,serif;color:#466044;margin:22px 0}.setup-art>p{max-width:420px;font-size:13px;color:#8b957e;line-height:1.9}.setup-art svg{width:100%;margin:30px 0 0}.setup-art .setupnote{font-size:10px;letter-spacing:.5px;margin-top:6px;color:#a2ab91}.setupcard{padding:30px}.setupcard h2{font-size:30px}.chapterlabel{font-size:8px;letter-spacing:1.8px;color:#ad9369}.setupcard>.primary{margin-top:10px}.separator{display:flex;align-items:center;gap:10px;margin:22px 0 15px;color:#a1a88f;font-size:10px}.separator:before,.separator:after{content:'';height:1px;background:#e5e7d9;flex:1}.setupcard>#worldcode{text-transform:uppercase}.recap>p{font-size:12px;color:#829272}.recap>small{font-size:10px;color:#9ba38d}ol{line-height:1.9;padding-left:20px}
@media(min-width:1600px){main{max-width:1560px}.town-layout{grid-template-columns:minmax(0,2.1fr) minmax(340px,1fr)}.mapcard>#townsvg{max-height:640px}.card{padding:26px}}
@media(max-width:1000px){.town-layout{grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:16px}.card{padding:18px}.destinations{grid-template-columns:repeat(4,1fr)}.weekbar h1{font-size:24px}.setup{gap:35px}.setup-art>h1{font-size:47px}.moneystrip{gap:8px;padding:15px}.moneystrip strong{font-size:21px}.moneystrip small{font-size:7px}.tabs{gap:17px}}
@media(max-width:760px){.topbar{height:67px}.brand{font-size:21px}.brandmark{width:32px;height:32px}.brand small{font-size:7px}.version{display:none}.topright .chip{font-size:8px}main{padding-top:22px}.weekbar{align-items:flex-start;display:block}.weekend{grid-template-columns:1fr 1fr;margin-bottom:20px}.weekend>strong{font-size:24px}.weekend>strong small{display:inline;font-size:10px;margin-left:5px}.weekend>small{text-align:right}.moneystrip{grid-template-columns:repeat(4,1fr);gap:12px}.moneystrip>div:nth-child(4){border:0}.moneystrip>div:last-child{grid-column:1/5;border-top:1px solid var(--border);padding-top:11px;display:flex;align-items:center;justify-content:space-between}.moneystrip strong{font-size:20px}.moneystrip>div:last-child strong{font-size:17px;margin:0}.town-layout,.content-layout{grid-template-columns:1fr}.town-layout>aside{display:grid;grid-template-columns:1fr 1fr;gap:16px}.location{grid-column:1/3}.needs{margin:0}.town-layout>aside>.soft{margin:0}.needgrid{grid-template-columns:1fr}.card h2{font-size:25px}.destinations{grid-template-columns:repeat(6,1fr)}.tabs{margin-top:14px;gap:22px}.maptop{padding:16px}.maptop h2{font-size:22px}.setup{grid-template-columns:1fr;padding-top:35px;gap:22px;max-width:550px}.setup-art>h1{font-size:49px;margin:18px 0}.setup-art svg{margin-top:6px;max-height:170px}.setup-art .setupnote{display:none}.setupcard{padding:26px}.ending{padding:25px}.ending h2{font-size:33px}}
@media(max-width:420px){.destinations{grid-template-columns:repeat(4,1fr)}.moneystrip strong{font-size:18px}.moneystrip small{font-size:6px}.topright .chip{padding:5px 6px}.people{grid-template-columns:1fr}.town-layout>aside{display:block}.town-layout>aside>.card{margin-bottom:16px}.needgrid{grid-template-columns:1fr 1fr}.tabs button{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.routine-running button:not(#cancelRoutine),.routine-running [data-place],.routine-running input,.routine-running select{pointer-events:none;opacity:.65}#cancelRoutine{background:#f3e5d7;color:#975b3d}

.priorities{border:0;padding:0;margin:19px 0 15px;min-width:0}.priorities legend{font-size:10px;color:#8d987d;padding:0}.priorities>p{margin:5px 0 10px;font-size:10px}.priorityoptions{display:grid;gap:6px}.priorityoption{display:flex;align-items:center;gap:10px;margin:0;padding:9px 11px;border:1px solid #dfe3d5;border-radius:6px;background:#fcfcf5;cursor:pointer;font-size:11px;line-height:1.4;color:#67795b}.priorityoption input{display:block;flex:0 0 auto;width:15px;height:15px;margin:0;accent-color:#3d624e}.priorityoption:has(input:checked){border-color:#9aac89;background:#eff2e5;color:#425e46}.priorityoption:focus-within{outline:2px solid #bd8658;outline-offset:2px}

/* Keep the scarce resource in view without using a second row on short screens. */
html{scroll-padding-top:80px}.topbar.playing{position:sticky;top:0;z-index:15;height:64px;box-shadow:0 3px 12px #354b4008}.playclock{display:flex;align-items:center;gap:17px;padding-left:20px;border-left:1px solid var(--border);flex-shrink:0}.hours-remaining{display:flex;align-items:baseline;gap:7px;white-space:nowrap;color:#4e6b49;font-variant-numeric:tabular-nums}.hours-remaining strong{font:28px Georgia,serif;font-variant-numeric:tabular-nums;min-width:56px;text-align:right}.hours-remaining span{font-size:11px;color:#7d8b73}.playclock button{white-space:nowrap}.weekbar .weeknote{margin:0 0 20px;text-align:right;font-size:10px;line-height:1.7;color:#929b86}
@media(max-width:900px){.playing .topright>.chip,.playing .version{display:none}.playing .topright{gap:0}.playclock{border:0;padding-left:0;gap:12px}.playing .brand small{display:none}.weekbar .weeknote{display:none}}
@media(max-width:480px){.topbar.playing{height:58px;padding-left:4%;padding-right:4%}.playing .brand{font-size:18px;gap:7px}.playing .brandmark{width:27px;height:27px;font-size:24px}.hours-remaining{gap:0;flex-direction:column;align-items:center}.hours-remaining strong{font-size:24px;min-width:49px}.hours-remaining span{font-size:9px}.playclock{gap:11px}.playclock button{font-size:10px;padding:9px 10px}html{scroll-padding-top:70px}}
@media(max-width:350px){.playing .brandmark{display:none}.playing .brand{font-size:16px}.playclock{gap:8px}.playclock button{padding:9px 7px}}
.transport-panel{display:grid;grid-template-columns:minmax(150px,220px) 1fr;align-items:center;gap:16px;padding:0 22px 16px}.transport-panel label{margin:0}.transport-panel p{font-size:10px;line-height:1.6;color:#89977b;margin:0}.transport-panel select{padding:8px 10px}.mapbuilding.employer .buildinghalo{stroke:#839d79;stroke-dasharray:5 5}.shift-list{list-style:none;padding:0;font-size:10px;line-height:1.7;margin:14px 0}.shift-list li{padding:4px 0;border-bottom:1px solid #dfe5d4}.shift-list strong{display:inline-block;min-width:70px;color:#69875f}.shift-list .done{color:#7d9572}.shift-list .missed{color:#ad7358}.work-panel .wide{margin-top:9px}.moving-panel{background:#f4ecdb;border-color:#d9c6a1}.moving-panel h3{margin-top:9px}.payment-choice{padding:10px;background:#f0eada;border-radius:7px;font-size:10px;margin:12px 0 18px}.payment-choice input{width:15px;height:15px;flex-shrink:0;accent-color:#8b805c}.playclock .hours-remaining span{font-size:10px}@media(max-width:760px){.transport-panel{grid-template-columns:1fr;gap:8px;padding:0 16px 15px}.transport-panel p{font-size:10px}.playclock .hours-remaining span{font-size:8px}.hours-remaining{align-items:center;flex-direction:column;gap:0}.hours-remaining strong{font-size:25px}}@media(min-width:1600px){.mapcard>#townsvg{max-height:none}}
/* One sticky clock, with the same animated value used by the numeric display and bar. */
.time-gauge{width:185px;flex:0 0 auto}.time-gauge .hours-remaining{display:flex;flex-direction:row;align-items:baseline;gap:7px;justify-content:space-between}.time-gauge .hours-remaining strong{min-width:0;font-size:26px}.time-gauge .hours-remaining span{font-size:9px}.time-meter{height:7px;background:#e1e7d6;border-radius:10px;overflow:hidden;margin-top:5px}.time-meter i{display:block;height:100%;background:#80a279;border-radius:inherit;width:100%;will-change:width}.time-meter[data-level=low] i{background:#c49a51}.time-meter[data-level=critical] i{background:#b96e50}.week-end-card{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:22px;padding:23px;background:#f5ead7;border:1px solid #dac5a1;border-radius:12px}.week-end-card h2{font:25px Georgia,serif;margin:10px 0}.week-end-card p{font-size:12px;line-height:1.6;max-width:690px;color:#8d7454}.week-end-card button{flex-shrink:0}.home-reward{background:#e9f0df;color:#5c7950;padding:12px;border-radius:7px}.mapbuilding[aria-disabled=true]{cursor:default}.mapbuilding[aria-disabled=true]:hover .buildinghalo{fill:transparent;stroke:none}
@media(max-width:900px){.time-gauge{width:160px}.week-end-card{align-items:flex-start}}
@media(max-width:600px){.time-gauge{width:128px}.time-gauge .hours-remaining span{font-size:8px}.week-end-card{display:block}.week-end-card button{margin-top:10px}}
@media(max-width:480px){.playing .brandmark{display:none}.playing .brand{font-size:17px}.playclock{gap:9px}.time-gauge{width:82px}.time-gauge .hours-remaining{justify-content:center;align-items:center;flex-direction:column;gap:0}.time-gauge .hours-remaining strong{font-size:21px}.time-gauge .hours-remaining span{font-size:7px}.time-meter{height:5px;margin-top:2px}.playclock button{padding:9px 8px;font-size:10px}}
@media(max-width:350px){.playing .brand{font-size:15px}.time-gauge{width:72px}.playclock{gap:6px}.playclock button{font-size:9px;padding:9px 6px}}

/* Lot signs use a symbol and text as well as color. */
.town-legend{padding:0 22px 16px;border-bottom:1px solid var(--border)}.legend-title{display:block;font-size:9px;letter-spacing:1.3px;color:#6b795e;font-weight:650;margin-bottom:9px}.town-legend>div{display:flex;flex-wrap:wrap;gap:6px}.lot-category{display:inline-flex;align-items:center;gap:5px;color:var(--lot-ink);background:var(--lot-paper);border:1px solid color-mix(in srgb,var(--lot-ink) 22%,transparent);padding:4px 7px;border-radius:6px;font-size:10px;line-height:1.2;font-weight:600;white-space:nowrap}.lot-icon{display:block;width:14px;height:14px;flex-shrink:0}.town-legend p{font-size:10px;line-height:1.6;color:#6f7d62;margin:10px 0 0;max-width:650px}.town-legend p strong{font-weight:650;color:#53654a}.destinations>button{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;padding:11px 5px}.destinations .lot-category{font-size:8px;gap:3px;padding:3px 4px;max-width:100%;white-space:normal}.destinations .lot-icon{width:12px;height:12px}.destination-name{display:block;font-size:11px;line-height:1.3}.destinations button small{margin-top:auto;padding-top:2px}.location>.lot-category{margin-top:0;margin-bottom:2px}@media(max-width:760px){.town-legend{padding:0 16px 14px}.destinations{grid-template-columns:repeat(4,1fr)}}@media(max-width:420px){.destinations{grid-template-columns:repeat(3,1fr)}.destination-name{font-size:10px}}
