@font-face{font-family:system;src:local('Segoe UI')}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#a9dce8;color:#eff9ed;font-family:system-ui,'Segoe UI',sans-serif}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid #ffffff30;border-radius:12px;background:#ffffff13;color:inherit;padding:12px 16px;font-weight:650}button:hover{background:#ffffff24}button:focus-visible,a:focus-visible{outline:3px solid #e8ff96;outline-offset:3px}button:disabled{opacity:.6;cursor:wait}[hidden]{display:none!important}#world{display:block;width:100%;height:100%;touch-action:none}#menu{position:fixed;inset:0;display:flex;align-items:center;gap:7vw;padding:4vh 6vw;background:linear-gradient(90deg,#062f2ac4,#0f3c3440 58%,transparent);overflow-y:auto}.menu-card{width:390px;flex-shrink:0;background:#143c33ed;border:1px solid #d8f4c728;border-radius:28px;padding:30px;box-shadow:0 26px 80px #12342655;backdrop-filter:blur(14px)}.eyebrow{font-size:10px;letter-spacing:.18em;color:#afd9b6;font-weight:750}.brand-cube{margin:19px 0 6px;font-size:44px;color:#dcf497;line-height:1;transform:rotate(-8deg);width:60px;text-shadow:5px 5px #699b60}h1{font-size:46px;line-height:1.02;letter-spacing:-.045em;margin:10px 0 18px}h1 span{color:#daf59d}.intro{font-size:15px;line-height:1.6;color:#c2d5c8;margin:0 0 22px}.primary{width:100%;background:#d8f797;border:0;color:#1c3d2c;padding:16px 18px;font-size:17px;border-radius:14px;box-shadow:0 6px 24px #0002}.primary:hover{background:#eaffb9}.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0 20px}.menu-grid button{font-size:12px;padding:12px 5px}.setting{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:12px 0;font-size:12px;color:#d1e2d5}input[type=range]{width:112px;accent-color:#dbf79b}select{border:0;background:#244d41;color:#ecf5df;border-radius:7px;padding:6px;width:130px}.menu-hint{font-size:11px;color:#a9c6b2;line-height:1.5;margin:20px 0 12px}.back{color:#cfe4bd;font-size:12px;text-decoration:none}.welcome{text-shadow:0 4px 30px #173d3455;align-self:flex-end;margin-bottom:6vh}.welcome-tag{font-size:11px;letter-spacing:.18em;background:#fff2;padding:8px 13px;border:1px solid #fff4;border-radius:30px}.welcome h2{font-size:clamp(36px,5vw,70px);line-height:1.04;letter-spacing:-.045em;margin:25px 0 18px}.welcome p{font-size:17px;line-height:1.6}.feature-pills{display:flex;flex-wrap:wrap;gap:8px;max-width:420px}.feature-pills span{font-size:12px;padding:9px 12px;border:1px solid #fff5;background:#123b3540;border-radius:30px}.top{position:fixed;top:max(18px,env(safe-area-inset-top));left:20px;right:20px;display:flex;justify-content:space-between;pointer-events:none;gap:8px}.pill,.tools button{background:#163b34d9;border:1px solid #fff3;backdrop-filter:blur(8px);box-shadow:0 4px 20px #0001;border-radius:14px}.pill{display:flex;gap:12px;align-items:center;padding:12px 16px;font-size:14px;font-weight:700}.pill small{display:block;font-size:10px;font-weight:400;color:#c1d9c7;margin-top:3px}.leaf{color:#d8f697;font-size:25px}.tools{display:flex;gap:7px;pointer-events:auto}.tools button{font-size:12px}#crosshair{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-size:25px;font-weight:300;color:#fff;text-shadow:0 1px 3px #000;pointer-events:none}#target-label{position:fixed;top:calc(50% + 25px);left:50%;transform:translateX(-50%);font-size:11px;text-shadow:0 1px 4px #000}#hotbar{position:fixed;bottom:max(36px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;gap:5px;padding:7px;background:#153b34d9;border:1px solid #ffffff30;border-radius:18px;max-width:calc(100vw - 20px);overflow-x:auto;scrollbar-width:none;backdrop-filter:blur(10px)}.slot{position:relative;flex:none;width:43px;height:49px;padding:5px;border:2px solid transparent;background:#fff1;border-radius:10px}.slot.active{border-color:#e4ff9a;background:#d9f59d30;transform:translateY(-2px)}.swatch{display:block;width:27px;height:27px;border-radius:4px;margin:1px auto;box-shadow:inset -7px -5px #0002,inset 0 4px #fff3}.slot small{position:absolute;left:3px;bottom:0;font-size:9px;opacity:.8}.slot-name{display:none}#desktop-help{position:fixed;bottom:120px;left:22px;font-size:10px;color:#fff;line-height:1.9;text-shadow:0 1px 5px #0009;pointer-events:none}#toast{position:fixed;top:100px;left:50%;transform:translate(-50%,-10px);background:#163f36ef;border:1px solid #d9f49755;border-radius:13px;padding:12px 20px;font-size:13px;text-align:center;max-width:90vw;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;z-index:10}#toast.show{opacity:1;transform:translate(-50%,0)}#touch{display:none}body.touch #touch{display:block}body.touch #desktop-help{display:none}body.touch #hotbar{bottom:max(14px,env(safe-area-inset-bottom))}.touch-actions{position:fixed;bottom:100px;right:17px;display:grid;grid-template-columns:65px 65px;gap:7px}.touch-actions button{touch-action:none;user-select:none;-webkit-user-select:none;background:#173e35b8;backdrop-filter:blur(4px);padding:15px 4px;font-size:11px;border-radius:15px}.touch-actions #jump,.touch-actions #down{font-size:24px;padding:5px}.look-hint{position:fixed;bottom:232px;right:16px;font-size:9px;color:#fff;text-shadow:0 1px 3px #000}#joystick{position:fixed;bottom:110px;left:25px;width:110px;height:110px;background:#173e3550;border:1px solid #ffffff60;border-radius:50%;touch-action:none}#stick{width:43px;height:43px;border:1px solid #fff8;background:#e9ffc95c;border-radius:50%;position:absolute;top:32px;left:32px;pointer-events:none}body.touch .slot{width:38px;height:45px}body.touch .swatch{width:24px;height:25px}body.touch .top{left:12px;right:12px;top:max(12px,env(safe-area-inset-top))}body.touch .pill{font-size:11px;padding:9px 11px}body.touch .tools button{padding:10px;font-size:10px}.landing{overflow:auto;background:#f3f4e9;color:#213c32;height:auto;min-height:100%;font-size:16px}.landing .page{max-width:1120px;margin:auto;padding:30px 24px 60px}.site-nav{display:flex;justify-content:space-between;align-items:center;font-size:14px;margin-bottom:35px}.site-nav a{color:#355747;text-decoration:none}.hero{position:relative;min-height:560px;border-radius:30px;overflow:hidden;background:#3d7664 url('preview.png?v=1.1.0') center/cover;display:flex;align-items:flex-end;padding:45px;color:white}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#123c30e8,transparent 90%)}.hero-copy{position:relative;max-width:600px}.hero h1{font-size:clamp(40px,6vw,72px)}.hero p{color:#e5f1dc;max-width:470px;line-height:1.6}.hero .primary{display:inline-block;width:auto;text-decoration:none;padding:16px 25px}.download-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:24px 0}.download-card{background:white;border:1px solid #dbe1d2;border-radius:22px;padding:26px}.download-card h2{font-size:23px;margin:0 0 12px}.download-card p{color:#607365;font-size:14px;line-height:1.6;min-height:45px}.download-link{display:inline-block;padding:13px 18px;border-radius:12px;background:#214d3b;color:#eafdce;text-decoration:none;font-weight:700;font-size:14px}.landing small{color:#607365;font-size:12px;line-height:1.7}.details{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:35px 0}.details h3{font-size:16px}.details p{color:#607365;font-size:14px;line-height:1.6}.landing footer{border-top:1px solid #dbe1d2;margin-top:35px;padding-top:20px;font-size:12px;color:#607365}#context-error{position:fixed;inset:0;z-index:20;background:#173d34;padding:10vw;text-align:center;overflow:auto}@media(max-width:800px){.welcome{display:none}#menu{justify-content:center;padding:20px;background:#113d3455}.menu-card{width:min(390px,100%);padding:25px}#hotbar{max-width:94vw}.hero{min-height:480px;padding:28px}.download-grid,.details{grid-template-columns:1fr}.landing .page{padding:20px 16px}.top .leaf{display:none}}@media(max-height:650px){#menu{align-items:flex-start}.menu-card{padding:20px}.brand-cube{display:none}h1{font-size:35px;margin:10px 0}.intro{font-size:13px;margin-bottom:12px}.menu-grid{margin:10px 0}.menu-hint{margin:10px 0}.welcome{align-self:center}.setting{margin:7px 0}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
