@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans','Noto Sans KR',sans-serif;color:#17251e;background:#f5f6f0;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}a{color:inherit}.shell{max-width:1180px;margin:auto;padding:0 32px}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dce1d8}.brand{text-decoration:none;display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.08em;font-size:15px}.brand-mark{font-size:31px;color:#609773}.brand-light{font-weight:400}.header-note{color:#728076;font-size:13px}.hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:460px;padding:58px 0 68px;gap:28px}.hero-copy{display:flex;flex-direction:column;justify-content:center}.eyebrow,.step{color:#52805c;font-weight:800;letter-spacing:.15em;font-size:12px;text-transform:uppercase}.hero h1{font-size:clamp(46px,6vw,79px);line-height:1.13;letter-spacing:-.07em;margin:15px 0 23px;font-weight:800}.hero h1 em{font-style:normal;color:#568664}.hero-copy>p:not(.eyebrow){max-width:480px;line-height:1.85;color:#617067;font-size:16px}.hero-points{display:flex;gap:27px;margin-top:33px;color:#6a7a6d;font-size:12px;font-weight:700}.hero-art{min-height:330px;border-radius:28px;background:linear-gradient(145deg,#c4d8c2,#89ac91 60%,#628c71);position:relative;overflow:hidden;display:grid;place-items:center}.hero-art:after{content:"";position:absolute;width:460px;height:460px;border:1px solid #ffffff66;border-radius:50%;left:15%;top:17%}.cat-shape{font-size:98px;color:#f2efe2;letter-spacing:-.15em;position:relative;z-index:1;text-shadow:0 10px 30px #274d3444}.cat-shape span{font-size:72px;margin:0 8px}.art-label{position:absolute;bottom:25px;right:30px;text-align:right;color:#f3f9f1;font-size:11px;letter-spacing:.2em;line-height:1.6;font-weight:700}.workspace,.results{padding:48px 0 78px;border-top:1px solid #dce1d8}.section-heading h2{font-size:34px;letter-spacing:-.05em;margin:8px 0}.section-heading p{color:#708076;margin:0 0 30px;line-height:1.7}.upload-panel,.result-card{background:#fff;border:1px solid #e1e7dc;border-radius:22px;box-shadow:0 16px 40px #2c463b0b}.upload-panel{padding:22px}.drop-zone{min-height:244px;border:2px dashed #bbd0bd;border-radius:16px;background:#f9fbf6;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:8px;padding:20px;cursor:pointer;transition:.2s}.drop-zone:hover,.drop-zone.dragging{background:#eaf3e8;border-color:#61936b}.drop-icon{font-size:34px;color:#5e936a}.drop-zone strong{font-size:18px}.drop-zone small,.file-name{color:#75867b;font-size:13px}.file-name{margin-top:8px;font-weight:700;color:#496d55;word-break:break-all}#video-file{position:absolute;width:1px;height:1px;opacity:0}.upload-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 2px 0}.upload-actions p{max-width:460px;line-height:1.7;color:#77857a;font-size:13px;margin:0}.upload-actions button,.secondary-button{border:0;border-radius:10px;padding:14px 23px;background:#284c37;color:#fff;font-weight:700;white-space:nowrap}.upload-actions button:hover{background:#396b4c}.upload-actions button:disabled{opacity:.5;cursor:wait}.upload-actions button span{margin-left:18px}.secondary-button{margin-top:22px;background:#e6eee5;color:#284c37}.status{margin-top:20px;background:#eaf3e8;border-radius:12px;padding:17px 20px;color:#315c3b;line-height:1.6}.status.error{background:#fbece7;color:#9c4636}.result-card{padding:28px;margin:18px 0}.result-card h3{margin:0 0 12px;font-size:22px}.result-card p{color:#617067;line-height:1.75}.metric{font-size:42px;font-weight:800;color:#315f3e;letter-spacing:-.05em;margin:8px 0}.metric span{font-size:18px;color:#87968a}.note{font-size:13px;color:#78877c!important}.candidate-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:22px}.candidate{border:2px solid #dfe8dd;background:#fff;border-radius:14px;padding:8px;text-align:left;transition:.2s}.candidate:hover,.candidate.selected{border-color:#528d60;background:#eff7ed}.candidate img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.candidate span{display:block;padding:10px 3px 3px;font-size:13px;font-weight:700}.selected-frame{margin-top:24px;border-top:1px solid #e3eae0;padding-top:22px}.selected-frame img{max-width:100%;max-height:440px;object-fit:contain;border-radius:12px;background:#eff2eb}.selected-frame strong{display:block;margin:0 0 12px}.video-link{display:inline-block;margin-top:12px;font-weight:700;color:#416f4b}footer{border-top:1px solid #dce1d8;padding:32px 0 50px;display:flex;justify-content:space-between;gap:32px;color:#708076;font-size:12px;line-height:1.7}footer span{color:#284c37;font-weight:800;letter-spacing:.1em;white-space:nowrap}footer p{max-width:630px;margin:0;text-align:right}@media(max-width:720px){.shell{padding:0 18px}.site-header{height:70px}.header-note{display:none}.hero{display:block;padding:45px 0}.hero-art{min-height:220px;margin-top:34px}.hero-points{flex-wrap:wrap;gap:12px}.workspace,.results{padding:35px 0 58px}.upload-actions{display:block}.upload-actions button{width:100%;margin-top:16px}.candidate-grid{gap:7px}.candidate{padding:4px}.candidate span{font-size:11px}.result-card{padding:19px}footer{display:block}footer p{text-align:left;margin-top:13px}}
