*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,'Noto Sans KR',sans-serif;color:#17243c;background:#f5f7fb}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer;border:0;background:#d72839;color:#fff;padding:11px 18px;border-radius:9px;font-weight:700}button:hover{filter:brightness(.93)}.wrap{max-width:1240px;margin:auto;padding-left:24px;padding-right:24px}.site-header{background:#fff;border-bottom:1px solid #e3e8f1;position:sticky;top:0;z-index:10;box-shadow:0 3px 20px #17243c08}.top{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:20px}.brand{font-size:26px;letter-spacing:-1.3px;font-weight:900;color:#164b91}.brand span{color:#d72839}.brand small{font-size:13px;letter-spacing:0;color:#74849b}.tagline{font-size:14px;color:#64748b}.nav{display:flex;gap:28px;align-items:center;min-height:49px;overflow:auto;white-space:nowrap}.nav a{font-size:14px;font-weight:700;padding:13px 0;border-bottom:3px solid transparent}.nav a:hover{color:#d72839;border-color:#d72839}.menu-toggle{display:none}.main{min-height:70vh;padding-top:35px;padding-bottom:80px}.hero{padding:70px 7%;border-radius:18px;background:linear-gradient(115deg,#123a72 0%,#195a9d 62%,#d72839 150%);color:white;position:relative;overflow:hidden}.hero:after{content:'';position:absolute;width:280px;height:280px;border:55px solid #ffffff12;border-radius:50%;right:-80px;top:-100px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:2px;color:#d72839}.hero .eyebrow{color:#ffb8c0}.hero h1{font-size:clamp(30px,4.5vw,54px);line-height:1.25;letter-spacing:-2px;margin:18px 0}.hero em{font-style:normal;color:#ffb9c0}.hero p{opacity:.9;line-height:1.8}.section-title{display:flex;justify-content:space-between;align-items:end;margin:50px 0 22px}.section-title h2{font-size:26px;margin:8px 0 0}.count{color:#718096;font-size:13px}.post-list{display:grid;gap:16px}.post-card{display:grid;grid-template-columns:220px minmax(0,1fr)115px;gap:25px;align-items:center;background:#fff;padding:16px;border:1px solid #e6eaf0;border-radius:13px;transition:transform .2s,box-shadow .2s}.post-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px #15355b14}.thumb{height:140px;border-radius:9px;overflow:hidden;background:linear-gradient(135deg,#164b91,#d72839);display:grid;place-items:center;color:white;text-align:center;font-weight:900;letter-spacing:2px}.thumb img{width:100%;height:100%;object-fit:cover}.category{color:#d72839;font-weight:800;font-size:12px}.post-copy h3{font-size:20px;margin:10px 0;line-height:1.4}.post-copy p{font-size:14px;line-height:1.65;color:#6b7890;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.post-meta{border-left:1px solid #e6eaf0;padding-left:16px;display:grid;gap:14px;color:#7a8798;font-size:12px}.empty{text-align:center;padding:80px;color:#7a8798;background:white;border-radius:12px}.pagination{display:flex;gap:8px;justify-content:center;margin:28px}.pagination a{background:white;border-radius:7px;padding:9px 13px}.pagination a.active{background:#164b91;color:white}.footer{background:#122b4c;color:white;padding:40px 0}.footer p,.footer small{color:#aebfd6;font-size:13px}.article-grid{display:grid;grid-template-columns:minmax(0,1fr)300px;gap:25px;align-items:start}.article,.sidebar,.panel{background:white;border:1px solid #e6eaf0;border-radius:13px;padding:30px}.article .back{display:block;margin-bottom:32px;color:#164b91;font-size:14px}.article h1{font-size:clamp(26px,3vw,38px);line-height:1.4;letter-spacing:-1px}.article-meta{color:#8792a4;font-size:13px;padding-bottom:26px;border-bottom:1px solid #edf0f4}.article-image{width:100%;max-height:470px;object-fit:cover;border-radius:10px;margin-top:26px}.article-body{line-height:2;font-size:16px;white-space:normal;overflow-wrap:anywhere;margin-top:30px}.sidebar{position:sticky;top:155px}.sidebar h2{font-size:19px;border-left:4px solid #d72839;padding-left:12px;margin-top:0}.sidebar a{display:grid;gap:9px;border-bottom:1px solid #edf0f4;padding:17px 0}.sidebar a strong{font-size:14px;line-height:1.5}.sidebar time{font-size:12px;color:#8b96a5}.reveal{opacity:0;transform:translateY(14px);transition:opacity .55s,transform .55s}.reveal.visible{opacity:1;transform:translateY(0)}.admin h1{margin:0 0 25px}.admin-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px}.panel{margin-bottom:20px}.panel h2{margin-top:0}.panel form:not(.inline-form):not(.logout){display:grid;gap:15px}.panel label{display:grid;gap:8px;font-size:14px;font-weight:700}.panel input,.panel textarea,.panel select{width:100%;border:1px solid #cfd8e5;border-radius:8px;padding:11px;background:#fff;color:#17243c}.panel textarea{resize:vertical}.panel button{justify-self:start}.inline-form,.admin-item,.actions{display:flex;gap:10px;align-items:center}.admin-item{justify-content:space-between;border-bottom:1px solid #edf0f4;padding:12px 0}.admin-item strong{font-size:14px}.admin-item small{display:block;color:#8290a2;margin-top:6px}.actions a{color:#164b91;font-weight:700}.danger{background:#f8e5e8;color:#a51f30;padding:8px 12px}.alert{background:#e7f5ed;padding:14px;border-radius:8px;margin-bottom:15px}.alert.error{background:#ffe8ea}.logout{text-align:right;margin-bottom:15px}.edit-thumb{max-width:160px;border-radius:8px}@media(max-width:850px){.article-grid,.admin-grid{grid-template-columns:1fr}.sidebar{position:static}.post-card{grid-template-columns:155px minmax(0,1fr);gap:15px}.thumb{height:120px}.post-meta{grid-column:2;border:0;padding:0;display:flex;gap:16px}.tagline{display:none}}@media(max-width:540px){.wrap{padding-left:16px;padding-right:16px}.top{min-height:66px}.brand{font-size:22px}.menu-toggle{display:block;background:#164b91;padding:8px 12px}.nav{display:none;flex-wrap:wrap;white-space:normal;gap:5px 20px;padding-bottom:10px}.nav.open{display:flex}.hero{padding:44px 25px}.hero h1{letter-spacing:-1px}.post-card{grid-template-columns:105px minmax(0,1fr);padding:10px;gap:12px}.thumb{height:100px}.post-copy h3{font-size:15px;margin:6px 0}.post-copy p{font-size:12px;-webkit-line-clamp:2}.post-meta{font-size:11px;gap:10px}.article,.sidebar,.panel{padding:20px}.article-body{font-size:15px}.section-title{margin-top:35px}}

