*{box-sizing:border-box}
:root{
  --c-fg:#1d1d1f;
  --c-mut:#888;
  --c-sub:#444;
  --c-border:#e5e5ea;
  --c-bg:#fff;
  --c-bg-alt:#fafafa;
  --c-hover:#f2f2f4;
  --c-card:#fff;
  --c-accent:#c64a6b;
  --c-accent-soft:rgba(198,74,107,.08);
  --c-like:#e0245e;
  --radius-card:10px;
  --radius-lg:14px;
  --shadow-card:0 1px 3px rgba(0,0,0,.05),0 8px 24px rgba(0,0,0,.04);
  --shadow-hover:0 2px 6px rgba(0,0,0,.08),0 14px 32px rgba(0,0,0,.06);
  --font-display:"Noto Serif KR",ui-serif,Georgia,"Times New Roman",serif;
  --space-1:.4rem;
  --space-2:.8rem;
  --space-3:1.2rem;
  --space-4:1.8rem;
  --space-5:2.6rem;
}
html[data-theme="dark"]{
  --c-fg:#f0f0f3;
  --c-mut:#8a8a93;
  --c-sub:#cccccf;
  --c-border:#2c2c32;
  --c-bg:#0f0f11;
  --c-bg-alt:#17171b;
  --c-hover:#1f1f24;
  --c-card:#17171b;
  --c-accent:#e57aa0;
  --c-accent-soft:rgba(229,122,160,.12);
  --c-like:#ff5078;
  --shadow-card:0 1px 3px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.5);
  --shadow-hover:0 2px 6px rgba(0,0,0,.5),0 14px 32px rgba(0,0,0,.6);
}
@media (prefers-color-scheme:dark){
  html:not([data-theme="light"]):not([data-theme="dark"]){
    --c-fg:#f0f0f3;
    --c-mut:#8a8a93;
    --c-sub:#cccccf;
    --c-border:#2c2c32;
    --c-bg:#0f0f11;
    --c-bg-alt:#17171b;
    --c-hover:#1f1f24;
    --c-card:#17171b;
    --c-accent:#e57aa0;
    --c-accent-soft:rgba(229,122,160,.12);
    --c-like:#ff5078;
    --shadow-card:0 1px 3px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.5);
    --shadow-hover:0 2px 6px rgba(0,0,0,.5),0 14px 32px rgba(0,0,0,.6);
  }
}
body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans KR",sans-serif;color:var(--c-fg);font-size:14px;line-height:1.6;background:var(--c-bg);transition:background-color .15s,color .15s}
a{color:var(--c-fg);text-decoration:none}
a:hover{text-decoration:underline}
.icon{flex-shrink:0;display:inline-block;vertical-align:middle}
.muted{color:var(--c-mut)}
img{max-width:100%;height:auto}

.container{max-width:1200px;margin:0 auto;padding:0 1.2rem;padding-left:max(1.2rem,env(safe-area-inset-left));padding-right:max(1.2rem,env(safe-area-inset-right))}

/* Header */
.site-top{border-bottom:1px solid var(--c-border);background:var(--c-bg);position:sticky;top:0;z-index:20}
.site-top .container{display:flex;align-items:center;gap:1rem;height:54px}
.site-brand{font-weight:700;font-size:1.05rem;letter-spacing:-.2px}
.site-nav{display:flex;gap:.85rem;margin-left:1rem}
.site-nav a{color:var(--c-sub);font-size:.85rem}
.site-nav a:hover{color:var(--c-fg)}
.site-search{margin-left:auto;display:flex;align-items:center;gap:.4rem;background:var(--c-bg-alt);border:1px solid var(--c-border);border-radius:6px;padding:.25rem .5rem}
.site-search:focus-within{border-color:var(--c-fg)}
.site-search .icon{color:var(--c-mut)}
.site-search input{border:0;background:transparent;outline:0;width:200px;font-size:.85rem}
.site-search button{border:0;background:transparent;cursor:pointer;color:var(--c-sub)}
.site-search{position:relative}
.search-suggest{position:absolute;top:calc(100% + 4px);left:0;right:0;min-width:280px;background:var(--c-card);border:1px solid var(--c-border);border-radius:6px;box-shadow:var(--shadow-card);z-index:30;max-height:60vh;overflow-y:auto}
.search-suggest .sg-item{display:flex;align-items:center;gap:.5rem;padding:.45rem .7rem;border-bottom:1px solid var(--c-border);text-decoration:none;color:inherit;font-size:.84rem}
.search-suggest .sg-item:last-child{border-bottom:0}
.search-suggest .sg-item:hover,.search-suggest .sg-item.active{background:var(--c-bg-alt)}
.search-suggest .sg-tag{font-size:.65rem;color:var(--c-mut);background:var(--c-bg-alt);border:1px solid var(--c-border);border-radius:3px;padding:.05rem .3rem;flex-shrink:0}
.search-suggest .sg-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.search-suggest .sg-cnt{font-size:.7rem;color:var(--c-mut)}
mark{background:#fff3a8;padding:0 .15rem;border-radius:2px}
.site-auth{display:flex;gap:.5rem;align-items:center;font-size:.8rem}
.btn-link-sm{padding:.3rem .65rem;border:1px solid var(--c-border);border-radius:5px;background:var(--c-card);color:var(--c-sub);font-size:.78rem;cursor:pointer;text-decoration:none}
.btn-link-sm:hover{background:var(--c-hover);color:var(--c-fg);text-decoration:none}

/* Footer */
.site-foot{border-top:1px solid var(--c-border);padding:1.5rem 0;text-align:center;color:var(--c-mut);font-size:.78rem;margin-top:3rem}
.foot-nav{display:flex;justify-content:center;gap:1.2rem;margin-bottom:.5rem}
.foot-nav a{color:var(--c-sub)}

/* Main */
main.container{padding-top:1.5rem;padding-bottom:2rem;min-height:60vh}

/* Portal layout */
.portal{display:grid;grid-template-columns:1fr 320px;gap:2rem;align-items:start}
.portal-main{min-width:0}
.portal-side{display:flex;flex-direction:column;gap:1.5rem}

.sec-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--c-border);padding-bottom:.4rem;margin-bottom:.85rem}
.sec-head h3{font-size:.92rem;margin:0;font-weight:700;display:flex;align-items:center;gap:.4rem}
.sec-head .more{font-size:.75rem;color:var(--c-mut);display:flex;align-items:center;gap:.15rem}
.sec-head .more:hover{color:var(--c-fg)}

