/* JapanTopic UI refinement - loaded after legacy styles */
:root{
  --jt-red:#d32f2f;--jt-red-dark:#b71c1c;--jt-text:#1f2328;--jt-muted:#667085;
  --jt-line:#e9ecef;--jt-soft:#f7f8fa;--jt-card:#fff;--jt-radius:14px;
  --jt-shadow:0 8px 28px rgba(17,24,39,.07);--jt-max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans KR",Roboto,"Apple SD Gothic Neo",Arial,sans-serif;color:var(--jt-text);background:#fff;line-height:1.6}
img{max-width:100%;height:auto}
a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(211,47,47,.22);outline-offset:2px}
.container{max-width:var(--jt-max);padding-left:24px;padding-right:24px}
.site-header{position:sticky;top:0;z-index:1200;padding:10px 0;background:rgba(255,255,255,.96);border-bottom:1px solid var(--jt-line);box-shadow:0 2px 12px rgba(17,24,39,.04);backdrop-filter:saturate(180%) blur(14px)}
.header-content{min-height:64px;gap:24px}
.site-logo img{display:block;height:52px;width:auto;margin:0}
.search-container{max-width:460px}
.search-container form{position:relative}
.search-container input[type="text"]{height:46px;padding:0 48px 0 18px;border:1px solid #dfe3e8;border-radius:999px;background:#f8f9fb;font-size:15px;box-shadow:none;transition:border-color .2s,box-shadow .2s,background .2s}
.search-container input[type="text"]:focus{background:#fff;border-color:var(--jt-red);box-shadow:0 0 0 4px rgba(211,47,47,.08)}
.search-container button{right:8px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center}
.search-container button:hover{background:#f4f4f4}
.category-button{min-height:44px;padding:0 4px;font-size:15px;gap:3px}
.dropdown-menu{top:calc(100% + 8px);min-width:190px;padding:8px;border:1px solid var(--jt-line);border-radius:12px;box-shadow:0 14px 38px rgba(17,24,39,.14)}
.dropdown-menu a{padding:11px 12px;border-radius:8px;font-size:14px}
.dropdown-menu a:hover{background:#f8f8f8;color:var(--jt-red)}

/* page title */
body > .container > h1{letter-spacing:-.03em}
.section-now,.section-most-viewed,.section-more{margin-top:34px}
.section-now h2,.section-most-viewed h2,.section-more h2{font-size:25px;letter-spacing:-.03em;margin-bottom:18px}
.now-content-wrapper{padding:0;gap:18px;box-shadow:none;border-radius:var(--jt-radius);background:transparent}
.main-now-card{border-radius:16px;box-shadow:var(--jt-shadow);background:#111;min-width:0}
.main-now-image{height:420px;border-radius:16px;transition:transform .35s ease}
.main-now-card:hover .main-now-image{transform:scale(1.015)}
.main-now-info{padding:34px 30px 28px;background:linear-gradient(to top,rgba(0,0,0,.84) 0%,rgba(0,0,0,.38) 48%,transparent 100%)}
.main-now-info h3{font-size:29px;line-height:1.35;letter-spacing:-.035em}
.main-now-info .summary{line-height:1.55;color:rgba(255,255,255,.88)}
.right-now-list{gap:10px}
.small-now-item{border:1px solid var(--jt-line);border-radius:12px;padding:13px;background:#fff;transition:transform .2s,box-shadow .2s,border-color .2s;min-height:84px}
.small-now-item:hover{transform:translateY(-2px);border-color:#ddd;box-shadow:0 7px 18px rgba(17,24,39,.06)}
.small-now-info h4{line-height:1.42;letter-spacing:-.02em}
.small-now-image{border-radius:9px;flex:0 0 auto}

.most-viewed-grid{gap:16px}
.viewed-card{border:1px solid var(--jt-line);border-radius:14px;overflow:hidden;background:#fff;box-shadow:none;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative}
.viewed-card:hover{transform:translateY(-3px);border-color:#ddd;box-shadow:var(--jt-shadow)}
.viewed-image-container{aspect-ratio:16/10;height:auto;background-size:cover;background-position:center}
.viewed-info{padding:14px 14px 15px}
.viewed-info h4{font-size:15px;line-height:1.45;letter-spacing:-.02em;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.viewed-rank{z-index:2;box-shadow:0 3px 10px rgba(0,0,0,.15)}
.viewed-info .source,.grid-post-source{color:var(--jt-muted);font-size:12px}

.main-content{gap:30px;margin-top:38px;align-items:flex-start}
.content-area{min-width:0}
.grid-post-list{gap:18px}
.grid-post-item{border:1px solid var(--jt-line);border-radius:14px;overflow:hidden;background:#fff;box-shadow:none;transition:transform .2s,box-shadow .2s,border-color .2s}
.grid-post-item:hover{transform:translateY(-3px);box-shadow:var(--jt-shadow);border-color:#ddd}
.grid-post-image{width:100%;aspect-ratio:16/10;height:auto;object-fit:cover;background:#f1f2f4}
.grid-post-info{padding:15px 16px 16px}
.grid-post-title{font-size:16px;line-height:1.48;letter-spacing:-.025em;margin:0 0 9px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sidebar{min-width:280px}
.sidebar-block{border:1px solid var(--jt-line);box-shadow:none;border-radius:14px;padding:20px;margin-bottom:18px}
.sidebar-block h3{font-size:17px;margin:0 0 14px;padding-bottom:11px}
.sidebar-recent-list li{margin:0;padding:11px 0}
.sidebar-recent-list li a{font-size:14px;line-height:1.45;display:block}
.top-topics-tags a{padding:7px 11px;margin:3px 2px;border-radius:999px;font-size:12px;box-shadow:none}
.pagination{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap;margin:34px 0}
.pagination a,.pagination span.current{display:grid;place-items:center;min-width:40px;height:40px;padding:0 11px;border:1px solid var(--jt-line);border-radius:10px;background:#fff;color:#444;margin:0!important}
.pagination span.current{background:var(--jt-red);border-color:var(--jt-red);color:#fff;font-weight:700}
.pagination a:hover{border-color:#ccc;background:#f8f8f8}

/* article page */
.post-detail,.post-content,.article-content{min-width:0}
.post-title-detail{font-size:38px!important;line-height:1.28!important;letter-spacing:-.045em!important;color:#17191c!important;margin-bottom:14px!important}
.post-meta{color:var(--jt-muted)!important;font-size:13px!important}
.post-content img,.article-content img{border-radius:12px;height:auto!important;margin-left:auto;margin-right:auto}
.post-content,.article-content{font-size:17px;line-height:1.88;word-break:keep-all;overflow-wrap:anywhere}
.post-content p,.article-content p{margin:0 0 1.15em}
.post-content h2,.article-content h2{font-size:25px;line-height:1.45;margin:2em 0 .7em;letter-spacing:-.03em}
.post-content h3,.article-content h3{font-size:21px;line-height:1.5;margin:1.65em 0 .65em}
.post-content table,.article-content table{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border-collapse:collapse}
.post-content iframe,.article-content iframe{max-width:100%}

/* footer-like blocks */
footer{border-top:1px solid var(--jt-line);margin-top:56px}

@media (max-width:1024px){
  .container{padding-left:20px;padding-right:20px}
  .main-now-image{height:380px}
  .main-now-info h3{font-size:26px}
  .sidebar{min-width:250px}
}
@media (max-width:768px){
  .container{padding-left:16px;padding-right:16px}
  .site-header{padding:8px 0;position:sticky}
  .header-content{display:grid!important;grid-template-columns:1fr auto;gap:9px 12px;align-items:center!important;min-height:auto}
  .site-logo{grid-column:1/2;width:auto!important;justify-content:flex-start!important;margin:0!important}
  .site-logo img{height:39px!important}
  .search-container{grid-column:1/-1;grid-row:2;width:100%;max-width:none}
  .search-container input[type="text"]{height:44px;font-size:16px}
  .category-dropdown{grid-column:2/3;grid-row:1;width:auto!important;text-align:initial!important}
  .category-button{width:auto!important;justify-content:flex-end!important;min-width:84px}
  .dropdown-menu{position:fixed;left:16px!important;right:16px!important;top:66px!important;width:auto!important;max-height:62vh;overflow:auto}
  body > .container[style*="padding-top"]{padding-top:18px!important}
  body > .container > h1{font-size:23px!important;line-height:1.4!important}
  .section-now,.section-most-viewed,.section-more{margin-top:27px}
  .section-now h2,.section-most-viewed h2,.section-more h2{font-size:22px;margin-bottom:14px}
  .now-content-wrapper{display:block!important}
  .main-now-card{display:block;margin-bottom:13px}
  .main-now-image{height:auto!important;aspect-ratio:4/3}
  .main-now-info{padding:48px 20px 18px}
  .main-now-info h3{font-size:22px;line-height:1.35;margin-bottom:7px}
  .main-now-info .summary{font-size:14px;margin-bottom:10px;-webkit-line-clamp:2}
  .right-now-list{display:grid!important;grid-template-columns:1fr 1fr;gap:10px!important}
  .small-now-item{min-height:98px;padding:12px;align-items:flex-start}
  .small-now-info h4{font-size:13px;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .small-now-image{width:64px!important;height:64px!important}
  .most-viewed-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px}
  .viewed-info{padding:11px 11px 12px}
  .viewed-info h4{font-size:14px}
  .main-content{display:block!important;margin-top:30px}
  .grid-post-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .grid-post-info{padding:12px}
  .grid-post-title{font-size:14px;line-height:1.45;margin-bottom:7px}
  .sidebar{min-width:0!important;margin-top:30px}
  .sidebar-block{padding:17px}
  .pagination{gap:5px;margin:28px 0}
  .pagination a,.pagination span.current{min-width:38px;height:38px;padding:0 9px;font-size:13px}
  .post-title-detail{font-size:29px!important;line-height:1.32!important}
  .post-content,.article-content{font-size:16px;line-height:1.82;word-break:normal}
  .post-content h2,.article-content h2{font-size:22px}
  .post-content h3,.article-content h3{font-size:19px}
}
@media (max-width:480px){
  .right-now-list{grid-template-columns:1fr}
  .small-now-item{min-height:82px}
  .most-viewed-grid,.grid-post-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .grid-post-title,.viewed-info h4{font-size:13.5px}
  .grid-post-source,.viewed-info .source{font-size:11px}
  .main-now-image{aspect-ratio:1/1}
  .main-now-info h3{font-size:20px}
  .post-title-detail{font-size:26px!important}
}
@media (hover:none){
  .main-now-card:hover .main-now-image,.small-now-item:hover,.viewed-card:hover,.grid-post-item:hover{transform:none}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
