/* ============================================================
 Design tokens
 ============================================================ */
:root{
--red:#b31b1b;
--red-dark:#8c1515;
--red-tint:#f8ecec;
--ink:#1f1f1f;
--muted:#5f6368;
--faint:#8a8d91;
--link:#0b57a4;
--link-visited:#5b3a8c;
--line:#dcdcdc;
--line-soft:#ececec;
--bg:#ffffff;
--bg-soft:#f6f6f4;
--bg-sub:#eeeeec;
--badge-must:#b31b1b;
--badge-rec:#2f6b3a;
--badge-ref:#6b6f75;
--max:1120px;
--font:"Lucida Grande","Helvetica Neue",Helvetica,Arial,"Apple SD Gothic Neo","Noto Sans KR","Malgun Gothic",sans-serif;
--mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
}
@media (prefers-color-scheme:dark){
:root:not([data-theme="light"]){
  --ink:#e6e6e6;--muted:#a9adb2;--faint:#80848a;--link:#7fb2ee;--link-visited:#b9a2e6;
  --line:#3a3a3a;--line-soft:#2c2c2c;--bg:#161616;--bg-soft:#1e1e1e;--bg-sub:#262626;
  --red-tint:#2e1b1b;--badge-rec:#6fb07c;--badge-ref:#9aa0a6;--badge-must:#e36a6a;
}
}
:root[data-theme="dark"]{
--ink:#e6e6e6;--muted:#a9adb2;--faint:#80848a;--link:#7fb2ee;--link-visited:#b9a2e6;
--line:#3a3a3a;--line-soft:#2c2c2c;--bg:#161616;--bg-soft:#1e1e1e;--bg-sub:#262626;
--red-tint:#2e1b1b;--badge-rec:#6fb07c;--badge-ref:#9aa0a6;--badge-must:#e36a6a;
}

/* ============================================================
 Base
 ============================================================ */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 var(--font)}
a{color:var(--link);text-decoration:none}
a:hover{text-decoration:underline}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid #e0a100;outline-offset:2px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.mono{font-family:var(--mono);font-size:.92em}
[lang="ko"]{word-break:keep-all}

/* ============================================================
 Header (arXiv-style red band)
 ============================================================ */

