:root { --paper: #f5f2e9; --paper-raised: #fbf9f2; --ink: #211e17; --ink-soft: #454033; --muted: #716957; --line: #ddd6c3; --line-strong: #b3aa92; --olive: #5e6537; --olive-ink: #49511f; --wash: #ebe7d6; --mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace; --serif: "Songti SC", "STSong", "Noto Serif CJK SC", "Source Han Serif SC", "SimSun", serif; --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif; }

* { box-sizing: border-box; }

html { min-width: 320px; scroll-behavior: smooth; }

body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.85; text-rendering: optimizeLegibility; }

::selection { background: var(--wash); }

a { color: var(--ink); text-decoration-thickness: 1px; text-underline-offset: 3px; }

a:hover { color: var(--olive-ink); }

:focus-visible { outline: 2px solid var(--olive); outline-offset: 2px; }

#main-content:focus { outline: none; }

.skip-link { position: absolute; top: -56px; left: 16px; z-index: 60; padding: 8px 14px; border: 1px solid var(--ink); background: var(--paper-raised); font-size: 13px; text-decoration: none; transition: top 150ms ease; }

.skip-link:focus-visible { top: 12px; }

.site-shell { display: grid; grid-template-columns: minmax(196px, 228px) minmax(0, 1fr); column-gap: clamp(40px, 6vw, 92px); max-width: 1180px; margin: 0 auto; padding: 36px clamp(20px, 4vw, 56px) 72px; }

.site-shell--article { grid-template-columns: minmax(196px, 228px) minmax(0, 1fr) minmax(156px, 200px); max-width: 1280px; }

.site-content { min-width: 0; width: 100%; max-width: 880px; justify-self: center; }

.site-shell--article .site-content { max-width: 700px; }

.site-header { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 24px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }

.site-logo { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; }

.site-logo__mark { padding: 1px 7px; border: 1px solid var(--ink); font-family: var(--mono); font-size: 13px; line-height: 1.6; }

.site-logo__text { font-size: 14px; letter-spacing: 0.04em; }

.top-nav { display: flex; flex-wrap: wrap; gap: 4px 22px; margin-left: auto; }

.top-nav a { padding: 2px 0; border-bottom: 1px solid transparent; font-size: 14px; text-decoration: none; }

.top-nav a:hover { color: var(--olive-ink); border-bottom-color: var(--olive); }

.top-nav a[aria-current="page"] { color: var(--olive-ink); border-bottom-color: var(--olive); }

.sidebar-toggle, .sidebar-close { display: none; }

.hero { padding: clamp(48px, 9vw, 104px) 0 clamp(36px, 5vw, 56px); border-bottom: 1px solid var(--ink); }

.hero__kicker { margin: 0 0 20px; color: var(--olive); font-family: var(--mono); font-size: 12px; letter-spacing: 0.22em; }

.hero__title { margin: 0 0 20px; font-family: var(--serif); font-size: clamp(30px, 5vw, 44px); font-weight: 700; line-height: 1.3; letter-spacing: 0.02em; }

.hero__intro { max-width: 34em; margin: 0; color: var(--ink-soft); font-size: 16px; line-height: 2; }

.section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: 40px 0 4px; }

.section-head__title { margin: 0; font-family: var(--serif); font-size: 22px; font-weight: 700; }

.section-head__more { font-family: var(--mono); font-size: 12px; text-decoration: none; white-space: nowrap; }

.notes-browser__bar { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 28px; justify-content: space-between; margin-top: 18px; }

.notes-browser__search { flex: 1 1 200px; max-width: 300px; padding: 8px 2px; border: 0; border-bottom: 1px solid var(--line-strong); border-radius: 0; appearance: none; background: transparent; color: var(--ink); font-family: var(--mono); font-size: 13px; }

.notes-browser__search::placeholder { color: var(--muted); }

.notes-browser__filters { display: flex; flex-wrap: wrap; gap: 4px 20px; }

.notes-browser__filters button { padding: 4px 0; border: 0; border-bottom: 1px solid transparent; border-radius: 0; background: none; color: var(--muted); font-family: var(--mono); font-size: 12px; letter-spacing: 0.04em; cursor: pointer; }

.notes-browser__filters button:hover { color: var(--olive-ink); }

