.paper-reading {
  --paper-column: 820px;
  --paper-bg: #fbfbf9;
  --paper-surface: #f3f5f4;
  --paper-ink: #20262b;
  --paper-soft: #66717a;
  --paper-line: rgba(32, 38, 43, 0.15);
  --paper-blue: #2f6f98;
  --paper-green: #2f7d6b;
  --paper-orange: #b86538;
  --paper-red: #a84b47;
  width: min(100%, var(--paper-column));
  margin-inline: auto;
  color: var(--paper-ink);
  font-family: var(--sans);
  font-size: 1.0625rem;
  line-height: 1.76;
  -webkit-font-smoothing: antialiased;
}

html:not([data-theme="dark"]) body:has(.paper-reading) {
  background: var(--paper-bg);
}

.article-shell-deck { padding-top: 2rem; }
.article-shell-deck .article-header { max-width: 820px; margin-bottom: 2rem; }
.article-shell-deck .article-header h1 {
  max-width: 55ch;
  margin: .7rem 0 1rem;
  font-family: var(--sans);
  font-weight: 720;
  line-height: 1.1;
  text-wrap: pretty;
}
.article-shell-deck .article-deck { display: grid; grid-template-columns: 1fr; gap: .85rem; padding-top: 1rem; }
.article-shell-deck .article-stats { justify-content: flex-start; gap: 2rem; }

