*{box-sizing:border-box} :root{--ink:#243e38;--muted:#738079;--paper:#fffef9;--bg:#f6f7ef;--line:#dce3d9;--mint:#bceda3;--blue:#698ac1}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.55 Arial,sans-serif}button,input,select{font:inherit;color:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button,.button{border:1px solid #b9c9ba;background:var(--paper);border-radius:30px;padding:12px 21px;cursor:pointer;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:transform .15s,background .15s}button:hover,.button:hover{background:#e8f1df;transform:translateY(-2px)}button:disabled{opacity:.5;cursor:not-allowed;transform:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #759ee1;outline-offset:3px}.primary{background:var(--mint);border-color:#96bc83;box-shadow:0 3px 0 #9aba88}.quiet{background:transparent;border-color:transparent;font-size:13px}.icon{padding:8px 15px;font-size:23px}.skip{position:fixed;top:-100px;z-index:20;background:white}.skip:focus{top:0}header{margin:14px 22px 0;padding:12px;border:1px solid var(--line);border-radius:23px;background:#fffefaed;position:relative;z-index:5;box-shadow:0 8px 30px #314d3610}.topline{display:flex;align-items:center;gap:13px;padding:0 9px 12px}.brand{display:flex;align-items:center;gap:10px;font-size:19px;letter-spacing:2px;font-weight:900}.brand span{font:9px monospace;letter-spacing:0;background:#e6eeda;padding:3px 6px;border-radius:5px}.headnote{flex:1;text-align:center;color:var(--muted);font-size:13px}nav{display:flex;gap:6px;justify-content:center;background:#eef1e7;border-radius:30px;padding:5px;overflow:auto}nav a{font:600 12px/1.5 monospace;letter-spacing:.8px;padding:13px 22px;border-radius:25px;white-space:nowrap}nav a[aria-current=page]{background:var(--mint)}main{max-width:1440px;margin:auto;padding:0 54px}h1,h2,h3,p{margin:0}h1{font-weight:900;line-height:1.05;letter-spacing:-2.5px;font-size:54px}h2{font-size:32px;letter-spacing:-1px;line-height:1.2}h3{font-size:18px}p{line-height:1.8}.eyebrow{font:11px/1.8 monospace;letter-spacing:2px;color:#688273;display:block}.eyebrow i{display:inline-block;width:7px;height:7px;background:#78b28f;border-radius:50%;margin-right:8px}.hero{display:grid;grid-template-columns:1fr 1.24fr;gap:40px;align-items:center;min-height:650px;padding:55px 0 45px}.hero h1{font-size:clamp(38px,4.1vw,64px);margin:20px 0 25px;font-family:'Courier New',monospace;font-weight:1000;line-height:1.13;letter-spacing:-3px}.hero h1 span{color:#559d86}.hero p{color:var(--muted);font-size:16px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:27px 0 12px}.actions .button{font-size:13px}.mini-note,.fine{font-size:11px;color:var(--muted)}.hero-world{background:#edf4e9;border:1px solid #dbe5d6;border-radius:24px;overflow:hidden;position:relative;box-shadow:0 24px 40px #3456390b}.scene-label,.scene-caption{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;font:11px monospace;letter-spacing:1px}.scene-label span{color:#83a28a}.scene-caption{border-top:1px solid #dbe5d6;padding:10px 20px}canvas{display:block;max-width:100%;image-rendering:pixelated}#heroCanvas{width:100%;height:auto}.species-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.species-tile{display:flex;gap:15px;align-items:center;padding:18px;background:#fffdf7;border:1px solid var(--line);border-radius:15px}.species-tile small{display:block;color:var(--muted);font-size:11px}.home-bottom{padding:100px 0;display:grid;grid-template-columns:1fr 1.5fr;gap:40px}.home-bottom h2{margin-top:14px}.loop{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.loop b{font:13px monospace;color:#699e85}.loop h3{margin:18px 0 8px}.loop p{font-size:13px;color:var(--muted)}.section-title{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:55px 0 32px}.section-title h1{margin-top:12px;font-size:45px}.section-title p{font-size:14px;max-width:410px;color:var(--muted)}.page{min-height:65vh}.page[hidden]{display:none!important}.paper{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:32px}.hatch-grid{display:grid;grid-template-columns:.85fr 1fr;gap:26px;max-width:1000px;margin:auto}.hatch-portrait{background:repeating-linear-gradient(90deg,#e9efe0 0 1px,transparent 1px 30px),repeating-linear-gradient(0deg,#e9efe0 0 1px,#f1f4e9 1px 30px);border:1px solid var(--line);border-radius:22px;text-align:center;padding:22px}.hatch-portrait canvas{margin:auto;width:300px;max-width:100%}.hatch-portrait h3{margin:10px}.paper h2{margin:15px 0 25px}label{display:block;font-size:12px;font-weight:700;margin:20px 0 8px}input,select{border:1px solid #cad5c7;background:#fff;border-radius:10px;padding:12px;min-width:0;width:100%}.input-row{display:flex;gap:7px}.muted{color:var(--muted);font-size:12px;margin:13px 0}.traits{display:flex;gap:8px;margin:24px 0}.traits span{padding:8px 11px;background:#edf2e7;border-radius:8px;font-size:11px}#hatchBtn{width:100%;margin-bottom:13px}#hatchResult{font-size:13px;margin-top:14px}.bag{display:flex;gap:8px;flex-wrap:wrap}.bag span{border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:9px 12px;font:12px monospace}.world-layout{display:grid;grid-template-columns:1fr 270px;gap:22px}.biomes{display:flex;gap:7px;margin-bottom:15px}.biomes button{font-size:12px;padding:10px 14px}.biomes button.chosen{background:var(--mint)}.map-viewport{height:510px;background:#deeee6;border:1px solid #c8d9ce;border-radius:20px;overflow:hidden;position:relative;touch-action:none}.map-inner{height:100%;width:100%;position:relative;transform-origin:center;user-select:none}.map-inner canvas{width:100%;height:100%;object-fit:fill}.node{position:absolute;border:2px solid #ffffffaa;padding:0;width:40px;height:40px;transform:translate(-50%,-50%);background:#fffc!important;border-radius:12px;box-shadow:0 4px 0 #68846a33;font-size:22px;z-index:2}.node:hover{transform:translate(-50%,-60%);border-color:#477a63}.node.cool{opacity:.4}.map-tools{position:absolute;right:12px;top:12px;display:flex;gap:5px;z-index:3}.map-tools button{padding:7px 12px;font-size:12px}.map-help{position:absolute;bottom:12px;left:12px;background:#ffffffe0;border-radius:8px;padding:6px 10px;font:10px monospace;pointer-events:none}.world-message{padding:15px;font-size:13px}.expedition canvas{margin:8px auto}.expedition{align-self:start;margin-top:57px;padding:23px;text-align:center}.expedition label{text-align:left}.expedition button{width:100%;margin:12px 0}.expedition .fine{font-size:11px}.energy{background:#e6ebdf;height:7px;border-radius:5px;overflow:hidden;margin:12px 0}.energy span{display:block;height:100%;background:#88b999}.text-link{display:block;font-size:11px;margin-top:18px;text-decoration:underline}#walker{position:absolute;left:47%;top:50%;transition:left .65s,top .65s;pointer-events:none;z-index:2}#walker canvas{width:50px;height:50px}.camp-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:28px}.camp-scene{border-radius:20px;overflow:hidden;background:#e6efe0;border:1px solid var(--line);align-self:start}.camp-scene canvas{width:100%}.plots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:20px}.plot{border:1px dashed #bacdb5;background:#f7faed99;border-radius:10px;min-height:68px;font:11px monospace;display:flex;align-items:center;justify-content:center;gap:6px}.plot.filled{border-style:solid;background:#fffdf3}.recipes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:17px}.recipe{padding:20px;border:1px solid var(--line);background:var(--paper);border-radius:16px}.recipe p{font-size:12px;color:var(--muted);margin:8px 0}.recipe button{font-size:12px;width:100%;padding:9px;margin-top:13px}.recipe canvas{margin:0 auto 10px}.collection{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.creature-card{border:1px solid var(--line);border-radius:18px;background:var(--paper);padding:23px;text-align:center}.creature-card canvas{margin:auto;width:150px}.creature-card small{display:block;color:var(--muted);font:10px monospace;margin:7px 0}.creature-card button{margin-top:10px;font-size:12px}.empty{padding:60px;text-align:center;grid-column:1/-1;background:#eef2e7;border-radius:20px}.empty p{margin:12px 0 20px}.notes-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:30px}.task{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:22px 0}.task p{font-size:12px;color:var(--muted)}.task button{font-size:11px;white-space:nowrap}.log-entry{font-size:12px;border-bottom:1px solid var(--line);padding:13px 0;color:#64756b}footer{max-width:1330px;margin:80px auto 0;border-top:1px solid var(--line);padding:30px 25px;display:flex;align-items:center;justify-content:space-between;gap:25px}footer span{font-size:11px;color:var(--muted)}footer .brand{font-size:13px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(100px);background:#294c41;color:white;padding:13px 23px;border-radius:12px;z-index:30;box-shadow:0 10px 40px #0002;transition:.2s;max-width:90%;font-size:13px}#toast.show{transform:translateX(-50%) translateY(0)}dialog{border:1px solid var(--line);border-radius:22px;padding:35px;max-width:520px;width:calc(100% - 30px);color:var(--ink);background:var(--paper)}dialog::backdrop{background:#173b3055;backdrop-filter:blur(6px)}dialog h2{margin:10px 0 20px}dialog p{font-size:13px;margin:15px 0}dialog .actions{gap:8px}dialog .close{position:absolute;right:8px;top:8px;border:0;background:transparent;padding:8px}.wallet-choice{display:block;width:100%;margin:8px 0}.save-error{color:#af4848}.hatching{animation:pop .7s ease}@keyframes pop{50%{transform:scale(.8) rotate(-7deg)}80%{transform:scale(1.08)}}@media(max-width:1000px){main{padding:0 25px}.headnote{display:none}.topline .brand{margin-right:auto}.hero{gap:20px;min-height:560px}.hero h1{font-size:38px}.hero .actions{flex-direction:column;align-items:start}.species-tile{padding:12px;gap:4px}.home-bottom{grid-template-columns:1fr}.world-layout{grid-template-columns:1fr}.expedition{margin-top:0}.expedition canvas{width:90px}.map-viewport{height:500px}.camp-layout{grid-template-columns:1fr}.collection{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){header{margin:8px;border-radius:16px;padding:8px}.topline{gap:3px;padding:2px 2px 8px}.topline .brand{font-size:15px;letter-spacing:1px;gap:5px}.brand span{display:none}.brand img{width:32px;height:32px}#walletBtn{font-size:11px;padding:8px}nav{justify-content:flex-start}nav a{padding:10px 15px;font-size:11px}main{padding:0 18px}.hero{grid-template-columns:1fr;padding:40px 0 26px}.hero h1{font-size:43px;letter-spacing:-2px}.hero .actions{flex-direction:row}.hero p{font-size:14px}.hero-world{margin-top:5px}.hero-copy{text-align:center}.actions{justify-content:center}.species-strip{grid-template-columns:1fr 1fr}.species-tile h3{font-size:14px}.species-tile canvas{width:48px}.home-bottom{padding:60px 0;gap:25px}.loop{grid-template-columns:1fr;gap:20px}.loop article{border-top:1px solid var(--line);padding-top:10px}.loop h3{display:inline-block;margin:0 0 0 12px}.section-title{padding:35px 0 25px;display:block}.section-title h1{font-size:36px}.section-title p,.section-title .bag{margin-top:15px}.hatch-grid,.notes-layout{grid-template-columns:1fr}.hatch-portrait canvas{width:200px}.paper{padding:24px}.biomes{overflow:auto}.biomes button{white-space:nowrap;font-size:11px}.map-viewport{height:400px}.node{width:32px;height:32px;font-size:18px}.map-tools button{padding:7px 10px}.map-help{font-size:9px}.collection{grid-template-columns:1fr 1fr}.creature-card{padding:12px}.creature-card canvas{width:110px}.recipe{padding:15px}.recipes h3{font-size:15px}footer{margin-top:45px;flex-wrap:wrap;padding:25px 18px}footer span{order:3;width:100%}.task button{max-width:115px;padding:10px}.section-title>.button{margin-top:20px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.world-layout>div,.camp-layout>div,.hatch-grid>div,.hatch-grid>form,.notes-layout>div{min-width:0}.biomes{max-width:100%}.map-viewport{width:100%}