.notes-browser__filters button[aria-pressed="true"] { color: var(--olive-ink); border-bottom-color: var(--olive); }

.notes-browser__num { color: var(--muted); }

.notes-browser__status { margin: 10px 0 0; color: var(--muted); font-family: var(--mono); font-size: 11.5px; letter-spacing: 0.06em; }

.notes-list { list-style: none; margin: 14px 0 0; padding: 0; }

.notes-list__link { display: block; padding: 22px 0; border-top: 1px solid var(--line); text-decoration: none; }

.notes-list__item:last-child .notes-list__link { border-bottom: 1px solid var(--line); }

.notes-list__meta { display: block; margin-bottom: 6px; color: var(--muted); font-family: var(--mono); font-size: 12px; letter-spacing: 0.05em; }

.notes-list__title { display: block; font-family: var(--serif); font-size: 19px; font-weight: 700; line-height: 1.55; }

.notes-list__link:hover .notes-list__title { color: var(--olive-ink); }

.notes-list__summary { display: block; margin-top: 6px; color: var(--muted); font-size: 14px; line-height: 1.8; }

.notes-browser__empty { margin: 14px 0 0; padding: 44px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--muted); font-size: 14px; text-align: center; }

.is-hidden { display: none; }

.post-document, .page-document { padding-top: clamp(36px, 6vw, 64px); }

.post-meta { margin: 0 0 14px; color: var(--muted); font-family: var(--mono); font-size: 12px; letter-spacing: 0.08em; }

.post-header h1, .page-header h1 { margin: 0; font-family: var(--serif); font-size: clamp(26px, 4vw, 34px); font-weight: 700; line-height: 1.45; }

.post-summary, .page-intro { margin: 14px 0 0; color: var(--ink-soft); font-size: 15.5px; line-height: 1.9; }

.post-external { margin: 20px 0 0; }

.external-link { display: inline-block; padding: 8px 16px; border: 1px solid var(--line-strong); background: var(--paper-raised); font-size: 13.5px; text-decoration: none; }

.external-link:hover { border-color: var(--olive); color: var(--olive-ink); }

.post-body, .page-body { margin-top: 32px; padding-top: 8px; border-top: 1px solid var(--line); }

.site-main h2 { margin: 44px 0 10px; font-family: var(--serif); font-size: 20px; font-weight: 700; line-height: 1.5; }

.site-main h3 { margin: 32px 0 8px; font-size: 16px; font-weight: 700; }

.site-main p { margin: 0 0 18px; }

.site-main ul, .site-main ol { padding-left: 1.4em; }

.page-body > .notes-browser { margin-top: 8px; }

table { width: 100%; margin: 20px 0; border-collapse: collapse; font-size: 14px; }

th, td { padding: 8px; border-bottom: 1px solid var(--line); text-align: left; }

code { padding: 2px 5px; background: var(--wash); font-family: var(--mono); font-size: 0.9em; }

.nav-sidebar { position: sticky; top: 32px; max-height: calc(100vh - 64px); overflow: auto; padding-right: 4px; font-size: 14px; }

.nav-sidebar__label { margin: 0 0 6px; padding-bottom: 12px; border-bottom: 1px solid var(--line); color: var(--muted); font-family: var(--mono); font-size: 11px; letter-spacing: 0.18em; }

.sidebar-group h2 { margin: 22px 0 6px; color: var(--olive); font-size: 13px; font-weight: 600; letter-spacing: 0.08em; }

.sidebar-group ul { list-style: none; margin: 0; padding: 0; }

.sidebar-group li { margin: 10px 0; line-height: 1.6; }

.sidebar-group a { text-decoration: none; }

.sidebar-group a[aria-current="page"] { color: var(--olive-ink); border-bottom: 1px solid var(--olive); }

.sidebar-date { display: block; color: var(--muted); font-family: var(--mono); font-size: 11px; letter-spacing: 0.04em; }

.nav-sidebar__foot { margin: 28px 0 0; padding-top: 14px; border-top: 1px solid var(--line); font-family: var(--mono); font-size: 12px; }

.nav-sidebar__foot a { text-decoration: none; }

.outline-sidebar { position: sticky; top: 32px; max-height: calc(100vh - 64px); overflow: auto; color: var(--muted); font-size: 13px; }