.masthead{background:var(--red);color:#fff}
.masthead .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:14px;padding-bottom:14px}
.brand{display:flex;align-items:baseline;gap:10px;color:#fff;min-width:0}
.brand:hover{text-decoration:none}
.logo{font:700 30px/1 Georgia,"Times New Roman",serif;letter-spacing:-.5px}
.logo span{font-weight:400;font-style:italic}
.crumb{font-size:15px;color:#fbe3e3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crumb b{color:#fff;font-weight:600}

.search{display:flex;gap:6px;align-items:center;flex:0 1 460px}
.search input{flex:1;min-width:0;border:1px solid #fff;border-radius:2px;padding:6px 9px;font-size:13px;background:#fff;color:#1f1f1f}
.search button{border:1px solid #fff;background:transparent;color:#fff;border-radius:2px;padding:6px 12px;font-size:13px;cursor:pointer}
.search button:hover{background:#fff;color:var(--red)}

.subnav{border-bottom:1px solid var(--line)}
.subnav .wrap{display:flex;gap:22px;font-size:13px;padding-top:9px;padding-bottom:9px;overflow-x:auto;white-space:nowrap}
.subnav a{color:var(--ink)}
.subnav a.active{color:var(--red);font-weight:700}
.subnav .spacer{flex:1}
.subnav .meta{color:var(--muted)}
.theme-btn{background:none;border:0;padding:0;cursor:pointer;font-size:13px}
.theme-btn:hover{color:var(--ink)}

/* ============================================================
 Page layout
 ============================================================ */
main{padding:22px 0 60px}
.page-head h1{font-size:24px;font-weight:700;margin:0 0 4px;line-height:1.3}
.page-head p{margin:0;color:var(--muted);font-size:14px}
.page-head{margin-bottom:18px}

.grid{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:40px;align-items:start}

/* ============================================================
 Filters
 ============================================================ */
.filters{border:1px solid var(--line);background:var(--bg-soft);padding:12px 14px;margin-bottom:6px;font-size:13px}
.frow{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.frow + .frow{margin-top:8px}
.frow .lbl{width:64px;flex:none;color:var(--muted);font-size:12px}
.chip{color:var(--ink);text-decoration:none;border:1px solid var(--line);background:var(--bg);padding:2px 9px;border-radius:2px;cursor:pointer;font-size:12px;line-height:1.6}
.chip:hover{border-color:var(--muted);text-decoration:none}
.chip[aria-current]{background:var(--red);border-color:var(--red);color:#fff}
.chip .n{color:var(--faint);margin-left:3px}
.chip[aria-current] .n{color:#fbdada}

.list-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:var(--muted);padding:10px 0;border-bottom:1px solid var(--line)}
.list-meta select{border:0;background:transparent;font-size:12px;padding:2px}

/* ============================================================
 Listing (arXiv dl/dt/dd pattern)
 ============================================================ */
.day{font-size:16px;font-weight:700;margin:26px 0 4px;padding-bottom:4px;border-bottom:1px solid var(--line-soft)}
.day small{font-weight:400;color:var(--muted);font-size:13px;margin-left:6px}
dl.listing{margin:0}
dl.listing dt{margin-top:18px;font-size:14px}
dl.listing dt .idx{color:var(--muted);margin-right:4px}
dl.listing dt .links{color:var(--muted);font-size:13px;margin-left:4px}
dl.listing dd{margin:4px 0 0 0;padding:0 0 16px 32px;border-bottom:1px solid var(--line-soft)}
.l-title{font-size:17px;font-weight:700;line-height:1.4;margin:0 0 3px}
.l-title a{color:var(--ink)}
.l-title a:hover{color:var(--link)}
.l-authors{font-size:13.5px;margin-bottom:4px}
.l-authors a{color:var(--link)}
.l-line{font-size:13px;color:var(--muted);margin:2px 0}
.l-line b{color:var(--ink);font-weight:600}
.primary-subj{color:var(--ink);font-weight:600}

.take{margin-top:9px;border-left:3px solid var(--red);background:var(--red-tint);padding:8px 12px}
.take .head{font-weight:700;font-size:14px;margin:0 0 2px}
.take p{margin:0;font-size:13.5px;line-height:1.7}
.take .why{margin-top:5px;font-size:12.5px;color:var(--muted)}
.take .why b{color:var(--ink);font-weight:600}

.tags{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:7px;font-size:12px}
.tags a{color:var(--muted)}
.tags a::before{content:"#";color:var(--faint)}

.badge{display:inline-block;font-size:11px;line-height:1;padding:3px 6px;border:1px solid currentColor;border-radius:2px;margin-left:6px;vertical-align:1px;font-weight:600}
.badge.must{color:var(--badge-must)}
.badge.rec{color:var(--badge-rec)}
.badge.ref{color:var(--badge-ref)}
.kind{font-size:12px;color:var(--muted);margin-left:6px}
.memo-mark{font-size:11px;background:var(--bg-sub);color:var(--muted);padding:2px 6px;border-radius:2px;margin-left:6px;vertical-align:1px}

.empty{padding:40px 0;text-align:center;color:var(--muted)}

/* ============================================================
 Sidebar
 ============================================================ */
.side h2{font-size:13px;font-weight:700;margin:0 0 8px;padding-bottom:5px;border-bottom:1px solid var(--line)}
.side section{margin-bottom:24px}
.side ul{list-style:none;margin:0;padding:0;font-size:13px}
.side li{padding:3px 0;display:flex;justify-content:space-between;gap:8px}
.side li .n{color:var(--faint)}
.side p{font-size:13px;color:var(--muted);margin:0 0 6px;line-height:1.7}
.side .box{border:1px solid var(--line);padding:12px;background:var(--bg-soft)}
.side .box h2{border:0;padding:0;margin-bottom:6px}
.access a{display:block;font-size:14px;padding:3px 0}

/* ============================================================
 Abstract-page (review detail)
 ============================================================ */
.subj-crumb{font-size:15px;color:var(--muted);margin:0 0 6px}
.subj-crumb a{color:var(--muted)}
.dateline{font-size:12.5px;color:var(--muted);text-align:right;margin-bottom:6px;font-style:italic}
.abs-title{font-size:24px;line-height:1.35;font-weight:700;margin:10px 0 8px}
.abs-title .pre{color:var(--muted);font-weight:400}
.abs-authors{font-size:14.5px;margin-bottom:16px}
.ko-headline{font-size:18px;font-weight:700;margin:0 0 6px}
.lede{font-size:15px;line-height:1.8;margin:0 0 4px}

.whybox{border:1px solid var(--line);border-left:4px solid var(--red);padding:12px 14px;margin:18px 0 6px;background:var(--bg-soft)}
.whybox h2{margin:0 0 4px;font-size:13px;color:var(--red);letter-spacing:.02em}
.whybox p{margin:0;font-size:14px;line-height:1.75}

.toc{font-size:13px;color:var(--muted);margin:18px 0 0}
.toc a{margin-right:12px}

.review h2{font-size:17px;margin:30px 0 8px;padding-bottom:4px;border-bottom:1px solid var(--line-soft)}
.review p,.review li{font-size:15px;line-height:1.85}
.review ul{padding-left:20px}
.review .math{font-family:"Times New Roman",Georgia,serif;font-style:italic;font-size:1.05em;white-space:nowrap}
.result-table{border-collapse:collapse;width:100%;font-size:13.5px;margin:6px 0 10px}
.result-table th,.result-table td{border-bottom:1px solid var(--line);padding:6px 8px;text-align:left}
.result-table th{font-weight:600;background:var(--bg-soft)}
.result-table td.num{text-align:right;font-family:var(--mono)}
.callout{font-size:13.5px;color:var(--muted);border:1px dashed var(--line);padding:10px 12px;margin:8px 0}

.metatable{border-collapse:collapse;font-size:13.5px;margin:30px 0 0;width:100%}
.metatable td{padding:5px 0;vertical-align:top;border-top:1px solid var(--line-soft)}
.metatable td:first-child{width:110px;font-weight:600;color:var(--muted)}

.series-nav{display:flex;justify-content:space-between;gap:12px;margin-top:28px;font-size:13px;border-top:1px solid var(--line);padding-top:12px}
.series-nav span{color:var(--muted);display:block;font-size:12px}

/* ============================================================
 Series / about
 ============================================================ */
.series-card{border-top:1px solid var(--line);padding:16px 0}
.series-card h2{margin:0 0 4px;font-size:17px}
.series-card p{margin:0 0 6px;color:var(--muted);font-size:14px}
.series-card ol{margin:6px 0 0;padding-left:20px;font-size:14px}
.prose{max-width:720px}
.prose h2{font-size:17px;margin:26px 0 8px}
.prose p,.prose li{font-size:15px;line-height:1.85}

/* ============================================================
 Footer
 ============================================================ */
footer{border-top:1px solid var(--line);background:var(--bg-soft);font-size:12.5px;color:var(--muted)}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:18px;padding-bottom:24px}
footer ul{list-style:none;margin:0;padding:0;display:flex;gap:16px;flex-wrap:wrap}

/* ============================================================
 Responsive
 ============================================================ */
@media (max-width:860px){
.grid{grid-template-columns:minmax(0,1fr)}
.side{order:2}
.masthead .wrap{flex-wrap:wrap}
.search{flex:1 1 100%}
}
@media (max-width:560px){
.wrap{padding:0 16px}
.crumb{display:none}
dl.listing dd{padding-left:0}
.abs-title{font-size:20px}
.frow .lbl{width:100%}
}

/* ============================================================
   Added for the multi-page build
   ============================================================ */
.muted{color:var(--muted)}
.small{font-size:13px}
.filters .more{font-size:12px;margin-left:4px}
.side .more-link{margin-top:6px;font-size:12px}
.side ol.series-list{margin:0;padding-left:18px;font-size:13px}
.side ol.series-list li{padding:3px 0}
.series-nav .right{text-align:right}
ul.plain{list-style:none;padding:0;margin:6px 0 0;font-size:14px}
ul.plain li{padding:3px 0}
ul.months{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:0 16px}
.series-full li{margin-bottom:10px}
.tag-cloud{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:14px}
.tag-cloud a::before{content:"#";color:var(--faint)}

.pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:28px 0 0;padding-top:12px;border-top:1px solid var(--line);font-size:13px}
.pagination .nums{display:flex;gap:10px;color:var(--muted)}
.pagination b{color:var(--ink)}

.abstract{margin:30px 0 0;font-size:14px}
.abstract summary{cursor:pointer;color:var(--muted);font-weight:600}
.abstract blockquote{margin:10px 0 0;padding:0 0 0 14px;border-left:3px solid var(--line);line-height:1.75}

.review .katex-display{overflow-x:auto;overflow-y:hidden;padding:4px 0}
.review table{border-collapse:collapse;width:100%;font-size:13.5px;margin:6px 0 10px}
.review th,.review td{border-bottom:1px solid var(--line);padding:6px 8px;text-align:left}
.review th{font-weight:600;background:var(--bg-soft)}
.review code{font-family:var(--mono);font-size:.9em;background:var(--bg-sub);padding:1px 4px;border-radius:2px}

.search-results .result{padding:14px 0;border-bottom:1px solid var(--line-soft)}
.search-results .result .l-title{margin-bottom:2px}
.search-results .excerpt{font-size:13.5px;color:var(--muted);margin:4px 0 0}
.search-results mark{background:var(--red-tint);color:inherit;font-weight:600}
.side ol.series-list li{display:list-item}
.subnav .wrap{scrollbar-width:none}
@media (max-width:560px){
  .subnav a.meta{display:none}
}