.paper-reading > * { max-width: 100%; }
.paper-reading p, .paper-reading li { text-wrap: pretty; }
.paper-reading .paper-meta { margin: 0 0 7px; color: var(--paper-soft); font: 400 .8rem/1.55 var(--sans); }
.paper-reading .source-links { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0 0 22px; font-size: .92rem; }
.paper-reading .deck-wrap { margin: 0 0 32px; overflow: hidden; border: 1px solid #34414a; background: #192127; }
.paper-reading .deck-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 13px 15px; color: #f5f7f8; background: #192127; }
.paper-reading .deck-head strong { font-size: .92rem; }
.paper-reading .deck-head a { color: #fff; font-size: .82rem; white-space: nowrap; }
.paper-reading .post-deck-embed { width: 100% !important; max-width: 100%; margin: 0 !important; transform: none !important; }
.paper-reading .post-deck-embed-frame { border: 0; border-radius: 0; box-shadow: none; }
.paper-reading .post-deck-embed-note { margin: 0 !important; padding: 9px 14px !important; color: #cfd5dc !important; background: #192127; border-top: 1px solid #39464e; font-size: .78rem !important; }
.paper-reading .lead { margin: 0 0 18px; font-size: 1.08em; line-height: 1.78; }
.paper-reading .interest { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 18px 0 22px; padding: 15px 17px; border: 1px solid color-mix(in srgb, var(--paper-blue) 36%, var(--paper-line)); background: color-mix(in srgb, var(--paper-blue) 5%, var(--paper-bg)); }
.paper-reading .interest b { color: var(--paper-blue); font: 750 1.16rem/1 var(--mono); }
.paper-reading .interest span { color: var(--paper-soft); font-size: .84rem; }
.paper-reading .metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 22px 0 25px; border-block: 1px solid var(--paper-line); }
.paper-reading .metric { min-height: 100px; padding: 16px 12px; border-right: 1px solid var(--paper-line); }
.paper-reading .metric:last-child { border-right: 0; }
.paper-reading .metric strong { display: block; color: var(--paper-blue); font: 680 clamp(1.18rem, 3vw, 1.6rem)/1 var(--serif); }
.paper-reading .metric span { display: block; margin-top: 9px; color: var(--paper-soft); font: 600 .76rem/1.45 var(--sans); }
.paper-reading .keypoints { margin: 0 0 36px; padding: 18px 22px; border-left: 5px solid var(--paper-blue); background: color-mix(in srgb, var(--paper-blue) 6%, var(--paper-surface)); }
.paper-reading .keypoints h3 { margin: 0 0 8px; font-size: 1rem; }
.paper-reading .keypoints ul { margin: 0; padding-left: 1.2rem; }
.paper-reading .keypoints li { margin: .42rem 0; }
.paper-reading .part0 { margin: 32px 0 42px; padding: 20px 22px; border-top: 4px solid var(--paper-blue); background: var(--paper-surface); }
.paper-reading .part0 h3 { margin: 0 0 11px; font-size: 1.3rem; }
.paper-reading .kicker { display: block; margin-bottom: 6px; color: var(--paper-blue); font: 800 .7rem/1 var(--mono); letter-spacing: .1em; }
.paper-reading h2 { margin-top: 3.55rem; }
.paper-reading h3 { margin-top: 2.1rem; }
.paper-reading h4 { margin-top: 1.7rem; }
.paper-reading strong { font-weight: 760; }
.paper-reading .table-scroll, .paper-reading .code-scroll { width: 100%; margin: 21px 0; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.paper-reading .table-scroll table { display: table; width: 100%; min-width: 740px; margin: 0; border-collapse: collapse; font: 400 .85rem/1.52 var(--sans); }
.paper-reading th, .paper-reading td { padding: 9px 10px; border: 1px solid var(--paper-line); text-align: left; vertical-align: top; }
.paper-reading th { background: color-mix(in srgb, var(--paper-blue) 7%, var(--paper-surface)); }
.paper-reading td:first-child { font-weight: 650; }
.paper-reading .code-scroll pre { min-width: 680px; margin: 0; padding: 17px 18px; overflow: visible; border: 1px solid var(--paper-line); background: #1d252b; color: #edf0f2; font: 400 .8rem/1.62 var(--mono); white-space: pre; }
.paper-reading code { font-size: .92em; }
.paper-reading .figure { width: 100%; margin: 27px auto; text-align: center; }
.paper-reading .figure img { display: block; width: auto; max-width: 100%; max-height: 820px; height: auto; margin-inline: auto; border: 1px solid var(--paper-line); background: #fff; }
.paper-reading .figure.wide img { width: 100%; max-width: 100%; margin-inline: auto; }
.paper-reading .figure figcaption { max-width: 760px; margin: 8px auto 0; color: var(--paper-soft); font-size: .82rem; line-height: 1.55; text-align: left; }
.paper-reading .note { margin: 22px 0; padding: 15px 18px; border-left: 4px solid var(--paper-orange); background: color-mix(in srgb, var(--paper-orange) 6%, var(--paper-surface)); }
.paper-reading .note.blue { border-color: var(--paper-blue); background: color-mix(in srgb, var(--paper-blue) 6%, var(--paper-surface)); }
.paper-reading .note.red { border-color: var(--paper-red); background: color-mix(in srgb, var(--paper-red) 6%, var(--paper-surface)); }
.paper-reading .note p { margin: .34em 0; }
.paper-reading .formula { margin: 21px 0; padding: 15px 18px; text-align: center; border-block: 1px solid var(--paper-line); font: 600 .88rem/1.7 var(--mono); overflow-x: auto; }
.paper-reading .steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; margin: 22px 0; padding: 0; background: var(--paper-line); list-style: none; }
.paper-reading .steps li { min-height: 138px; padding: 13px; background: var(--paper-surface); }
.paper-reading .steps b { display: block; margin-bottom: 7px; color: var(--paper-blue); font: 750 .72rem/1.3 var(--sans); }
.paper-reading .steps span { display: block; color: var(--paper-soft); font-size: .76rem; line-height: 1.5; }
.paper-reading .case { margin: 25px 0; padding: 20px; border-block: 1px solid var(--paper-line); background: color-mix(in srgb, var(--paper-green) 4%, var(--paper-bg)); }
.paper-reading .case h4 { margin: 0 0 8px; font-size: 1.12rem; }
.paper-reading .case ol { padding-left: 1.2rem; }
.paper-reading .case li { margin: .58rem 0; }
.paper-reading .limit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 22px 0; background: var(--paper-line); }
.paper-reading .limit-grid > div { padding: 17px; background: var(--paper-bg); }
.paper-reading .limit-grid b { display: block; color: var(--paper-orange); font-size: .9rem; }
.paper-reading .limit-grid span { display: block; margin-top: 7px; color: var(--paper-soft); font-size: .84rem; line-height: 1.55; }
.paper-reading .source-note { color: var(--paper-soft); font-size: .82rem; line-height: 1.55; }

html[data-theme="dark"] .paper-reading {
  --paper-bg: #15191c;
  --paper-surface: #1d2327;
  --paper-ink: #edf0f2;
  --paper-soft: #aeb8bf;
  --paper-line: rgba(235, 240, 244, .16);
  --paper-blue: #76b2dc;
  --paper-green: #6dc3ac;
  --paper-orange: #e5a172;
  --paper-red: #e1847d;
}
html[data-theme="dark"] .paper-reading .figure img { background: #f8f8f5; }
html[data-theme="dark"] .paper-reading .limit-grid > div { background: var(--paper-surface); }

@media (max-width: 760px) {
  .article-shell-deck .article-header { width: 100%; max-width: 100%; min-width: 0; }
  .article-shell-deck .article-header h1 { max-width: 100%; font-size: clamp(1.72rem, 7.4vw, 2.22rem); overflow-wrap: anywhere; }
  .article-shell-deck .article-deck, .article-shell-deck .article-deck > p, .paper-reading, .paper-reading .source-links { min-width: 0; }
  .paper-reading .source-links a { overflow-wrap: anywhere; }
  .paper-reading .metrics { grid-template-columns: 1fr 1fr; }
  .paper-reading .metric:nth-child(2) { border-right: 0; }
  .paper-reading .metric:nth-child(-n + 2) { border-bottom: 1px solid var(--paper-line); }
  .paper-reading .steps { grid-template-columns: 1fr 1fr; }
  .paper-reading .figure.wide img { max-width: 100%; }
}

@media (max-width: 460px) {
  .paper-reading .steps, .paper-reading .limit-grid { grid-template-columns: 1fr; }
  .paper-reading .part0, .paper-reading .case { padding: 17px 15px; }
  .paper-reading .deck-head, .paper-reading .interest { align-items: flex-start; flex-direction: column; }
}

@media (min-width: 1360px) and (max-width: 1519.98px) {
  .article-shell-wide.article-shell-wide-toc.article-shell-deck { --shell: min(1360px, calc(100vw - 32px)); }
  .article-shell-wide.article-shell-wide-toc.article-shell-deck .article-grid { grid-template-columns: minmax(170px, 1fr) minmax(0, 1020px) minmax(170px, 1fr); gap: 24px; }
  .article-shell-wide.article-shell-wide-toc.article-shell-deck .article-rail { display: block; }
  .article-shell-wide.article-shell-wide-toc.article-shell-deck .rail-sticky { width: min(100%, 200px); margin-left: auto; }
  .article-shell-wide.article-shell-wide-toc.article-shell-deck .article-toc-mobile { display: none; }
}