/* Dark navy theme — blue/red accents, accessible light typography */
:root{color-scheme:dark;--bg:#10141c;--surface:#1b2230;--header:#151b26;--line:#303846;--text:#f8fafc;--muted:#b2bece;--blue:#4285f4;--red:#ef4444}
body{background:var(--bg);color:var(--text)}
a:hover{color:var(--blue)}
button{background:var(--red);color:#fff;transition:filter .2s,transform .2s}button:hover{filter:brightness(1.12);transform:translateY(-1px)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.site-header{background:var(--header);border-bottom-color:var(--line);box-shadow:0 3px 20px #0003}.brand{color:var(--blue)}.brand span{color:var(--red)}.brand small,.tagline{color:var(--muted)}
.nav a:hover,.nav a:focus-visible{color:var(--red);border-color:var(--red)}
.hero{background:linear-gradient(115deg,#18283f 0%,#17345c 65%,#4c1e32 120%);border:1px solid #34445d;color:var(--text)}.hero .eyebrow,.hero em{color:#ff8188}.hero p{color:#e1e9f5;opacity:1}
.eyebrow,.category{color:#ff6b74}.count,.post-copy p,.post-meta,.article-meta,.sidebar time,.admin-item small{color:var(--muted)}
.post-card,.empty,.pagination a,.article,.sidebar,.panel{background:var(--surface);border-color:var(--line);color:var(--text)}.post-card:hover{box-shadow:0 12px 32px #0006;border-color:#47628a}.post-meta{border-left-color:var(--line)}.thumb{background:linear-gradient(135deg,#2058a3,#a92d40)}
.pagination a.active{background:var(--blue);color:#fff}.footer{background:var(--header);border-top:1px solid var(--line);color:var(--text)}.footer p,.footer small{color:var(--muted)}
.article .back,.actions a{color:#7fb0ff}.article-meta,.sidebar a,.admin-item{border-bottom-color:var(--line)}.sidebar h2{border-left-color:var(--red)}
.panel input,.panel textarea,.panel select{background:#111925;border-color:#455166;color:var(--text)}.panel input::placeholder,.panel textarea::placeholder{color:#9caec5}.panel input:focus,.panel textarea:focus,.panel select:focus{border-color:var(--blue)}
.danger{background:#51212a;color:#ffbec4}.alert{background:#163d32;color:#c7f9df;border:1px solid #2c6854}.alert.error{background:#4a202b;color:#ffd6dc;border-color:#8d3a4d}
@media(max-width:850px){.post-meta{border-left:0}}@media(max-width:540px){.menu-toggle{background:var(--blue);color:#fff}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.reveal{opacity:1;transform:none}}

/* Anonymous comments and editor */
.comments{margin-top:3rem;border-top:1px solid #303846;padding-top:2rem}.comments form,.comment{background:#1b2230;border:1px solid #303846;border-radius:12px;padding:1.2rem;margin:1rem 0}.comments textarea{display:block;width:100%;margin:.6rem 0 1rem;background:#10141c;color:#fff;border:1px solid #303846;border-radius:8px;padding:.8rem}.comment small{margin-left:1rem;color:#b2bece}.comment p{white-space:pre-wrap;overflow-wrap:anywhere}.ck.ck-editor{color:#10141c;margin:.6rem 0 1rem}.ck-editor__editable{min-height:320px}.article-body img{max-width:100%;height:auto}.article-body{overflow-wrap:anywhere}.article-body a{color:#4285f4}
