:root{color-scheme:light;--ink:#18201e;--muted:#64706c;--paper:#f4f3ed;--card:#fff;--accent:#116452;--line:#d8ddd8}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:system-ui,-apple-system,"Noto Sans KR",sans-serif}header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:16px max(20px,calc((100vw - 1100px)/2));background:#ffffffee;border-bottom:1px solid var(--line);backdrop-filter:blur(8px)}header b{font-size:20px}header small{display:block;color:var(--muted);margin-top:2px}main{width:min(1100px,calc(100% - 32px));margin:0 auto 72px}.hero{padding:70px 0 44px}.hero p{color:var(--accent);font-weight:700}.hero h1{max-width:760px;font-size:clamp(32px,6vw,64px);line-height:1.06;margin:12px 0}section{margin-bottom:52px}h2{font-size:24px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.card{display:block;min-height:190px;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--card);color:inherit;text-decoration:none;box-shadow:0 8px 26px #18372f0a}.card:hover{border-color:var(--accent);transform:translateY(-2px)}.card span{color:var(--accent);font-size:13px;font-weight:700}.card h3{line-height:1.4}.card p,.request p{color:var(--muted);line-height:1.6}.card.missing{opacity:.45;pointer-events:none}.request,.login form{display:grid;gap:16px;padding:24px;border-radius:18px;background:var(--card);border:1px solid var(--line)}label{display:grid;gap:8px;font-weight:700}input,select,textarea,button{font:inherit;border-radius:10px;border:1px solid var(--line);padding:12px}textarea{min-height:120px;resize:vertical}button{min-height:44px;background:var(--accent);color:white;border:0;font-weight:700;cursor:pointer}.quiet{background:transparent;color:var(--ink);border:1px solid var(--line)}.login{max-width:430px;margin-top:12vh}.login h1{font-size:42px;margin-bottom:6px}.login>p{color:var(--muted)}.error,.notice{padding:14px;border-radius:10px;background:#fff0e9;color:#8b3219}.notice{background:#e4f3ed;color:#155441}@media(max-width:600px){header{padding:12px 16px}.hero{padding:44px 0 28px}.grid{grid-template-columns:1fr}.request{padding:18px}}