/* Hero */
.hero{display:grid;grid-template-columns:280px 1fr;gap:1.2rem;background:var(--c-card);border:1px solid var(--c-border);border-radius:8px;padding:1rem;margin-bottom:1.5rem;align-items:center}
.hero-img img{width:100%;height:100%;aspect-ratio:4/3;object-fit:contain;border-radius:5px;display:block}
.hero-body{min-width:0}
.hero-body h2{font-size:1.4rem;margin:.3rem 0 .5rem;line-height:1.35;font-weight:700}
.hero-body h2 a{color:var(--c-fg)}
.hero-sum{color:var(--c-sub);font-size:.88rem;line-height:1.6;margin:0 0 .5rem}
.kicker{font-size:.7rem;letter-spacing:1px;color:var(--c-mut);text-transform:uppercase;margin:0;display:flex;align-items:center;gap:.25rem;font-weight:600}
.meta{font-size:.78rem;color:var(--c-mut);margin:0}

/* Article list */
.card-list{margin-bottom:1.5rem}
.art-list{list-style:none;padding:0;margin:0}
.art-list li{display:flex;gap:.85rem;padding:.7rem 0;border-bottom:1px solid var(--c-border)}
.art-list li:last-child{border-bottom:0}
.art-list .thumb{flex-shrink:0;width:120px;aspect-ratio:4/3;overflow:hidden;border-radius:4px;background:var(--c-bg-alt)}
.art-list .thumb img{width:100%;height:100%;object-fit:contain;display:block}
.art-list .art-body{min-width:0;flex:1}
.art-list h4{font-size:.95rem;margin:0 0 .25rem;line-height:1.4;font-weight:600}
.art-list h4 a{color:var(--c-fg)}
.art-list p{font-size:.8rem;color:var(--c-sub);margin:0 0 .3rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* Card grid (3-col) */
.card-grid{margin-bottom:1.5rem}
.grid-3{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.mini .thumb{display:block;aspect-ratio:16/10;overflow:hidden;border-radius:5px;background:var(--c-bg-alt)}
.mini .thumb img{width:100%;height:100%;object-fit:contain;display:block}
.mini h4{font-size:.88rem;margin:.4rem 0 .25rem;line-height:1.4;font-weight:600}
.mini h4 a{color:var(--c-fg)}
.mini .byline{margin:.4rem 0 0;font-size:.72rem}
.mini .byline a{color:var(--c-mut);font-weight:600}
.mini .meta{font-size:.72rem;margin-top:.2rem}

/* Sidebar widgets */
.widget{background:var(--c-card)}
.blogger-mini{list-style:none;padding:0;margin:0}
.blogger-mini li{border-bottom:1px solid var(--c-border)}
.blogger-mini li:last-child{border-bottom:0}
.bm-link{display:flex;gap:.6rem;padding:.45rem 0;align-items:center}
.bm-av{width:36px;height:36px;border-radius:50%;background:var(--c-bg-alt);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--c-sub);font-size:.85rem;object-fit:cover;flex-shrink:0}
.bm-init{background:var(--c-fg);color:#fff}
.bm-info{display:flex;flex-direction:column;min-width:0}
.bm-info strong{font-size:.85rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bm-info small{font-size:.72rem;color:var(--c-mut)}

.rank-list{list-style:none;padding:0;margin:0;counter-reset:rank}
.rank-list li{display:flex;gap:.6rem;padding:.4rem 0;border-bottom:1px solid var(--c-border);align-items:flex-start}
.rank-list li:last-child{border-bottom:0}
.rank-list .rank{flex-shrink:0;width:20px;font-weight:700;color:var(--c-mut);font-size:.85rem}
.rank-list a{font-size:.83rem;line-height:1.4;color:var(--c-fg)}

.tag-cloud{display:flex;flex-wrap:wrap;gap:.3rem}
.tag-cloud a{padding:.2rem .55rem;background:var(--c-bg-alt);border:1px solid var(--c-border);border-radius:999px;font-size:.74rem;color:var(--c-sub)}
.tag-cloud a:hover{background:var(--c-fg);color:#fff;border-color:var(--c-fg);text-decoration:none}

.cmt-list{list-style:none;padding:0;margin:0}
.cmt-list li{padding:.55rem 0;border-bottom:1px solid var(--c-border)}
.cmt-list li:last-child{border-bottom:0}
.cmt-body{margin:0 0 .25rem;font-size:.82rem;color:var(--c-sub);line-height:1.5}
.cmt-list small{color:var(--c-mut);font-size:.72rem}

.photo-grid-sec{margin-bottom:1.5rem}
.photo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem}
.photo-tile{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;border-radius:5px;background:var(--c-bg-alt)}
.photo-tile img{width:100%;height:100%;object-fit:contain;display:block;transition:transform .2s}
.photo-tile:hover img{transform:scale(1.04)}
.photo-cap{position:absolute;left:0;right:0;bottom:0;padding:.4rem .6rem;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff;font-size:.72rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hospital-mini:hover{border-color:var(--c-fg) !important}
@media(max-width:600px){.photo-grid{grid-template-columns:repeat(2,1fr)}}

/* Bloggers page (full) */
.page-head{margin-bottom:1.2rem}
.page-head h1{font-size:1.5rem;margin-bottom:.3rem}
.hospital-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin-top:1rem}
.hospital-card{display:flex;flex-direction:column;background:var(--c-card);border:1px solid var(--c-border);border-radius:8px;overflow:hidden;text-decoration:none;color:inherit}
.hospital-card:hover{border-color:var(--c-fg);text-decoration:none}
.hc-cover{aspect-ratio:21/9;background:var(--c-bg-alt);overflow:hidden}
.hc-cover img{width:100%;height:100%;object-fit:contain}
.hc-placeholder{background:linear-gradient(135deg,#f0f0f3,#dcdce0)}
.hc-body{padding:.85rem 1rem 1rem;position:relative}
.hc-logo{width:46px;height:46px;border-radius:8px;background:var(--c-card);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--c-fg);margin-top:-26px;border:2px solid var(--c-card);font-size:1.05rem;box-shadow:0 1px 3px rgba(0,0,0,.1);object-fit:cover}
.hc-init{background:var(--c-fg);color:#fff}
.hc-body h2{font-size:1rem;margin:.4rem 0 .15rem;font-weight:600}
.hc-type{font-size:.72rem;text-transform:uppercase;letter-spacing:.6px;margin:0}
.hc-desc{font-size:.82rem;color:var(--c-sub);line-height:1.5;margin:.4rem 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hc-stat{font-size:.74rem;color:var(--c-mut);margin:.45rem 0 0}
.hospital-head{display:flex;gap:1rem;align-items:center;margin-bottom:1.2rem;padding-bottom:1.2rem;border-bottom:1px solid var(--c-border)}
.hospital-head h1{font-size:1.4rem;margin:0 0 .25rem}

.blogger-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}
.blogger-card{display:flex;flex-direction:column;background:var(--c-card);border:1px solid var(--c-border);border-radius:8px;overflow:hidden;text-decoration:none;color:inherit}
.blogger-card:hover{border-color:var(--c-fg);text-decoration:none}
.bc-cover{aspect-ratio:16/9;background:var(--c-bg-alt);overflow:hidden}
.bc-cover img{width:100%;height:100%;object-fit:contain;display:block}
.bc-placeholder{background:linear-gradient(135deg,#f0f0f3,#dcdce0)}
.bc-body{padding:.85rem 1rem 1rem;position:relative}
.bc-avatar{width:42px;height:42px;border-radius:50%;background:var(--c-card);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--c-fg);margin-top:-26px;border:2px solid var(--c-card);object-fit:cover;font-size:1rem;box-shadow:0 1px 3px rgba(0,0,0,.1)}
.bc-avatar.large{width:72px;height:72px;font-size:1.7rem;margin-top:0;border:0;box-shadow:none}
.bc-init{background:var(--c-fg);color:#fff}
.bc-body h2{font-size:1rem;margin:.4rem 0 .25rem;line-height:1.35;font-weight:600}
.bc-about{color:var(--c-sub);font-size:.8rem;line-height:1.5;margin:.25rem 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bc-stat{font-size:.72rem;color:var(--c-mut);margin:.4rem 0 0}

.blogger-head{display:flex;gap:1rem;align-items:center;margin-bottom:1.2rem;padding-bottom:1.2rem;border-bottom:1px solid var(--c-border)}
.blogger-head h1{font-size:1.4rem;margin:0 0 .25rem}

/* Reading progress bar (top) */
.read-progress{position:fixed;top:0;left:0;right:0;height:2px;background:transparent;z-index:30;pointer-events:none}
.read-progress>span{display:block;height:100%;background:var(--c-fg);width:0;transition:width .1s linear}

/* Post page */
.post-layout{display:grid;grid-template-columns:minmax(0,760px) 220px;gap:2rem;justify-content:center;align-items:start}
.post-toc{position:sticky;top:70px;font-size:.82rem;line-height:1.45;max-height:calc(100vh - 100px);max-height:calc(100dvh - 100px);overflow-y:auto;padding-left:.85rem;border-left:1px solid var(--c-border)}
.post-toc h4{font-size:.7rem;text-transform:uppercase;letter-spacing:.6px;color:var(--c-mut);margin:0 0 .55rem;font-weight:700}
.post-toc ul{list-style:none;margin:0;padding:0}
.post-toc li{margin:.15rem 0}
.post-toc li.toc-h3{padding-left:.85rem;font-size:.78rem}
.post-toc a{color:var(--c-sub);display:block;padding:.18rem 0;border-left:2px solid transparent;padding-left:.4rem;margin-left:-.4rem}
.post-toc a:hover{color:var(--c-fg);text-decoration:none}
.post-toc a.is-active{color:var(--c-fg);border-left-color:var(--c-fg);font-weight:600}
@media (max-width:980px){.post-layout{grid-template-columns:1fr}.post-toc{display:none}}

.breadcrumb{font-size:.78rem;color:var(--c-mut);margin-bottom:.85rem}
.breadcrumb a{color:var(--c-mut)}
.breadcrumb a:hover{color:var(--c-fg)}
.breadcrumb span{margin:0 .3rem;color:var(--c-border)}

article.post{max-width:760px;margin:0 auto}
.post header h1{font-size:1.7rem;line-height:1.35;margin:0 0 .5rem;font-weight:700}
.post .meta{color:var(--c-mut);font-size:.82rem;margin-bottom:1.2rem}
.post .cover img{width:100%;height:auto;display:block;border-radius:6px;margin-bottom:1.2rem}
.post .summary{font-size:.95rem;color:var(--c-sub);background:var(--c-bg-alt);padding:.85rem 1rem;border-left:3px solid var(--c-fg);border-radius:5px;margin-bottom:1.2rem}
.post-body{font-size:.95rem;line-height:1.75}
.post-body h2{margin-top:1.6rem;font-size:1.2rem;font-weight:700}
.post-body h3{margin-top:1.2rem;font-size:1rem;font-weight:600}
.post-body p{margin:.85rem 0}
.post-body img{max-width:100%;height:auto;border-radius:5px;margin:.85rem 0}
.post-body figure{margin:1.2rem 0}
.post-body figcaption{font-size:.78rem;color:var(--c-mut);text-align:center;margin-top:.3rem}
.post-body blockquote{border-left:3px solid var(--c-border);padding-left:.9rem;color:var(--c-sub);margin:.85rem 0;font-style:italic}
.post-body ul,.post-body ol{padding-left:1.2rem}
.post-body table{border-collapse:collapse;width:100%;margin:.85rem 0;font-size:.88rem}
.post-body th,.post-body td{border:1px solid var(--c-border);padding:.45rem .6rem}
.post-tags{margin:1.5rem 0 1rem;display:flex;flex-wrap:wrap;gap:.3rem}
.post-tags a{padding:.2rem .55rem;background:var(--c-bg-alt);border:1px solid var(--c-border);border-radius:999px;font-size:.74rem;color:var(--c-sub)}
.attribution{font-size:.78rem;border-top:1px solid var(--c-border);padding-top:.85rem;margin-top:1.5rem}

.related,.popular,.comments{margin-top:2rem;padding-top:1.2rem;border-top:1px solid var(--c-border)}
.related h2,.popular h2,.comments h2{font-size:1rem;margin-bottom:.85rem;font-weight:700}
.popular-list{list-style:decimal;padding-left:1.3rem;margin:0}
.popular-list li{padding:.35rem 0;border-bottom:1px solid var(--c-border);font-size:.85rem}
.popular-list li:last-child{border-bottom:0}
.popular-list small{margin-left:.4rem;color:var(--c-mut);font-size:.72rem}

/* Search/feed list */
.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.post-card{display:flex;flex-direction:column;gap:.3rem;border:1px solid var(--c-border);border-radius:6px;overflow:hidden;background:var(--c-card)}
.post-card>a:first-child{display:block;background:var(--c-bg-alt)}
.post-card img{width:100%;height:100%;aspect-ratio:16/9;object-fit:contain;display:block}
.post-card h2{font-size:.92rem;margin:.5rem .85rem .25rem;line-height:1.4}
.post-card h2 a{color:var(--c-fg)}
.post-card .muted{padding:0 .85rem;font-size:.74rem}
.post-card p{padding:0 .85rem .85rem;font-size:.8rem;color:var(--c-sub);line-height:1.5;margin:.3rem 0 0}
.pager{display:flex;gap:.3rem;justify-content:center;margin:1.5rem 0}
.pager a{padding:.35rem .7rem;border:1px solid var(--c-border);border-radius:5px;color:var(--c-sub);font-size:.85rem}
.pager a.on{background:var(--c-fg);color:#fff;border-color:var(--c-fg)}

/* Search list */
.search-list{list-style:none;padding:0}
.search-list li{padding:.85rem 0;border-bottom:1px solid var(--c-border)}
.search-list a{font-size:1rem;font-weight:600}

/* Auth pages */
.auth-card{max-width:380px;margin:2rem auto;background:var(--c-card);padding:1.6rem;border:1px solid var(--c-border);border-radius:8px}
.auth-card h1{font-size:1.2rem;margin-bottom:1rem;font-weight:600}
.auth-card label{display:block;margin-bottom:.7rem;font-size:.85rem}
.auth-card input{width:100%;padding:.5rem;border:1px solid var(--c-border);border-radius:5px;margin-top:.25rem}
.auth-card input:focus{outline:0;border-color:var(--c-fg)}
.auth-card .btn{width:100%;display:block;text-align:center}
.error{color:var(--c-fg);background:#fff;padding:.45rem .75rem;border:1px solid var(--c-fg);border-radius:5px;margin-bottom:.7rem;font-size:.85rem}

/* Comments */
.comments h2{font-size:1rem;margin-bottom:.85rem;font-weight:700}
.comment-form input,.comment-form textarea{width:100%;padding:.5rem;border:1px solid var(--c-border);border-radius:5px;margin-bottom:.4rem;font-family:inherit;font-size:.88rem}
.comment-form .btn{padding:.4rem 1.2rem;background:var(--c-fg);color:#fff;border:0;border-radius:5px;cursor:pointer;font-size:.85rem}
.comment-list{list-style:none;padding:0;margin-top:1rem}
.comment-list li{padding:.7rem 0;border-bottom:1px solid var(--c-border)}
.comment-list header{display:flex;gap:.5rem;align-items:center;font-size:.8rem;margin-bottom:.25rem}
.comment-list time{color:var(--c-mut);font-size:.72rem}
.comment-list p{margin:0;font-size:.88rem;line-height:1.6}
.comment-list header{justify-content:flex-start}
.cmt-reply-btn{margin-left:auto}
.cmt-replies li{padding:.5rem 0;border-bottom:1px solid var(--c-border)}
.cmt-replies li:last-child{border-bottom:0}

/* Generic btn for front */
.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;background:var(--c-fg);color:#fff;border:1px solid var(--c-fg);border-radius:6px;cursor:pointer;font-size:.85rem;text-decoration:none;font-weight:500}
.btn:hover{background:#000;text-decoration:none;color:#fff}

/* Mobile menu (≤768px) */
.site-mobile-toggle{display:none;background:transparent;border:1px solid var(--c-border);border-radius:6px;padding:.35rem;cursor:pointer;color:var(--c-sub)}

/* ≤900: portal stacks, hero stacks, smaller search */
@media (max-width:900px){
  .portal{grid-template-columns:1fr;gap:1.4rem}
  .hero{grid-template-columns:1fr}
  .hero-img img{aspect-ratio:16/9}
  .site-search input{width:140px}
}

/* ≤768: hamburger menu, hide nav by default */
@media (max-width:768px){
  .site-mobile-toggle{display:inline-flex;align-items:center;justify-content:center}
  .site-top .container{gap:.5rem;height:50px;padding:0 .85rem}
  .site-brand{font-size:.95rem;flex-shrink:0}
  .site-nav{display:none;position:absolute;top:50px;left:0;right:0;background:#fff;border-bottom:1px solid var(--c-border);flex-direction:column;gap:0;padding:.4rem 1rem;margin-left:0;box-shadow:0 4px 12px rgba(0,0,0,.08);z-index:25}
  .site-nav.open{display:flex}
  .site-nav a{padding:.6rem .25rem;border-bottom:1px solid var(--c-border)}
  .site-nav a:last-child{border-bottom:0}
  .site-search{margin-left:auto}
  .site-search input{width:100px}
  .site-auth{display:none}
  .container{padding:0 .85rem}
  main.container{padding-top:1rem}
  .hero{padding:.7rem;margin-bottom:1rem}
  .hero-body h2{font-size:1.15rem}
  .hero-sum{font-size:.82rem}
  .grid-3{grid-template-columns:repeat(2,1fr);gap:.7rem}
  .art-list .thumb{width:100px}
  .post-grid{grid-template-columns:repeat(2,1fr);gap:.6rem}
  .blogger-grid,.hospital-grid{grid-template-columns:1fr;gap:.7rem}
  article.post{max-width:100%}
  .post header h1{font-size:1.3rem;line-height:1.3}
  .post-body{font-size:.92rem}
  .post-body h2{font-size:1.1rem}
  .post-body h3{font-size:.98rem}
  .photo-grid{grid-template-columns:repeat(2,1fr)}
  .breadcrumb{font-size:.72rem}
}

/* Language switcher (used inside .site-auth on both layouts) */
.lang-switch{position:relative}
.lang-switch summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .55rem;border:1px solid var(--c-border);border-radius:6px;font-size:.78rem;color:var(--c-fg);background:#fff;white-space:nowrap;line-height:1}
.lang-switch summary::-webkit-details-marker{display:none}
.lang-switch summary:hover{background:var(--c-hover);border-color:#cfcfd6}
.lang-switch summary .ls-flag{font-size:.95rem;line-height:1}
.lang-switch summary .ls-code{font-weight:600;letter-spacing:.04em}
.lang-switch summary .ls-chev{font-size:.7rem;opacity:.6;transition:transform .15s}
.lang-switch[open] summary .ls-chev{transform:rotate(180deg)}
.lang-switch[open] summary{background:var(--c-hover);border-color:#cfcfd6}
.lang-switch .ls-panel{position:absolute;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--c-border);border-radius:8px;box-shadow:0 10px 28px rgba(0,0,0,.12);padding:.4rem 0;min-width:240px;z-index:30;max-height:70vh;overflow-y:auto}
.lang-switch .ls-head{margin:.1rem 1rem .35rem;font-size:.7rem;color:var(--c-sub);text-transform:uppercase;letter-spacing:.05em}
.lang-switch ul{list-style:none;margin:0;padding:0}
.lang-switch li{margin:0}
.lang-switch li a{display:flex;align-items:center;gap:.6rem;padding:.5rem 1rem;font-size:.85rem;color:var(--c-fg);text-decoration:none;line-height:1.2}
.lang-switch li a:hover{background:var(--c-bg-alt)}
.lang-switch li a .ls-flag{font-size:1.05rem;flex:0 0 auto;line-height:1}
.lang-switch li a .ls-native{flex:0 0 auto;font-weight:500}
.lang-switch li a .ls-name{flex:1 1 auto;font-size:.74rem;text-align:right}
.lang-switch li a .ls-check{flex:0 0 auto;color:#0a7d33;font-weight:700}
.lang-switch li a[aria-current="true"]{background:linear-gradient(0deg, rgba(10,125,51,.06), rgba(10,125,51,.06))}
.lang-switch li a[aria-current="true"] .ls-native{color:#0a7d33}
.lang-switch .ls-divider{height:1px;background:var(--c-border);margin:.3rem 0}

@media (max-width:540px){
  .lang-switch .ls-panel{position:fixed;left:.6rem;right:.6rem;top:auto;bottom:.6rem;min-width:0;max-height:75vh}
  .lang-switch li a .ls-name{display:none}
}

/* RTL adjustments (Arabic) */
html[dir="rtl"] body{direction:rtl}
html[dir="rtl"] .site-top .container,
html[dir="rtl"] .foot-nav{flex-direction:row-reverse}
html[dir="rtl"] .art-list li{flex-direction:row-reverse}
html[dir="rtl"] .lang-switch .ls-panel{right:auto;left:0}
html[dir="rtl"] .lang-switch li a .ls-name{text-align:left}
html[dir="rtl"] .rank-list li{flex-direction:row-reverse}
html[dir="rtl"] .sec-head{flex-direction:row-reverse}

/* Auth split (full-bleed 2-col) */
body.auth-page{margin:0;background:var(--c-bg)}
.auth-split{display:grid;grid-template-columns:1fr 1fr;min-height:100vh;min-height:100dvh}
.auth-brand{padding:3rem 2.5rem;background:var(--c-bg-alt);display:flex;flex-direction:column;justify-content:space-between;gap:2rem;border-right:1px solid var(--c-border)}
.auth-logo{font-weight:700;font-size:1.4rem;letter-spacing:-.3px;color:var(--c-fg);text-decoration:none}
.auth-logo:hover{text-decoration:none}
.auth-tagline{color:var(--c-mut);font-size:.85rem;margin:.35rem 0 0}
.auth-pitch h2{font-size:1.6rem;line-height:1.35;font-weight:700;margin:0 0 1rem}
.auth-pitch ul{list-style:none;padding:0;margin:0;color:var(--c-sub);font-size:.9rem;line-height:1.95}
.auth-foot{color:var(--c-mut);font-size:.72rem}
.auth-form-col{display:flex;align-items:center;justify-content:center;padding:2rem}
.auth-form-inner{width:100%;max-width:340px}
.auth-form-inner h1{font-size:1.35rem;margin:0 0 .35rem;font-weight:700}
.auth-form-inner > .muted{font-size:.85rem;margin:0 0 1rem;color:var(--c-mut)}
.auth-form-inner label{display:block;margin-bottom:.7rem;font-size:.85rem}
.auth-form-inner input{width:100%;padding:.55rem;border:1px solid var(--c-border);border-radius:6px;margin-top:.25rem;font-size:.9rem;font-family:inherit}
.auth-form-inner input:focus{outline:0;border-color:var(--c-fg)}
.auth-form-inner .btn{width:100%;justify-content:center;margin-top:.4rem;padding:.6rem .9rem}
.auth-meta{font-size:.82rem;color:var(--c-sub);margin:.85rem 0 0}
.auth-intro-link{color:var(--c-fg);font-weight:500}

/* Intro page */
.intro-top{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--c-border)}
.intro-top .brand{font-weight:700;font-size:1.05rem;color:var(--c-fg);text-decoration:none}
.intro-top .actions{display:flex;gap:.5rem}
.intro-wrap{max-width:1100px;margin:0 auto;padding:2rem 1.2rem 4rem}
.intro-hero{text-align:center;padding:3rem 1rem 2.5rem}
.intro-hero h1{font-size:2.1rem;font-weight:800;letter-spacing:-.5px;margin:0 0 .8rem}
.intro-hero .sub{font-size:1.05rem;color:var(--c-sub);margin:0 0 1.4rem}
.intro-hero .desc{color:var(--c-mut);max-width:640px;margin:0 auto 1.8rem;font-size:.95rem;line-height:1.8}
.intro-hero .ctas{display:flex;gap:.6rem;justify-content:center;align-items:center;flex-wrap:wrap}
.intro-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2.4rem 0}
.intro-stats .stat{text-align:center;padding:1.2rem;border:1px solid var(--c-border);border-radius:8px;background:var(--c-card)}
.intro-stats .num{font-size:1.6rem;font-weight:700}
.intro-stats .lbl{color:var(--c-mut);font-size:.82rem;margin-top:.25rem}
.intro-section{margin:3rem 0}
.intro-section h2{font-size:1.4rem;font-weight:700;text-align:center;margin:0 0 1.6rem}
.intro-features{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.intro-feature{padding:1.2rem;border:1px solid var(--c-border);border-radius:8px;background:var(--c-card)}
.intro-feature h3{font-size:.98rem;margin:0 0 .35rem;font-weight:700}
.intro-feature p{font-size:.85rem;color:var(--c-sub);margin:0;line-height:1.6}
.intro-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem;text-align:center}
.intro-flow .step{padding:1rem;background:var(--c-bg-alt);border-radius:8px;font-size:.88rem;font-weight:600}
.intro-flow .step .n{display:block;font-weight:700;color:var(--c-mut);font-size:.72rem;letter-spacing:.05em;margin-bottom:.35rem}
.intro-faq{max-width:760px;margin:0 auto}
.intro-faq details{border-bottom:1px solid var(--c-border);padding:.85rem 0}
.intro-faq summary{cursor:pointer;font-weight:600;font-size:.95rem;list-style:none;display:flex;gap:.5rem}
.intro-faq summary::-webkit-details-marker{display:none}
.intro-faq summary::before{content:'+';color:var(--c-mut);width:1rem;flex-shrink:0}
.intro-faq details[open] summary::before{content:'–'}
.intro-faq p{margin:.5rem 0 0 1.5rem;color:var(--c-sub);font-size:.9rem;line-height:1.75}
.intro-foot{margin-top:3rem;padding:1.5rem 0;border-top:1px solid var(--c-border);text-align:center;color:var(--c-mut);font-size:.78rem;line-height:1.8}
.intro-foot a{color:var(--c-sub)}

@media (max-width:900px){
  .intro-features{grid-template-columns:repeat(2,1fr)}
  .intro-flow{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:768px){
  .auth-split{grid-template-columns:1fr;min-height:auto}
  .auth-brand{padding:1.6rem;border-right:0;border-bottom:1px solid var(--c-border);gap:1rem}
  .auth-pitch h2{font-size:1.2rem}
  .auth-form-col{padding:1.6rem}
  .intro-top{padding:.85rem 1rem}
  .intro-wrap{padding:1rem .85rem 3rem}
  .intro-hero{padding:2rem .5rem 1.5rem}
  .intro-hero h1{font-size:1.6rem}
  .intro-hero .sub{font-size:.95rem}
  .intro-stats{grid-template-columns:repeat(3,1fr);gap:.5rem}
  .intro-stats .stat{padding:.85rem .5rem}
  .intro-stats .num{font-size:1.2rem}
}
@media (max-width:520px){
  .intro-stats{grid-template-columns:1fr}
  .intro-features{grid-template-columns:1fr}
  .intro-flow{grid-template-columns:repeat(2,1fr)}
}

/* ≤480: tighter still */
@media (max-width:480px){
  .grid-3{grid-template-columns:1fr}
  .post-grid{grid-template-columns:1fr}
  .photo-grid{grid-template-columns:1fr}
  .art-list li{flex-direction:column;gap:.5rem}
  .art-list .thumb{width:100%;aspect-ratio:16/9}
  .pager a{padding:.3rem .55rem;font-size:.78rem}
  .auth-card{margin:.6rem;padding:1.1rem}
  .post .summary{font-size:.88rem;padding:.7rem .85rem}
  .post .meta{font-size:.76rem}
}

/* ==========================================================================
   Magazine layer — Tistory-style: large covers, card grid, right sidebar,
   blogger profile headers, like/subscribe interactions, dark-mode aware.
   Layered after legacy styles so it can override safely.
   ========================================================================== */

/* Magazine eyebrow + section header */
.mag-eyebrow{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--c-accent);margin:0 0 .35rem;display:inline-flex;align-items:center;gap:.35rem}
.mag-sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:2rem 0 1rem;padding-bottom:.5rem;border-bottom:1px solid var(--c-border)}
.mag-sec-head:first-child{margin-top:0}
.mag-sec-head h2{margin:0;font-family:var(--font-display);font-size:1.4rem;font-weight:700;letter-spacing:-.01em;display:flex;align-items:center;gap:.45rem}
.mag-sec-head .mag-more{font-size:.78rem;color:var(--c-mut);display:inline-flex;align-items:center;gap:.2rem;text-decoration:none}
.mag-sec-head .mag-more:hover{color:var(--c-fg)}

/* Magazine grid: main + 320 right sidebar (parity with .portal but new tokens) */
.mag-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:2.4rem;align-items:start}
.mag-main{min-width:0}
.mag-side{display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:72px;max-height:calc(100vh - 96px);max-height:calc(100dvh - 96px);overflow-y:auto;padding-right:.2rem}
.mag-side::-webkit-scrollbar{width:6px}
.mag-side::-webkit-scrollbar-thumb{background:var(--c-border);border-radius:3px}
@media (max-width:980px){
  .mag-layout{grid-template-columns:1fr;gap:1.6rem}
  .mag-side{position:static;max-height:none;overflow:visible}
}

/* Magazine hero (large cover + overlay or stacked) */
.mag-hero{display:block;position:relative;border-radius:var(--radius-lg);overflow:hidden;background:var(--c-bg-alt);margin-bottom:2rem;border:1px solid var(--c-border);box-shadow:var(--shadow-card);text-decoration:none;color:inherit;transition:box-shadow .2s,transform .2s}
.mag-hero:hover{box-shadow:var(--shadow-hover);text-decoration:none;color:inherit;transform:translateY(-1px)}
.mag-hero-img{aspect-ratio:21/9;background:var(--c-bg-alt);overflow:hidden}
.mag-hero-img img{width:100%;height:100%;object-fit:contain;display:block}
.mag-hero-body{padding:1.4rem 1.6rem 1.6rem}
.mag-hero-body h1{margin:.3rem 0 .55rem;font-family:var(--font-display);font-size:1.85rem;line-height:1.25;font-weight:700;letter-spacing:-.02em;color:var(--c-fg)}
.mag-hero-body .mag-sum{margin:0 0 .8rem;font-size:.95rem;line-height:1.65;color:var(--c-sub);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mag-hero-body .mag-meta{font-size:.78rem;color:var(--c-mut);display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
@media (max-width:680px){
  .mag-hero-body{padding:1rem 1.1rem 1.2rem}
  .mag-hero-body h1{font-size:1.35rem}
  .mag-hero-body .mag-sum{font-size:.88rem}
}

/* Magazine card grid */
.mag-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.4rem;margin-bottom:2rem}
.mag-cards-2{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.4rem;margin-bottom:2rem}
.mag-card{display:flex;flex-direction:column;background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--radius-card);overflow:hidden;text-decoration:none;color:inherit;transition:box-shadow .15s,border-color .15s,transform .15s}
.mag-card:hover{box-shadow:var(--shadow-card);border-color:var(--c-fg);text-decoration:none;color:inherit;transform:translateY(-1px)}
.mag-card-cover{aspect-ratio:16/9;background:var(--c-bg-alt);overflow:hidden;display:block}
.mag-card-cover img{width:100%;height:100%;object-fit:contain;display:block}
.mag-card-body{padding:.85rem 1rem 1rem;flex:1;display:flex;flex-direction:column;gap:.4rem}
.mag-card-byline{font-size:.72rem;color:var(--c-mut);display:flex;align-items:center;gap:.3rem;margin:0}
.mag-card-byline a{color:var(--c-accent);font-weight:600;text-decoration:none}
.mag-card-byline a:hover{text-decoration:underline}
.mag-card h3{margin:0;font-size:1rem;line-height:1.4;font-weight:700;letter-spacing:-.005em}
.mag-card h3 a{color:var(--c-fg);text-decoration:none}
.mag-card h3 a:hover{text-decoration:underline}
.mag-card-sum{margin:0;color:var(--c-sub);font-size:.84rem;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mag-card-meta{margin:auto 0 0;padding-top:.4rem;font-size:.72rem;color:var(--c-mut);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.mag-card-meta .dot{color:var(--c-border)}

/* Compact horizontal magazine card (sidebar lists) */
.mag-card-h{display:flex;gap:.7rem;padding:.65rem 0;border-bottom:1px solid var(--c-border);color:inherit;text-decoration:none}
.mag-card-h:last-child{border-bottom:0}
.mag-card-h:hover{text-decoration:none;color:inherit}
.mag-card-h .thumb{flex-shrink:0;width:84px;aspect-ratio:1/1;background:var(--c-bg-alt);border-radius:6px;overflow:hidden}
.mag-card-h .thumb img{width:100%;height:100%;object-fit:contain;display:block}
.mag-card-h .body{min-width:0;flex:1;display:flex;flex-direction:column;gap:.2rem}
.mag-card-h h4{margin:0;font-size:.82rem;line-height:1.4;font-weight:600;color:var(--c-fg);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mag-card-h .meta{font-size:.7rem;color:var(--c-mut)}

/* Blogger profile header (Tistory-style cover + avatar overlap) */
.mag-profile{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--c-border);background:var(--c-card);margin-bottom:2rem}
.mag-profile-cover{aspect-ratio:4/1;background:linear-gradient(135deg,#f0f0f3,#dcdce0);overflow:hidden}
html[data-theme="dark"] .mag-profile-cover,
@media (prefers-color-scheme:dark){html:not([data-theme="light"]) .mag-profile-cover{background:linear-gradient(135deg,#23232a,#13131a)}}
.mag-profile-cover img{width:100%;height:100%;object-fit:contain;display:block}
.mag-profile-body{padding:0 1.6rem 1.4rem;position:relative;display:flex;gap:1.2rem;align-items:flex-end;flex-wrap:wrap}
.mag-profile-avatar{flex-shrink:0;width:96px;height:96px;border-radius:50%;background:var(--c-card);border:3px solid var(--c-card);box-shadow:0 1px 4px rgba(0,0,0,.12);margin-top:-48px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:2rem;color:var(--c-fg);overflow:hidden;object-fit:cover}
.mag-profile-info{flex:1;min-width:240px;padding-top:1rem}
.mag-profile-info h1{font-family:var(--font-display);margin:0 0 .25rem;font-size:1.7rem;font-weight:700;letter-spacing:-.01em}
.mag-profile-about{margin:.2rem 0 .55rem;font-size:.9rem;color:var(--c-sub);line-height:1.6;max-width:60ch}
.mag-profile-stats{display:flex;gap:1rem;font-size:.78rem;color:var(--c-mut);flex-wrap:wrap}
.mag-profile-stats strong{color:var(--c-fg);font-size:.95rem;font-weight:700}
.mag-profile-cta{padding-top:.85rem;display:flex;gap:.5rem;flex-wrap:wrap}
@media (max-width:680px){
  .mag-profile-body{padding:0 1rem 1.1rem;gap:.85rem}
  .mag-profile-avatar{width:72px;height:72px;font-size:1.5rem;margin-top:-36px;border-width:2px}
  .mag-profile-info{min-width:0;padding-top:.7rem}
  .mag-profile-info h1{font-size:1.3rem}
  .mag-profile-cta{padding-top:0;width:100%}
}

/* Subscribe button (toggle) */
.btn-subscribe{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .95rem;background:var(--c-accent);color:#fff;border:1px solid var(--c-accent);border-radius:999px;font-size:.84rem;font-weight:600;cursor:pointer;text-decoration:none;transition:background .12s,color .12s,border-color .12s}
.btn-subscribe:hover{background:#a83a58;border-color:#a83a58;color:#fff;text-decoration:none}
.btn-subscribe[aria-pressed="true"]{background:var(--c-card);color:var(--c-fg);border-color:var(--c-border)}
.btn-subscribe[aria-pressed="true"]:hover{background:var(--c-hover);border-color:var(--c-fg)}
.btn-subscribe[aria-pressed="true"]::after{content:""}
.btn-subscribe[disabled],.btn-subscribe.is-loading{opacity:.6;pointer-events:none}

/* Like button (toggle) */
.btn-like{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1.1rem;background:var(--c-card);color:var(--c-sub);border:1px solid var(--c-border);border-radius:999px;font-size:.88rem;font-weight:600;cursor:pointer;text-decoration:none;transition:background .12s,color .12s,border-color .12s,transform .08s}
.btn-like:hover{background:var(--c-accent-soft);border-color:var(--c-like);color:var(--c-like);text-decoration:none}
.btn-like:active{transform:scale(.96)}
.btn-like .heart{font-size:1rem;line-height:1;transition:transform .15s}
.btn-like[aria-pressed="true"]{background:var(--c-accent-soft);border-color:var(--c-like);color:var(--c-like)}
.btn-like[aria-pressed="true"] .heart{transform:scale(1.15)}
.btn-like .count{font-variant-numeric:tabular-nums}
.btn-like[disabled],.btn-like.is-loading{opacity:.6;pointer-events:none}

/* Magazine post (article) — wider, larger title, serif display */
.mag-post-head{margin:0 0 1.4rem;padding-bottom:1.2rem;border-bottom:1px solid var(--c-border)}
.mag-post-head .mag-eyebrow{margin-bottom:.55rem}
.mag-post-head h1{font-family:var(--font-display);margin:0 0 .55rem;font-size:2.1rem;line-height:1.25;font-weight:800;letter-spacing:-.02em;color:var(--c-fg)}
.mag-post-head .mag-post-sum{margin:0 0 .9rem;font-size:1rem;line-height:1.6;color:var(--c-sub);max-width:60ch}
.mag-post-head .mag-byline{display:flex;align-items:center;gap:.75rem;font-size:.85rem;color:var(--c-mut)}
.mag-post-head .mag-byline .av{width:36px;height:36px;border-radius:50%;background:var(--c-bg-alt);overflow:hidden;display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--c-fg);object-fit:cover}
.mag-post-head .mag-byline strong{color:var(--c-fg);font-weight:700}
.mag-post-head .mag-byline .dot{color:var(--c-border)}
@media (max-width:680px){
  .mag-post-head h1{font-size:1.55rem}
  .mag-post-head .mag-post-sum{font-size:.92rem}
}

/* Magazine post body — reading-optimized */
.mag-body{font-size:1.02rem;line-height:1.8;color:var(--c-fg)}
.mag-body p{margin:1rem 0}
.mag-body h2{font-family:var(--font-display);margin-top:1.8rem;font-size:1.4rem;font-weight:700;letter-spacing:-.01em}
.mag-body h3{margin-top:1.4rem;font-size:1.1rem;font-weight:700}
.mag-body blockquote{border-left:4px solid var(--c-accent);background:var(--c-accent-soft);padding:.85rem 1.1rem;margin:1.2rem 0;border-radius:0 8px 8px 0;color:var(--c-sub);font-style:italic}
.mag-body figure{margin:1.4rem 0;text-align:center}
.mag-body figcaption{font-size:.82rem;color:var(--c-mut);margin-top:.4rem}

/* Post actions (like + share) */
.mag-post-actions{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap;margin:2.2rem 0 1.5rem;padding:1.1rem 0;border-top:1px solid var(--c-border);border-bottom:1px solid var(--c-border);justify-content:center}
.mag-post-actions .btn-share{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1rem;background:var(--c-card);color:var(--c-sub);border:1px solid var(--c-border);border-radius:999px;font-size:.85rem;cursor:pointer;text-decoration:none}
.mag-post-actions .btn-share:hover{border-color:var(--c-fg);color:var(--c-fg);text-decoration:none}

/* Toast / inline notice */
.toast{position:fixed;bottom:1.4rem;left:50%;transform:translateX(-50%) translateY(60px);background:var(--c-fg);color:var(--c-bg);padding:.6rem 1.1rem;border-radius:8px;font-size:.85rem;box-shadow:var(--shadow-hover);z-index:50;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* Comments — strengthened */
.mag-comments{margin-top:2.5rem}
.mag-comments h2{font-family:var(--font-display);font-size:1.25rem;font-weight:700;margin:0 0 1rem;display:flex;align-items:baseline;gap:.4rem}
.mag-comments h2 .count{color:var(--c-accent);font-variant-numeric:tabular-nums}
.mag-comment-form{background:var(--c-bg-alt);border:1px solid var(--c-border);border-radius:var(--radius-card);padding:.85rem;margin-bottom:1.2rem}
.mag-comment-form textarea{width:100%;min-height:80px;padding:.6rem;border:1px solid var(--c-border);border-radius:6px;font-family:inherit;font-size:.92rem;background:var(--c-card);color:var(--c-fg);resize:vertical}
.mag-comment-form textarea:focus{outline:0;border-color:var(--c-fg)}
.mag-comment-form .actions{display:flex;justify-content:flex-end;margin-top:.5rem;gap:.4rem}
.mag-comment-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.7rem}
.mag-cmt{background:var(--c-card);border:1px solid var(--c-border);border-radius:var(--radius-card);padding:.85rem 1rem}
.mag-cmt-head{display:flex;align-items:center;gap:.5rem;font-size:.82rem;margin-bottom:.35rem}
.mag-cmt-head .av{width:28px;height:28px;border-radius:50%;background:var(--c-bg-alt);display:flex;align-items:center;justify-content:center;font-weight:700;color:var(--c-fg);font-size:.72rem;object-fit:cover}
.mag-cmt-head strong{font-weight:700}
.mag-cmt-head time{color:var(--c-mut);font-size:.72rem;margin-left:auto}
.mag-cmt p{margin:0;font-size:.92rem;line-height:1.65;color:var(--c-fg);white-space:pre-line}
.mag-cmt-actions{margin-top:.45rem;display:flex;gap:.4rem;font-size:.74rem}
.mag-cmt-actions button{background:transparent;border:0;color:var(--c-mut);cursor:pointer;padding:0;font-size:.74rem}
.mag-cmt-actions button:hover{color:var(--c-fg);text-decoration:underline}
.mag-cmt-replies{list-style:none;padding-left:1.2rem;margin:.7rem 0 0;border-left:2px solid var(--c-border);display:flex;flex-direction:column;gap:.5rem}

/* Dark-mode helpers (override hardcoded #fff/black accents) */
html[data-theme="dark"] .photo-cap,
@media (prefers-color-scheme:dark){html:not([data-theme="light"]) .photo-cap{background:linear-gradient(transparent,rgba(0,0,0,.85))}}
html[data-theme="dark"] mark{background:#4a3c00;color:#fff}
@media (prefers-color-scheme:dark){html:not([data-theme="light"]) mark{background:#4a3c00;color:#fff}}
html[data-theme="dark"] .btn{background:var(--c-fg);color:var(--c-bg);border-color:var(--c-fg)}
@media (prefers-color-scheme:dark){html:not([data-theme="light"]) .btn{background:var(--c-fg);color:var(--c-bg);border-color:var(--c-fg)}}
html[data-theme="dark"] .pager a.on{background:var(--c-fg);color:var(--c-bg);border-color:var(--c-fg)}
@media (prefers-color-scheme:dark){html:not([data-theme="light"]) .pager a.on{background:var(--c-fg);color:var(--c-bg);border-color:var(--c-fg)}}
html[data-theme="dark"] .hospital-card:hover,
html[data-theme="dark"] .blogger-card:hover,
html[data-theme="dark"] .hospital-mini:hover,
html[data-theme="dark"] .mag-card:hover{border-color:var(--c-accent) !important}
@media (prefers-color-scheme:dark){
  html:not([data-theme="light"]) .hospital-card:hover,
  html:not([data-theme="light"]) .blogger-card:hover,
  html:not([data-theme="light"]) .hospital-mini:hover,
  html:not([data-theme="light"]) .mag-card:hover{border-color:var(--c-accent) !important}
}

/* Theme toggle button */
.theme-toggle{background:transparent;border:1px solid var(--c-border);border-radius:6px;padding:.32rem .45rem;cursor:pointer;color:var(--c-sub);display:inline-flex;align-items:center;justify-content:center;line-height:1}
.theme-toggle:hover{background:var(--c-hover);color:var(--c-fg);border-color:#cfcfd6}
.theme-toggle .icon-moon{display:none}
.theme-toggle .icon-sun{display:inline}
html[data-theme="dark"] .theme-toggle .icon-moon{display:inline}
html[data-theme="dark"] .theme-toggle .icon-sun{display:none}
@media (prefers-color-scheme:dark){
  html:not([data-theme="light"]) .theme-toggle .icon-moon{display:inline}
  html:not([data-theme="light"]) .theme-toggle .icon-sun{display:none}
}

/* Welcome (service landing) page */
.welcome-wrap{max-width:1100px;margin:0 auto;padding:2rem 1.2rem 4rem}
.welcome-hero{text-align:center;padding:3.5rem 1rem 2.5rem}
.welcome-hero .mag-eyebrow{justify-content:center;margin-bottom:.8rem}
.welcome-hero h1{font-family:var(--font-display);font-size:2.6rem;font-weight:800;letter-spacing:-.03em;margin:0 0 1rem;line-height:1.2}
.welcome-hero .sub{font-size:1.1rem;color:var(--c-sub);max-width:640px;margin:0 auto 1.6rem;line-height:1.7}
.welcome-hero .ctas{display:flex;gap:.6rem;justify-content:center;flex-wrap:wrap}
.welcome-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin:2.5rem 0}
.welcome-pillar{padding:1.4rem;border:1px solid var(--c-border);border-radius:var(--radius-card);background:var(--c-card)}
.welcome-pillar h3{margin:0 0 .4rem;font-size:1rem;font-weight:700}
.welcome-pillar p{margin:0;color:var(--c-sub);font-size:.88rem;line-height:1.65}
.welcome-section{margin:3rem 0}
.welcome-section > .mag-sec-head h2{font-size:1.3rem}
@media (max-width:768px){
  .welcome-hero{padding:2.2rem .5rem 1.5rem}
  .welcome-hero h1{font-size:1.85rem}
  .welcome-hero .sub{font-size:.95rem}
  .welcome-pillars{grid-template-columns:1fr;gap:.7rem}
}
