*{box-sizing:border-box} :root{--ink:#193d38;--green:#186656;--paper:#f5f3ec;--muted:#53665f;--line:#d6ded7;--amber:#fff1cd}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Malgun Gothic","Apple SD Gothic Neo",sans-serif;line-height:1.75;font-size:17px}header,main,footer{max-width:1080px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:14px}nav{display:flex;gap:18px;flex-wrap:wrap}.brand{font-weight:900;text-decoration:none;letter-spacing:-1px}.brand span{font-weight:400;margin-left:8px}a{color:var(--green);text-underline-offset:4px}h1{font-size:clamp(30px,5vw,48px);line-height:1.25;letter-spacing:-1.8px;max-width:720px;margin:20px 0}h2{font-size:25px;line-height:1.4}h3{font-size:21px;line-height:1.45}p{margin:12px 0}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:800;color:#587069}.hero{display:grid;grid-template-columns:1.5fr 1fr;gap:32px;padding:30px 0 40px}.intro-map{border-radius:26px;background:#dce9df;padding:26px;align-self:center}.intro-map div{display:flex;gap:14px;padding:9px}.intro-map b{width:36px;height:36px;display:grid;place-items:center;background:white;border-radius:50%}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card,.panel{background:white;border:1px solid var(--line);border-radius:20px;padding:26px}.card{display:flex;flex-direction:column;align-items:flex-start}.card p{font-size:15px;color:var(--muted)}.card .btn{margin-top:auto}.icon{width:46px;height:46px;stroke:var(--green);stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}.tag{font-size:12px;background:#e8eee8;border-radius:6px;padding:3px 9px}.btn,button{display:inline-block;border:1px solid var(--green);background:var(--green);color:white;border-radius:10px;padding:12px 18px;font:inherit;line-height:1.45;cursor:pointer;text-decoration:none;min-height:48px}.secondary{background:white;color:var(--green)}.actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}button:disabled{opacity:.5;cursor:not-allowed}label{display:block;font-weight:700;margin:22px 0 5px}textarea,input,select{display:block;width:100%;padding:13px;border:1px solid #81958b;border-radius:9px;background:#fff;font:inherit;color:#203831;min-width:0}textarea{min-height:120px;resize:vertical}textarea[readonly]{background:#f4f7f3}small,.hint{font-size:14px;color:var(--muted)}.hint{margin:3px 0 9px}.note{border-left:4px solid #c79636;background:var(--amber);padding:14px 18px;border-radius:0 10px 10px 0}.steps{display:flex;gap:8px;margin:24px 0}.steps span{flex:1;padding:10px;border-bottom:3px solid #ccd8cf;font-size:14px}.steps .active{border-color:var(--green);font-weight:bold}.panel{max-width:800px;margin:auto}.panel h1{font-size:31px}.check{font-weight:400;display:flex;gap:12px;align-items:flex-start}.check input{width:24px;height:24px;min-width:24px;accent-color:var(--green);margin-top:4px}.bridge{background:#e6eee5;padding:20px;border-radius:12px;margin:24px 0}#status{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);width:max-content;max-width:90vw;background:#173e35;color:white;padding:12px 20px;border-radius:12px;box-shadow:0 4px 20px #0002;pointer-events:none}#status:empty{display:none}footer{border-top:1px solid var(--line);margin-top:40px;font-size:14px}.error{color:#a23120;font-weight:bold}details{padding:16px 0;border-bottom:1px solid var(--line)}summary{cursor:pointer;font-weight:bold;min-height:40px}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;font-size:14px}*:focus-visible{outline:3px solid #c3861d;outline-offset:4px}.help-layout{max-width:800px}.search{max-width:600px;margin:20px 0}.number{font-weight:900;color:#91aaa0;font-size:28px}.empty{padding:20px} @media(max-width:700px){.grid{grid-template-columns:1fr 1fr}.hero{grid-template-columns:1fr;gap:6px}.intro-map{padding:14px}.intro-map div{padding:5px}header,main,footer{padding:20px}.panel{padding:22px}.brand span{display:block;margin:0;font-size:13px}header nav{gap:12px;font-size:14px}}@media(max-width:440px){.grid{grid-template-columns:1fr}.steps span{padding:6px;font-size:12px}.actions>*{width:100%;text-align:center}.panel{padding:19px}main{padding:16px}.card{padding:23px}h1{font-size:33px}}@media print{header,footer,#status,.actions{display:none}body{background:white}.panel{border:0}main{max-width:none}textarea{height:auto}}
/* Keep filtered cards hidden even when the card layout uses display:flex. */
[hidden]{display:none!important}
