:root{color-scheme:light;--ink:#101418;--muted:#5e666d;--line:#d7d9d8;--paper:#fff;--canvas:#f1f2ef;--lime:#d7ff42;--green:#086b52;--navy:#151d2b;--orange:#ff6b2c;--shadow:#151d2b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Arial,"Noto Sans KR",sans-serif;line-height:1.48;letter-spacing:0}.topbar{height:70px;padding:0 max(22px,calc((100vw - 1240px)/2));display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.95);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.brand span{display:grid;place-items:center;width:40px;height:40px;background:var(--ink);color:var(--lime);font-size:12px;font-weight:900}.brand b{font-size:18px}.topbar nav{display:flex;gap:28px}.topbar nav a{color:var(--ink);text-decoration:none;font-weight:800;font-size:14px}main{max-width:1240px;margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(440px,.86fr);gap:62px;padding:66px 26px 80px}.intro{padding-top:24px}.eyebrow{font-size:12px;font-weight:900;color:var(--green);margin:0 0 14px;text-transform:uppercase}.intro h1{font-size:clamp(48px,6vw,82px);line-height:.98;margin:0 0 26px;max-width:760px}.intro h1 strong{color:var(--green)}.lead{max-width:700px;color:#424b52;font-size:20px;font-weight:600}.trust-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.trust-row span{border:1px solid #aeb3b1;background:#fff;padding:8px 12px;font-size:13px;font-weight:800}.upload{margin-top:32px;background:var(--paper);border:2px solid var(--ink);padding:24px;box-shadow:10px 10px 0 var(--shadow)}.form-title{display:flex;align-items:center;gap:12px;margin-bottom:16px}.form-title>span{display:grid;place-items:center;width:38px;height:38px;background:var(--lime);border:2px solid var(--ink);font-weight:900}.form-title b,.form-title small{display:block}.form-title b{font-size:18px}.form-title small{color:var(--muted);font-size:12px}.dropzone{position:relative;display:grid;place-items:center;gap:7px;padding:34px 20px;text-align:center;border:2px dashed #8d9697;background:#f5f7f5;cursor:pointer}.dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer}.dropzone span:not(.upload-icon),.consent,.form-status{font-size:13px;color:var(--muted)}.upload-icon{display:grid;place-items:center;width:48px;height:48px;background:var(--ink);color:var(--lime);font-size:28px;font-weight:900}.consent{display:flex;align-items:flex-start;gap:9px;margin-top:16px}.consent input{width:18px;height:18px;accent-color:var(--green)}.upload button{width:100%;border:2px solid var(--ink);padding:16px;margin-top:18px;background:var(--lime);color:var(--ink);font-weight:900;font-size:17px;cursor:pointer}.upload button:hover{background:#c7ef34}.upload button:disabled{opacity:.55;cursor:wait}.upload progress{width:100%;height:9px;margin-top:14px;accent-color:var(--green)}.form-status{min-height:20px;margin-bottom:0}.report{align-self:start;background:var(--navy);padding:18px;border:2px solid var(--ink);box-shadow:16px 16px 0 #c9d2d0}.report>*{background:var(--paper)}.report-head{display:flex;justify-content:space-between;align-items:center;padding:24px}.report h2{margin:0;font-size:34px}.status{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:2px solid var(--ink);font-weight:900;font-size:13px;white-space:nowrap}.status span{display:grid;place-items:center;width:20px;height:20px;background:#fff;border:1px solid currentColor}.status.idle{background:#eee}.status.uncertain{background:#ffe2a8}.status.clean{background:var(--lime)}.notice{margin:0;padding:18px 24px;border-top:1px solid var(--line);border-left:7px solid var(--orange)}.notice p{margin:4px 0 0;color:var(--muted);font-size:14px}.section-heading p{margin:0;color:var(--green);font-size:11px;font-weight:900}.section-heading h3{margin:2px 0 14px;font-size:22px}.checks{padding:22px 24px;border-top:1px solid var(--line)}.check-list{display:grid;gap:8px}.check{display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);background:#f7f8f6}.check>span{display:grid;place-items:center;width:36px;height:36px;border:2px solid var(--ink);font-weight:900}.check b{font-size:14px}.check p{margin:2px 0 0;color:var(--muted);font-size:12px}.check em{font-style:normal;font-weight:900;font-size:12px;padding:6px 8px;border:1px solid}.check.pass>span,.check.pass em{background:var(--lime)}.check.unavailable>span,.check.unavailable em{background:#e5e7e6;color:#596166}.check.fail>span,.check.fail em{background:#ffb39b}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:0;background:var(--ink);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}.metrics div{padding:16px;background:#fff}.metrics dt{color:var(--muted);font-size:11px;font-weight:800}.metrics dd{margin:3px 0;font-weight:900;font-size:16px}.evidence{padding:22px 24px}.evidence article{display:flex;gap:12px;padding:13px;margin-top:8px;background:#f5f7f5;border:1px solid var(--line)}.evidence-icon{display:grid;place-items:center;flex:0 0 30px;height:30px;background:var(--lime);border:1px solid var(--ink);font-weight:900}.evidence p{margin:3px 0;color:var(--muted);font-size:13px}.evidence code{font-size:10px;overflow-wrap:anywhere}.empty{color:var(--muted)}details{padding:0 24px 24px}summary{cursor:pointer;font-weight:900;padding-top:12px;border-top:1px solid var(--line)}details p{color:var(--muted);font-size:13px}.delete-button{width:calc(100% - 48px);margin:0 24px 24px;padding:12px;border:2px solid var(--ink);background:#fff;color:#8f2f23;font-weight:900;cursor:pointer}footer{display:flex;justify-content:center;gap:20px;padding:32px;background:var(--ink);color:#fff;font-size:13px}footer b{color:var(--lime)}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,.dropzone:focus-within{outline:3px solid var(--orange);outline-offset:3px}@media(max-width:820px){.topbar nav{display:none}main{grid-template-columns:1fr;padding:36px 16px 60px;gap:32px}.intro{padding:0}.intro h1{font-size:48px}.lead{font-size:17px}.upload{box-shadow:7px 7px 0 var(--shadow)}.report{box-shadow:7px 7px 0 #c9d2d0}.metrics{grid-template-columns:1fr}.report-head{align-items:flex-start;gap:12px}.check{grid-template-columns:34px 1fr auto}.check>span{width:32px;height:32px}footer{flex-direction:column;align-items:center;gap:4px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
