html{scroll-behavior:smooth}body{overflow:auto}#game{min-height:620px}button{border:1px solid #a7b79740;background:#2e4538;border-radius:5px}button:disabled{cursor:not-allowed;opacity:.45;filter:none}button[hidden],[hidden]{display:none!important}a{color:#d9c48f}button:focus-visible,a:focus-visible,summary:focus-visible,.file-button:focus-within{outline:2px solid #e1c887;outline-offset:3px}.topbar{gap:12px}.brand{min-width:230px}.resources{gap:32px}.topbar .icon-button{flex-shrink:0}.town-actions{margin-top:12px;padding:8px;display:grid;gap:6px}.town-actions button{display:flex;align-items:center;justify-content:space-between;padding:9px 8px;font-size:10px;text-align:left}.town-actions span{color:#cfc28f;font-size:9px}.build-title{display:none}.build-menu{min-width:0;max-width:calc(100% - 160px);overflow-x:auto;scrollbar-width:thin;scrollbar-color:#9d9d7280 transparent}.build-option{width:77px;flex-shrink:0;border:1px solid #b7c5a717}.build-option kbd{top:3px;left:3px}.build-option strong{font-size:9px}.build-option small{font-size:9px}.build-hint{background:#173026bb;width:fit-content;max-width:100%;margin:0 auto 8px;padding:7px 12px;border-radius:6px}.build-hint #tool-hint{line-height:1.5}.build-hint button{font-size:9px;padding:4px 6px;white-space:nowrap}.bottom-note button{border:1px solid #c1cfa847;background:#193a29;padding:3px 7px}.bottom-note a{font-size:9px;letter-spacing:0}.map-controls button,.speeds button{border:1px solid #a4b18c29;background:#ffffff05}.journal button{width:25px;height:25px}.journal li{margin-top:10px}.goal-footer{font-size:9px;line-height:1.5}.objectives li{font-size:10px}.objectives li>[data-goal-label]{flex:1}.objectives>p{margin-bottom:12px}#inspector{padding:15px;margin-top:12px;max-height:calc(100dvh - 440px);min-height:170px;overflow:auto}#inspector p{font-size:10px;line-height:1.7;color:#bdcbb6}#inspector>button{width:100%;margin-top:8px;font-size:10px;padding:8px}#inspect-close{height:25px;width:25px;flex-shrink:0}.worker-control{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px}.worker-control button{height:28px;width:28px;flex-shrink:0;font-size:16px}.worker-control span{white-space:nowrap;color:#e8d5a4}.ledger-tabs{display:flex;gap:8px;margin-bottom:20px}.ledger-tabs button{flex:1;padding:10px;font-size:12px}.ledger-tabs button.active{background:#d8bd80;color:#243a2d;border-color:#e6ce9c}.ledger-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid #ffffff12}.ledger-row strong{display:block;font-size:12px;font-weight:500}.ledger-row small{display:block;font-size:10px;color:#acbea7;line-height:1.5;margin-top:5px}.ledger-row>button,.trade-buttons button{padding:8px;font-size:10px}.trade-buttons{display:flex;gap:5px;flex-shrink:0}.ledger-row>div:first-child{flex:1}#management{max-width:660px;max-height:85dvh;overflow:auto}#management [role=tabpanel]>p{font-size:11px}#ledger-feedback{min-height:20px;margin-bottom:0;color:#e3c894;font-size:11px}#work-summary{font-size:12px}.event-choice{display:block;width:100%;text-align:left;padding:13px 16px;margin-top:10px}.event-choice strong{display:block;font-size:12px;font-weight:500}.event-choice small{display:block;font-size:10px;color:#bacab3;margin-top:6px}.settings-actions{display:flex;flex-wrap:wrap;gap:10px}.settings-actions button,.file-button{padding:10px;font-size:12px;border:1px solid #a7b79740;border-radius:5px;background:#2e4538;cursor:pointer}.file-button input{position:absolute;width:1px;height:1px;opacity:0}#settings details{margin-top:25px;font-size:12px;color:#d1d8c2}#settings summary{cursor:pointer}#settings-feedback{min-height:20px;color:#e3c894}#history{max-height:80dvh;overflow:auto}#history-list{padding-left:20px}#history-list li{font-size:12px;line-height:1.7;color:#c2ceb6;margin-bottom:10px}.dialog-close{border:1px solid #b5c59d44;background:#2e4538;width:30px;height:30px;line-height:25px;font-size:22px}.about-section{margin:160px auto 0;padding:50px 36px 80px;max-width:1150px;display:grid;grid-template-columns:1fr 300px;gap:90px;color:#b9c9b3;border-top:1px solid #9aad7d33}.about-copy h2{font-size:28px;font-family:Outfit,Arial,sans-serif;color:#e4e6cf;margin:15px 0}.about-copy h3{font-size:14px;margin-top:30px;color:#d8d4ac}.about-copy p{font-size:13px;line-height:1.9}#ad-panel{width:300px;align-self:start;padding-top:8px;min-height:280px}#ad-panel>span{display:block;font-size:10px;color:#a9b99d;letter-spacing:1px;margin-bottom:12px;text-align:center}#ad-panel ins{background:#ffffff03}#ad-note{font-size:10px;text-align:center;color:#95a68c}
@media(max-width:1100px){.resources{gap:18px}.brand{min-width:195px}.brand h1{font-size:21px}.left-panel{width:205px}.right-panel{width:195px}.build-option{width:71px}.build-menu{max-width:calc(100% - 146px)}.time-controls{width:132px}.town-actions button{font-size:9px}.town-actions span{font-size:8px}}
@media(max-width:800px){.topbar{height:105px}.brand{min-width:0}.brand h1{font-size:18px}.resources{gap:8px}.topbar .icon-button{width:28px;height:28px}.left-panel{width:155px}.right-panel{width:145px}.objectives{padding:10px}.objectives li{font-size:8px;margin:9px 0}.objectives h2{font-size:11px}.town-actions{padding:5px;gap:4px;margin-top:7px}.town-actions button{font-size:8px;padding:7px 5px}.town-actions span{font-size:7px}.build-option{width:62px;min-width:62px;flex:none}.build-option strong{font-size:8px}.build-option small{font-size:8px}#build-options{width:max-content}.build-menu{max-width:calc(100% - 98px)}.time-controls{width:92px}.build-hint{font-size:9px;max-width:100%}.build-hint button{font-size:8px}.build-hint>span:first-child{margin-right:2px}#inspector{position:fixed;left:50%;transform:translateX(-50%);top:auto;bottom:160px;width:280px;max-height:45dvh;z-index:5;background:#193127fa}.bottom-note>div{gap:8px}.about-section{grid-template-columns:1fr;gap:35px;padding:35px 20px 60px}.about-copy h2{font-size:24px}#ad-panel{justify-self:center}.ledger-row{gap:12px}.trade-buttons{flex-direction:column}.ledger-row strong{font-size:11px}#work-summary{font-size:10px}.worker-control{gap:7px}.ledger-tabs button{font-size:11px}.town-actions button{min-height:29px}}
@media(max-height:740px) and (min-width:801px){.season{padding:12px}.season-line{margin:8px 0}.objectives{padding:12px;margin-top:8px}.objectives>p{display:none}.objectives li{margin:10px 0}.goal-footer{padding-top:8px}.town-actions{margin-top:8px}.town-actions button{padding:7px}.journal{display:none}#inspector{max-height:calc(100dvh - 390px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.account-button{font-size:10px;padding:8px 10px;white-space:nowrap}.auth-divider{text-align:center;font-size:10px;color:#afc0a4;margin:22px 0 14px}#google-button{min-height:44px;display:flex;justify-content:center}.auth-note{font-size:10px!important}#account-message{font-size:12px;color:#e5cc8d;min-height:20px}#account-dialog{max-height:90dvh;overflow:auto}#google-retry{padding:8px 12px;font-size:11px;display:block;margin:12px auto}#sync-conflict{max-height:85dvh;overflow:auto}@media(max-width:800px){.account-button{font-size:9px;padding:6px}.brand h1{font-size:16px;letter-spacing:2px}.brand p{letter-spacing:1.8px}.topbar{gap:7px}}
