*{box-sizing:border-box}body{margin:0;background:#eef3ef;color:#17231c;font-family:system-ui,-apple-system,Segoe UI,sans-serif}header{height:68px;background:#173d2b;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(18px,calc((100% - 1180px)/2));gap:16px}header strong{letter-spacing:1.5px}header small{display:block;color:#c8dfce;font-size:11px}.hero,main{max-width:1180px;margin:auto}.hero{padding:32px 18px 22px;display:flex;justify-content:space-between;align-items:center;gap:16px}.hero h1{font-size:clamp(25px,4vw,38px);margin:0 0 8px}.hero p{margin:0;color:#5a6b60}.pill{background:#d8eadc;border-radius:20px;padding:9px 14px;font-size:13px}.layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(270px,.8fr);gap:16px;padding:0 18px}.panel{background:white;border:1px solid #dce6de;border-radius:16px;padding:18px;box-shadow:0 5px 18px #1c39200b}.panel h2{margin:0 0 6px;font-size:19px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:10px}.panel-title p,.admin p{margin:0;color:#66766b;font-size:13px}#world{height:420px;background:linear-gradient(#b9d8e8,#e2eee1);border-radius:12px;overflow:hidden;margin-top:14px}#world canvas{display:block;width:100%;height:100%}.world-note,.hint{font-size:12px;color:#718076;margin:10px 0 0}.side label{display:block;font-size:13px;margin:12px 0;color:#4e5f54}.side input{display:block;width:100%;padding:11px;border:1px solid #cbd8ce;border-radius:9px;margin-top:5px;font:inherit}.buttons{display:flex;gap:8px;margin-top:12px}button{border:0;background:#246b43;color:white;border-radius:9px;padding:10px 14px;font-weight:600;cursor:pointer}button.secondary{background:#e7eee8;color:#244431}button:disabled{opacity:.5;cursor:not-allowed}hr{border:0;border-top:1px solid #e6ece7;margin:20px 0}.feature{padding:10px 0;border-bottom:1px solid #edf1ed}.feature b,.feature span{display:block}.feature span{font-size:12px;color:#718076;margin-top:3px}.admin{margin:16px 18px 28px}.admin p{margin-top:8px}footer{text-align:center;padding:20px;color:#7b887e;font-size:12px}dialog{border:0;border-radius:14px;max-width:360px;box-shadow:0 10px 40px #0003}dialog::backdrop{background:#10201899}.dialog-inner{padding:8px}.dialog-inner h3{margin-top:4px}@media(max-width:760px){.layout{grid-template-columns:1fr}.hero{align-items:flex-start;flex-direction:column}#world{height:330px}.panel-title{align-items:flex-start}}
