:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#d9d9d9;--code-bg:#f4f3ec;--accent:#08f;--accent-bg:#0088ff1a;--accent-border:#0088ff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:"Pretendard", system-ui, "Segoe UI", Roboto, sans-serif;--heading:"Pretendard", system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#4da6ff;--accent-bg:#4da6ff26;--accent-border:#4da6ff80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{text-align:center;box-sizing:border-box;flex-direction:column;width:1126px;max-width:100%;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}#center{flex-direction:column;flex-grow:1;justify-content:flex-start;place-items:center;gap:25px;padding:64px 50px 32px;display:flex}.page{flex-direction:column;align-items:center;gap:50px;width:100%;display:flex}.page-nav{width:100%;max-width:950px}.page-nav-labels{width:100%;display:flex}.page-step-label{box-sizing:border-box;font:inherit;color:var(--border);cursor:pointer;text-align:center;white-space:nowrap;background:0 0;border:none;padding:0 0 10px;font-size:14px}.page-step-label.active{color:var(--text-h);font-weight:700}.page-step-label.disabled{cursor:not-allowed}.page-nav-track{width:100%;height:16px;position:relative}.page-step-line{background:var(--border);height:2px;position:absolute;top:50%;transform:translateY(-50%)}.page-step-line.filled{background:var(--accent)}.page-step-dot{box-sizing:border-box;border:2px solid var(--border);background:var(--bg);border-radius:50%;width:10px;height:10px;position:absolute;top:50%;transform:translate(-50%,-50%)}.page-step-dot.current{background:var(--accent);border:none;width:16px;height:16px}.page-step-dot.current:after{content:"";background:#fff;border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.category-page{max-width:1100px}.category-page-header{justify-content:center;align-items:center;gap:14px;width:100%;margin-top:30px;padding-bottom:16px;display:flex;position:relative}.category-page-header .landing-cta{width:150px;padding:7px 0;font-size:12px;position:absolute;top:0;right:0}.category-page-body{flex-wrap:wrap;align-items:flex-start;gap:24px;width:100%;display:flex}.thumbnail-grid{background:var(--code-bg);box-sizing:border-box;border-radius:16px;flex:480px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;max-height:560px;padding:16px;display:grid;overflow-y:auto}.thumbnail-item{aspect-ratio:1;background:var(--bg);box-sizing:border-box;border:3px solid #0000;border-radius:8px;overflow:hidden}.thumbnail-item img{object-fit:cover;cursor:pointer;width:100%;height:100%;display:block}.thumbnail-item.selected{border-color:var(--accent)}.selection-box{border:1px solid var(--accent);background:var(--accent-bg);pointer-events:none;z-index:1000;position:fixed}.thumbnail-fallback{text-align:center;height:100%;color:var(--text);word-break:break-all;cursor:pointer;justify-content:center;align-items:center;padding:4px;font-size:10px;display:flex}.category-page-side{flex-direction:column;flex:360px;gap:20px;display:flex}.category-side-panel{border:1px solid var(--border);box-sizing:border-box;border-radius:16px;padding:20px}.category-side-panel.highlighted{border:2px solid var(--accent)}.category-side-panel h3{color:var(--accent);margin:0 0 4px;font-size:20px}.category-side-panel p{color:var(--text);margin:0 0 16px;font-size:14px}.chip-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.chip{background:var(--border);color:var(--text-h);cursor:pointer;text-align:center;border:none;border-radius:12px;padding:10px 16px;font-size:14px;font-weight:700}.chip:hover{background:var(--accent-bg);color:var(--accent)}.recommend-chip{text-align:left;cursor:default;justify-content:space-between;align-items:center;gap:8px;display:flex}.chip-add-button{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;flex-shrink:0;padding:4px 10px;font-size:12px;font-weight:600;transition:opacity .2s}.chip-add-button:hover{opacity:.9}.chip-list{flex-direction:column;gap:10px;margin-top:16px;display:flex}.chip-row{background:var(--border);color:var(--text-h);border-radius:12px;justify-content:space-between;align-items:center;padding:10px 16px;font-size:14px;display:flex}.chip-row>span:first-child{font-weight:700}.chip-row .category-actions button{background:var(--bg)}.result-page{max-width:1100px}.result-page-header{width:100%;margin-top:30px;position:relative}.result-page-header .landing-cta{width:150px;padding:7px 0;font-size:12px;position:absolute;top:0;right:0}.result-sections{grid-template-columns:repeat(2,1fr);gap:24px;width:100%;display:grid}.result-section{border-radius:16px;padding:16px;transition:background .2s}.result-section.drag-over{background:var(--accent-bg)}.result-section-header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.result-section-header .chip{white-space:nowrap;text-overflow:ellipsis;cursor:default;width:180px;padding:4px 16px;overflow:hidden}.result-section-header .chip:hover{color:var(--text-h)}.result-thumb-grid{grid-template-columns:repeat(3,1fr);max-height:350px;overflow-y:auto}.classifying-page{align-items:center}.classifying-title{color:var(--text-h);text-align:center;margin:30px 0 24px;font-size:32px;font-weight:700}.tqdm-bar{border:3px solid var(--accent);background:var(--bg);box-sizing:border-box;border-radius:4px;width:480px;max-width:90vw;height:53px;overflow:hidden}.tqdm-bar-fill{background:var(--accent);height:100%;transition:width .3s}.tqdm-bar-percent{color:var(--accent);margin-top:12px;font-size:18px;font-weight:600}.upload-page{max-width:950px}.landing-page-body{text-align:center;flex-direction:column;align-items:center;gap:4px;width:100%;margin-top:30px;display:flex}.landing-heading{text-align:center;flex-direction:column;align-items:center;gap:20px;display:flex}.landing-title{color:var(--text-h);margin:0;font-size:28px;font-weight:700}.landing-subtitle{color:var(--text-h);margin:0;padding-bottom:16px;font-size:20px}.landing-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:80px;margin-top:12px;display:flex}.landing-dropzone{box-sizing:border-box;cursor:pointer;border-radius:20px;justify-content:center;align-items:center;width:320px;height:320px;transition:background .2s;display:flex;position:relative}.landing-dropzone.dragging{background:var(--accent-bg)}.folder-icon{object-fit:contain;width:320px;height:320px}.landing-dropzone-hint{color:#666;text-align:center;margin:0;font-size:15px;position:absolute}.landing-actions{flex-direction:column;gap:20px;width:200px;display:flex}.landing-reset{color:#fff;cursor:pointer;background:#b3b3b3;border:none;border-radius:20px;padding:10px 0;font-size:14px;font-weight:700;transition:opacity .2s}.landing-reset:hover{opacity:.9}.landing-cta{border:2px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;box-sizing:border-box;border-radius:20px;flex-shrink:0;width:200px;padding:10px 0;font-size:14px;font-weight:700;transition:opacity .2s}.landing-cta:hover{opacity:.9}.landing-cta:disabled{opacity:.6;cursor:not-allowed}.landing-cta.outline{color:var(--accent);background:0 0}.landing-cta.filling{background:linear-gradient(to right, var(--accent) var(--fill-percent,0%), transparent var(--fill-percent,0%));color:#fff;opacity:1;transition:background .2s}.upload-button-group{gap:8px;display:flex}.upload-button{color:var(--accent);background:var(--accent-bg);cursor:pointer;border:2px solid #0000;border-radius:6px;padding:8px 16px;font-size:16px;transition:border-color .2s}.upload-button:hover{border-color:var(--accent-border)}.upload-button:disabled{opacity:.6;cursor:not-allowed}.error-text{color:#d33}.category-form{gap:8px;display:flex}.category-form input{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;flex:1;padding:8px 12px}.category-actions button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;margin-left:8px;padding:4px 10px;font-size:14px}.category-actions button:hover{border-color:var(--accent-border);color:var(--accent)}.export-link{font:inherit;color:#fff;white-space:nowrap;cursor:pointer;background:#888;border:none;border-radius:6px;margin-left:auto;padding:4px 10px;font-size:12px;text-decoration:none;display:inline-block}.export-link:hover{background:#777}.image-modal-overlay{box-sizing:border-box;cursor:zoom-out;z-index:1000;background:#000c;justify-content:center;align-items:center;padding:32px;display:flex;position:fixed;inset:0}.image-modal-popup{background:var(--bg);box-sizing:border-box;box-shadow:var(--shadow);cursor:default;border-radius:12px;flex-direction:column;align-items:center;gap:12px;max-width:56vw;max-height:56vh;padding:16px;display:flex}.image-modal-close{border:1px solid var(--border);color:var(--text-h);cursor:pointer;background:0 0;border-radius:6px;flex:none;padding:8px 20px;font-size:14px}.image-modal-close:hover{border-color:var(--accent-border);color:var(--accent)}.image-modal-img{object-fit:contain;border-radius:6px;flex:auto;max-width:100%;min-height:0;max-height:100%;display:block}
