:root{--primary:#000;--on-primary:#fff;--surface:#fff;--surface-variant:#f5f5f5;--outline:#e8e8e8;--outline-soft:#f0f0f0;--muted:#bbb;--secondary:#666;--font-en:"Inter",system-ui,-apple-system,sans-serif;--font-kr:"Pretendard Variable","Pretendard","Inter",system-ui,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--surface);color:var(--primary);font-family:var(--font-kr);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.app-shell{max-width:420px;margin:0 auto;padding:32px 20px 48px}.logo{font-size:21px;letter-spacing:-.01em}.logo,.section-label{font-family:var(--font-en);font-weight:500}.section-label{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin:0 0 24px;text-align:center}.divider{height:1px;background:var(--outline);border:0;margin:28px 0}.profile{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:32px;text-align:center}.avatar{width:88px;height:88px;border-radius:50%;background:#f0f0f0;flex:0 0 auto;object-fit:cover;border:1px solid var(--outline)}.profile-meta .handle{font-family:var(--font-en);font-size:15px;font-weight:600;color:#000;margin:0 0 6px}.profile-meta .tagline{font-size:13px;color:var(--secondary);line-height:1.6;margin:0}.column-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.card{display:block;border:1px solid var(--outline);border-radius:14px;background:#fff;overflow:hidden;transition:transform .15s ease}.card .card-body,.card .card-date,.card .card-title{transition:background-color .2s ease,color .2s ease}.card:hover,.card:hover .card-body{background:#000}.card:hover .card-date,.card:hover .card-title{color:#fff}.card:active{transform:scale(1.06)}.card-thumb{position:relative;width:100%;aspect-ratio:1350/1920;background:var(--surface-variant);border-bottom:1px solid var(--outline);overflow:hidden}.card-thumb img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.tag{position:absolute;top:12px;left:12px;font-family:var(--font-en);font-weight:500;font-size:9px;letter-spacing:.8px;text-transform:uppercase;padding:5px 10px;border-radius:20px;line-height:1}.tag-behind{background:#000;color:#fff;border:1px solid #fff}.tag-insight{background:#fff;color:#000;border:1px solid #000}.card-body{padding:13px}.card-date{font-family:var(--font-en);font-size:10px;color:var(--muted);margin:0 0 6px}.card-title{font-size:13px;line-height:1.55;margin:0}.card-title,.cta{font-weight:500;color:#000}.cta{display:block;width:100%;background:#fff;border:1px solid var(--outline);border-radius:11px;padding:13px 16px;font-size:14px;text-align:center;font-family:var(--font-kr);transition:background-color .2s ease,color .2s ease,transform .15s ease}.cta:hover{background:#000;color:#fff}.cta:active{transform:scale(1.05)}.cta+.cta{margin-top:10px}.channels{list-style:none;padding:0;margin:0}.channels li{border-bottom:1px solid var(--outline-soft)}.channels li:last-child{border-bottom:0}.channels a{display:flex;align-items:center;justify-content:center;padding:13px 2px;font-size:13px;transition:transform .15s ease}.channels .chev{display:none}.channels a:active{transform:scale(1.05)}.channels .chev{color:var(--muted);font-size:16px}.footer{margin-top:40px;font-family:var(--font-en);font-size:10px}.empty,.footer{color:var(--muted);text-align:center}.empty{font-size:12px;padding:28px 0;border:1px dashed var(--outline);border-radius:14px}.admin-shell{min-height:100vh;background:#f5f5f5;font-family:var(--font-kr)}.admin-login{max-width:360px;margin:15vh auto;background:#fff;border:1px solid var(--outline);border-radius:12px;padding:28px}.admin-login h1{font-family:var(--font-en);font-size:20px;margin:0 0 18px}.admin-login input,.form input,.form select,.form textarea{width:100%;padding:10px 12px;border:1px solid var(--outline);border-radius:8px;font-size:13px;font-family:inherit;background:#fff}.admin-login button,.btn{background:#000;color:#fff;border:0;border-radius:8px;padding:10px 14px;font-size:13px;font-weight:500}.btn.ghost{border:1px solid var(--outline)}.btn.danger,.btn.ghost{background:#fff;color:#000}.btn.danger{border:1px solid #000}.admin-layout{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.admin-sidebar{background:#fff;border-right:1px solid var(--outline);padding:24px 0}.admin-sidebar .brand{font-family:var(--font-en);font-weight:500;padding:0 24px 20px;font-size:18px;border-bottom:1px solid var(--outline)}.admin-sidebar nav{display:flex;flex-direction:column;padding-top:12px}.admin-sidebar nav a{padding:11px 22px;font-size:13px;color:#333;border-left:2px solid transparent}.admin-sidebar nav a.active{background:#f5f5f5;border-left-color:#000;font-weight:600;color:#000}.admin-sidebar .logout{margin-top:auto;padding:18px 22px 0}.admin-main{padding:32px 40px;max-width:900px}.admin-main h2{font-family:var(--font-en);font-size:20px;margin:0 0 6px}.admin-main .sub{color:var(--secondary);font-size:13px;margin:0 0 24px}.form{display:grid;grid-gap:14px;gap:14px;background:#fff;border:1px solid var(--outline);border-radius:12px;padding:22px}.form label{display:block;font-size:12px;font-weight:500;margin-bottom:6px;color:#333}.form .item,.form .row{display:grid;grid-gap:10px;gap:10px}.form .item{border:1px solid var(--outline);border-radius:10px;padding:14px;background:#fafafa}.form .item .inline{display:grid;grid-template-columns:1fr 1fr auto;grid-gap:8px;gap:8px;align-items:end}.form .item .inline.channel-row{grid-template-columns:minmax(120px,1fr) minmax(180px,2fr);grid-template-areas:"name url" "actions actions"}.form .item .inline.channel-row>:first-child{grid-area:name}.form .item .inline.channel-row>:nth-child(2){grid-area:url}.form .item .inline.channel-row>:nth-child(3){grid-area:actions;justify-self:end}.form .actions{display:flex;gap:8px;justify-content:flex-end;margin-top:6px}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#000;color:#fff;font-size:12px;padding:10px 16px;border-radius:8px}.preview-wrap{padding:24px}.preview-frame,.preview-wrap{background:#fff;border:1px solid var(--outline);border-radius:12px}.preview-frame{width:100%;height:780px}