:root{color-scheme:light;--ink:#172323;--muted:#53645f;--paper:#f6f5ef;--white:#fffefa;--line:#d9ddd4;--dark:#172323;--orange:#ffb272;--green:#245c49;--radius:15px;font:16px/1.6 system-ui,"Malgun Gothic",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);word-break:keep-all}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ca6b21;outline-offset:3px}a{color:#1a604d;text-underline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.24;letter-spacing:-.042em}svg{display:block}.wrap{width:min(1240px,calc(100% - 64px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
header{background:var(--dark);color:#ecf1e8;border-bottom:1px solid #3a4842}.top{display:flex;min-height:66px;align-items:center;justify-content:space-between;gap:12px}.brand{display:inline-flex;align-items:center;gap:10px;font-size:1rem;font-weight:780;letter-spacing:-.02em;color:inherit;text-decoration:none}.logo{width:29px;height:29px;border:1px solid #73897d;border-radius:7px;display:grid;place-items:center}.logo svg{width:18px;height:18px}.top button{background:none;color:inherit;border:1px solid #637267;border-radius:7px;padding:6px 12px;font-size:.85rem}
.hero{color:#f5f6ed;background:var(--dark);overflow:hidden}.hero-grid{min-height:340px;display:grid;grid-template-columns:1.18fr 1fr;gap:44px;align-items:center;padding-block:33px 38px}.eyebrow,.section-kicker,.card-code,.art-label{font-size:.75rem;font-weight:780;letter-spacing:.105em}.eyebrow{color:var(--orange);margin-bottom:16px}.hero h1{font-size:clamp(2.35rem,5vw,4.4rem);letter-spacing:-.073em;line-height:1.06;margin-bottom:16px}.hero h1 span{color:#b9d2c3}.hero p{max-width:550px;color:#d1ddd3;font-size:1rem}.stats{display:flex;gap:16px;flex-wrap:wrap;margin-top:22px;color:#e3ede4;font-size:.83rem}.stats span{border-left:2px solid #6d8375;padding-left:9px}.stats strong{color:#ffc88e;font-size:1rem}.hero-art{border:1px solid #506059;border-radius:15px;background:#243431;padding:11px;position:relative}.hero-art svg{width:100%;height:auto;border-radius:8px}.art-label{display:flex;justify-content:space-between;color:#d3dfd5;margin:8px 3px 0;letter-spacing:.055em}.art-label span:last-child{color:#e9b980}
.catalog{padding-block:36px 70px}.section-kicker{color:#34624f;margin-bottom:6px}.catalog h2{font-size:clamp(1.65rem,3vw,2.4rem)}.intro{color:var(--muted);margin-top:6px;font-size:.93rem}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:21px 0 16px}.tabs button,.switch button{border:1px solid var(--line);border-radius:8px;background:var(--white);padding:8px 13px;font-size:.88rem;font-weight:670;white-space:nowrap}.tabs button span{font-size:.76rem;margin-left:5px;color:var(--muted)}.tabs button[aria-pressed=true],.switch button[aria-pressed=true]{background:#24483c;color:white;border-color:#24483c}.tabs button[aria-pressed=true] span{color:#d5e8da}
.toolbar{display:flex;align-items:center;gap:9px;flex-wrap:wrap;border:1px solid var(--line);padding:9px;border-radius:12px;background:#eaece3}.search{display:flex;align-items:center;gap:8px;flex:1;min-width:210px;background:var(--white);border:1px solid var(--line);padding:0 10px;border-radius:7px}.search svg{width:16px;height:16px;flex:none;color:var(--muted)}.search input{width:100%;min-width:0;border:0;outline:none;padding:9px 0;background:none;font-size:.9rem}.search:focus-within{outline:2px solid #32634e}.search input:focus-visible{outline:none}.toolbar select{border:1px solid var(--line);border-radius:7px;background:var(--white);padding:8px;font-size:.85rem}.switch{display:flex;gap:4px}.switch button{padding:7px 9px;font-size:.82rem}.result-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:15px 0 8px;min-height:35px;font-size:.85rem;color:var(--muted)}.result-row strong{color:var(--ink)}.compare-open{border:1px solid #2d604c;background:#e9f0e6;color:#214b3a;border-radius:7px;font-size:.83rem;font-weight:750;padding:6px 11px}.compare-open:disabled{opacity:.62;cursor:default}
.group{margin-top:21px}.group-head{display:flex;gap:10px;align-items:baseline;margin-bottom:10px;border-bottom:1px solid var(--line);padding-bottom:7px}.group-head h3{font-size:1.15rem}.group-head span{font-size:.8rem;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.card{border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:var(--radius);background:var(--white);padding:15px;display:flex;flex-direction:column;min-height:225px}.card-head{display:flex;gap:8px;justify-content:space-between;align-items:center;margin-bottom:9px}.card-code{color:var(--muted)}.badge{display:inline-flex;align-items:center;line-height:1.3;padding:4px 7px;background:#ebeee5;color:#345142;border-radius:5px;font-size:.73rem;font-weight:720}.badge.priority{background:#ffeddb;color:#7f370f}.card h3{font-size:1.14rem;margin-bottom:8px}.card p{color:var(--muted);font-size:.88rem;flex:1}.card-price{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px;padding-top:10px;border-top:1px solid var(--line)}.card-price span{display:block;color:var(--muted);font-size:.73rem}.card-price b{font-size:.92rem;font-variant-numeric:tabular-nums}.actions{display:flex;gap:7px;margin-top:11px}.actions button{border-radius:7px;border:1px solid var(--line);font-size:.79rem;padding:6px 9px;background:var(--white);font-weight:700}.actions button:first-child{background:#243b34;color:#fff;border-color:#243b34}.actions button[aria-pressed=true],.pick[aria-pressed=true]{background:#e7f2e8;border-color:#50866b;color:#17543a}
table{border-collapse:collapse;text-align:left;width:100%;font-size:.86rem}th,td{border-bottom:1px solid var(--line);padding:11px;vertical-align:top}th{background:#e9eee4;font-weight:740;color:#25473b}td{background:var(--white)}tbody tr:last-child td{border-bottom:0}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:10px}.catalog-table{min-width:740px}.table-name{font-weight:750;background:none;border:0;padding:0;color:#1c5544;text-decoration:underline;text-underline-offset:3px;text-align:left}.pick{font-size:.75rem;border:1px solid var(--line);border-radius:6px;padding:4px 8px;background:#fff}.empty{border:1px dashed #a9b6a9;border-radius:12px;background:var(--white);padding:35px;text-align:center;color:var(--muted)}.empty button{background:#24483c;color:white;border:0;border-radius:7px;padding:6px 10px;margin-top:12px}
dialog{color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:17px;padding:0;width:min(820px,calc(100% - 32px));max-height:88dvh;box-shadow:0 25px 75px #0d221f4f}dialog::backdrop{background:#102521a6}dialog[open]{overflow:auto}.dialog-bar{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid var(--line);padding:11px 21px;color:var(--muted);font-weight:730;font-size:.82rem}.close{border:1px solid var(--line);background:var(--white);border-radius:7px;padding:4px 10px;font-size:.8rem}.dialog-body{padding:22px}.dialog-body h2{font-size:clamp(1.45rem,3vw,2.1rem);margin:8px 0 14px}.dialog-body h3{font-size:1rem;margin-bottom:5px}.box{padding:12px;background:var(--white);border:1px solid var(--line);border-radius:9px;font-size:.88rem}.box strong,.box span{display:block}.box span{color:var(--muted);font-size:.76rem}.detail-grid{display:grid;gap:13px;margin-block:18px}.detail-grid p,.note p{font-size:.91rem;color:var(--muted)}.dialog-body ul{margin:6px 0 16px;padding-left:20px}.dialog-body li{margin-block:4px}.dialog-body a{overflow-wrap:anywhere}.comparison{min-width:540px;table-layout:fixed}.comparison th:first-child{width:105px}.muted{color:var(--muted)}.detail-action{margin-top:12px}.note{padding:13px 15px;border-left:3px solid #668d74;background:#e8eee4;margin-block:12px}.footer{padding:18px 0 26px;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}.footer button{border:0;background:none;color:#245c49;text-decoration:underline;padding:0;font-size:inherit}
@media(max-width:960px){.wrap{width:calc(100% - 40px)}.hero-grid{gap:23px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.wrap{width:calc(100% - 30px)}.top{min-height:55px}.hero-grid{grid-template-columns:1fr;min-height:0;padding-block:27px 22px;gap:18px}.hero h1{font-size:2.65rem}.hero-art{max-width:430px}.stats{margin-top:14px}.catalog{padding-top:25px}.cards{grid-template-columns:1fr}.toolbar select{flex:1}.search{flex-basis:100%}.result-row{align-items:flex-start}.group-head{flex-wrap:wrap;gap:4px 9px}.dialog-body{padding:15px}.dialog-bar{padding-inline:15px}}
.review-control{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:9px;color:var(--muted);font-size:.8rem}.review-control select{font:inherit;font-weight:700;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:7px;padding:5px 7px}.review-control select[data-review-state=selected]{background:#e7f2e8;color:#17543a;border-color:#7ca98b}.review-control select[data-review-state=held]{background:#fff3d8;color:#75501b;border-color:#c7a468}.review-control select[data-review-state=discarded]{background:#f6e9e7;color:#843d36;border-color:#cba6a1}.review-feedback{margin:0 0 8px;color:var(--muted);font-size:.82rem}.review-feedback:empty{display:none}
.difficulty{background:#e7eef4;color:#234b64;white-space:nowrap}.difficulty[data-level=상]{background:#f4e5e1;color:#783a31}.difficulty[data-level=중]{background:#f7edd7;color:#67460e}.difficulty[data-level=하]{background:#e1efe7;color:#20583b}.audit-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:3px 0 10px;font-size:.78rem;color:var(--muted)}.audit-legend{margin:12px 0 16px;font-size:.88rem;color:var(--muted)}.audit-legend summary{cursor:pointer;font-weight:700;color:var(--ink)}.audit-legend p{margin:6px 0}.audit-detail{padding:12px 15px;background:#e8eee4;border-radius:8px}.audit-detail ul{margin-bottom:0}.audit-detail p + h3,.audit-detail ul + h3{margin-top:12px}.catalog-table{min-width:870px}
.catalog-table{min-width:1080px;table-layout:fixed}.catalog-table th:nth-child(1){width:17%}.catalog-table th:nth-child(2){width:18%}.catalog-table th:nth-child(3){width:22%}.catalog-table th:nth-child(4){width:24%}.catalog-table th:nth-child(5){width:13%}.catalog-table th:nth-child(6){width:6%}.catalog-table td{vertical-align:top}.catalog-table p,.business-cell p{margin:5px 0}.business-cell a{display:inline-block}.program-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:10px;margin:10px 0}.program-grid article{padding:12px 14px;background:var(--white);border:1px solid var(--line);border-radius:9px}.program-grid h3{font-size:1rem;margin:6px 0}.program-grid p{font-size:.82rem}.program-grid a{font-size:.82rem}.business-proof{font-weight:750;color:#234f40}
.card{position:relative}.card:hover,.card:focus-within{border-color:#7f9a8d;border-top-color:var(--accent)}.card-title{font:inherit;line-height:inherit;text-align:left;letter-spacing:inherit;color:var(--ink);border:0;background:none;padding:0}.card-title::after{position:absolute;inset:0;content:"";border-radius:var(--radius)}.card-footer{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:11px}.card-footer .pick,.card-review{position:relative;z-index:1}.card-review{align-self:flex-start}.card-open-hint{color:var(--green);font-size:.8rem;font-weight:760}.detail-tags,.detail-controls,.detail-nav{display:flex;flex-wrap:wrap;align-items:center;gap:7px}.detail-tags{font-size:.78rem}.detail-controls{justify-content:space-between;gap:10px}.detail-nav{margin-top:12px;padding:8px;background:#e9eee4;border:1px solid var(--line);border-radius:9px}.detail-nav button{background:var(--white);color:var(--green);border:1px solid var(--line);border-radius:7px;padding:5px 9px;font-size:.81rem;font-weight:720}
dialog:has(.project-detail){width:min(1160px,calc(100% - 32px));max-height:94dvh}
.project-detail{gap:19px}
.project-detail h3{font-size:1.11rem;margin:0 0 8px;scroll-margin-top:62px}
.detail-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.detail-panel{min-width:0;padding:15px 17px;background:var(--white);border:1px solid var(--line);border-radius:11px;overflow-wrap:anywhere}
.detail-highlight{background:#f0f5ee;border-color:#bdcdbd}
.detail-purpose{padding:10px 14px;margin-bottom:10px;border-left:3px solid #59836d;background:#e8efe5;border-radius:0 8px 8px 0}
.detail-purpose strong{font-size:.82rem;color:var(--green)}
.detail-purpose p{margin-top:2px;color:var(--ink)}
.difference-diagram{margin:10px 0 11px}
.diagram-baseline,.diagram-proposal{padding:10px 12px;border:1px solid var(--line);border-radius:9px}
.diagram-baseline{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 10px;background:var(--paper);margin-bottom:7px}
.diagram-baseline>span,.diagram-label,.diagram-input strong,.diagram-outcome strong{color:var(--ink);font-size:.76rem;font-weight:760}
.diagram-baseline p,.diagram-input p,.diagram-outcome p{font-size:.85rem;line-height:1.4}
.diagram-proposal{background:var(--white)}
.diagram-label{margin-bottom:7px;color:var(--green)}
.diagram-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.diagram-input{min-width:0;display:flex;align-items:flex-start;flex-wrap:wrap;gap:5px 8px;padding:8px;border-radius:7px}
.diagram-input svg{flex:none;width:39px;height:auto;margin-top:2px}
.diagram-input>div{flex:1 1 85px}
.diagram-eo{background:#eaf3ec}.diagram-ir{background:#f8eee9}
.diagram-outcome{display:flex;align-items:center;gap:9px;margin-top:8px;padding:7px 9px;background:#e3efe6;border-radius:7px}
.diagram-outcome p{color:#214434;font-weight:720}
.diagram-arrow{display:grid;place-items:center;flex:none;width:23px;height:23px;border-radius:50%;background:#27614d;color:white}
.difference-diagram figcaption{color:var(--muted);font-size:.71rem;margin-top:5px}
@media(max-width:380px){.diagram-inputs{grid-template-columns:1fr}}
.detail-panel h4{font-size:1rem;margin:0 0 7px}
.detail-lower h4,.detail-panel h5{color:var(--ink);font-size:.86rem;margin:12px 0 3px}
.detail-panel h4+h5{margin-top:0}
.detail-panel .numbers,.detail-sensors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0 12px}
.detail-panel .box{padding:9px 11px;background:var(--paper)}
.detail-panel .numbers .box{background:var(--white)}
.detail-sensors dt{font-weight:750;margin-bottom:3px}
.detail-sensors dd{margin:0;color:var(--muted)}
.detail-difficulty .badge{display:inline-block;margin-bottom:5px}
.detail-panel ul{margin-bottom:10px}
.detail-more{margin:10px 0 0;font-size:.87rem}.detail-more summary{cursor:pointer;color:var(--green);font-weight:720}.detail-more summary+p{margin-top:4px}
@media(max-width:740px){.detail-pair{grid-template-columns:1fr;gap:8px}}
@media(max-width:480px){dialog:has(.project-detail){width:calc(100% - 20px)}.detail-panel{padding:12px}.detail-panel .numbers,.detail-sensors{grid-template-columns:1fr}.detail-nav button{padding:4px 7px}}
