:root{font-family:Inter,Pretendard,system-ui,sans-serif;color:#142033;background:#f4f7fb;font-synthesis:none}*{box-sizing:border-box;min-width:0}html,body,#root{margin:0;min-width:320px;max-width:100%;min-height:100%;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%}button,input,select{font:inherit}button,.primary{border:1px solid #cad3df;border-radius:10px;padding:.68rem .9rem;background:#fff;cursor:pointer}button:hover{border-color:#2266d3}.primary{background:#1f65d6;color:#fff;border-color:#1f65d6;display:inline-flex;align-items:center;justify-content:center}.app-shell{min-height:100vh;width:100%}.app-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:28px;width:100%;min-height:66px;padding:10px clamp(16px,3vw,36px);background:#101a2d;color:#dfe8f7;box-shadow:0 6px 20px #101a2d29}.brand{display:flex;flex-direction:column;flex:0 0 auto;line-height:1.05}.brand span{font-size:.62rem;letter-spacing:.2em;color:#70a9ff}.brand strong{font-size:1.15rem;white-space:nowrap}.primary-nav{margin-left:auto;width:min(620px,70vw);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.nav-item{width:100%;min-height:42px;padding:.62rem .35rem;border:0;border-radius:9px;color:#b9c5d8;background:transparent;display:flex;align-items:center;justify-content:center;white-space:nowrap;line-height:1;font-weight:700;font-size:.9rem}.nav-item:hover{color:#fff;border-color:transparent}.nav-item.active{color:#fff;background:#263958}.more-wrap{position:relative;width:100%}.more-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.more-menu{position:absolute;top:calc(100% + 8px);right:0;width:220px;max-width:calc(100vw - 20px);padding:8px;display:grid;gap:4px;border:1px solid #dce3ec;border-radius:12px;background:#fff;color:#25344b;box-shadow:0 16px 40px #101a2d33}.more-menu a{padding:.78rem .85rem;border-radius:8px;white-space:nowrap}.more-menu a.active{background:#e9f1ff;color:#1757b1;font-weight:800}.main{padding:32px clamp(14px,3vw,36px) 48px;max-width:1540px;width:100%;margin:0 auto}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:24px}h1{margin:0 0 8px;font-size:clamp(1.65rem,3vw,2.4rem)}h2{font-size:1.15rem;margin:28px 0 12px}h3,h4{margin-top:0}.page-header p,.section-heading p,.settings-panel p{margin:0;color:#657187}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.stats article,.detail-grid article,.panel,.topic-grid article,.recommendations article,.topic-card{background:#fff;border:1px solid #e2e7ef;border-radius:16px;box-shadow:0 8px 24px #15233a0a}.stats article{padding:20px}.stats span,.detail-grid span{color:#6c7789;font-size:.85rem}.stats strong,.detail-grid strong{display:block;font-size:1.65rem;margin-top:8px}.notice{margin:16px 0;padding:12px 16px;border-radius:12px;background:#eaf2ff;color:#24569a}.filters,.job-controls,.inline-form,.admin-key{display:flex;gap:10px;flex-wrap:wrap}.filters,.job-controls,.inline-form{margin-bottom:18px}input,select{border:1px solid #cfd7e4;border-radius:10px;background:#fff;padding:.72rem .8rem;min-height:44px}.filters input,.inline-form input{flex:1;min-width:min(220px,100%)}.job-controls label{display:grid;gap:4px;color:#5f6a7e;font-size:.8rem}.table-wrap{max-width:100%;overflow:auto;background:#fff;border:1px solid #e0e6ee;border-radius:14px}table{width:100%;border-collapse:collapse;min-width:920px}th,td{padding:12px 14px;border-bottom:1px solid #eef1f5;text-align:left;vertical-align:middle;font-size:.9rem}th{color:#69758a;font-size:.75rem;background:#fafbfd;position:sticky;top:0}td small{display:block;color:#8791a2;margin-top:4px}.video-cell a{display:flex;gap:10px;min-width:300px}.video-cell img{width:92px;height:54px;object-fit:cover;border-radius:8px;background:#e9edf3}.video-cell strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.score{display:inline-flex;min-width:46px;justify-content:center;padding:5px 8px;border-radius:999px;background:#edf4ff;color:#1d5ebd;font-weight:800}.empty,.error{padding:42px 20px;text-align:center;border:1px dashed #ccd5e2;border-radius:14px;color:#6d788a;background:#fff}.error{border-style:solid;border-color:#f3c1c1;background:#fff2f2;color:#9f2c2c}.detail-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.detail-grid article{padding:18px}.panel{padding:20px;margin-top:20px}.panel h2{margin-top:0}.chart{width:100%;min-height:300px}.topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.topic-grid article{padding:18px}.topic-grid h2{margin:0}.topic-grid article>div>span{color:#788397;font-size:.85rem}dl{display:grid;grid-template-columns:1fr auto;gap:9px;margin:18px 0 0}dt{color:#6f7a8c}dd{margin:0;font-weight:600}.recommendations{display:grid;gap:14px}.recommendations article{padding:20px;display:flex;gap:16px}.rank{flex:0 0 auto;font-weight:900;color:#1f65d6;font-size:1.15rem}.chips,.evidence{display:flex;gap:8px;flex-wrap:wrap}.chips span,.evidence a{padding:5px 9px;border-radius:999px;background:#eff3f8;font-size:.78rem}.evidence{margin-top:10px}.evidence a{background:#e7f0ff;color:#1d5ebd}.status{padding:5px 8px;border-radius:999px;background:#eef1f5}.status.completed{background:#e6f7ed;color:#197044}.status.failed{background:#ffe9e9;color:#9b3030}.status.running{background:#e7f0ff;color:#245ab0}.recommendation-overview{display:flex;gap:8px;flex-wrap:wrap;margin:-8px 0 22px}.recommendation-overview span{padding:7px 10px;border-radius:999px;background:#e8eef7;color:#536178;font-size:.8rem}.topic-section{margin-top:34px}.topic-section:first-of-type{margin-top:0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:13px}.section-heading h2{margin:0 0 5px;font-size:1.35rem}.topic-card-list{display:grid;gap:14px}.topic-card{overflow:hidden}.topic-section.top .topic-card{border-color:#cbdcff}.topic-section.rising .topic-card{border-color:#ccebd8}.topic-section.saturated .topic-card{border-color:#efdddd}.topic-card-main{padding:20px}.topic-card-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:13px}.topic-card-heading h3{margin:0 0 6px;font-size:1.15rem}.topic-card-heading p{margin:0;color:#5f6b7e;line-height:1.55}.topic-score{display:grid;justify-items:end;gap:5px;white-space:nowrap}.topic-score>span{color:#7a8496;font-size:.72rem}.topic-summary{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.topic-summary>span{padding:7px 10px;border-radius:9px;background:#f2f5f9;color:#5a6679;font-size:.8rem}.competition.낮음{background:#e7f7ed;color:#1c7044}.competition.보통{background:#fff4d9;color:#8b6410}.competition.높음{background:#ffe8e8;color:#9d3333}.representative-videos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.representative-videos a{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;padding:9px;border:1px solid #e5eaf1;border-radius:11px;background:#fbfcfe}.representative-videos img,.thumb-placeholder{width:92px;height:56px;object-fit:cover;border-radius:7px;background:#e8edf4}.representative-videos strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.83rem;line-height:1.35}.representative-videos small{display:block;margin-top:5px;color:#798496;font-size:.72rem}.topic-details{border-top:1px solid #e7ebf1;background:#fafbfd}.topic-details summary{padding:13px 20px;color:#2d609f;cursor:pointer;font-weight:700;font-size:.85rem}.topic-detail-grid{padding:0 20px 20px;display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);gap:28px}.topic-detail-grid dl{align-self:start}.title-ideas h4{margin:18px 0 8px}.title-ideas ol{margin:0;padding-left:1.35rem}.title-ideas li{padding:5px 0;line-height:1.45}.settings-panel{max-width:760px}@media(max-width:1050px){.stats{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:repeat(3,1fr)}.topic-grid{grid-template-columns:repeat(2,1fr)}.representative-videos{grid-template-columns:1fr}}@media(max-width:760px){.app-header{position:sticky;min-height:0;padding:7px 10px 9px;gap:6px;flex-wrap:wrap}.brand{width:100%;flex-direction:row;align-items:baseline;justify-content:center;gap:7px;height:22px}.brand span{font-size:.55rem}.brand strong{font-size:.95rem}.primary-nav{width:100%;margin:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.nav-item{min-height:38px;padding:.55rem .15rem;font-size:clamp(.72rem,3.5vw,.84rem)}.more-menu{top:calc(100% + 6px)}.main{padding:18px 12px 36px}.page-header{flex-direction:column;gap:12px;margin-bottom:18px}.page-header h1{font-size:1.65rem}.stats,.detail-grid,.topic-grid{grid-template-columns:1fr 1fr}.admin-key{width:100%}.admin-key input{flex:1}.topic-section{margin-top:28px}.section-heading h2{font-size:1.2rem}.topic-card-main{padding:15px}.topic-card-heading{grid-template-columns:auto minmax(0,1fr) auto;gap:8px}.topic-card-heading h3{font-size:1rem}.topic-card-heading p{font-size:.82rem}.topic-score>span{display:none}.topic-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.topic-summary>span{text-align:center;padding:7px 5px}.representative-videos{grid-template-columns:1fr;gap:7px;margin-top:12px}.representative-videos a{grid-template-columns:82px minmax(0,1fr);padding:7px}.representative-videos img,.thumb-placeholder{width:82px;height:50px}.topic-details summary{padding:12px 15px}.topic-detail-grid{grid-template-columns:1fr;gap:6px;padding:0 15px 16px}}@media(max-width:440px){.stats,.detail-grid,.topic-grid{grid-template-columns:1fr}.recommendations article{padding:15px}.topic-card-heading{grid-template-columns:auto minmax(0,1fr)}.topic-score{grid-column:2;justify-items:start;margin-top:3px}.topic-summary{grid-template-columns:1fr 1fr}}.home-topics{margin-top:30px}.home-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.home-topic-grid>a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:start;padding:18px;border:1px solid #dce4ef;border-radius:15px;background:#fff;box-shadow:0 8px 24px #15233a0a}.home-topic-grid h3{margin:0 0 6px}.home-topic-grid p{margin:0 0 9px;color:#5f6b7e;font-size:.85rem;line-height:1.5}.home-topic-grid small{color:#798496;line-height:1.4}@media(max-width:900px){.home-topic-grid{grid-template-columns:1fr}}@media(max-width:440px){.home-topic-grid>a{padding:14px}}
