:root{font-family:Inter,Noto Sans JP,system-ui,sans-serif;color:#19332c;background:#eef2ee;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}.hero{display:flex;justify-content:space-between;gap:32px;align-items:flex-end;padding:54px max(24px,calc((100vw - 1240px)/2));background:#143f35;color:#fff;border-bottom:7px solid #e8a96b}.hero>div:first-child{max-width:780px}.eyebrow{letter-spacing:.18em;font-size:12px;color:#a6d3c7;font-weight:800}.hero h1{font-size:clamp(38px,6vw,72px);line-height:.95;margin:14px 0 18px;letter-spacing:-.055em}.hero h1 em{color:#e8a96b;font-style:normal}.hero p{line-height:1.8;color:#d9e7e3}.hero-badge{border:1px solid #77998f;border-radius:18px;padding:18px 22px;text-align:center;min-width:170px;background:#204d43}.hero-badge strong{color:#ffc78f}main{max-width:1240px;margin:32px auto;display:grid;grid-template-columns:minmax(360px,.9fr) minmax(440px,1.1fr);gap:24px;padding:0 24px}.panel{background:#fff;border-radius:22px;box-shadow:0 16px 50px #15382f17;padding:28px;border:1px solid #dce5e1}.section-title{display:flex;align-items:center;gap:12px;margin:0 0 20px}.section-title.compact{margin-top:28px}.section-title span{display:grid;place-items:center;background:#e8a96b;color:#173e34;border-radius:50%;width:34px;height:34px;font-weight:900}.section-title h2{font-size:20px;margin:0}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}label>span{display:block;font-size:12px;color:#5d706b;font-weight:700;margin:0 0 6px}.input-wrap{display:flex;align-items:center;border:1px solid #cbd8d4;border-radius:10px;overflow:hidden;background:#fbfcfb}.input-wrap:focus-within{outline:3px solid rgba(50,132,109,.15);border-color:#32846d}.input-wrap input{border:0;outline:0;padding:12px;width:100%;font-size:15px;background:transparent}.input-wrap b{font-size:12px;color:#70817c;padding-right:10px}details{margin:18px 0 26px;border-top:1px solid #e5ebe8;padding-top:16px}summary{cursor:pointer;font-weight:800;font-size:13px}.hint{font-size:12px;color:#6f817b;line-height:1.6}textarea{width:100%;border:1px solid #cbd8d4;border-radius:10px;padding:12px;font-family:ui-monospace,monospace}.primary,.secondary{border:0;border-radius:12px;font-weight:800;cursor:pointer}.primary{width:100%;margin-top:24px;padding:15px;background:#176954;color:#fff;font-size:16px}.primary:hover{background:#0e5946}.secondary{padding:10px 14px;background:#fff;border:1px solid #9eb5ae;color:#24594a}.empty-state{min-height:320px;display:grid;place-content:center;text-align:center;color:#6b7b77}.empty-state span{display:block;font-size:13px;margin-top:8px}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{padding:14px;border-radius:12px;background:#f4f7f5;border:1px solid #e1e9e5}.metric span{font-size:11px;color:#687b75;display:block}.metric strong{font-size:20px;display:block;margin-top:4px}.metric.accent{background:#163f35;color:#fff;border-color:#163f35}.metric.accent span{color:#acd1c7}.drawing-card{margin-top:18px;border:1px solid #dce5e1;border-radius:16px;padding:12px;background:#f9fbfa}.drawing-card svg{display:block;width:100%;height:auto}.checks{display:grid;gap:10px}.check{border:1px solid #dfe7e4;border-left-width:5px;border-radius:11px;padding:13px}.check.pass{border-left-color:#2d9a70}.check.review{border-left-color:#e1a33b}.check.fail{border-left-color:#cf4b4b}.check>div{display:flex;justify-content:space-between;gap:12px}.check span{font-size:10px;font-weight:900;letter-spacing:.08em}.check p{font-size:13px;line-height:1.6;margin:7px 0}.check small{color:#7b8a86}.warnings{margin-top:18px;padding:12px 15px;background:#fff7e8;border-radius:12px;color:#6d5630;font-size:12px;line-height:1.6}.error{color:#9e2c2c;background:#fff1f1;border-radius:12px;padding:20px}footer{text-align:center;padding:20px 24px 40px;color:#73827e;font-size:12px}@media(max-width:900px){.hero{align-items:flex-start;flex-direction:column}.hero-badge{display:none}main{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.hero{padding:38px 20px}.grid,.metrics{grid-template-columns:1fr}main{padding:0 12px}.panel{padding:20px}}
