@import url("/fonts.css");500;600;700&family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&display=swap');
:root{color-scheme:light dark;font-family:'DM Sans',sans-serif;color:#263d34;background:#9db291;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer;color:#2a4037;background:#f7f4e9;border:1px solid #d6dbc9;border-radius:8px;padding:8px 12px;touch-action:manipulation}button:hover{background:#e9eddd}button:focus-visible{outline:3px solid #c17336;outline-offset:3px}button.active,button.selected{background:#294b3c;color:#fff8e9;border-color:#294b3c}main{width:100%;height:100dvh;overflow:hidden;position:relative}canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}canvas.building{cursor:crosshair}.brand{position:absolute;top:26px;left:28px;display:flex;gap:12px;align-items:center;pointer-events:none;color:#203d32}.sprig{font-size:42px}h1{font:500 30px 'Fraunces',Georgia,serif;letter-spacing:-1.2px;margin:0}.brand #date{font-size:12px;letter-spacing:1px;text-transform:uppercase}.resources{position:absolute;right:26px;top:24px;background:#f8f5eaeF;box-shadow:0 4px 20px #233f2517;border:1px solid #fff9;border-radius:12px;display:flex;gap:23px;padding:13px 22px}.resources span{font-size:19px;white-space:nowrap}.resources b{font-size:15px;font-weight:600}.resources small{display:block;font-size:10px;letter-spacing:.3px;color:#536253;margin-left:19px}.view-tools{position:absolute;right:24px;top:120px;display:grid;gap:5px}.view-tools button{font-size:20px;box-shadow:0 3px 8px #203d3215;width:40px;padding:4px}.lower{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);width:min(1060px,calc(100% - 40px));border-radius:14px;background:#f8f5ee;box-shadow:0 12px 40px #203d3233;border:1px solid #ffffffb0;overflow:hidden}.village-line{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;border-bottom:1px solid #dce1d1;gap:12px}.village-line button{border:0;background:transparent;font-size:12px;padding:4px}.village-line #notice{font:italic 13px 'Fraunces',Georgia,serif;color:#526354;flex:1;text-align:center}.build-bar{padding:10px 12px;display:flex;gap:5px;overflow-x:auto}.tool{flex:1;min-width:73px;border:0;background:transparent;padding:5px 6px;font-size:11px;white-space:nowrap;border-radius:8px}.tool>span{display:block;font:30px 'Fraunces',serif;height:37px}.tool small{display:block;margin-top:4px;font-size:10px;opacity:.85}.bottom-line{display:flex;align-items:center;justify-content:space-between;padding:9px 16px;background:#e9eddf;border-top:1px solid #dce1d1;gap:8px}.bottom-line button{border:0;background:transparent;padding:4px 8px;font-size:12px}.bottom-line button.active{background:#294b3c;color:#fff8e9}.time-controls,.save-controls{display:flex;align-items:center;gap:4px;font-size:11px}#clock{margin-left:10px}#weather{margin-left:6px;color:#526354}#save-state{color:#526354;font-size:10px;margin-right:6px}.panel{display:none;position:absolute;right:24px;top:180px;width:285px;max-height:calc(100dvh - 410px);overflow:auto;background:#f8f5ee;color:#263d34;border:1px solid #fff;border-radius:12px;box-shadow:0 10px 30px #203d3222;padding:22px}.panel.open{display:block}.panel h2{font:500 25px 'Fraunces',Georgia,serif;margin:0 0 10px}.panel p{font-size:13px;line-height:1.6}.panel .close{float:right;border:0;padding:0;font-size:22px;background:transparent}.panel .eyebrow{font-size:10px}.panel .row{border-top:1px solid #d8dfcc;padding:9px 0;display:flex;justify-content:space-between;font-size:12px;gap:10px}.panel .row small{color:#526354}.panel progress{width:100%;accent-color:#456c4f}.eyebrow{font-size:10px;letter-spacing:2px;color:#6a755f}.welcome{position:absolute;top:50%;left:7%;transform:translateY(-55%);width:330px;background:#f8f5eeeF;border:1px solid #ffffffe0;padding:35px;border-radius:3px 28px 3px 28px;box-shadow:0 16px 60px #203d3220}.welcome h2{font:400 39px/1.14 'Fraunces',Georgia,serif;letter-spacing:-1.5px;margin:18px 0}.welcome p{font-size:13px;line-height:1.7;color:#526354}.welcome button{background:#294b3c;color:#fff8e9;border:0;width:100%;margin:10px 0 16px;text-align:left;padding:14px;font-size:13px}.welcome button span{float:right}.welcome small{display:block;font-size:10px;color:#526354;line-height:1.6}#toast{pointer-events:none;opacity:0;transition:opacity .2s;position:absolute;bottom:245px;left:50%;transform:translateX(-50%);background:#294b3c;color:#fff8e9;padding:11px 18px;border-radius:10px;max-width:85%;font-size:13px;box-shadow:0 6px 25px #203d3233}#toast.show{opacity:1}.diary-entry{font-size:12px;line-height:1.6;border-top:1px solid #d8dfcc;padding:10px 0}.diary-entry small{display:block;color:#66715b}.resident{cursor:pointer}.hidden{display:none!important}@media(max-width:850px){.brand{top:16px;left:16px}h1{font-size:25px}.sprig{font-size:32px}.resources{top:77px;left:16px;right:auto;padding:9px 12px;gap:15px}.resources span{font-size:14px}.resources b{font-size:13px}.resources small{font-size:9px;margin-left:12px}.view-tools{top:145px;right:16px}.lower{width:calc(100% - 20px);bottom:10px}.village-line{padding:6px 8px;gap:4px}#notice{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:40%}.tool{min-width:69px}.bottom-line{padding:8px;flex-wrap:wrap}.save-controls{margin-left:auto}#save-state{display:none}.panel{right:12px;top:140px;max-height:calc(100dvh - 365px);width:265px;padding:18px}.welcome{width:290px;left:24px;padding:26px;top:45%}.welcome h2{font-size:34px}.welcome p{font-size:12px}.time-controls{gap:0}#clock{margin-left:3px}#weather{font-size:10px}}
.eyebrow{color:#52634e}.village-line #notice{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.village-line button{flex-shrink:0}@media(max-width:850px){.lower{bottom:34px}.village-line #notice{max-width:none}.village-line{gap:8px}}

@media(max-width:500px){.village-line #notice{display:none}.village-line{justify-content:space-between}}
