:root{font-family:Pretendard Variable,Pretendard,Noto Sans KR,Apple SD Gothic Neo,sans-serif;line-height:1.5;font-weight:400;color:#161616;background:#f3efe7;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{margin:0;min-width:320px;min-height:100vh}body{margin:0}button,input{font:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:340px 1fr;background:radial-gradient(circle at top left,rgba(255,151,92,.18),transparent 28%),radial-gradient(circle at bottom right,rgba(41,115,255,.14),transparent 22%),#f3efe7;color:#161616}.side-panel{padding:40px 28px;background:linear-gradient(180deg,#101f29,#0f2736 52%,#16384c);color:#f7f1e8;display:flex;flex-direction:column;gap:20px}.side-panel--mapping{background:linear-gradient(180deg,#101f29,#0f2736 52%,#16384c)}.side-panel--gl{background:linear-gradient(180deg,#132824,#153a33 48%,#1d5147)}.side-panel--vps{background:linear-gradient(180deg,#1d1724,#2a1f38 46%,#3d2a50)}.side-panel--admin{background:linear-gradient(180deg,#261915,#3a221f 48%,#523533)}.eyebrow,.section-tag{margin:0;letter-spacing:.16em;text-transform:uppercase;font-size:.72rem;font-weight:700}.side-panel h1,.panel-header h2,.detail-box h3,.result-card h3{margin:0;font-family:Pretendard Variable,Pretendard,Noto Sans KR,Apple SD Gothic Neo,sans-serif}.side-panel h1{font-size:clamp(2rem,4vw,3rem);line-height:1.12;letter-spacing:-.03em}.intro{margin:0;line-height:1.6;color:#f7f1e8c7}.mode-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tab-button{display:flex;align-items:center;justify-content:center;border:1px solid rgba(247,241,232,.18);border-radius:999px;padding:12px 16px;font:inherit;font-size:.95rem;font-weight:700;line-height:1.1;text-align:center;color:#f7f1e8;background:#f7f1e814;cursor:pointer}.tab-button.active{background:#fff0de;color:#182330;border-color:transparent}.tab-button:disabled{cursor:default;opacity:1}.base-url-field{display:grid;gap:8px}.base-url-field span{font-size:.82rem;color:#f7f1e8bd}.base-url-field input,.file-dropzone input{font:inherit}.base-url-field input{width:100%;border:1px solid rgba(247,241,232,.22);background:#f7f1e814;color:#fff;border-radius:16px;padding:14px 16px}.pid-chip{display:grid;gap:4px;padding:16px 18px;border-radius:18px;background:#f7f1e814;border:1px solid rgba(247,241,232,.16)}.pid-chip span{font-size:.8rem;color:#f7f1e8b8}.pid-chip strong{font-size:1.4rem}.step-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}.step-list li{padding:14px 16px;border-radius:18px;background:#f7f1e80f;color:#f7f1e88f;border:1px solid rgba(247,241,232,.08)}.step-list li.active{color:#fff;background:#f7f1e824;border-color:#f7f1e82e}.main-panel{padding:28px;display:block}.main-panel--mapping{background:transparent}.main-panel--gl{background:radial-gradient(circle at top right,rgba(92,214,185,.12),transparent 20%),transparent}.main-panel--vps{background:radial-gradient(circle at top right,rgba(161,108,255,.08),transparent 20%),transparent}.main-panel--admin{background:radial-gradient(circle at top right,rgba(255,132,88,.12),transparent 22%),transparent}.panel{width:100%;background:#ffffffd6;border:1px solid rgba(22,22,22,.08);border-radius:32px;padding:32px;box-shadow:0 18px 60px #3a2c1c14;display:grid;gap:24px}.panel-header{display:grid;gap:8px}.panel-header--split{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px}.panel-header p{margin:0;color:#5c5a57;line-height:1.6}.shortcut-divider{position:relative;display:flex;align-items:center;justify-content:center;color:#827b72;font-size:.84rem}.shortcut-divider:before,.shortcut-divider:after{content:"";flex:1;height:1px;background:#1616161f}.shortcut-divider span{padding:0 14px}.shortcut-card{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:20px 22px;border-radius:24px;background:linear-gradient(180deg,#fff8ef,#f5eddf);border:1px solid rgba(22,22,22,.08)}.shortcut-card strong,.selected-file strong,.upload-progress strong,.info-card strong,.summary-chip strong{font-family:Pretendard Variable,Pretendard,Noto Sans KR,Apple SD Gothic Neo,sans-serif}.shortcut-card p{margin:6px 0 0;color:#6b665f}.upload-form{display:grid;gap:18px}.upload-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.file-dropzone{display:grid;gap:8px;min-width:0;padding:24px;border:2px dashed #c2b6a3;border-radius:24px;background:linear-gradient(180deg,#fff8eeeb,#f8f2e6e6);overflow:hidden}.file-title{font-size:clamp(1rem,1.1vw,1.1rem);font-weight:700;line-height:1.3;word-break:keep-all;overflow-wrap:anywhere}.file-subtitle{color:#6a655f;line-height:1.55;word-break:keep-all;overflow-wrap:anywhere}.file-dropzone input[type=file]{display:block;width:100%;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis}.selected-file,.info-card,.detail-box,.result-card{border-radius:24px;border:1px solid rgba(22,22,22,.08)}.selected-file{padding:18px 20px;background:#fff;display:grid;gap:8px}.selected-file span{word-break:break-word}.option-group{gap:12px}.option-toggle{display:flex;align-items:flex-start;gap:10px;color:#413d38;line-height:1.5}.option-toggle input{margin-top:3px}.option-note{display:block;margin-top:4px;color:#6a655f}.form-input{width:100%;border:1px solid rgba(22,22,22,.12);background:#f8f4ec;color:#161616;border-radius:14px;padding:12px 14px}.upload-progress{display:grid;gap:10px;padding:16px 18px;border-radius:20px;background:#fff8ef;border:1px solid rgba(22,22,22,.08)}.upload-progress-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.upload-progress-bar{width:100%;height:12px;border-radius:999px;overflow:hidden;background:#e4d8c7}.upload-progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#e98b41,#1c4e80);transition:width .12s ease}.upload-progress small{color:#6a655f}.status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.info-card{padding:20px;background:#fffdfa;display:grid;gap:8px}.info-card span{color:#6b665f;font-size:.84rem}.info-card strong{font-size:1.25rem;word-break:break-word}.info-card small{color:#5c5a57;font-size:.9rem}.info-card.emphasis{background:linear-gradient(135deg,#fff0de,#ffe7ca)}.detail-box{padding:22px;background:#161616;color:#f6f3ee}.detail-box pre{margin:12px 0 0;white-space:pre-wrap;word-break:break-word;font-size:.88rem;line-height:1.6}.table-shell{overflow-x:auto;border-radius:24px;border:1px solid rgba(22,22,22,.08);background:#fff}.process-table{width:100%;border-collapse:collapse;min-width:1180px}.process-table th,.process-table td{padding:14px 16px;border-bottom:1px solid rgba(22,22,22,.08);text-align:left;vertical-align:top;font-size:.92rem}.process-table th{background:#faf5ec;color:#5b554c;font-size:.84rem;text-transform:uppercase;letter-spacing:.06em}.process-table tbody tr:hover{background:#fff8ef}.cell-wrap{max-width:240px;word-break:break-word}.gl-map-cell{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.gl-match-badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:4px 10px;border-radius:999px;background:#e7f4ea;color:#1f6a36;font-size:.76rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}.table-empty{text-align:center;color:#6b665f}.result-stack{display:grid;gap:16px}.result-card{padding:24px;background:linear-gradient(180deg,#fffdf8,#f2eadc);display:grid;gap:18px}.result-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.quality-badge{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 14px;border-radius:999px;font-size:.84rem;font-weight:700;letter-spacing:.02em}.quality-badge--pass{background:#e6f5e8;color:#1a6a2d}.quality-badge--retry{background:#fff0de;color:#a24d18}.result-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.result-summary-grid--gl{grid-template-columns:repeat(5,minmax(0,1fr))}.summary-chip{padding:16px 18px;border-radius:18px;background:#fff;border:1px solid rgba(22,22,22,.08);display:grid;gap:6px}.summary-chip span{color:#7b756d;font-size:.82rem}.summary-chip strong{font-size:1.05rem;word-break:break-word}.summary-message{margin:0;color:#4e4b45;line-height:1.6}.quality-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.quality-reason-list{display:flex;flex-wrap:wrap;gap:10px}.quality-reason-chip{display:inline-flex;align-items:center;padding:9px 12px;border-radius:999px;background:#e98b411f;color:#8a4a1f;font-size:.84rem;font-weight:600}.quality-details{padding:16px 18px;border-radius:18px;background:#ffffffb8;border:1px solid rgba(22,22,22,.08)}.quality-details summary{cursor:pointer;font-weight:700;color:#37332d}.quality-details pre{margin:14px 0 0;white-space:pre-wrap;word-break:break-word;font-size:.88rem;line-height:1.6}.memo-editor{display:grid;gap:12px;padding:18px;border-radius:20px;background:#ffffffb8;border:1px solid rgba(22,22,22,.08)}.memo-editor-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.memo-editor-header strong{font-size:.96rem}.memo-textarea{width:100%;min-height:120px;resize:vertical;border-radius:16px;border:1px solid rgba(22,22,22,.12);background:#fff;padding:14px 16px;font:inherit;color:#2d2a26;line-height:1.6}.memo-textarea:focus{outline:none;border-color:#1c4e8073;box-shadow:0 0 0 3px #1c4e801f}.result-download{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.result-media-grid{display:grid;gap:14px}.result-media-grid--single{grid-template-columns:1fr}.result-media-grid--dual{grid-template-columns:repeat(2,minmax(0,1fr))}.result-media-grid--triple{grid-template-columns:repeat(3,minmax(0,1fr))}.result-media-grid--quad{grid-template-columns:repeat(4,minmax(0,1fr))}.media-card{margin:0;overflow:hidden;border-radius:24px;border:1px solid rgba(22,22,22,.08);background:#fff;display:grid}.media-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid rgba(22,22,22,.08)}.media-card-head strong{font-size:.96rem;color:#2f2b26}.media-card img,.media-card video{width:100%;display:block}.media-card--square img{aspect-ratio:1 / 1;object-fit:contain;background:#ece7dc}.media-card-query-preview{display:grid;gap:8px;padding:12px 14px 0}.media-card-query-preview span{font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#7b7064}.media-card-query-preview img{border-radius:16px;border:1px solid rgba(22,22,22,.08);background:#f6f2ea;aspect-ratio:16 / 9;object-fit:contain}.media-card--wide img{max-height:460px;object-fit:contain;background:#f6f2ea}.media-card--video video{aspect-ratio:16 / 9;object-fit:contain;background:#101f29}.media-card figcaption{padding:12px 14px 14px;font-size:.92rem;color:#514d47}.media-card-empty{padding:22px 18px 24px}.result-empty{margin:0;color:#5c5a57}.gl-evidence-note{margin:8px 0 0;color:#5f5a52;line-height:1.6}.gl-evidence-grid{align-items:start}.gl-evidence-card{gap:0}.gl-evidence-caption{display:grid;gap:12px}.gl-evidence-meta{display:grid;gap:4px}.gl-evidence-meta span{color:#7b756d;font-size:.82rem}.gl-evidence-meta strong{color:#2f2b26;font-size:.96rem;word-break:break-word}.gl-evidence-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gl-evidence-metric{padding:10px 12px;border-radius:14px;background:#f6f2ea;border:1px solid rgba(22,22,22,.06);display:grid;gap:4px}.gl-evidence-metric span{color:#7b756d;font-size:.78rem}.gl-evidence-metric strong{color:#302b25;font-size:.96rem}.button-icon{display:inline-flex;align-items:center;justify-content:center;margin-right:6px;font-size:1rem;line-height:1}.action-row{display:flex;flex-wrap:wrap;gap:12px}.action-row--compact{justify-content:flex-end}.primary-button,.secondary-button,.ghost-button,.small-button{border:0;border-radius:999px;padding:14px 22px;font:inherit;font-weight:700;cursor:pointer;transition:transform .12s ease,opacity .12s ease}.small-button{display:inline-flex;align-items:center;justify-content:center;padding:9px 14px;font-size:.84rem;white-space:nowrap}.process-public-cell{text-align:center;vertical-align:middle}.switch{position:relative;display:inline-flex;width:46px;height:28px;cursor:pointer;vertical-align:middle}.switch-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.switch-slider{width:100%;height:100%;border-radius:999px;background:#d8d1c4;box-shadow:inset 0 0 0 1px #16161614;transition:background .16s ease;position:relative}.switch-slider:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #1616162e;transition:transform .16s ease}.switch-input:checked+.switch-slider{background:#1c4e80}.switch-input:checked+.switch-slider:after{transform:translate(18px)}.switch-input:focus-visible+.switch-slider{outline:2px solid rgba(28,78,128,.36);outline-offset:2px}.switch-input:disabled{cursor:not-allowed}.switch-input:disabled+.switch-slider{opacity:.55}.primary-button:hover,.secondary-button:hover,.ghost-button:hover,.small-button:hover{transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled,.small-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.primary-button{background:#1c4e80;color:#fff}.secondary-button{background:#a7342a;color:#fff}.ghost-button,.small-button{background:#ece5d9;color:#2d2a26}.error-text{margin:0;color:#b3291b;font-weight:600}@media (max-width: 1200px){.status-grid,.result-summary-grid,.quality-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 960px){.app-shell{grid-template-columns:1fr}.main-panel{padding:16px}.panel{padding:24px;border-radius:24px}.panel-header--split{grid-template-columns:1fr}.shortcut-card{grid-template-columns:1fr;display:grid}.upload-grid,.status-grid,.result-summary-grid,.quality-summary-grid,.result-media-grid--dual,.result-media-grid--triple,.result-media-grid--quad{grid-template-columns:1fr}}
