:root{--ink:#102c32;--muted:#526b70;--bg:#f5f8f8;--paper:#fff;--edge:#dce7e9;--accent:#0d6d72;--accent2:#eefafa;--gold:#e5ac52;--shadow:0 12px 40px rgba(21,58,62,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Noto Sans KR',system-ui,'Malgun Gothic',sans-serif;color:var(--ink);background:var(--bg);line-height:1.7;word-break:keep-all}
a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #f2b76f;outline-offset:3px}
.wrap{max-width:1120px;margin:auto;padding:0 24px}.topline{height:7px;background:linear-gradient(90deg,#0d6970,#64c8bd,#f1c27f)}header{background:#fff;border-bottom:1px solid var(--edge);position:sticky;top:0;z-index:20}
.navrow{display:flex;align-items:center;justify-content:space-between;min-height:75px;gap:18px}.brand{display:inline-flex;align-items:center;gap:12px;color:var(--ink);font-weight:800;font-size:20px;letter-spacing:-.6px}.brand:hover{text-decoration:none}.brand-mark{display:flex;align-items:center;justify-content:center;width:39px;height:39px;background:var(--accent);border-radius:12px;color:#fff;font-size:18px}.brand small{display:block;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:1.8px}
nav{display:flex;align-items:center;flex-wrap:wrap;gap:15px}nav a{font-size:13px;color:#39565a;font-weight:700}.hero{padding:65px 0 56px;background:radial-gradient(circle at 92% 20%,#c8ede9 0,transparent 28%),linear-gradient(135deg,#eef8f6,#fdfbf7)}.eyebrow{font-size:12px;letter-spacing:2.4px;color:var(--accent);font-weight:800;text-transform:uppercase}.hero h1{font-size:clamp(32px,5vw,51px);line-height:1.28;margin:12px 0 20px;letter-spacing:-2px}.hero p{font-size:17px;color:#46656a;max-width:720px}.pill{display:inline-block;padding:8px 14px;border-radius:100px;background:#e9f3f2;border:1px solid #cde5e1;color:var(--accent);font-size:12px;font-weight:800;margin-right:8px;margin-bottom:8px}
.main{padding-top:36px;padding-bottom:58px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:var(--paper);border:1px solid var(--edge);border-radius:20px;padding:24px;box-shadow:var(--shadow)}.card h2,.card h3{margin:0 0 9px}.card h3{font-size:18px}.card p{font-size:14px;color:var(--muted);margin:0 0 16px}.card a{font-weight:800}.card .icon{font-size:28px;margin-bottom:12px}.section-title{font-size:26px;letter-spacing:-1px;margin:42px 0 18px}.section-sub{color:var(--muted);margin:-10px 0 20px;font-size:14px}
.pageintro{padding:45px 0 25px}.pageintro h1{font-size:clamp(26px,4vw,38px);line-height:1.35;letter-spacing:-1.2px;margin:7px 0 12px}.pageintro p{color:var(--muted);max-width:800px}.breadcrumbs{font-size:12px;color:var(--muted)}.breadcrumbs a{color:var(--muted)}
.panel{background:#fff;border:1px solid var(--edge);border-radius:22px;padding:28px;margin:0 0 22px;box-shadow:var(--shadow)}.panel h2{margin:0 0 10px;font-size:21px}.panel p{color:var(--muted)}.panel ul,.panel ol{padding-left:22px}
label{display:block;font-size:13px;color:#365359;font-weight:800;margin:13px 0 6px}.controls{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.controls>*{flex:1 1 200px}input,select,textarea{display:block;width:100%;padding:12px 14px;border:1px solid #b8cacc;border-radius:10px;background:#fff;color:var(--ink);font-family:inherit;font-size:16px}textarea{min-height:110px;resize:vertical}input[type=checkbox]{width:auto;accent-color:var(--accent)}.btn{border:0;background:var(--accent);color:#fff;font-size:14px;font-weight:700;font-family:inherit;display:inline-flex;justify-content:center;align-items:center;padding:12px 19px;border-radius:11px;cursor:pointer;min-height:46px}.btn:hover{filter:brightness(.9);text-decoration:none}.btn.ghost{background:#e6f2f1;color:var(--accent)}.btn.secondary{background:#f7f1e7;color:#89611e}.small{font-size:12px;color:var(--muted)}.alert{padding:15px 18px;background:#eef7f7;border-left:4px solid var(--accent);color:#37585e;border-radius:10px;margin:18px 0}.notice{background:#fff8ea;border-left-color:#e5a342}
.results{margin-top:20px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border-radius:100px;padding:6px 12px;background:#eef6f6;border:1px solid #d8eaea;font-size:13px;color:#2a6265;display:inline-block}.chip:hover{text-decoration:none;background:#d7eeee}.word-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:9px}.word-grid a,.word-grid span{padding:10px 12px;border-radius:10px;border:1px solid #e0eaea;background:#fbfdfd;font-size:14px;overflow-wrap:anywhere}
.statline{display:flex;gap:16px;flex-wrap:wrap}.stat{min-width:120px;background:#eaf6f4;border-radius:14px;padding:15px}.stat b{display:block;font-size:23px;color:var(--accent)}.stat span{font-size:12px;color:var(--muted)}
.steps{counter-reset:steps}.steps>li{margin-bottom:13px}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #dfebea;padding:11px 10px}th{background:#f0f7f7;font-size:12px;white-space:nowrap}td input{font-size:13px;padding:7px;min-width:110px}.example{background:#f5faf9;border:1px dashed #bad8d2;border-radius:13px;padding:17px;margin:20px 0}.callout{margin:22px 0;color:#486166;border-left:3px solid var(--gold);padding:8px 18px;background:#fff8ed}.links{display:flex;flex-wrap:wrap;gap:10px;margin:15px 0}.tag{font-size:11px;font-weight:800;padding:4px 8px;border-radius:8px;background:#e9f1ee;color:#28665f}
footer{background:#113a40;color:#c8ddde;padding:35px 0 48px;font-size:12px}footer a{color:#c8eeee}footer .footrow{display:flex;align-items:start;justify-content:space-between;gap:26px;flex-wrap:wrap}footer p{max-width:680px}#live-status{min-height:20px}.muted{color:var(--muted)}.hidden{display:none!important}.progress{height:8px;border-radius:8px;background:#d9e8e6;overflow:hidden}.bar{height:100%;background:#1b8785;width:0}.printhead{display:none}
body.haccp{--accent:#285c89;--accent2:#eff5fa;--ink:#1a3244;--muted:#5c6d7e;--edge:#dce5ec;--bg:#f5f8fb}body.haccp .topline{background:linear-gradient(90deg,#163956,#3478a7,#dca75d)}body.haccp .hero{background:radial-gradient(circle at 85% 20%,#d3e9fa,transparent 33%),linear-gradient(135deg,#eef6fb,#fafcfb)}body.haccp .stat{background:#eaf2f9}body.haccp .chip{background:#edf5fb;border-color:#d4e4ee;color:#235b85}body.haccp .bar{background:#326fa0}body.haccp footer{background:#102d46}body.haccp .alert{background:#ecf4fc}body.haccp .brand-mark{background:#285c89}
@media(max-width:760px){.wrap{padding:0 16px}.navrow{display:block;padding:12px 0}nav{margin-top:12px;gap:13px}.hero{padding:43px 0}.hero h1{letter-spacing:-1.2px}.grid,.grid.two{grid-template-columns:1fr}.panel{padding:18px}.main{padding-top:18px}.word-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card{padding:20px}.controls>*{flex:1 1 100%}}
@media print{header,footer,.noprint,.btn,nav,.topline{display:none!important}body{background:#fff;color:#111}.wrap{max-width:none}.panel,.card{box-shadow:none;border-radius:0}.printhead{display:block}main{padding:0!important}}
