:root{--red:#df1f2d;--ink:#171717;--muted:#6d6d6d;--line:#e5e2de;--soft:#f6f3ef}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#fff;font-family:Pretendard,"Noto Sans KR",Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.skip-link{position:fixed;z-index:200;top:10px;left:10px;padding:11px 16px;border-radius:7px;background:#111;color:#fff;font-weight:800;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{height:82px;padding:0 max(28px,calc((100% - 1260px)/2));display:flex;align-items:center;border-bottom:1px solid var(--line);background:rgba(255,255,255,.97);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:16px;margin-right:auto}.brand img{width:158px}.brand span{font-size:22px;font-weight:800;padding-left:16px;border-left:1px solid #ccc}.site-header nav{display:flex;gap:34px;font-size:14px;font-weight:700}.site-header nav a:hover{color:var(--red)}.hero{min-height:470px;display:grid;grid-template-columns:minmax(420px,45%) 1fr;background:#eef0f2}.hero>div{padding:90px 54px 70px max(36px,calc((100vw - 1260px)/2));align-self:center}.hero small,.section-heading small,.article-detail header small,.admin-top small{color:var(--red);font-weight:800;letter-spacing:1.5px}.hero h1{font-size:clamp(34px,3.4vw,52px);line-height:1.18;letter-spacing:-2.5px;margin:20px 0}.hero p{max-width:600px;color:#555;line-height:1.75}.hero a{display:inline-block;margin-top:18px;font-weight:800}.hero img{width:100%;height:470px;object-fit:cover}.content-section{max-width:1260px;margin:auto;padding:72px 20px 100px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.section-heading h2{font-size:30px;margin:8px 0 0}.tabs{display:flex;gap:24px}.tabs a{padding-bottom:9px;border-bottom:2px solid transparent;font-weight:700}.tabs .active{color:var(--red);border-color:var(--red)}.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.article-card{border-top:1px solid #222;padding:14px 0 22px}.article-card img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px;background:#f3f3f3}.card-meta{display:flex;justify-content:space-between;margin:14px 0 10px;color:#999;font-size:12px}.card-meta span{color:var(--red);font-weight:800}.article-card strong{display:block;font-size:18px;line-height:1.45}.article-card p{color:#777;font-size:14px;line-height:1.6}.article-detail{max-width:920px;margin:auto;padding:82px 30px 120px}.article-detail header{text-align:center;max-width:780px;margin:0 auto 52px}.article-detail h1{font-size:clamp(34px,5vw,54px);line-height:1.2;letter-spacing:-2px;margin:22px 0}.lead{font-size:18px;line-height:1.75;color:#666}.byline{display:flex;justify-content:center;gap:18px;color:#888;font-size:13px}.article-detail figure{margin:0 0 54px}.article-detail figure img{width:100%;border-radius:18px}.article-detail figcaption{margin-top:10px;color:#888;font-size:13px;text-align:center}.article-body{max-width:760px;margin:auto;font-size:17px;line-height:2}.article-body h2{font-size:28px;line-height:1.4;margin:56px 0 18px}.article-body blockquote{margin:35px 0;padding:22px 28px;border-left:4px solid var(--red);background:var(--soft)}.back-link{display:block;margin:70px auto 0;padding-top:24px;border-top:1px solid var(--line);max-width:760px;font-weight:700}.site-footer{padding:45px max(20px,calc((100% - 1220px)/2));background:#191919;color:#fff;display:flex;justify-content:space-between}.site-footer span{color:#999}.not-found{text-align:center;padding:130px 20px}.admin-page main{max-width:1180px;margin:auto;padding:52px 24px 100px}.admin-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.admin-top h1{margin:8px 0 0;font-size:34px}.admin-top>div:last-child{display:flex;gap:20px;align-items:center}.admin-top a{font-weight:700}.flash{padding:15px 18px;margin-bottom:20px;border-radius:8px;background:#e7f5eb;color:#216e39}.flash.error{background:#fff0f0;color:#a52020}.admin-panel,.editor-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;margin-bottom:22px}.panel-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.button,button{display:inline-block;border:1px solid #ccc;border-radius:7px;padding:10px 16px;background:#fff;cursor:pointer}.primary{background:var(--red)!important;border-color:var(--red)!important;color:#fff!important}.admin-table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}th{background:#fafafa}.status{padding:4px 8px;border-radius:12px;background:#eee;font-size:12px}.status.published{background:#e7f5eb;color:#216e39}.status.trash{background:#fff0f0;color:#a52020}.text-button{border:0;padding:4px;color:#a52020}.empty-cell{text-align:center;padding:50px;color:#888}.editor-form{padding-bottom:74px}.editor-card h2{margin:0 0 20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid .wide{grid-column:1/-1}label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700}input,select,textarea{width:100%;border:1px solid #ccc;border-radius:7px;padding:11px 12px;background:#fff}textarea{min-height:90px;resize:vertical}.body-editor{min-height:420px;line-height:1.8}.upload-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;margin-bottom:18px}.help{color:#777;font-size:13px}.editor-actions{position:fixed;bottom:0;left:0;right:0;z-index:10;padding:14px max(24px,calc((100% - 1130px)/2));display:flex;justify-content:flex-end;gap:10px;background:#fff;border-top:1px solid var(--line)}#upload-message{margin:10px 0;color:#555;font-size:13px}@media(max-width:1050px) and (min-width:701px){.card-grid{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:minmax(340px,48%) 1fr}.hero>div{padding-left:32px}}@media(max-width:700px){.site-header{height:68px;padding:0 14px}.brand{gap:8px}.brand img{width:96px}.brand span{font-size:16px;padding-left:8px}.site-header nav{gap:12px;margin-left:10px}.site-header nav a{font-size:12px;white-space:nowrap}.hero{display:block;min-height:0}.hero>div{padding:46px 20px}.hero h1{font-size:32px;letter-spacing:-1.5px}.hero p{font-size:14px}.hero img{height:auto;min-height:220px;max-height:300px;object-fit:cover}.content-section{padding:44px 16px 70px}.section-heading{display:block}.tabs{gap:18px;margin-top:22px;overflow-x:auto}.tabs a{white-space:nowrap}.card-grid{grid-template-columns:1fr;gap:18px}.article-card strong{font-size:17px}.article-detail{padding:48px 18px 76px}.article-detail header{margin-bottom:34px}.article-detail h1{font-size:32px;letter-spacing:-1.2px}.lead{font-size:16px}.byline{flex-wrap:wrap}.article-detail figure{margin-bottom:36px}.article-detail figure img{border-radius:10px}.article-body{font-size:16px;line-height:1.9}.article-body h2{font-size:23px;margin-top:42px}.site-footer{display:block;padding:36px 20px}.site-footer span{display:block;margin-top:10px}.admin-page main{padding:32px 14px 80px}.admin-top{display:block}.admin-top>div:last-child{margin-top:15px}.form-grid,.upload-row{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.admin-table-wrap table{min-width:760px}}

.check-label{flex-direction:row;align-items:center;justify-content:flex-start}.check-label input{width:auto}

.admin-status-tabs{display:flex;gap:8px;margin-bottom:18px;overflow-x:auto}.admin-status-tabs a{display:flex;align-items:center;gap:7px;padding:10px 15px;border:1px solid #dedfe3;border-radius:20px;background:#fff;color:#65676d;font-size:13px;font-weight:700;white-space:nowrap}.admin-status-tabs a.active{border-color:var(--red);background:var(--red);color:#fff}.admin-status-tabs b{min-width:18px;padding:2px 5px;border-radius:10px;background:#0001;font-size:10px;text-align:center}.status.scheduled{background:#fff3dc;color:#9b6500}

.admin-section-nav{display:flex;gap:24px;margin:-8px 0 24px;border-bottom:1px solid var(--line)}.admin-section-nav a{padding:12px 2px 11px;border-bottom:2px solid transparent;color:#666;font-size:14px;font-weight:700}.admin-section-nav a.active{border-color:var(--red);color:var(--red)}.category-manager{padding:30px}.category-manager-head small{color:var(--red);font-size:10px;font-weight:800;letter-spacing:1.6px}.category-manager-head h2{margin:7px 0 8px;font-size:26px}.category-manager-head p,.category-manager-note p{margin:0;color:#73777f;font-size:13px;line-height:1.7}.category-add-form{display:grid;grid-template-columns:180px minmax(220px,1fr) 120px auto;align-items:end;gap:10px;margin-top:26px;padding:20px;border-radius:14px;background:#f6f7f9}.category-add-form label{display:grid;gap:8px}.category-add-form button{height:42px}.category-group{margin-top:28px}.category-group h3{margin:0 0 10px;font-size:17px}.category-list{border:1px solid #e2e4e8;border-radius:12px;overflow:hidden}.category-row{display:grid;grid-template-columns:minmax(0,1fr) 74px;align-items:center;min-height:62px;padding:0 16px;border-top:1px solid #eceef1}.category-row:first-child{border-top:0}.category-row-head{grid-template-columns:90px minmax(180px,1fr) 70px 90px 130px;min-height:42px;background:#f7f8fa;color:#747982;font-size:11px;font-weight:700}.category-edit-form{display:grid;grid-template-columns:90px minmax(180px,1fr) 70px 90px 64px;gap:10px;align-items:center}.category-edit-form>input{min-width:0}.category-edit-form input[type=number]{padding-left:8px;padding-right:8px}.category-check{display:flex;flex-direction:row;align-items:center;gap:7px}.category-check input{width:auto}.category-check span{font-size:12px}.category-count{color:#777;font-size:12px;text-align:center}.category-delete-form{margin-left:10px}.category-delete-form button{width:64px}.category-delete-form button:disabled{opacity:.35;cursor:not-allowed}.category-delete-form .danger{color:#b4232d}.category-private{background:#fafafa;color:#777d86}.category-manager-note{margin-top:18px;padding:16px 18px;border-left:3px solid var(--red);background:#fff7f7}.category-manager-note strong{display:block;margin-bottom:4px;font-size:12px}@media(max-width:800px){.category-manager{padding:18px}.category-add-form{grid-template-columns:1fr}.category-row-head{display:none}.category-row{grid-template-columns:1fr 60px;padding:14px 12px}.category-edit-form{grid-template-columns:76px minmax(120px,1fr) 55px 70px 58px;gap:6px}.category-delete-form{margin-left:4px}.admin-section-nav{overflow-x:auto}}

/* K뉴스 관리자 원본 레이아웃 */
.admin-page{background:#f5f6f8;color:#24272d}.admin-page>.site-header,.admin-page>.site-footer{display:none}.admin-page>main{max-width:none;margin:0;padding:0}.admin-shell{min-height:100vh;display:grid;grid-template-columns:230px minmax(0,1fr)}.admin-sidebar{position:sticky;top:0;height:100vh;padding:30px 18px 22px;background:#191b20;color:#fff;display:flex;flex-direction:column}.admin-brand{display:flex;flex-direction:column;gap:14px;padding:0 12px 30px;border-bottom:1px solid #34363c}.admin-brand img{width:135px;filter:brightness(0) invert(1)}.admin-brand strong{font-size:17px}.admin-sidebar nav{display:grid;gap:7px;padding-top:24px}.admin-sidebar nav,.admin-status-tabs{scrollbar-width:none}.admin-sidebar nav::-webkit-scrollbar,.admin-status-tabs::-webkit-scrollbar{display:none}.admin-sidebar nav a{display:flex;align-items:center;gap:11px;padding:13px 14px;border-radius:7px;color:#c6c8ce;font-size:13px;font-weight:650}.admin-sidebar nav a>span{width:18px;color:#858992;text-align:center;font-size:17px}.admin-sidebar nav a:hover,.admin-sidebar nav a.active{background:#2a2d34;color:#fff}.admin-sidebar nav a.active>span{color:#fff}.admin-site-link{display:flex;justify-content:space-between;margin-top:auto;padding:16px 14px;border-top:1px solid #34363c;color:#c6c8ce;font-size:13px}.admin-main{min-width:0;padding:38px 46px 92px}.admin-top{align-items:center;margin-bottom:28px}.admin-top h1{font-size:30px}.admin-user{display:flex;align-items:center;gap:13px}.admin-user>span{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:13px}.admin-user small{color:#8b8d92!important;font-size:11px;letter-spacing:0!important}.admin-user>i{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#292c32;color:#fff;font-size:14px;font-style:normal;font-weight:800}.admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.admin-stats>div{padding:22px 24px;border:1px solid #e2e3e6;border-radius:10px;background:#fff}.admin-stats small{display:block;margin-bottom:9px;color:#75777e}.admin-stats strong{font-size:30px}.admin-stats span{margin-left:4px;color:#999}.admin-welcome{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;padding:28px 30px;border:1px solid #e1e2e5;border-radius:10px;background:linear-gradient(110deg,#fff 0%,#fff7f7 100%)}.admin-welcome small{color:var(--red);font-weight:800;letter-spacing:1.2px}.admin-welcome h2{margin:8px 0;font-size:22px}.admin-welcome p{margin:0;color:#777;font-size:13px}.admin-panel{overflow:hidden;border-color:#e1e2e5;border-radius:10px;padding:0}.admin-status-tabs{margin-bottom:14px}.admin-toolbar{display:flex;gap:10px;padding:20px;border-bottom:1px solid #e6e7e9}.admin-toolbar input{flex:1;min-width:160px;height:42px}.admin-toolbar select{width:145px;height:42px}.admin-toolbar button{min-width:72px;border:0;background:#25282d;color:#fff}.admin-table-wrap table{table-layout:fixed}.admin-table-wrap th,.admin-table-wrap td{padding:15px 18px}.admin-table-wrap th:nth-child(1){width:88px}.admin-table-wrap th:nth-child(2){width:150px}.admin-table-wrap th:nth-child(4){width:165px}.admin-table-wrap th:nth-child(5){width:82px}.admin-table-wrap td>strong,.admin-table-wrap td>small,.admin-article-title strong,.admin-article-title small{display:block}.admin-table-wrap td>small,.admin-article-title small{margin-top:6px;overflow:hidden;color:#92949a;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.admin-article-title a{display:block;min-width:0}.admin-article-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-article-title a:hover strong{color:var(--red)}.admin-table-wrap .row-actions form{display:inline-block}.admin-table-wrap .row-actions button{padding:7px 10px;border:1px solid #d8d9dc;background:#fff;color:#444;font-size:12px}.admin-table-wrap .row-actions .text-button{color:#c72532;border-color:#efc7cb}.status{display:inline-block;min-width:48px;text-align:center}.status.draft{background:#f2f2f3;color:#666}.status.scheduled{background:#fff3dc;color:#9b6500}.status.trash{background:#f1f1f3;color:#656971}.flash{border:1px solid #cde7d4}.flash.error{border-color:#f1cfd2}.editor-form{max-width:1050px}.editor-card{border-color:#e1e2e5;border-radius:10px;padding:26px 30px}.editor-card h2{padding-bottom:16px;border-bottom:1px solid #ececef;font-size:18px}.editor-card input:focus,.editor-card select:focus,.editor-card textarea:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 2px rgba(223,31,45,.08)}.editor-actions{left:230px;padding-right:46px;background:rgba(255,255,255,.97)}
@media(max-width:980px){.admin-shell{grid-template-columns:190px minmax(0,1fr)}.admin-sidebar{padding-left:12px;padding-right:12px}.admin-main{padding:30px 24px 90px}.admin-stats{grid-template-columns:repeat(2,1fr)}.editor-actions{left:190px;padding-right:24px}.admin-table-wrap table{min-width:780px}}
@media(max-width:700px){.admin-page>main{padding:0}.admin-shell{display:block}.admin-sidebar{position:relative;width:100%;height:auto;padding:16px}.admin-brand{display:flex;flex-direction:row;align-items:center;gap:12px;padding:0 0 15px}.admin-brand img{width:105px}.admin-brand strong{padding-left:12px;border-left:1px solid #40434a;font-size:14px}.admin-sidebar nav{display:flex;gap:6px;overflow-x:auto;padding-top:14px}.admin-sidebar nav a{flex:0 0 auto;padding:10px 12px}.admin-site-link{position:absolute;top:17px;right:8px;margin:0;padding:9px;border:0;font-size:0}.admin-site-link span{font-size:18px}.admin-main{padding:26px 14px 86px}.admin-top{display:flex;align-items:center}.admin-top h1{font-size:25px}.admin-user>span{display:none}.admin-stats{gap:8px}.admin-stats>div{padding:16px}.admin-stats strong{font-size:24px}.admin-welcome{align-items:flex-start;padding:22px}.admin-welcome p{display:none}.admin-welcome .button{margin-left:15px;white-space:nowrap}.admin-toolbar{display:grid;grid-template-columns:1fr 76px}.admin-toolbar input{grid-column:1/-1}.admin-toolbar select{width:100%}.editor-card{padding:21px 18px}.editor-actions{left:0;padding:12px 14px}.category-manager{padding:18px}}

/* 관리자 권한 */
.access-manager{padding:30px}.admin-role-guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:24px}.admin-role-guide article{padding:20px;border:1px solid #e1e3e7;border-radius:10px;background:#fafbfc}.admin-role-guide b{font-size:15px}.admin-role-guide p{margin:8px 0 0;color:#72767e;font-size:13px;line-height:1.7}.access-table-wrap{padding:0 24px 24px;overflow:auto}.access-table-wrap td>strong,.access-table-wrap td>small{display:block}.access-table-wrap td>small{margin-top:5px;color:#8b8e95;font-size:11px}.role-badge{display:inline-block;padding:5px 9px;border-radius:12px;font-size:11px;font-weight:800}.role-badge.super{background:#fff0f2;color:#bf1724}.role-badge.general{background:#eef0f3;color:#5d626b}.admin-access-denied{display:flex;min-height:100vh;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;background:#f5f6f8}.admin-access-denied small{color:var(--red);font-size:11px;font-weight:900;letter-spacing:1.8px}.admin-access-denied h1{margin:14px 0 10px;font-size:36px}.admin-access-denied p{width:min(560px,100%);margin:0 0 26px;color:#6f737b;line-height:1.8;overflow-wrap:anywhere}
@media(max-width:700px){.access-manager{padding:18px}.admin-role-guide{grid-template-columns:1fr;padding:18px}.access-table-wrap{padding:0 18px 18px}.access-table-wrap table{min-width:680px}.admin-access-denied h1{font-size:29px}.admin-access-denied p{max-width:280px;word-break:keep-all}}

/* 기사 작성 워크플로 */
.type-chooser-background{min-height:290px}.article-type-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px;background:rgba(19,21,25,.68)}.article-type-dialog{width:min(760px,100%);overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 24px 70px #0005}.article-type-dialog>header{display:flex;justify-content:space-between;padding:34px;border-bottom:1px solid #e8e9ec}.article-type-dialog>header small,.editor-sheet-head small,.publish-result>small,.article-preview-dialog>header small{color:var(--red);font-size:10px;font-weight:900;letter-spacing:1.5px}.article-type-dialog h2{margin:10px 0 8px;font-size:25px}.article-type-dialog p{margin:0;color:#7b7e85;font-size:13px;line-height:1.6}.article-type-dialog>header>a{font-size:28px;color:#777}.article-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:28px 34px 34px}.article-type-grid>a{display:flex;min-height:270px;flex-direction:column;padding:25px;border:1px solid #dde0e5;border-radius:13px;transition:.18s}.article-type-grid>a:hover{transform:translateY(-3px);border-color:var(--red);box-shadow:0 12px 28px #00000012}.article-type-grid i{display:grid;place-items:center;width:48px;height:48px;margin-bottom:24px;border-radius:12px;background:#f0f1f3;font-size:22px;font-style:normal}.article-type-grid i.video{color:var(--red);background:#fff0f2}.article-type-grid i.audio{color:#c66d00;background:#fff1dc}.article-type-grid strong{font-size:20px}.article-type-grid p{margin:12px 0}.article-type-grid b{margin-top:auto;color:var(--red);font-size:12px}
.rich-editor-form{max-width:1080px}.editor-sheet-head{margin-bottom:20px}.editor-sheet-head h2{margin:8px 0 0;font-size:28px}.editor-step{padding:0}.editor-card-title{display:flex;gap:15px;padding:24px 28px;border-bottom:1px solid #eceef1}.editor-card-title>b{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;background:#202329;color:#fff;font-size:13px}.editor-card-title h3{margin:1px 0 5px;font-size:18px}.editor-card-title p{margin:0;color:#858890;font-size:12px}.editor-step>.form-grid,.editor-step>label,.editor-step>.image-auto-uploader,.editor-step>.representative-preview,.editor-step>.audio-uploader,.editor-step>.youtube-editor-preview,.editor-step>.rich-body-editor{margin:24px 28px}.form-grid.compact{gap:16px}.field-count{display:block;text-align:right;color:#96989d;font-weight:400}
.image-auto-uploader{display:flex;align-items:center;gap:18px;padding:20px;border:1px dashed #c9ccd2;border-radius:12px;background:#fafbfc}.image-auto-uploader input{max-width:280px}.image-auto-uploader strong{display:block;font-size:14px}.image-auto-uploader p{margin:5px 0 0;color:#7b7e85;font-size:12px}.image-auto-uploader .error,#youtube-message.error,#audio-message.error{color:#c72532}.representative-preview{position:relative;overflow:hidden;max-width:580px;aspect-ratio:16/9;border-radius:12px;background:#eff1f4}.representative-preview img{width:100%;height:100%;object-fit:contain}.representative-preview span{position:absolute;left:12px;bottom:12px;padding:6px 9px;border-radius:6px;background:#000a;color:#fff;font-size:11px}.representative-preview.empty{display:none}.youtube-editor-preview{display:grid;grid-template-columns:minmax(320px,55%) 1fr;gap:22px;align-items:center;padding:18px;border-radius:12px;background:#f6f7f9}.youtube-frame{aspect-ratio:16/9}.youtube-frame iframe{width:100%;height:100%;border:0}.youtube-editor-preview p{color:#777;font-size:12px}.audio-uploader{display:grid;grid-template-columns:180px 1fr;gap:24px;align-items:center;padding:22px;border:1px dashed #d4d6da;border-radius:12px}.audio-uploader>label input{position:absolute;width:1px;height:1px;opacity:0}.audio-uploader>label span{display:grid;place-items:center;height:48px;border-radius:8px;background:#24272d;color:#fff;cursor:pointer}.audio-uploader strong{display:block}.audio-uploader p{margin:6px 0;color:#7b7e85;font-size:12px}.audio-uploader audio{width:100%;margin-top:8px}
.rich-body-editor{overflow:visible;border:1px solid #dfe1e5;border-radius:12px}.rich-editor-toolbar{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;gap:5px;padding:10px;border-bottom:1px solid #dfe1e5;border-radius:12px 12px 0 0;background:#f7f8fa}.rich-editor-toolbar>span{width:1px;margin:3px 4px;background:#d4d6da}.rich-editor-toolbar button{min-width:38px;padding:7px 9px;border-color:#d8dade;border-radius:5px;font-size:12px}.rich-editor-toolbar button:hover{border-color:var(--red);color:var(--red)}.rich-editor-notice{margin:0!important;padding:10px 14px;border-bottom:1px solid #eceef1;color:#74777e;font-size:12px}.rich-editor-notice.error{color:#c72532}.rich-editor-canvas{min-height:430px;padding:30px;outline:0;font-size:16px;line-height:1.85}.rich-editor-canvas:empty:before{content:attr(data-placeholder);color:#a1a4aa}.rich-editor-canvas p{margin:0 0 18px}.rich-editor-canvas h2{margin:38px 0 15px;font-size:25px}.rich-editor-canvas blockquote{margin:28px 0;padding:18px 22px;border-left:4px solid var(--red);background:#f7f4f0}.rich-editor-canvas [data-highlight]{padding:17px 20px;border-radius:8px;background:#fff3d8}.rich-editor-canvas figure{margin:28px 0}.rich-editor-canvas figure img{max-width:100%;border-radius:9px}.rich-editor-canvas figcaption,.rich-editor-canvas [data-table-caption]{color:#858890;font-size:12px;text-align:center}.rich-editor-canvas table{width:100%;margin:28px 0;border-collapse:collapse}.rich-editor-canvas th,.rich-editor-canvas td{min-width:80px;border:1px solid #ccd0d6;padding:10px}.rich-editor-canvas th{background:#f0f2f5}.rich-editor-help{display:flex;justify-content:space-between;padding:12px 16px;border-top:1px solid #eceef1;color:#898c92;font-size:11px}
.article-preview-backdrop[hidden]{display:none}.article-preview-backdrop{position:fixed;inset:0;z-index:100;background:#eef0f3;overflow:auto}.preview-open{overflow:hidden}.article-preview-dialog{min-height:100vh;display:flex;flex-direction:column}.article-preview-dialog>header{position:sticky;top:0;z-index:4;display:flex;align-items:center;gap:25px;padding:18px 28px;border-bottom:1px solid #dfe1e5;background:#fff}.article-preview-dialog>header h2{margin:5px 0 0}.article-preview-dialog>header>div:first-child{margin-right:auto}.article-preview-dialog>header>button{border:0;font-size:26px}.preview-device{display:flex;gap:4px}.preview-device button.active{background:#26292f;color:#fff}.article-preview-workspace{display:grid;grid-template-columns:310px minmax(0,1fr);gap:30px;flex:1;padding:28px}.preview-check-panel{align-self:start;overflow:hidden;border:1px solid #dfe2e6;border-radius:11px;background:#fff}.preview-check-heading{display:flex;justify-content:space-between;padding:18px;border-bottom:1px solid #eceef1}.preview-check-panel>p{padding:0 18px 18px;color:#888;font-size:11px}.preview-check{display:flex;width:100%;gap:12px;border:0;border-bottom:1px solid #eceef1;border-radius:0;text-align:left}.preview-check>b{display:grid;place-items:center;flex:0 0 25px;height:25px;border-radius:50%;background:#fee8e9;color:#c72532}.preview-check.ok>b{background:#e4f5e9;color:#267240}.preview-check strong{display:block;font-size:12px}.preview-check p{margin:5px 0 0;color:#858890;font-size:11px}.preview-canvas{width:min(100%,1120px);margin:auto;overflow:hidden;border:1px solid #d5d8dd;border-radius:12px;background:#fff;box-shadow:0 15px 45px #1d263018;transition:.2s}.preview-canvas.mobile{width:390px}.preview-browser-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#eceef1}.preview-browser-bar i{width:8px;height:8px;border-radius:50%;background:#b6b9bf}.preview-browser-bar span{margin-left:9px;color:#777;font-size:10px}.preview-page{padding:55px max(24px,9%)}.preview-page>header{text-align:center}.preview-page>header span{color:var(--red);font-size:12px;font-weight:800}.preview-page>header h1{margin:18px 0;font-size:clamp(28px,4vw,46px)}.preview-page>header p{color:#6f7278;line-height:1.7}.preview-page>header small{color:#96989e}.preview-page>iframe{display:block;width:100%;aspect-ratio:16/9;margin:38px auto;border:0}.preview-hero-image{display:block;width:100%;margin:38px auto;border-radius:12px}.preview-audio-player{margin:38px 0;padding:25px;border-radius:12px;background:#f5f6f8}.preview-audio-player strong{display:block;margin-bottom:13px}.preview-audio-player audio{width:100%}.preview-article-body{max-width:760px;margin:42px auto;font-size:16px;line-height:1.9}.preview-article-body img{max-width:100%}.preview-article-body table{width:100%;border-collapse:collapse}.preview-article-body th,.preview-article-body td{border:1px solid #ddd;padding:10px}.preview-publish-bar{position:sticky;bottom:0;display:flex;align-items:center;gap:22px;padding:15px 28px;border-top:1px solid #dfe1e5;background:#fff}.preview-publish-bar>div:first-child{margin-right:auto}.preview-publish-bar span{display:block;margin-top:4px;color:#888;font-size:11px}.preview-publish-actions,.preview-schedule{display:flex;align-items:end;gap:8px}.preview-schedule label{min-width:240px}.publish-result{max-width:850px;padding:45px;border:1px solid #e0e2e6;border-radius:14px;background:#fff}.publish-result h2{font-size:32px}.publish-result>p{color:#74777e}.publish-preview{display:grid;grid-template-columns:220px 1fr;gap:25px;align-items:center;margin:30px 0;padding:22px;border-radius:12px;background:#f5f6f8}.publish-preview img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:9px}.publish-preview span{color:var(--red);font-size:11px;font-weight:800}.publish-preview h3{margin:8px 0}.publish-preview p{color:#74777e}.publish-audio-icon{display:grid;place-items:center;height:125px;border-radius:9px;background:#fff0dc;color:#c66d00;font-size:42px}.publish-result footer{display:flex;justify-content:flex-end;gap:10px}
@media(max-width:800px){.article-type-grid{grid-template-columns:1fr}.article-type-grid>a{min-height:190px}.article-preview-workspace{display:block;padding:14px}.preview-check-panel{margin-bottom:14px}.preview-canvas.pc{width:100%}.preview-publish-bar{align-items:stretch;flex-direction:column}.preview-publish-actions,.preview-schedule{justify-content:flex-end}.youtube-editor-preview,.audio-uploader{grid-template-columns:1fr}.rich-editor-toolbar{position:static}.rich-editor-help{display:block}.rich-editor-help span{display:block}.publish-result{padding:28px 20px}.publish-preview{grid-template-columns:1fr}.editor-step>.form-grid,.editor-step>label,.editor-step>.image-auto-uploader,.editor-step>.representative-preview,.editor-step>.audio-uploader,.editor-step>.youtube-editor-preview,.editor-step>.rich-body-editor{margin:18px}.image-auto-uploader{display:block}.image-auto-uploader input{max-width:none;margin-bottom:12px}}
.editor-input-backdrop{position:fixed;inset:0;z-index:130;display:grid;place-items:center;padding:20px;background:#17191d99}.editor-input-dialog{width:min(430px,100%);padding:25px;border-radius:13px;background:#fff;box-shadow:0 18px 55px #0004}.editor-input-dialog strong{display:block;margin-bottom:15px;font-size:15px}.editor-input-dialog>div{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}

.hero-tone-field{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:700}.hero-tone-control{display:flex;align-items:center;gap:10px}.hero-tone-control input[type=color]{flex:0 0 52px;width:52px;height:52px;padding:4px;border-radius:8px;cursor:pointer}.hero-tone-control button{height:42px}.hero-tone-field small{color:#777;font-size:12px;font-weight:400;line-height:1.5}

/* 관리자 히어로·기사·일정·로그 */
.dashboard-content-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.dashboard-content-grid>.admin-panel{min-width:0}.dashboard-ranking>header,.dashboard-recent>header{display:flex;align-items:end;justify-content:space-between;padding:22px 24px;border-bottom:1px solid #e8e9eb}.dashboard-ranking header small,.dashboard-recent header small{color:var(--red);font-size:10px;font-weight:900;letter-spacing:1.3px}.dashboard-ranking h2,.dashboard-recent h2{margin:6px 0 0;font-size:19px}.dashboard-ranking header>a,.dashboard-recent header>a{color:#73777f;font-size:11px;font-weight:700}.dashboard-ranking>div>a,.dashboard-recent>div>a{display:flex;align-items:center;gap:13px;min-height:67px;padding:11px 24px;border-bottom:1px solid #eceef0}.dashboard-ranking>div>a:last-child,.dashboard-recent>div>a:last-child{border-bottom:0}.dashboard-ranking>div>a>b{flex:0 0 26px;color:#b6b8bd;font-size:15px}.dashboard-ranking>div>a:first-child>b{color:var(--red)}.dashboard-ranking span,.dashboard-recent span{min-width:0;margin-right:auto}.dashboard-ranking strong,.dashboard-ranking small,.dashboard-recent strong,.dashboard-recent small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-ranking strong,.dashboard-recent strong{font-size:13px}.dashboard-ranking small,.dashboard-recent small{margin-top:5px;color:#8a8d94;font-size:10px}.dashboard-ranking em{color:#555;font-size:12px;font-style:normal;font-weight:800}.dashboard-recent i{font-style:normal}.dashboard-content-grid .admin-empty{padding:34px;text-align:center;color:#888;font-size:12px}
.admin-quick{padding:26px}.admin-quick h2{margin:0 0 18px}.admin-quick>div{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.admin-quick a{display:flex;flex-direction:column;gap:8px;padding:22px;border:1px solid #e1e3e7;border-radius:10px}.admin-quick a:hover{border-color:var(--red)}.admin-quick span{color:#777;font-size:12px}.admin-toolbar-rich{grid-template-columns:minmax(220px,1fr) 145px 155px auto}.admin-table-wrap table.selectable{min-width:960px}.admin-table-wrap table.selectable th:nth-child(1){width:48px}.admin-table-wrap table.selectable th:nth-child(2){width:auto}.admin-table-wrap table.selectable th:nth-child(3){width:135px}.admin-table-wrap table.selectable th:nth-child(4){width:115px}.admin-table-wrap table.selectable th:nth-child(5){width:85px}.admin-table-wrap table.selectable th:nth-child(6){width:175px}.admin-table-wrap table.selectable th:nth-child(7){width:145px}.admin-table-wrap input[type=checkbox]{width:auto}.inline-form{display:inline!important}.visibility-toggle{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border:0;border-radius:18px;font-size:11px}.visibility-toggle span{position:relative;width:28px;height:16px;border-radius:12px;background:#bbb}.visibility-toggle span:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff}.visibility-toggle.published{background:#e5f2e9;color:#216e39}.visibility-toggle.published span{background:#39a65c}.visibility-toggle.published span:after{left:14px}.visibility-toggle.private{background:#eee;color:#666}.status.private{background:#eee;color:#666}.bulk-bar{display:flex;align-items:center;gap:8px;padding:12px 20px;background:#282b31;color:#fff}.bulk-bar b{margin-right:auto}.bulk-bar button{padding:7px 11px}.trash-note{margin-bottom:14px;padding:17px 20px;border-left:3px solid var(--red);background:#fff}.trash-note p{margin:5px 0 0;color:#777;font-size:12px}.row-actions{white-space:nowrap}.row-actions>a{display:inline-block;padding:7px 10px;border:1px solid #d8d9dc;border-radius:7px;font-size:12px}.row-actions .danger{color:#b4232d;border-color:#efc7cb}
.hero-manager{padding:26px}.hero-manager-note{display:flex;align-items:center;gap:20px;padding:18px 20px;border-bottom:1px solid #e5e7ea;background:#f7f8fa}.hero-manager-note>div{margin-right:auto}.hero-manager-note strong{display:block}.hero-manager-note p{margin:5px 0 0;color:#777;font-size:12px}.hero-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:26px}.hero-columns h2{margin:0 0 14px;font-size:17px}.hero-admin-row{display:grid;grid-template-columns:24px 28px 76px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:76px;padding:10px;border:1px solid #e0e2e6;border-radius:9px;background:#fff}.hero-admin-row+.hero-admin-row{margin-top:8px}.hero-admin-row.dragging{opacity:.45}.hero-admin-row img{width:76px;height:54px;border-radius:6px;object-fit:cover;background:#eee}.hero-admin-row small,.hero-admin-row strong{display:block}.hero-admin-row small{margin-bottom:5px;color:#888;font-size:10px}.hero-admin-row strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.hero-admin-row button{padding:7px 9px;font-size:11px}.drag-handle{color:#999;cursor:grab}.featured-video{margin:0 26px 26px;padding:20px;border-radius:10px;background:#fff6f1}.featured-video label{display:grid;grid-template-columns:90px 1fr;align-items:center}.featured-video p{margin:10px 0 0 90px;color:#777;font-size:12px}
.schedule-calendar{padding:0 22px 25px}.schedule-calendar .hero-manager-note{margin:0 -22px 20px}.calendar-toolbar{display:flex;align-items:center;justify-content:center;gap:12px;margin:18px}.calendar-toolbar h2{min-width:170px;margin:0;text-align:center}.calendar-toolbar a{display:grid;place-items:center;min-width:38px;height:38px;border:1px solid #ddd;border-radius:7px}.calendar-toolbar .calendar-today{width:auto;padding:0 13px}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays b{padding:10px;text-align:center;font-size:12px}.calendar-cell{min-height:128px;padding:8px;border-top:1px solid #e3e5e8;border-left:1px solid #e3e5e8;background:#fff}.calendar-cell:nth-child(7n){border-right:1px solid #e3e5e8}.calendar-grid .calendar-cell:nth-last-child(-n+7){border-bottom:1px solid #e3e5e8}.calendar-cell.today time{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--red);color:#fff}.calendar-cell time{font-size:12px}.calendar-event{display:block;margin-top:6px;padding:6px;border-radius:5px;background:#eef7f0;font-size:10px}.calendar-event.scheduled{background:#fff2da}.calendar-event b,.calendar-event span,.calendar-event em{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-event em{margin-top:4px;color:#777;font-style:normal}.audit-log{padding:0 24px 20px}.audit-log .hero-manager-note{margin:0 -24px 5px}.audit-log>div:not(.hero-manager-note){display:grid;grid-template-columns:145px minmax(0,1fr) 150px;gap:18px;padding:15px 4px;border-bottom:1px solid #eceef1}.audit-log time,.audit-log small{color:#888;font-size:11px}.audit-log strong,.audit-log small{display:block}.audit-log span{font-size:12px;text-align:right}
.category-parent-tabs{display:flex;margin-top:24px;border-bottom:1px solid #ddd}.category-parent-tabs a{padding:12px 25px;border-bottom:2px solid transparent;font-weight:700}.category-parent-tabs a.active{border-color:var(--red);color:var(--red)}.category-manager>.category-add-form{grid-template-columns:minmax(220px,1fr) auto}.category-manager>.category-list .category-row{grid-template-columns:100px minmax(0,1fr) 70px}.category-manager>.category-list .category-row-head{grid-template-columns:100px minmax(0,1fr) 90px 140px}.category-manager>.category-list .category-edit-form{display:grid;grid-template-columns:minmax(0,1fr) 90px 80px;gap:12px}.category-order{display:flex;gap:5px}.category-order form{display:inline}.category-order button{padding:6px 10px}.category-name-visibility{display:flex;align-items:center;gap:10px}.category-name-visibility input[type=text],.category-name-visibility input:not([type]){min-width:120px}.category-name-visibility label{display:flex;flex-direction:row;align-items:center}.category-name-visibility input[type=checkbox]{width:auto}.category-row>form:last-child{margin-left:8px}
@media(max-width:980px){.dashboard-content-grid{grid-template-columns:1fr}.hero-columns{grid-template-columns:1fr}.admin-quick>div{grid-template-columns:1fr}.calendar-cell{min-height:105px}.calendar-event em{display:none}.audit-log>div:not(.hero-manager-note){grid-template-columns:125px minmax(0,1fr) 120px}}
@media(max-width:700px){.admin-sidebar nav a{font-size:0}.admin-sidebar nav a>span{font-size:17px}.admin-sidebar nav a.active{font-size:11px}.admin-quick{padding:18px}.admin-toolbar-rich{grid-template-columns:1fr 1fr}.hero-manager{padding:14px}.hero-manager-note{align-items:flex-start}.hero-columns{padding:18px 0}.hero-admin-row{grid-template-columns:20px 22px 58px minmax(0,1fr)}.hero-admin-row img{width:58px;height:44px}.hero-admin-row button{grid-column:4}.featured-video{margin:0;padding:16px}.featured-video label{grid-template-columns:1fr}.featured-video p{margin-left:0}.schedule-calendar{padding:0 8px 15px}.schedule-calendar .hero-manager-note{margin:0 -8px 15px}.calendar-cell{min-height:72px;padding:3px}.calendar-event{padding:4px}.calendar-event span{display:none}.calendar-weekdays b{padding:7px 2px}.audit-log{padding:0 14px}.audit-log>div:not(.hero-manager-note){grid-template-columns:1fr}.audit-log span{text-align:left}.category-manager>.category-list .category-row{grid-template-columns:75px minmax(0,1fr) 58px}.category-manager>.category-list .category-edit-form{grid-template-columns:1fr 55px}.category-manager>.category-list .category-edit-form .row-actions{grid-column:1/-1}.category-name-visibility{display:block}.category-name-visibility label{margin-top:5px}.category-row>form:last-child{margin-left:2px}}
.category-name-visibility label{white-space:nowrap}
@media(max-width:700px){.hero-manager>.hero-manager-note{flex-direction:column}.hero-manager>.hero-manager-note button{align-self:stretch;width:100%}}
@media(max-width:700px){.admin-main,.admin-panel{max-width:100%;min-width:0}.category-manager>.category-add-form{grid-template-columns:1fr}.category-manager>.category-add-form button{width:100%}.schedule-calendar .hero-manager-note{flex-direction:column}.schedule-calendar .hero-manager-note>a{align-self:stretch;text-align:center}.calendar-toolbar{gap:4px;margin:14px 0}.calendar-toolbar h2{min-width:130px;font-size:22px}.calendar-cell{min-width:0}.calendar-event{max-width:100%;overflow:hidden}}
@media(max-width:700px){.admin-page{overflow-x:hidden}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.category-add-form,.hero-columns,.featured-video{max-width:100%;min-width:0}}
@media(max-width:700px){.dashboard-ranking>header,.dashboard-recent>header{padding:19px 18px}.dashboard-ranking>div>a,.dashboard-recent>div>a{padding:11px 18px}.dashboard-ranking em{font-size:11px}}


.admin-menu-count{min-width:24px;margin-left:auto;padding:3px 7px;border-radius:12px;background:#3a3e47;color:#fff;font-size:11px;text-align:center}

/* 카테고리 관리 내부 여백과 열 정렬 */
.category-manager{padding:30px}.category-manager>.category-parent-tabs{margin:24px 0 0}.category-manager>.category-add-form{margin:24px 0;padding:20px}.category-manager>.category-list .category-row{grid-template-columns:100px minmax(0,1fr) 76px;column-gap:12px;min-height:70px;padding:10px 18px}.category-manager>.category-list .category-row-head{grid-template-columns:100px minmax(0,1fr) 90px 180px;min-height:44px;padding:0 18px}.category-manager>.category-list .category-edit-form{grid-template-columns:minmax(0,1fr) 90px 80px;align-items:center;gap:12px}.category-manager>.category-manager-note{margin-top:24px}
@media(max-width:700px){.category-manager{padding:18px}.category-manager>.category-add-form{margin:20px 0;padding:16px}.category-manager>.category-list .category-row{grid-template-columns:70px minmax(0,1fr) 58px;min-height:0;padding:14px 12px}.category-manager>.category-list .category-row-head{display:none}.category-manager>.category-list .category-edit-form{grid-template-columns:1fr 55px}.category-manager>.category-list .category-edit-form .row-actions{grid-column:1/-1}}
.admin-table-wrap table.article-management-table{width:100%;min-width:1080px;table-layout:fixed}
.admin-table-wrap table.article-management-table th:nth-child(1){width:48px}
.admin-table-wrap table.article-management-table th:nth-child(2){width:auto}
.admin-table-wrap table.article-management-table th:nth-child(3){width:135px}
.admin-table-wrap table.article-management-table th:nth-child(4){width:115px}
.admin-table-wrap table.article-management-table th:nth-child(5){width:85px}
.admin-table-wrap table.article-management-table th:nth-child(6){width:120px}
.admin-table-wrap table.article-management-table th:nth-child(7){width:175px}
.admin-table-wrap table.article-management-table th:nth-child(8){width:145px}

/* HTML 입력과 서버 검증을 거친 본문 */
.body-mode-controls{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px;border-bottom:1px solid #ddd}
.body-mode-controls button{width:auto;padding:9px 14px;border:1px solid #bbb;border-radius:5px;background:#fff;color:#222}
.body-mode-controls small{flex:1;min-width:220px;color:#666;font-size:12px;line-height:1.6}
.body-html-source{display:block;width:100%;min-height:480px;padding:20px;border:0;border-radius:0;resize:vertical;font:14px/1.7 Consolas,monospace;white-space:pre;overflow:auto}
#body-html-source[hidden],#body-editor[hidden],.rich-editor-toolbar[hidden]{display:none!important}
.article-html-content{max-width:100%;overflow-wrap:anywhere;overflow-x:auto;isolation:isolate}
.article-html-content table{max-width:100%}.article-html-content th,.article-html-content td{color:inherit;background:transparent}