:root{--ink:#14181f;--muted:#6b7280;--brand:#6657ff;--soft:#f5f6fa}body{background:#f8f9fc;color:var(--ink);font-family:Inter,"Noto Sans KR",system-ui,sans-serif}.navbar-brand{letter-spacing:-.03em}.brand-dot{display:inline-block;width:.65rem;height:.65rem;border-radius:50%;background:linear-gradient(135deg,#ff537d,#6657ff);margin-right:.3rem}.eyebrow{font-size:.72rem;font-weight:800;letter-spacing:.15em;color:var(--brand);margin-bottom:.4rem}.btn-primary{background:var(--brand);border-color:var(--brand)}h1{font-weight:800;letter-spacing:-.045em}.card{border-color:#e8eaf1;border-radius:1rem}.project-card{transition:.2s}.project-card:hover,.video-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(31,35,48,.08)}.metric-row{display:flex;gap:1rem;color:var(--muted);font-size:.9rem}.metric-row b{color:var(--ink)}.empty-state{text-align:center;padding:5rem 1rem;background:#fff;border:1px dashed #d8dbe5;border-radius:1rem;color:var(--muted)}input[type=text],input[type=number],select,textarea{display:block;width:100%;padding:.7rem .85rem;border:1px solid #d8dbe5;border-radius:.65rem;background:#fff}.platform-checks ul{display:flex;list-style:none;padding:0;gap:1rem}.platform-checks label{border:1px solid #d8dbe5;border-radius:.7rem;padding:.65rem 1rem}.platform-pill{display:inline-flex;padding:.25rem .5rem;border-radius:999px;background:#eceef5;font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.platform-pill.tiktok{background:#191919;color:#fff}.platform-pill.youtube{background:#ffebeb;color:#e10000}.status{padding:.5rem .8rem;border-radius:999px;background:#eee;font-weight:700}.status-completed{background:#dff8e8;color:#087735}.status-partial{background:#fff1ce;color:#875f00}.status-failed{background:#ffe0e0;color:#a71919}.filter-bar{background:#fff;padding:1rem;border:1px solid #e7e9f0;border-radius:1rem}.filter-bar label{font-size:.72rem;font-weight:700;color:var(--muted);margin-bottom:.3rem}.video-card{overflow:hidden;transition:.2s}.thumb-wrap{position:relative;display:block;aspect-ratio:9/12;background:#e9ebf2;overflow:hidden}.thumb-wrap img,.detail-thumb img{width:100%;height:100%;object-fit:cover}.thumb-wrap .platform-pill,.detail-thumb .platform-pill{position:absolute;top:.7rem;left:.7rem}.duration{position:absolute;right:.7rem;bottom:.7rem;background:#000b;color:#fff;border-radius:.35rem;padding:.2rem .4rem;font-size:.72rem}.line-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.4em}.creator{font-size:.78rem;color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(3,1fr);font-size:.7rem;color:var(--muted);gap:.3rem}.stats b{display:block;color:var(--ink);font-size:.82rem}.trend{margin-top:1rem;font-size:.72rem;color:var(--muted)}.trend strong{float:right;color:var(--brand)}.progress{height:4px;background:#eceef4;margin-top:.35rem}.progress div{height:100%;background:linear-gradient(90deg,#33c5ff,#6657ff)}.detail-thumb{position:relative;aspect-ratio:9/12;max-height:650px;border-radius:1rem;overflow:hidden;background:#eee}.score-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem}.score-grid div{background:#fff;border:1px solid #e6e8ef;border-radius:.8rem;padding:1rem}.score-grid small,.score-grid b{display:block}.score-grid small{color:var(--muted)}.product-preview-modal .modal-dialog{max-width:min(90vw,1400px)}.product-preview-modal .modal-content{height:88vh}.product-preview-modal .modal-body{display:flex;flex-direction:column;min-height:0}.product-preview-frame{width:100%;flex:1;min-height:65vh;border:1px solid #d8dbe5;border-radius:.5rem;background:#fff}.zh-keyword-list{display:grid;gap:.4rem}.zh-keyword-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem .65rem;border:1px solid #e6e8ef;border-radius:.5rem;background:#f9fafc}.zh-keyword-row span{word-break:break-word}@media(max-width:576px){.score-grid{grid-template-columns:repeat(2,1fr)}.product-preview-modal .modal-content{height:92vh}.product-preview-frame{min-height:58vh}.zh-keyword-row{align-items:flex-start;flex-direction:column}}
