@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Kalam:wght@400;700&display=swap');
:root{--ink:#24392f;--paper:#f5f2e5;--green:#456546;--orange:#d97549;--muted:#7a8170}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%237e7456' opacity='.065' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:1px solid #c7cbba;background:transparent;color:var(--ink);border-radius:5px;padding:9px 14px;transition:background .15s,transform .15s}button:hover{background:#e2e6d5;transform:translateY(-1px)}button:disabled{opacity:.42;cursor:not-allowed;transform:none}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #e49948;outline-offset:3px}header{max-width:1400px;margin:auto;display:flex;align-items:center;padding:29px 50px;border-bottom:1px solid #d8d9ca;gap:30px}.brand{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:800;letter-spacing:2px;line-height:1.12;color:var(--ink);text-decoration:none}.brand-icon{font-size:47px;color:#d87845}.chapter{font-size:9px;letter-spacing:2px;color:var(--muted);margin-left:auto}.chapter>span{display:block;font-size:12px;letter-spacing:.3px;color:var(--ink);margin-top:7px}.chapter i{font-style:normal;color:#9d9e85;margin:0 9px}.round{border-radius:50%;width:33px;height:33px;padding:0;font-family:serif;font-size:19px}main{max-width:1400px;margin:auto;padding:36px 50px 20px}.topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;margin:0 0 12px;color:#788265}h1{font-family:'Kalam','Segoe Print',cursive;font-size:49px;line-height:1.13;letter-spacing:-1.8px;margin:0;font-weight:700}h1 em{font-style:normal;color:var(--orange)}.intro{font-size:13px;line-height:1.8;color:#78806d;padding-right:8px}.intro>span{display:block;font-size:9px;letter-spacing:1.5px;color:#516d47;margin-top:18px}.live-dot{display:inline-block;height:6px;width:6px;border-radius:50%;background:#75965e;margin-right:7px}.game-shell{border:1px solid #334734;border-radius:10px;overflow:hidden;box-shadow:0 9px 25px #2a38211b}.game-toolbar{min-height:49px;display:flex;align-items:center;justify-content:space-between;padding:8px 18px;background:#273d32;color:#eeeedd;gap:10px}.location{font-size:10px;letter-spacing:1.5px;font-weight:700;display:flex;align-items:center;gap:10px}.location>span{font-size:22px;color:#e5b55a}.location small{font-size:9px;color:#b2bf9a;font-weight:400;margin-left:15px}.time-controls{display:flex;gap:6px}.time-controls button{font-size:10px;padding:6px 9px;color:#e2e4d5;border-color:#5d705d}.time-controls button:hover{background:#455a43}.play-area{position:relative;aspect-ratio:1200/780;overflow:hidden;background:#a8b77d}canvas{width:100%;height:100%;display:block;touch-action:manipulation;cursor:crosshair}.map-title{position:absolute;top:25px;left:29px;font:700 24px 'Kalam','Segoe Print',cursive;transform:rotate(-3deg);pointer-events:none;color:#344630}.map-title span{font:10px 'DM Sans',sans-serif;display:block;letter-spacing:1px;margin-top:2px;opacity:.7}.compass{position:absolute;top:23px;right:29px;text-align:center;font:12px 'Kalam',cursive;pointer-events:none}.compass span{display:block;font-size:35px;margin-top:-8px}.map-key{position:absolute;bottom:19px;left:23px;font-size:8px;letter-spacing:1px;pointer-events:none;color:#eff0d7;text-shadow:0 1px 3px #25361e}.dot{width:6px;height:6px;border-radius:50%;display:inline-block;margin-right:6px}.ant-dot{background:#34362d}.trail-dot{background:#eac775;margin-left:17px}#toast{position:absolute;bottom:48px;left:50%;transform:translateX(-50%);background:#fcf7dfec;padding:10px 19px;max-width:88%;width:max-content;box-shadow:2px 3px 0 #3c492633;font-family:'Kalam','Segoe Print',cursive;font-size:14px;text-align:center;pointer-events:none;border-radius:2px;transition:opacity .4s}#overlay{position:absolute;inset:0;background:#24342255;backdrop-filter:blur(2px);display:grid;place-items:center}#overlay[hidden]{display:none}.paper-card{width:440px;max-width:88%;padding:36px;background:#faf4dd;box-shadow:8px 10px 0 #182e2644;transform:rotate(-1deg);border-radius:3px;text-align:center}.paper-card h2{font:700 40px/1.05 'Kalam','Segoe Print',cursive;margin:15px 0;color:#365238}.paper-card p{font-size:13px;line-height:1.65;color:#70765f}.guide-steps{display:flex;gap:12px;margin:22px 0;font-size:10px}.guide-steps span{flex:1}.guide-steps b{display:block;font:24px 'Kalam',cursive;color:#d47a48}.primary{background:#395b3b;color:#fff3d7;border:0;padding:13px 28px;font-weight:600}.primary:hover{background:#4a714b}.paper-card>small{display:block;font-size:9px;color:#8a8e75;margin-top:18px}.bottom-strip{display:flex;align-items:center;justify-content:space-between;padding:9px 18px;background:#f0efdf;font-size:10px;color:#737d64}.pencil{font-size:20px;margin-right:6px;color:#bf7743}.bottom-strip button{font-size:10px;padding:6px 10px}.dashboard{display:grid;grid-template-columns:1.15fr 1fr;gap:35px;margin-top:29px}.dashboard article{padding:4px 0}.dashboard h2{font-family:'Kalam','Segoe Print',cursive;font-size:24px;font-weight:700;margin:0 0 12px}.colony-card h2 span{font:9px 'DM Sans',sans-serif;color:#7b896c;background:#e4e8d8;padding:5px 8px;vertical-align:middle;margin-left:8px;border-radius:4px}.stats{display:flex;gap:35px;margin-bottom:18px}.stats strong{font:700 31px 'Kalam','Segoe Print',cursive;line-height:1}.stats span{display:block;font-size:10px;color:#7b816e;margin-top:6px}.stats b{font-weight:400}.actions{display:flex;gap:7px}.actions button{flex:1;text-align:left;font-size:11px;background:#e7e9d9;border-color:#d4d9c6;padding:10px 12px}.actions small{display:block;font-size:9px;color:#8b9078;margin-top:4px}.journal-card{border-left:1px solid #d8daca;padding-left:35px!important}.journal-card>p:not(.eyebrow){font-size:12px;color:#808572;margin:0 0 16px;line-height:1.6}.goal-track{height:5px;background:#dee2ce;border-radius:10px;overflow:hidden}.goal-track span{display:block;height:100%;background:#839867;transition:width .4s;width:0}.goal-details{display:flex;justify-content:space-between;font-size:9px;color:#858b74;margin-top:8px}.food-links{display:flex;gap:6px;margin-top:19px;flex-wrap:wrap}.food-links button{font-size:10px;padding:6px 8px}.food-links button.active{background:#365c3d;color:#fff5d7;border-color:#365c3d}footer{border-top:1px solid #d9dbcc;margin-top:29px;padding-top:18px;display:flex;justify-content:space-between;font-size:10px;color:#92967e;align-items:center}footer>span{font-family:'Kalam',cursive;font-size:14px}footer button{font-size:9px;border:0;margin-left:12px;padding:6px}dialog{border:1px solid #7d8b66;background:#faf4df;color:var(--ink);padding:34px;width:520px;max-width:90vw;border-radius:6px;box-shadow:10px 15px 70px #0005}dialog::backdrop{background:#14271ac9}dialog h2{font:30px 'Kalam',cursive}dialog p{font-size:13px;line-height:1.7}.close{position:absolute;right:12px;top:10px;border:0;font-size:24px;padding:0 6px}
@media(min-width:1500px){main{max-width:1370px}}@media(max-width:760px){header{padding:20px}.chapter{display:none}.round{margin-left:auto}main{padding:25px 16px}.topline{gap:20px}h1{font-size:35px}.intro{font-size:11px;max-width:170px}.intro>span{font-size:8px}.eyebrow{font-size:8px}.location{font-size:8px;letter-spacing:.7px;gap:5px}.location small{margin-left:2px;font-size:8px}.game-toolbar{padding:8px}.time-controls button{padding:5px;font-size:9px}.map-title{font-size:17px;top:15px;left:14px}.map-title span{font-size:7px}.compass{right:15px;top:12px}.bottom-strip{padding:6px 10px;font-size:9px}.bottom-strip>span{max-width:70%}.dashboard{gap:22px;grid-template-columns:1fr}.journal-card{border-left:0;border-top:1px solid #d8daca;padding:22px 0 0!important}.stats{gap:50px}.paper-card{padding:20px}.paper-card h2{font-size:31px}.paper-card p{font-size:11px}.guide-steps{margin:13px 0}.paper-card>small{margin-top:11px}#toast{font-size:11px;bottom:32px;padding:7px 10px}.map-key{font-size:6px;bottom:13px;left:12px}.brand{font-size:13px}.brand-icon{font-size:35px}footer{align-items:flex-start;gap:15px}footer>div{text-align:right}footer>span{font-size:12px}.food-links button{padding:9px 12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Keep the welcome card entirely inside small garden viewports. */
@media(max-width:760px){#overlay{display:flex;align-items:center;justify-content:center;padding:10px}.paper-card{width:100%;max-width:100%;max-height:100%;overflow:auto;min-width:0;transform:none;padding:16px}.paper-card h2{font-size:27px;margin:8px 0}.paper-card p{font-size:11px;margin:8px 0;overflow-wrap:break-word}.paper-card .eyebrow{font-size:7px;letter-spacing:1.2px}.guide-steps{gap:5px;margin:9px 0;font-size:8px}.guide-steps span{min-width:0}.guide-steps b{font-size:19px}.paper-card .primary{padding:10px 22px;font-size:12px}.paper-card>small{font-size:8px;margin-top:8px}}

.atlas{border-top:1px solid #cbd1bc;margin-top:30px;padding-top:26px}.atlas-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.atlas h2{font:700 29px Kalam,cursive;margin:0}.atlas p{font-size:12px;color:#788265;line-height:1.6}.nursery{max-width:290px;text-align:center}.nursery button{background:#e4dac2;border-color:#c9b789;font-weight:700}.nursery small{display:block;font-size:10px;font-weight:400;margin-top:5px}.nursery>span{display:block;font-size:11px;margin-top:9px;color:#6f785f}.map-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}.map-card{border:1px solid #c9cfb8;border-radius:8px;padding:18px;background:#edeedc}.map-card[data-map="clover"]{background:#e0ecd9}.map-card[data-map="hollow"]{background:#e9e0ed}.map-card.current{outline:2px solid #708553;outline-offset:2px}.map-card .map-art{height:60px;display:flex;align-items:center;justify-content:center;font-size:39px;letter-spacing:16px;border-bottom:1px dashed #9aab8260;margin-bottom:12px}.map-card h3{font:700 23px Kalam,cursive;margin:0}.map-card p{min-height:58px;font-size:11px}.map-card .map-status{font-size:10px;display:block;min-height:26px;color:#657158}.map-card button{width:100%;font-size:11px;background:#ffffff60}.atlas-note{font-size:10px!important}.location b{font-weight:700}.map-card button:disabled{opacity:.6}
@media(max-width:760px){.atlas-heading{display:block}.nursery{max-width:none;text-align:left;margin-top:15px}.map-cards{grid-template-columns:1fr}.map-card p{min-height:0}.map-card .map-art{height:45px}.location{flex-wrap:wrap}.location small{font-size:7px}.location b{font-size:7px}}

.wild-status{display:flex;justify-content:space-between;gap:14px;margin-top:13px;font-size:11px;color:#788265}.wild-status strong{font-weight:600;color:#866844}@media(max-width:760px){.wild-status{font-size:9px;flex-wrap:wrap}}

.map-cards{grid-template-columns:repeat(2,1fr)}.map-card[data-map="office"]{background:#e5e0dc}@media(max-width:760px){.map-cards{grid-template-columns:1fr}}

.soundscape{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:14px;font-size:10px;color:#788265}.soundscape label{display:flex;align-items:center;gap:8px}.soundscape input{width:90px;accent-color:#71875e}@media(max-width:760px){.soundscape{font-size:9px;flex-wrap:wrap}}
/* Hunting orders and visible guard identification. */
.wild-status{align-items:center;flex-wrap:wrap}
.hunt-controls{display:flex;align-items:center;gap:6px;white-space:nowrap}
.hunt-controls select{font:inherit;color:var(--ink);background:#f7f2df;border:1px solid #c7cbba;border-radius:5px;padding:7px}
.hunt-controls select:focus-visible{outline:3px solid #e49948;outline-offset:2px}
#cancel-hunt{font-size:11px;padding:7px 10px}
.guard-key{color:#f4d478;font-size:11px;margin-left:12px;margin-right:4px}
.ant-status{font-size:10px;line-height:1.5;color:#647663;margin:0 0 12px}
@media(max-width:760px){.hunt-controls select,#cancel-hunt{min-height:36px}.guard-key{margin-left:7px}}