.outline-title { margin: 0 0 12px; padding-bottom: 12px; border-bottom: 1px solid var(--line); font-family: var(--mono); font-size: 11px; letter-spacing: 0.18em; }

.outline-sidebar ul { list-style: none; margin: 0; padding: 0; }

.outline-sidebar li { margin: 8px 0; line-height: 1.55; }

.outline-sidebar li.outline-h3 { padding-left: 14px; }

.outline-sidebar a { color: var(--muted); text-decoration: none; }

.outline-sidebar a:hover { color: var(--olive-ink); }

.outline-sidebar.is-empty { display: none; }

.research-list { list-style: none; margin: 20px 0 0; padding: 0; }

.research-list__item { padding: 24px 0; border-top: 1px solid var(--line); }

.research-list__item:last-child { border-bottom: 1px solid var(--line); }

.research-list__meta { margin: 0 0 8px; color: var(--muted); font-family: var(--mono); font-size: 12px; letter-spacing: 0.05em; }

.research-list__title { margin: 0 0 8px !important; font-size: 19px !important; }

.research-list__title a { text-decoration: none; }

.research-list__summary { margin: 0 0 10px; color: var(--muted); font-size: 14px; }

.research-list__more { margin: 0; font-family: var(--mono); font-size: 12px; }

.research-list__more a { text-decoration: none; }

.media-list { margin-top: 12px; }

.video-embed { margin: 28px 0; }

.video-embed video { display: block; width: 100%; height: auto; border: 1px solid var(--line); background: #17150f; }

.video-embed__caption { margin-top: 8px; color: var(--muted); font-size: 13px; }

.media-empty { margin-top: 24px; padding: 56px 28px; border: 1px dashed var(--line-strong); color: var(--muted); font-size: 14px; text-align: center; }

.media-empty__hint { margin: 0 0 12px; color: var(--olive); font-family: var(--mono); font-size: 11px; letter-spacing: 0.22em; }

.media-empty p:last-child { margin-bottom: 0; }

.site-footer { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 6px 20px; margin-top: clamp(64px, 10vw, 110px); padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); font-family: var(--mono); font-size: 12px; }

.site-footer p { margin: 0; }

.site-footer__mark { color: var(--olive); }

.site-footer a { text-decoration: none; }

@media (max-width: 1024px) { .site-shell, .site-shell--article { grid-template-columns: minmax(0, 1fr); max-width: 860px; } .site-content, .site-shell--article .site-content { max-width: 720px; } .nav-sidebar { visibility: hidden; position: fixed; inset: 0 auto 0 0; z-index: 40; width: 84vw; max-width: 320px; max-height: none; height: 100vh; padding: 20px 24px 32px; border-right: 1px solid var(--line); background: var(--paper-raised); transform: translateX(-105%); transition: transform 180ms ease; } .nav-sidebar.is-open { visibility: visible; transform: translateX(0); } .sidebar-overlay:not([hidden]) { display: block; position: fixed; inset: 0; z-index: 30; background: rgba(33, 30, 23, 0.35); } .sidebar-toggle, .sidebar-close { display: inline-grid; place-items: center; width: 36px; height: 36px; padding: 0; border: 1px solid var(--line-strong); border-radius: 0; background: var(--paper-raised); color: var(--ink); font: inherit; cursor: pointer; } .sidebar-close { margin: 0 0 16px auto; } .outline-sidebar { display: none; } }

@media (max-width: 640px) { .site-shell, .site-shell--article { padding: 20px 18px 56px; } .site-header { gap: 12px 16px; } .top-nav { order: 3; width: 100%; margin-left: 0; gap: 4px 18px; } .hero { padding: 44px 0 32px; } .notes-browser__bar { align-items: stretch; flex-direction: column; gap: 12px; } .notes-browser__search { flex: none; min-height: 42px; max-width: none; width: 100%; } .site-footer { flex-direction: column; align-items: flex-start; } }

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; } }

.site-main img { max-width: 100%; height: auto; }

.post-body, .page-body { overflow-wrap: anywhere; }

.site-main pre { overflow-x: auto; padding: 16px; background: var(--wash); }

.site-main .notes-list, .site-main .research-list { padding-left: 0; }

@media (max-width: 1024px) { body.drawer-open { overflow: hidden; } }

/*# sourceMappingURL=main.css.map */