:root {
      color-scheme: light;
      --bg: #f8f7f2;
      --surface: #ffffff;
      --surface-soft: #f1efe8;
      --surface-muted: #e9e8e0;
      --ink: #262923;
      --ink-soft: #585b53;
      --muted: #85877f;
      --line: #e4e3dc;
      --accent: #bf6749;
      --accent-dark: #9f4b30;
      --accent-pale: #f5e7dc;
      --forest: #344b40;
      --header-glass: rgba(248,247,242,.88);
      --shadow: 0 19px 65px rgba(60,51,37,.065);
      --serif: 'Iowan Old Style','Baskerville','Songti SC','STSong','Noto Serif CJK SC',serif;
      --sans: 'Inter','SF Pro Display','PingFang SC','Microsoft YaHei',system-ui,sans-serif;
    }
    :root[data-theme='dark'] {
      color-scheme: dark;
      --bg: #191e1b;
      --surface: #242a25;
      --surface-soft: #2d342d;
      --surface-muted: #3a433a;
      --ink: #f4f0e9;
      --ink-soft: #c5c9c0;
      --muted: #a0a89d;
      --line: #394139;
      --accent: #e29a78;
      --accent-dark: #f0aa89;
      --accent-pale: #3a2d28;
      --forest: #273f32;
      --header-glass: rgba(25,30,27,.9);
      --shadow: 0 20px 60px rgba(0,0,0,.16);
    }
    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; scroll-padding-top: 110px; }
    body { margin: 0; background: var(--bg); color: var(--ink); font: 16px/1.75 var(--sans); -webkit-font-smoothing: antialiased; transition: background-color .25s,color .25s; }
    body::before { content: ''; position: fixed; top: -180px; right: -240px; width: 650px; height: 650px; z-index: -1; pointer-events: none; background: radial-gradient(circle,rgba(230,184,151,.09),transparent 67%); }
    a { color: inherit; text-decoration: none; }
    button, input, select { font: inherit; }
    button { cursor: pointer; }
    button, a, input, select { -webkit-tap-highlight-color: transparent; }
    button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
    ::selection { background: #e9bda6; color: #232a21; }
    [hidden] { display: none !important; }
    .container { width: min(1180px,calc(100% - 72px)); margin-inline: auto; }
    .eyebrow { display: inline-flex; align-items: center; gap: 10px; color: var(--accent); font-size: 11px; font-weight: 800; letter-spacing: .20em; text-transform: uppercase; }
    .eyebrow::before { content: ''; display: block; width: 20px; height: 1px; background: currentColor; }
    .serif { font-family: var(--serif); }
    .site-header { position: sticky; top: 0; z-index: 100; height: 84px; background: var(--header-glass); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); border-bottom: 1px solid var(--line); }
    .header-inner { display: flex; justify-content: space-between; align-items: center; height: 100%; gap: 24px; }
    .brand { display: inline-flex; gap: 12px; align-items: center; flex-shrink: 0; }
    .brand-emblem { display: grid; place-items: center; width: 39px; height: 39px; border-radius: 12px; background: var(--accent); color: #fff9ed; font: bold 23px/1 var(--serif); transform: rotate(-8deg); box-shadow: 0 5px 12px rgba(191,103,73,.15); }
    .brand-text { display: flex; flex-direction: column; gap: 1px; }
    .brand-text strong { font-size: 17px; font-weight: 750; letter-spacing: .035em; line-height: 1.2; }
    .brand-text small { font-size: 9px; color: var(--muted); letter-spacing: .13em; font-weight: 750; line-height: 1.5; }
    .nav-links { display: flex; align-items: center; gap: 36px; margin-left: auto; padding-right: 30px; }
    .nav-links a { color: var(--ink-soft); font-size: 13px; font-weight: 650; transition: color .2s; }
    .nav-links a:hover, .nav-links a.active { color: var(--accent); }
    .header-actions { display: flex; align-items: center; gap: 13px; }
    .icon-button { width: 38px; height: 38px; display: grid; place-items: center; color: var(--ink); background: transparent; border: 1px solid transparent; border-radius: 11px; transition: background .2s,border-color .2s; }
    .icon-button:hover { background: var(--surface-soft); border-color: var(--line); }
    .icon-button svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
    .menu-button { display: none; }
    .theme-moon { display: none; }
    :root[data-theme='dark'] .theme-moon { display: block; }
    :root[data-theme='dark'] .theme-sun { display: none; }
    .progress { position: fixed; z-index: 110; top: 0; left: 0; height: 3px; width: 0; background: var(--accent); transition: width .08s linear; pointer-events: none; }

    .hero { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(35px,6vw,90px); align-items: center; padding-top: 78px; padding-bottom: 93px; }
    .hero-copy { position: relative; }
    .hero .eyebrow { margin-bottom: 27px; }
    .hero h1 { margin: 0; font: 600 clamp(43px,5vw,72px)/1.33 var(--serif); letter-spacing: -.055em; }
    .hero h1 em { font-style: normal; color: var(--accent); position: relative; white-space: nowrap; }
    .hero h1 em::after { content: ''; position: absolute; width: 91%; height: 11px; left: 5%; bottom: -7px; border-top: 2px solid currentColor; border-radius: 50%; transform: rotate(-3deg); opacity: .58; }
    .hero-description { max-width: 435px; margin: 32px 0 31px; font-size: 15px; line-height: 2.2; letter-spacing: .012em; color: var(--ink-soft); }
    .hero-buttons { display: flex; flex-wrap: wrap; gap: 13px; align-items: center; }
    .button-primary, .button-secondary { display: inline-flex; align-items: center; justify-content: center; gap: 14px; border-radius: 99px; padding: 13px 24px; font-size: 13px; font-weight: 750; line-height: 1.45; transition: transform .2s, background .2s, color .2s, box-shadow .2s; }
    .button-primary { border: 1px solid var(--accent); background: var(--accent); color: #fff; box-shadow: 0 10px 24px rgba(191,103,73,.19); }
    .button-primary:hover { background: var(--accent-dark); transform: translateY(-3px); }
    .button-secondary { border: 1px solid var(--line); background: var(--surface); color: var(--ink-soft); }
    .button-secondary:hover { background: var(--surface-soft); transform: translateY(-3px); }
    .button-primary .arrow, .button-secondary .arrow { font-size: 17px; line-height: 1; }
    .hero-signature { display: flex; align-items: center; gap: 15px; margin-top: 52px; }
    .mini-avatars { display: flex; align-items: center; }
    .mini-avatars span { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; border: 3px solid var(--bg); color: #fff; font: 600 16px var(--serif); margin-left: -8px; background: #88a592; }
    .mini-avatars span:first-child { margin-left: 0; background: #bf836f; }
    .mini-avatars span:last-child { background: #b7ab83; }
    .hero-signature p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.8; }
    .hero-signature p strong { color: var(--ink-soft); font-weight: 700; }
    .hero-art { min-height: 505px; position: relative; isolation: isolate; display: flex; justify-content: center; align-items: center; }
    .hero-art::before { content: ''; position: absolute; width: 88%; aspect-ratio: 1; border: 1px solid var(--line); border-radius: 50%; left: 6%; top: 2%; transform: rotate(-15deg); }
    .hero-art::after { content: '✳'; position: absolute; top: 11%; right: 4%; color: var(--accent); font-size: 42px; line-height: 1; transform: rotate(10deg); }
    .art-card { position: relative; width: min(100%,427px); height: 453px; border-radius: 180px 180px 17px 17px; background: linear-gradient(168deg,#e9dfd0 7%,#dbc7ac 46%,#a3a79a 100%); overflow: hidden; box-shadow: 0 28px 55px rgba(78,72,49,.15); transform: rotate(2.5deg); }
    .art-card::after { content: ''; position: absolute; inset: 0; z-index: 8; pointer-events: none; opacity: .14; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.6' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.3'/%3E%3C/svg%3E"); }
    .art-sun { position: absolute; left: 26%; top: 21%; width: 57%; aspect-ratio: 1; background: radial-gradient(circle at 39% 35%,#fff3d1 0,#edb389 65%,#da946e 100%); border-radius: 50%; z-index: 1; box-shadow: 0 0 90px rgba(255,237,191,.25); }
    .art-mountain-back { position: absolute; width: 145%; height: 260px; left: -13%; bottom: -53px; z-index: 2; background: #a2a894; border-radius: 54% 44% 0 0; transform: rotate(13deg); }
    .art-mountain-front { position: absolute; width: 160%; height: 245px; left: -31%; bottom: -128px; z-index: 3; background: #536b59; border-radius: 51% 48% 0 0; transform: rotate(-9deg); }
    .art-hill-line { position: absolute; left: -13%; bottom: 107px; z-index: 4; width: 130%; border-top: 1px solid rgba(255,249,227,.48); transform: rotate(-13deg); }
    .art-bookmark { position: absolute; top: 29px; left: 30px; z-index: 9; color: #5c6558; font: 700 10px/1.5 var(--sans); letter-spacing: .24em; writing-mode: vertical-rl; }
    .art-title { position: absolute; bottom: 29px; left: 32px; z-index: 9; color: #f9f3e7; font: 500 29px/1.45 var(--serif); letter-spacing: .09em; }
    .art-stamp { position: absolute; z-index: 11; width: 102px; height: 102px; bottom: 15px; right: -33px; border-radius: 50%; background: #f7f2e7; border: 1px solid rgba(57,70,50,.17); box-shadow: 0 10px 30px rgba(41,52,41,.11); display: flex; flex-direction: column; justify-content: center; align-items: center; color: #8d715e; transform: rotate(12deg); }
    .art-stamp strong { font: 600 22px var(--serif); }
    .art-stamp small { font-size: 7px; letter-spacing: .16em; font-weight: 800; }
    .art-side-note { position: absolute; bottom: 6px; left: -37px; writing-mode: vertical-rl; transform: rotate(180deg); color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .22em; }

    .intro-band { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 30px; border-block: 1px solid var(--line); padding: 32px 2px; }
    .intro-quote { margin: 0; font: 400 clamp(18px,2vw,23px)/1.7 var(--serif); letter-spacing: .03em; }
    .intro-quote span { color: var(--accent); font-size: 34px; line-height: .5; vertical-align: -.14em; margin-right: 8px; }
    .intro-counts { display: flex; gap: 30px; }
    .intro-count { display: flex; align-items: baseline; gap: 5px; white-space: nowrap; }
    .intro-count strong { font: 550 30px/1 var(--serif); }
    .intro-count small { color: var(--muted); font-size: 11px; }
    .section { padding-top: 102px; }
    .section-top { display: flex; justify-content: space-between; align-items: flex-end; gap: 25px; margin-bottom: 34px; }
    .section-title { margin: 12px 0 0; font: 550 clamp(29px,3.3vw,43px)/1.25 var(--serif); letter-spacing: -.035em; }
    .section-description { color: var(--muted); font-size: 13px; margin: 12px 0 0; }
    .section-index { color: var(--muted); font: 550 11px var(--sans); letter-spacing: .15em; padding-bottom: 7px; }
    .article-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 25px; }
    .category-filters { display: flex; flex-wrap: wrap; gap: 8px; }
    .filter-button { appearance: none; border: 1px solid var(--line); background: transparent; color: var(--ink-soft); border-radius: 50px; padding: 8px 15px; font-size: 12px; font-weight: 650; white-space: nowrap; transition: background .2s,border-color .2s,color .2s; }
    .filter-button:hover { background: var(--surface-soft); }
    .filter-button.active { background: var(--forest); border-color: var(--forest); color: #fff; }
    .search-sort { display: flex; align-items: center; gap: 9px; }
    .search-box { display: flex; align-items: center; width: 198px; gap: 8px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
    .search-box:focus-within { border-color: var(--accent); box-shadow: 0 0 0 3px var(--accent-pale); }
    .search-box svg { flex-shrink: 0; width: 15px; height: 15px; color: var(--muted); fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
    .search-box input { width: 100%; min-width: 0; border: 0; outline: 0; padding: 0; background: transparent; color: var(--ink); font-size: 12px; }
    .search-box input:focus-visible { outline: 0; }
    .search-box input::placeholder { color: var(--muted); }
    .sort-select { border: 1px solid var(--line); background: var(--surface); color: var(--ink-soft); padding: 9px 23px 9px 12px; border-radius: 12px; font-size: 12px; font-weight: 650; }
    .results-meta { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; font-size: 11px; color: var(--muted); letter-spacing: .03em; }
    .posts-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 21px; }
    .post-card { min-width: 0; overflow: hidden; border-radius: 17px; border: 1px solid var(--line); background: var(--surface); box-shadow: var(--shadow); transition: transform .26s, box-shadow .26s; }
    .post-card:hover { transform: translateY(-5px); box-shadow: 0 24px 55px rgba(54,49,37,.12); }
    .post-cover { position: relative; display: block; height: 205px; overflow: hidden; isolation: isolate; }
    .post-cover::before, .article-cover::before { content: ''; position: absolute; z-index: 1; width: 72%; aspect-ratio: 1; border-radius: 50%; left: 22%; top: 17%; border: 1px solid rgba(255,255,255,.4); transform: rotate(-20deg); }
    .post-cover::after, .article-cover::after { content: ''; position: absolute; z-index: 0; width: 54%; aspect-ratio: 1; border-radius: 50%; left: 30%; top: 26%; background: rgba(255,255,255,.26); box-shadow: 0 0 0 38px rgba(255,255,255,.09), 0 0 0 76px rgba(255,255,255,.055); transition: transform .4s; }
    .post-card:hover .post-cover::after { transform: scale(1.13) translate(-2%,-2%); }
    .cover-amber { background: linear-gradient(135deg,#e3b69d,#bd7f65 53%,#9c6d5e); }
    .cover-forest { background: linear-gradient(138deg,#a1b5a0,#657e6f 55%,#3f5a4e); }
    .cover-blue { background: linear-gradient(132deg,#b9c6d8,#788eab 53%,#566f8d); }
    .cover-rose { background: linear-gradient(137deg,#e6c7bb,#cf998d 56%,#a77472); }
    .cover-gold { background: linear-gradient(135deg,#ead6a7,#c8a66e 55%,#978063); }
    .cover-lavender { background: linear-gradient(135deg,#c7bcd4,#a395b6 55%,#827594); }
    .cover-nr { position: absolute; z-index: 3; top: 18px; left: 20px; color: rgba(255,255,255,.87); font-size: 10px; font-weight: 800; letter-spacing: .14em; }
    .cover-deco { position: absolute; z-index: 2; top: 27%; left: 38%; font: 500 clamp(73px,9vw,125px)/1 var(--serif); color: rgba(255,250,236,.80); transform: rotate(-11deg); text-shadow: 0 11px 30px rgba(0,0,0,.05); }
    .cover-word { position: absolute; z-index: 3; left: 20px; bottom: 17px; color: rgba(255,255,255,.94); font: 700 10px var(--sans); letter-spacing: .19em; }
    .post-content { padding: 25px 24px 22px; }
    .post-overline { display: flex; align-items: center; gap: 9px; color: var(--accent); font-size: 11px; font-weight: 750; }
    .post-overline .dot { width: 3px; height: 3px; border-radius: 50%; background: var(--muted); }
    .post-overline .read-time { color: var(--muted); font-weight: 500; }
    .post-content h3 { font: 600 22px/1.48 var(--serif); letter-spacing: -.02em; margin: 13px 0 11px; }
    .post-content h3 a:hover { color: var(--accent); }
    .post-content p { margin: 0; color: var(--ink-soft); font-size: 12px; line-height: 2; min-height: 48px; }
    .post-footer { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 21px; padding-top: 16px; border-top: 1px solid var(--line); }
    .post-footer time { font-size: 11px; color: var(--muted); }
    .read-link { font-size: 11px; font-weight: 800; color: var(--accent); white-space: nowrap; }
    .read-link span { margin-left: 5px; }
    .post-card.is-featured { grid-column: 1 / -1; display: grid; grid-template-columns: 1.04fr .96fr; min-height: 328px; }
    .post-card.is-featured .post-cover { height: 100%; min-height: 328px; }
    .post-card.is-featured .cover-deco { font-size: clamp(130px,15vw,210px); left: 37%; top: 19%; }
    .post-card.is-featured .cover-nr { top: 29px; left: 30px; }
    .post-card.is-featured .cover-word { bottom: 29px; left: 30px; }
    .post-card.is-featured .post-content { display: flex; flex-direction: column; justify-content: center; padding: 37px 49px; }
    .post-card.is-featured .post-content h3 { font-size: clamp(26px,2.9vw,36px); line-height: 1.38; margin: 19px 0 15px; }
    .post-card.is-featured .post-content p { font-size: 13px; line-height: 2.05; }
    .post-card.is-featured .post-footer { margin-top: 29px; }
    .empty-state { border: 1px dashed var(--line); padding: 60px 20px; border-radius: 16px; text-align: center; }
    .empty-state .empty-icon { font: 400 50px var(--serif); color: var(--accent); }
    .empty-state h3 { margin: 8px 0 4px; font: 550 24px var(--serif); }
    .empty-state p { color: var(--muted); font-size: 13px; }
    .empty-state button { border: 0; background: transparent; color: var(--accent); font-weight: 750; font-size: 13px; }

    .about-section { padding-top: 132px; padding-bottom: 100px; }
    .about-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(60px,10vw,150px); align-items: center; }
    .about-image { position: relative; min-height: 390px; border-radius: 185px 185px 18px 18px; background: #e6ded0; overflow: visible; display: grid; place-items: center; }
    .about-image::before { content: ''; position: absolute; inset: 18px; border: 1px solid rgba(113,113,87,.2); border-radius: 160px 160px 11px 11px; pointer-events: none; }
    .about-image::after { content: ''; position: absolute; width: 160px; height: 160px; right: -35px; bottom: -30px; background: repeating-radial-gradient(circle at center,transparent 0 14px,rgba(166,110,79,.36) 15px 16px); border-radius: 50%; z-index: -1; }
    .about-flower { position: relative; display: grid; place-items: center; width: 200px; height: 200px; border-radius: 45% 55% 49% 51%; background: #d2b59b; color: #fffaf0; font: 500 98px var(--serif); transform: rotate(-12deg); }
    .about-flower::before { content: '✳'; font: 400 46px var(--sans); position: absolute; color: #fff3e1; top: -58px; left: -42px; transform: rotate(19deg); }
    .about-image-caption { position: absolute; bottom: 26px; left: 30px; font-size: 9px; letter-spacing: .21em; font-weight: 800; color: #7d6d5c; }
    .about-text .eyebrow { margin-bottom: 13px; }
    .about-text h2 { font: 550 clamp(30px,3.4vw,45px)/1.5 var(--serif); letter-spacing: -.035em; margin: 4px 0 24px; }
    .about-text h2 span { color: var(--accent); }
    .about-text p { color: var(--ink-soft); font-size: 14px; line-height: 2.25; margin: 0 0 14px; }
    .about-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; margin-bottom: 30px; }
    .about-tags span { border: 1px solid var(--line); background: var(--surface); color: var(--ink-soft); padding: 6px 14px; border-radius: 30px; font-size: 11px; }
    .about-sign { color: var(--accent); font: italic 26px var(--serif); }
    .note-banner { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-bottom: 98px; border-radius: 20px; padding: 34px clamp(28px,5vw,60px); background: var(--forest); color: #f5f4ea; overflow: hidden; position: relative; }
    .note-banner::after { content: '✺'; font-size: 240px; line-height: 1; color: rgba(255,255,255,.055); position: absolute; right: 18%; top: -58px; pointer-events: none; }
    .note-banner > * { position: relative; z-index: 1; }
    .note-banner .eyebrow { color: #efc5a4; }
    .note-banner h2 { font: 500 clamp(21px,2.5vw,31px)/1.55 var(--serif); margin: 9px 0 0; }
    .note-banner a { background: #f4f0e6; border: 1px solid #f4f0e6; color: #334439; box-shadow: none; white-space: nowrap; }
    .note-banner a:hover { background: #fff; }

    /* Minimal brand footer: no duplicated navigation or contact links. */
    .site-footer { position: relative; padding: 32px 0 34px; border-top: 1px solid var(--line); }
    .site-footer::before { content: ""; position: absolute; top: -1px; left: calc(50% - 27px); width: 54px; height: 2px; border-radius: 0 0 3px 3px; background: var(--accent); opacity: .62; }
    .footer-inner { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; column-gap: clamp(22px,3vw,46px); min-height: 78px; }
    .footer-identity { display: flex; align-items: stretch; gap: 15px; min-width: 0; }
    .footer-identity::before { content: ""; width: 2px; flex: 0 0 2px; border-radius: 3px; background: var(--accent); opacity: .55; }
    .footer-brand-copy { min-width: 0; }
    .footer-name { margin: 0 0 5px; color: var(--ink); font: 550 22px/1.35 var(--serif); letter-spacing: .06em; }
    .footer-motto { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
    .footer-signature { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; min-width: 160px; color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .16em; white-space: nowrap; }
    .footer-signature-symbol { color: var(--accent); font-size: 17px; line-height: 1.2; font-weight: 400; opacity: .78; }
    .footer-credits { display: flex; flex-direction: column; align-items: flex-end; gap: 7px; text-align: right; min-width: 0; }
    .footer-legal { margin: 0; color: var(--ink-soft); font-size: 11px; line-height: 1.65; letter-spacing: .015em; white-space: normal; }
    .footer-made { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.6; letter-spacing: .035em; }

    @media (min-width: 761px) and (max-width: 1050px) {
      .footer-inner { grid-template-columns: minmax(0,1fr) minmax(0,1fr); column-gap: 30px; }
      .footer-signature { display: none; }
    }

    .article-shell { padding-top: 57px; padding-bottom: 100px; }
    .article-breadcrumb { color: var(--muted); font-size: 12px; display: flex; gap: 11px; align-items: center; }
    .article-breadcrumb a:hover { color: var(--accent); }
    .article-breadcrumb .slash { opacity: .5; }
    .article-heading { text-align: center; width: min(790px,100%); margin: 74px auto 43px; }
    .article-heading .eyebrow::before { display: none; }
    .article-heading h1 { font: 550 clamp(36px,5.6vw,59px)/1.38 var(--serif); letter-spacing: -.05em; margin: 17px 0 20px; }
    .article-heading p { color: var(--ink-soft); font-size: 15px; line-height: 2; max-width: 610px; margin: 0 auto 24px; }
    .article-meta { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 13px; color: var(--muted); font-size: 11px; }
    .article-meta b { height: 3px; width: 3px; border-radius: 50%; background: var(--muted); }
    .article-cover { height: min(39vw,380px); min-height: 250px; max-height: 380px; border-radius: 18px; overflow: hidden; position: relative; isolation: isolate; }
    .article-cover::after { width: 25%; left: 38%; top: 13%; }
    .article-cover .cover-deco { font-size: clamp(130px,20vw,230px); top: 8%; left: 44%; }
    .article-cover .cover-nr { left: 30px; top: 28px; }
    .article-cover .cover-word { left: 30px; bottom: 25px; }
    .article-body-layout { display: grid; grid-template-columns: minmax(0,730px) minmax(190px,1fr); gap: clamp(35px,5.5vw,80px); margin-top: 71px; align-items: start; }
    .prose { min-width: 0; font-size: 15px; line-height: 2.27; color: var(--ink-soft); }
    .prose p { margin: 0 0 24px; }
    .prose h2 { color: var(--ink); font: 550 29px/1.6 var(--serif); letter-spacing: -.025em; margin: 47px 0 17px; scroll-margin-top: 108px; }
    .prose h3 { color: var(--ink); font: 650 20px/1.6 var(--serif); margin: 28px 0 12px; }
    .prose strong { color: var(--ink); font-weight: 800; }
    .prose blockquote { background: var(--surface-soft); border-left: 3px solid var(--accent); color: var(--ink); margin: 35px 0; padding: 24px 26px; border-radius: 0 12px 12px 0; font: 500 18px/2 var(--serif); }
    .prose blockquote p { margin: 0; }
    .prose ul, .prose ol { padding-left: 25px; margin: 0 0 25px; }
    .prose li { padding-left: 3px; margin: 8px 0; }
    .prose hr { border: 0; border-top: 1px solid var(--line); margin: 47px 0; }
    .prose a { color: var(--accent); text-decoration: underline; text-underline-offset: 4px; }
    .reading-aside { position: sticky; top: 120px; padding: 22px 0 0 24px; border-left: 1px solid var(--line); }
    .reading-aside > span { font-size: 10px; font-weight: 800; letter-spacing: .12em; color: var(--accent); }
    .toc-list { display: grid; gap: 13px; margin-top: 17px; }
    .toc-list a { color: var(--muted); font-size: 12px; line-height: 1.6; transition: color .2s; }
    .toc-list a:hover { color: var(--accent); }
    .aside-divider { height: 1px; background: var(--line); margin: 29px 0; }
    .aside-quote { color: var(--muted); font: italic 16px/2 var(--serif); margin: 0; }
    .article-bottom { max-width: 730px; margin: 48px 0 0; padding-top: 24px; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 12px; }
    .article-bottom button, .article-bottom a { display: inline-flex; align-items: center; gap: 9px; font-weight: 750; font-size: 12px; border-radius: 30px; padding: 10px 16px; background: var(--surface); border: 1px solid var(--line); color: var(--ink-soft); }
    .article-bottom button:hover, .article-bottom a:hover { background: var(--surface-soft); color: var(--accent); }
    .related-header { font: 550 26px var(--serif); margin: 80px 0 24px; }
    .related-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
    .related-card { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 25px; border: 1px solid var(--line); background: var(--surface); border-radius: 14px; }
    .related-card:hover { border-color: var(--accent); }
    .related-card small { color: var(--accent); font-size: 11px; }
    .related-card h3 { margin: 6px 0 0; font: 550 19px/1.5 var(--serif); }
    .related-card span:last-child { font-size: 22px; color: var(--accent); }
    .toast { position: fixed; bottom: 26px; left: 50%; z-index: 300; transform: translate(-50%,20px); background: var(--ink); color: var(--bg); border-radius: 99px; padding: 12px 19px; box-shadow: var(--shadow); font-size: 12px; font-weight: 700; opacity: 0; visibility: hidden; transition: opacity .23s,transform .23s,visibility .23s; white-space: nowrap; }
    .toast.show { opacity: 1; transform: translate(-50%,0); visibility: visible; }
    .skip-link { position: absolute; top: -80px; left: 10px; z-index: 300; background: var(--surface); padding: 8px 13px; }
    .skip-link:focus { top: 10px; }

    @media (max-width: 1050px) {
      .hero { gap: 35px; }
      .hero-art { min-height: 440px; }
      .art-card { height: 405px; }
      .post-content { padding: 22px 20px 20px; }
      .post-card.is-featured .post-content { padding: 30px; }
      .article-toolbar { align-items: flex-start; flex-direction: column-reverse; }
      .search-sort { align-self: stretch; }
      .search-box { flex: 1; }
    }
    @media (max-width: 760px) {
      html { scroll-padding-top: 84px; }
      .container { width: min(100% - 38px,540px); }
      .site-header { height: 70px; }
      .header-inner { gap: 12px; }
      .brand-emblem { width: 35px; height: 35px; border-radius: 10px; }
      .brand-text strong { font-size: 14px; }
      .brand-text small { font-size: 8px; }
      .header-actions { gap: 2px; }
      .menu-button { display: grid; }
      .nav-links { position: absolute; top: 70px; left: 0; right: 0; display: none; background: var(--bg); border-bottom: 1px solid var(--line); margin: 0; padding: 16px 22px 23px; gap: 0; box-shadow: var(--shadow); }
      .site-header.nav-open .nav-links { display: flex; flex-direction: column; align-items: stretch; }
      .nav-links a { padding: 13px 8px; font-size: 14px; }
      .hero { grid-template-columns: 1fr; padding-top: 59px; padding-bottom: 66px; gap: 35px; }
      .hero .eyebrow { margin-bottom: 22px; }
      .hero h1 { font-size: clamp(39px,9vw,60px); line-height: 1.4; }
      .hero-description { font-size: 14px; margin: 24px 0 25px; }
      .hero-signature { margin-top: 30px; }
      .hero-art { min-height: 410px; width: 100%; }
      .hero-art::before { width: 80%; left: 10%; }
      .art-card { width: min(83%,350px); height: 385px; }
      .art-stamp { right: 0; width: 82px; height: 82px; bottom: 13px; }
      .art-stamp strong { font-size: 18px; }
      .art-side-note { left: 4px; }
      .intro-band { grid-template-columns: 1fr; gap: 19px; padding-block: 26px; }
      .intro-counts { justify-content: flex-start; gap: 26px; }
      .intro-count strong { font-size: 25px; }
      .section { padding-top: 75px; }
      .section-top { margin-bottom: 25px; }
      .section-title { font-size: 34px; }
      .posts-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
      .post-card.is-featured { grid-column: 1/-1; grid-template-columns: 1fr; }
      .post-card.is-featured .post-cover { min-height: 235px; height: 235px; }
      .post-card.is-featured .post-content { padding: 25px; }
      .post-card.is-featured .post-content h3 { font-size: 26px; margin: 12px 0; }
      .post-card.is-featured .post-footer { margin-top: 22px; }
      .post-content { padding: 15px 15px 17px; }
      .post-cover { height: 145px; }
      .post-content h3 { font-size: 17px; }
      .post-content p { font-size: 11px; }
      .post-footer { align-items: flex-start; flex-direction: column; gap: 7px; margin-top: 16px; padding-top: 11px; }
      .cover-deco { font-size: 85px; left: 31%; }
      .about-section { padding-block: 80px 75px; }
      .about-layout { grid-template-columns: 1fr; gap: 44px; }
      .about-image { width: 77%; min-height: 330px; margin: 0 auto; }
      .about-flower { width: 175px; height: 175px; font-size: 75px; }
      .about-text h2 { font-size: 34px; }
      .note-banner { flex-direction: column; align-items: flex-start; padding: 28px; margin-bottom: 70px; }
      .site-footer { padding: 27px 0 30px; }
      .footer-inner { grid-template-columns: minmax(0,1fr); gap: 20px; min-height: 0; }
      .footer-name { font-size: 20px; }
      .footer-credits { align-items: flex-start; text-align: left; padding-left: 17px; gap: 4px; }
      .footer-legal { white-space: normal; }
      .article-shell { padding-top: 32px; padding-bottom: 60px; }
      .article-heading { margin: 52px auto 30px; }
      .article-heading h1 { font-size: clamp(32px,7.7vw,48px); }
      .article-heading p { font-size: 13px; }
      .article-cover { min-height: 235px; }
      .article-body-layout { grid-template-columns: 1fr; margin-top: 45px; }
      .reading-aside { display: none; }
      .prose { font-size: 14px; line-height: 2.13; }
      .prose h2 { font-size: 24px; }
      .related-grid { grid-template-columns: 1fr; }
    }
    @media (max-width: 430px) {
      .container { width: calc(100% - 32px); }
      .hero h1 { font-size: 38px; }
      .hero-art { min-height: 370px; }
      .art-card { height: 345px; }
      .art-title { font-size: 23px; }
      .posts-grid { grid-template-columns: 1fr; }
      .post-card.is-featured { grid-column: 1; }
      .post-cover { height: 193px; }
      .post-footer { flex-direction: row; align-items: center; }
      .post-content { padding: 22px; }
      .post-content h3 { font-size: 20px; }
      .search-sort { width: 100%; }
      .sort-select { max-width: 91px; }
      .category-filters { gap: 7px; }
      .filter-button { padding: 7px 12px; }
      .about-image { width: 88%; }
      .intro-quote { font-size: 18px; }
    }
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
    }

    /* 三合一博客：频道入口、技术实验室、日记、摄影画廊 */
    html, body { overflow-x: clip; }
    .nav-links { gap: 23px; padding-right: 12px; }
    .hero-code-note { position: absolute; left: -13px; top: 70px; bottom: auto; z-index: 14; padding: 12px 17px; border-radius: 12px; background: rgba(35,49,43,.96); box-shadow: 0 17px 30px rgba(18,38,30,.22); color: #c4ebcf; transform: rotate(-7deg); font: 11px/1.7 ui-monospace, SFMono-Regular, Consolas, monospace; }
    .hero-code-note .code-dot { display: block; font: 10px/1 var(--sans); letter-spacing: 3px; color: #e2a68c; margin-bottom: 8px; }
    .mini-avatars span:first-child { font: 800 9px/1 ui-monospace, monospace; }
    .channels-section { padding-top: 93px; }
    .channel-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
    .channel-card { min-width: 0; min-height: 300px; padding: 24px 25px 24px; border-radius: 19px; display: flex; flex-direction: column; justify-content: space-between; position: relative; overflow: hidden; isolation: isolate; transition: transform .25s, box-shadow .25s; }
    .channel-card:hover { transform: translateY(-5px); box-shadow: 0 22px 45px rgba(43,36,28,.12); }
    .channel-card::after { content: ''; position: absolute; width: 300px; height: 300px; border: 1px solid currentColor; opacity: .12; border-radius: 50%; right: -80px; top: -97px; z-index: -1; }
    .channel-tech { background: #31493e; color: #f5f4ea; }
    .channel-life { background: #ead9c6; color: #6e4a38; }
    .channel-photo { background: #adb9bc; color: #233e48; }
    .channel-number { font: 800 10px var(--sans); letter-spacing: .18em; opacity: .85; }
    .channel-mark { margin: 0 auto 0; font: 500 clamp(73px,10vw,120px)/1 var(--serif); letter-spacing: -.09em; opacity: .75; transform: rotate(-9deg); }
    .channel-tech .channel-mark { font: 750 clamp(62px,8.5vw,112px)/1 ui-monospace,Consolas,monospace; letter-spacing: -.16em; }
    .channel-bottom { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 2px 12px; }
    .channel-bottom strong { grid-column: 1; font: 600 26px/1.4 var(--serif); }
    .channel-bottom > span:nth-child(2) { font-size: 11px; opacity: .82; grid-column: 1; }
    .channel-arrow { grid-column: 2; grid-row: 1/span 2; font-size: 21px; border: 1px solid currentColor; width: 37px; height: 37px; line-height: 35px; border-radius: 50%; text-align: center; }
    .tech-showcase { display: grid; grid-template-columns: 1.2fr 1fr; gap: 20px; align-items: stretch; }
    .tech-project { background: #1e302b; color: #f9f6ee; min-width: 0; border-radius: 18px; overflow: hidden; display: flex; flex-direction: column; }
    .tech-project-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 21px; background: #2a3a34; color: #9daea1; font: 10px ui-monospace,Consolas,monospace; }
    .terminal-controls { display: flex; gap: 5px; }
    .terminal-controls i { display: block; width: 7px; height: 7px; background: #dd8a72; border-radius: 50%; }
    .terminal-controls i:nth-child(2) { background: #e5c786; }
    .terminal-controls i:nth-child(3) { background: #a3b59e; }
    .tech-project-code { padding: 36px 29px 33px; overflow-x: auto; white-space: nowrap; font: 12px/2.3 ui-monospace,SFMono-Regular,Consolas,monospace; color: #d5d9c7; flex: 1; }
    .line-number { color: #667c6f; user-select: none; display: inline-block; width: 31px; }
    .code-purple { color: #c6b6ee; }.code-green { color: #add5a7; }.code-peach { color: #e7b296; }.code-white { color: #f8f5ea; }.code-muted { color: #8b9e92; }.terminal-cursor { color: #eab597; }
    .tech-project-bottom { padding: 24px 28px 28px; border-top: 1px solid #41554a; display: flex; justify-content: space-between; gap: 15px; align-items: end; }
    .tech-project-bottom small { font-size: 10px; font-weight: 800; letter-spacing: .12em; color: #b8c9b7; }
    .tech-project-bottom h3 { font: 550 23px/1.45 var(--serif); margin: 9px 0 8px; }
    .tech-project-bottom p { font-size: 11px; color: #afc0b3; line-height: 1.9; margin: 0; max-width: 340px; }
    .tech-project-bottom a { border: 1px solid #789182; border-radius: 40px; padding: 9px 13px; font-size: 11px; white-space: nowrap; flex-shrink: 0; }
    .tech-project-bottom a:hover { background: #344b3f; }
    .tech-note-stack { padding: 28px 30px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); display: flex; flex-direction: column; }
    .stack-eyebrow { font-size: 10px; letter-spacing: .14em; font-weight: 800; color: var(--accent); margin-bottom: 8px; }
    .tech-list-row { display: flex; align-items: flex-start; gap: 17px; padding: 23px 0; border-bottom: 1px solid var(--line); }
    .tech-list-row > span:first-child { flex-shrink: 0; color: var(--accent); font: 500 23px var(--serif); }
    .tech-list-row > span:nth-child(2) { display: grid; flex: 1; }
    .tech-list-row small { color: var(--muted); font-size: 10px; }
    .tech-list-row strong { font: 550 18px/1.45 var(--serif); margin-top: 6px; }
    .tech-list-row b { color: var(--accent); font-size: 18px; font-weight: 500; }
    .tech-list-row:hover strong { color: var(--accent); }
    .mini-more-link { color: var(--accent); display: flex; align-items: center; justify-content: space-between; font-size: 12px; font-weight: 750; margin-top: auto; padding-top: 20px; }
    .mini-more-link span { font-size: 19px; }
    .journal-layout { display: grid; grid-template-columns: .76fr 1.24fr; gap: 22px; }
    .journal-cover { background: #f2e5d7; color: #725346; border-radius: 17px; padding: 29px 33px; min-height: 430px; display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between; position: relative; overflow: hidden; }
    .journal-cover::after { content: ''; position: absolute; left: 23px; top: 65px; bottom: 65px; border-left: 1px solid rgba(123,91,72,.15); }
    .journal-label,.journal-footnote { font-size: 10px; font-weight: 800; letter-spacing: .15em; z-index: 1; }
    .journal-flower { position: absolute; top: 17%; right: 13%; color: #d7b49b; font: 180px/1 var(--serif); transform: rotate(-17deg); }
    .journal-cover p { font: 550 clamp(27px,3vw,41px)/1.68 var(--serif); margin: 0 0 20px 20px; z-index: 1; }
    .journal-cover p span { display: block; font: italic 16px var(--serif); text-align: right; margin-top: 15px; }
    .journal-feed { border-top: 1px solid var(--line); }
    .journal-entry { border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 70px minmax(0,1fr) 26px; gap: 21px; padding: 28px 8px 29px; align-items: start; }
    .journal-date { color: var(--accent); font: 550 23px/1.2 var(--serif); }
    .journal-date small { display: block; margin-top: 8px; font: 750 10px var(--sans); color: var(--muted); }
    .journal-entry-text { display: grid; }
    .journal-entry-text small { color: var(--muted); font-size: 10px; margin-bottom: 5px; }
    .journal-entry-text strong { font: 550 22px/1.45 var(--serif); }
    .journal-entry-text > span { color: var(--ink-soft); font-size: 12px; line-height: 1.8; margin-top: 8px; }
    .journal-entry-arrow { color: var(--accent); font-size: 19px; }
    .journal-entry:hover strong { color: var(--accent); }
    .journal-feed > .mini-more-link { padding: 17px 10px 0; }
    .gallery-toolbar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; margin: 0 0 23px; }
    .gallery-sample-note { color: var(--muted); font-size: 11px; }
    .gallery-grid { display: grid; grid-template-columns: repeat(12,minmax(0,1fr)); gap: 16px; }
    .photo-card { display: block; grid-column: span 3; aspect-ratio: .79; position: relative; min-width: 0; border: none; border-radius: 14px; overflow: hidden; background: linear-gradient(130deg,#8a9f9e,#c4b0a0); text-align: left; padding: 0; color: #fff; box-shadow: 0 5px 20px rgba(30,32,30,.04); }
    .photo-card:nth-child(1), .photo-card:nth-child(6) { grid-column: span 6; aspect-ratio: 1.65; }
    .photo-card img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .55s; }
    .photo-card:hover img { transform: scale(1.06); }
    .photo-card::after { content: ''; position: absolute; inset: 30% 0 0; background: linear-gradient(transparent,rgba(10,19,15,.65)); pointer-events: none; }
    .photo-badge { position: absolute; z-index: 1; top: 18px; left: 17px; border-radius: 30px; background: rgba(25,32,28,.38); border: 1px solid rgba(255,255,255,.25); padding: 6px 10px; font-size: 10px; letter-spacing: .07em; backdrop-filter: blur(7px); }
    .photo-overlay { position: absolute; z-index: 2; bottom: 20px; left: 20px; right: 20px; display: flex; align-items: end; justify-content: space-between; gap: 12px; }
    .photo-overlay strong { font: 550 22px/1.3 var(--serif); }
    .photo-overlay span { font-size: 23px; }
    .gallery-note { display: flex; align-items: center; flex-wrap: wrap; gap: 13px; color: var(--muted); font-size: 12px; border-bottom: 1px solid var(--line); padding: 25px 0; }
    .gallery-note > span { font-size: 25px; color: var(--accent); line-height: 1; }
    .gallery-note p { margin: 0; flex: 1; }
    .gallery-note a { font-weight: 750; color: var(--accent); }
    .photo-dialog { position: fixed; inset: 0; max-width: min(92vw,1000px); max-height: min(94vh,900px); width: 100%; border: 1px solid #536258; border-radius: 20px; background: #1d2421; color: #fff; padding: 24px; overflow: auto; box-shadow: 0 30px 90px rgba(0,0,0,.4); }
    .photo-dialog::backdrop { background: rgba(10,14,12,.85); backdrop-filter: blur(9px); }
    .photo-dialog-close { position: absolute; top: 9px; right: 15px; z-index: 3; border: 0; border-radius: 99px; background: rgba(255,255,255,.14); color: #fff; width: 35px; height: 35px; font-size: 24px; }
    .photo-dialog-stage { display: grid; grid-template-columns: 38px minmax(0,1fr) 38px; gap: 13px; align-items: center; min-height: 260px; }
    .photo-dialog-stage img { width: 100%; max-height: 68vh; min-height: 190px; object-fit: contain; border-radius: 8px; }
    .photo-dialog-arrow { border: 1px solid rgba(255,255,255,.25); border-radius: 50%; background: transparent; color: #fff; width: 38px; height: 38px; font-size: 18px; }
    .photo-dialog-arrow:hover { background: rgba(255,255,255,.12); }
    .photo-dialog-caption { display: flex; justify-content: space-between; align-items: end; gap: 25px; padding: 13px 56px 1px; }
    .photo-dialog-caption span { color: #adc5b3; font-size: 10px; letter-spacing: .11em; }
    .photo-dialog-caption h3 { margin: 4px 0 3px; font: 550 24px var(--serif); }
    .photo-dialog-caption p { color: #b7c1b8; font-size: 11px; margin: 0; }
    .prose pre { overflow-x: auto; font: 12px/1.9 ui-monospace,SFMono-Regular,Consolas,monospace; border: 1px solid var(--line); background: var(--surface-soft); color: var(--ink); padding: 19px 22px; border-radius: 13px; margin: 19px 0 30px; }
    .prose code { font-family: ui-monospace,SFMono-Regular,Consolas,monospace; }
    @media (max-width: 1050px) {
      .nav-links { gap: 14px; padding-right: 4px; }
      .tech-showcase { grid-template-columns: 1fr 1fr; }
      .tech-project-code { padding: 24px 14px; font-size: 10px; }
    }
    @media (max-width: 760px) {
      .hero-code-note { left: -3px; top: 45px; bottom: auto; font-size: 10px; }
      .channels-section { padding-top: 67px; }
      .channel-grid { grid-template-columns: 1fr; gap: 12px; }
      .channel-card { min-height: 157px; padding: 19px 22px; }
      .channel-mark { position: absolute; right: 60px; top: 25px; font-size: 94px; }
      .channel-tech .channel-mark { font-size: 71px; }
      .channel-bottom strong { font-size: 24px; }
      .tech-showcase, .journal-layout { grid-template-columns: 1fr; }
      .tech-project-code { font-size: 11px; padding: 21px; }
      .tech-project-bottom { padding: 22px; }
      .tech-project-bottom h3 { font-size: 21px; }
      .tech-note-stack { padding: 23px; }
      .journal-cover { min-height: 270px; }
      .journal-cover p { font-size: 32px; margin-bottom: 0; }
      .journal-entry { gap: 11px; grid-template-columns: 57px minmax(0,1fr) 18px; padding: 24px 2px; }
      .journal-date { font-size: 19px; }
      .journal-entry-text strong { font-size: 19px; }
      .gallery-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
      .photo-card, .photo-card:nth-child(1), .photo-card:nth-child(6) { grid-column: span 1; aspect-ratio: .8; border-radius: 12px; }
      .photo-card:nth-child(1), .photo-card:nth-child(6) { aspect-ratio: .8; }
      .photo-overlay { left: 10px; right: 10px; bottom: 12px; }
      .photo-overlay strong { font-size: 17px; }
      .photo-overlay span { font-size: 15px; }
      .photo-badge { top: 9px; left: 9px; font-size: 9px; padding: 5px 8px; }
      .gallery-sample-note { font-size: 10px; }
      .gallery-note { align-items: flex-start; }
      .gallery-note p { flex-basis: calc(100% - 60px); }
      .photo-dialog { width: 95vw; padding: 42px 8px 17px; border-radius: 14px; }
      .photo-dialog-stage { grid-template-columns: 30px minmax(0,1fr) 30px; gap: 2px; }
      .photo-dialog-arrow { width: 30px; height: 30px; font-size: 16px; }
      .photo-dialog-caption { padding: 10px 35px; }
      .photo-dialog-caption h3 { font-size: 20px; }
      .intro-counts { gap: 17px; }
    }
    @media (max-width: 430px) {
      .channel-card { min-height: 164px; }
      .tech-project-code { font-size: 9.3px; }
      .tech-project-bottom { flex-direction: column; align-items: start; }
      .photo-overlay strong { font-size: 15px; }
    }

/* Markdown images and tables */
.prose img { display: block; max-width: 100%; width: auto; height: auto; border-radius: 13px; margin: 28px auto; }
.prose table { border-collapse: collapse; display: block; overflow-x: auto; width: 100%; margin: 25px 0; font-size: 13px; }
.prose th,.prose td { border: 1px solid var(--line); padding: 9px 13px; text-align: left; white-space: nowrap; }
.prose th { background: var(--surface-soft); color: var(--ink); }
.prose :not(pre) > code { padding: 2px 5px; border-radius: 5px; background: var(--surface-soft); font-size: .87em; }

/* V4: three-level archive navigation */
.archive-taxonomy { border: 1px solid var(--line); background: var(--surface); border-radius: 22px; padding: 26px 27px 24px; margin-bottom: 18px; box-shadow: var(--shadow); }
.taxonomy-eyebrow { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 12px; font-size: 10px; line-height: 1.5; font-weight: 750; color: var(--accent); letter-spacing: .08em; }
.taxonomy-eyebrow span:last-child { color: var(--muted); font-weight: 600; letter-spacing: .13em; }
.channel-filters { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.channel-filter { border: 1px solid var(--line); background: var(--bg); border-radius: 12px; padding: 13px 14px; text-align: left; display: flex; justify-content: space-between; align-items: center; min-width: 0; color: var(--ink-soft); font-size: 13px; font-weight: 750; transition: border-color .2s,background .2s,color .2s,transform .2s; }
.channel-filter:hover { border-color: var(--accent); transform: translateY(-1px); }
.channel-filter.active { background: var(--forest); border-color: var(--forest); color: #f8f5e9; }
.channel-filter small { font-size: 11px; font-weight: 700; color: var(--muted); font-variant-numeric: tabular-nums; }
.channel-filter.active small { color: #d4e2d4; }
.taxonomy-subpanel, .taxonomy-tags { border-top: 1px dashed var(--line); margin-top: 19px; padding-top: 18px; }
.archive-taxonomy .category-filters { gap: 9px 8px; }
.archive-taxonomy .filter-button { background: var(--bg); font-weight: 600; }
.archive-taxonomy .filter-button:hover { background: var(--surface-soft); }
.archive-taxonomy .filter-button.active { background: var(--accent); border-color: var(--accent); color: #fff; }
.filter-button small { font-size: 10px; margin-left: 5px; opacity: .67; }
.tag-filters { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.tag-filter, .tag-expand { appearance: none; border: 1px solid transparent; background: var(--surface-soft); color: var(--ink-soft); padding: 6px 11px; border-radius: 7px; font-size: 11px; line-height: 1.6; transition: background .2s,color .2s,border-color .2s; }
.tag-filter:hover { border-color: var(--accent); }
.tag-filter.active { background: var(--accent-pale); color: var(--accent-dark); border-color: var(--accent); font-weight: 750; }
.tag-filter small { margin-left: 3px; opacity: .65; }
.tag-expand { background: transparent; color: var(--accent); font-weight: 750; }
.article-toolbar { justify-content: flex-end; margin-bottom: 22px; }
.post-tags { min-height: 20px; display: flex; flex-wrap: wrap; gap: 5px 12px; margin-top: 10px; font-size: 10px; font-weight: 600; color: var(--muted); }
.article-tags { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 9px; margin: -7px 0 22px; }
.article-tags a { background: var(--surface-soft); border: 1px solid var(--line); padding: 3px 12px; color: var(--accent); border-radius: 100px; font-size: 11px; font-weight: 650; }
.article-tags a:hover { border-color: var(--accent); }
.article-breadcrumb { flex-wrap: wrap; }
@media (max-width: 760px) {
  .archive-taxonomy { padding: 18px 15px; border-radius: 16px; }
  .channel-filters { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .channel-filter { font-size: 12px; padding: 12px; }
  .taxonomy-eyebrow { font-size: 9px; }
  .taxonomy-eyebrow span:last-child { font-size: 8px; }
  .article-tags { margin-top: 0; }
}


/* V5: archive and about now live in separate navigable views. */
.interior-view { min-height: max(65vh, 550px); }
.interior-topline { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding-top: 35px; color: var(--muted); font-size: 10px; font-weight: 750; letter-spacing: .12em; }
.interior-topline a { display: inline-flex; align-items: center; border-bottom: 1px solid var(--line); padding-bottom: 6px; color: var(--ink-soft); letter-spacing: 0; font-size: 12px; }
.interior-topline a:hover { color: var(--accent); border-color: var(--accent); }
#articles-view .section { padding-top: 60px; padding-bottom: 100px; }
#about-view .about-section { padding-top: 75px; padding-bottom: 110px; }
@media (max-width: 760px) {
  .interior-topline { padding-top: 21px; font-size: 9px; }
  #articles-view .section { padding-top: 39px; padding-bottom: 75px; }
  #about-view .about-section { padding-top: 40px; padding-bottom: 75px; }
}


/* V6: three independent, hash-routed channel pages. */
.channel-page-view .interior-topline { padding-top: 29px; }
.channel-landing { margin-top: 25px; display: grid; grid-template-columns: minmax(0,1.14fr) minmax(290px,.86fr); border-radius: 23px; overflow: hidden; border: 1px solid var(--line); background: var(--surface); min-height: 324px; }
.channel-landing-copy { padding: clamp(32px,4.8vw,68px); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.channel-landing-copy h1 { margin: 9px 0 12px; font: 550 clamp(40px,5.2vw,69px)/1.15 var(--serif); letter-spacing: -.056em; }
.channel-landing-copy p { margin: 0; max-width: 460px; font-size: 14px; line-height: 1.85; color: var(--ink-soft); }
.landing-period { color: var(--accent); }
.landing-counter { display: flex; align-items: baseline; gap: 11px; margin-top: 27px; }
.landing-counter strong { font: 520 35px/1 var(--serif); color: var(--ink); font-variant-numeric: tabular-nums; }
.landing-counter span { color: var(--muted); font-size: 11px; letter-spacing: .05em; }
.channel-landing-visual { display: flex; flex-direction: column; justify-content: space-between; align-items: center; min-height: 324px; position: relative; overflow: hidden; padding: 28px; isolation: isolate; }
.channel-landing-visual::before,.channel-landing-visual::after { content: ''; position: absolute; width: 74%; aspect-ratio: 1; border: 1px solid currentColor; border-radius: 50%; z-index: -1; opacity: .18; }
.channel-landing-visual::before { top: -26%; right: -17%; }
.channel-landing-visual::after { bottom: -40%; left: -14%; width: 97%; }
.channel-landing-tech .channel-landing-visual { background: #334f42; color: #e4efe2; }
.channel-landing-journal .channel-landing-visual { background: #e9d8c4; color: #755341; }
.channel-landing-gallery .channel-landing-visual { background: #adbdc5; color: #274653; }
.landing-visual-index,.landing-visual-end { align-self: flex-start; font-size: 10px; letter-spacing: .16em; font-weight: 800; }
.landing-visual-end { align-self: flex-end; }
.landing-visual-art { font: 500 clamp(105px,13vw,176px)/1 var(--serif); letter-spacing: -.09em; opacity: .8; transform: rotate(-12deg); text-shadow: 1px 16px 48px rgba(30,36,32,.07); }
.channel-landing-tech .landing-visual-art { font-family: ui-monospace,Consolas,monospace; letter-spacing: -.16em; font-weight: 800; font-size: clamp(76px,10vw,150px); }
.channel-page-view .section { padding-top: 75px; padding-bottom: 100px; }
.channel-page-view .section-top { margin-bottom: 23px; }
.channel-page-facets { border: 1px solid var(--line); border-radius: 18px; background: var(--surface); padding: 21px 24px; margin-bottom: 19px; }
.channel-facet-label { font: 750 10px var(--sans); color: var(--muted); letter-spacing: .15em; margin-bottom: 14px; }
.channel-page-tags { border-top: 1px solid var(--line); margin-top: 17px; padding-top: 17px; }
.channel-page-tools { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-bottom: 21px; }
.channel-page-tools .search-box { width: min(100%,300px); }
.channel-page-view .posts-grid .post-cover { height: 174px; }
.gallery-page-section { padding-bottom: 30px !important; }
.gallery-essay-section { padding-top: 63px !important; }
.channel-page-gallery .gallery-grid { margin-bottom: 0; }
@media (max-width: 760px) {
  .channel-landing { grid-template-columns: 1fr; min-height: 0; margin-top: 18px; border-radius: 18px; }
  .channel-landing-copy { padding: 34px 29px 30px; }
  .channel-landing-copy h1 { font-size: clamp(36px,9vw,50px); }
  .channel-landing-copy p { font-size: 12px; }
  .landing-counter { margin-top: 22px; }
  .landing-counter strong { font-size: 29px; }
  .channel-landing-visual { min-height: 156px; flex-direction: row; padding: 22px 27px; }
  .channel-landing-visual::before { width: 170px; top: -75px; }
  .channel-landing-visual::after { width: 210px; bottom: -180px; }
  .landing-visual-art,.channel-landing-tech .landing-visual-art { font-size: 80px; line-height: 1; }
  .landing-visual-index,.landing-visual-end { font-size: 8px; align-self: center; }
  .channel-page-view .section { padding-top: 44px; padding-bottom: 65px; }
  .channel-page-facets { padding: 17px 15px; }
  .channel-page-tools .search-box { width: min(100%,260px); }
  .gallery-essay-section { padding-top: 44px !important; }
  .gallery-page-section { padding-bottom: 15px !important; }
}
@media (max-width: 430px) {
  .channel-page-tools { align-items: stretch; }
  .channel-page-tools .search-box { flex: 1; min-width: 0; }
  .channel-page-tools .sort-select { width: 105px; max-width: 105px; }
  .channel-landing-copy { padding: 29px 23px; }
  .channel-landing-visual { padding: 17px 23px; }
  .landing-visual-art,.channel-landing-tech .landing-visual-art { font-size: 66px; }
  .channel-page-view .posts-grid .post-cover { height: 193px; }
}


/* V8 / PAPER & INK: a neutral editorial style with user-selectable accents. */
:root {
  color-scheme:light;
  --bg:#f7f7f4;--surface:#ffffff;--surface-soft:#eeefeb;--surface-muted:#e4e5e0;
  --ink:#20221f;--ink-soft:#525750;--muted:#737a72;--line:#dcdfd9;
  --accent:#252824;--accent-dark:#111310;--accent-pale:#e8eae5;--forest:#303830;
  --header-glass:rgba(247,247,244,.94);--shadow:0 16px 48px rgba(27,33,27,.055);
  --scene-sky-1:#e8e8e3;--scene-sky-2:#b9bcb6;--scene-sun-1:#fffef7;--scene-sun-2:#deded5;
  --scene-hill-1:#a7aca3;--scene-hill-2:#505951;
  --scene-note:#252a26;--scene-note-ink:#eeeeea;
  --tile-tech:#292e2b;--tile-life:#e5e7e1;--tile-photo:#d3d8d1;
  --tile-dark-ink:#fcfcf8;--tile-light-ink:#3d433d;
  --journal-bg:#e8e9e4;--journal-ink:#4d514b;--journal-mark:#a9aea6;
  --about-bg:#e0e2dd;--about-mark:#aeb2aa;
  --cover-a:#a5aba4;--cover-b:#4d5d52;--cover-c:#c3c4be;--cover-d:#777a75;
  --cover-e:#b9b8b2;--cover-f:#79766e;
}
:root[data-theme='dark'] {
  color-scheme:dark;
  --bg:#151715;--surface:#222522;--surface-soft:#2d312d;--surface-muted:#373d37;
  --ink:#f0f2ed;--ink-soft:#c7cdc5;--muted:#a1aba1;--line:#3c433c;
  --accent:#ebeee6;--accent-dark:#ffffff;--accent-pale:#333b33;--forest:#414a41;
  --header-glass:rgba(21,23,21,.95);--shadow:0 20px 48px rgba(0,0,0,.21);
  --scene-sky-1:#585d56;--scene-sky-2:#303932;--scene-sun-1:#ecece3;--scene-sun-2:#b4bbb1;
  --scene-hill-1:#535c53;--scene-hill-2:#222a24;
  --scene-note:#1c221d;--scene-note-ink:#ecf0e9;
  --tile-tech:#353d36;--tile-life:#3d4039;--tile-photo:#474e46;
  --tile-dark-ink:#f3f4ef;--tile-light-ink:#edece6;
  --journal-bg:#343a34;--journal-ink:#f0f1ea;--journal-mark:#666f64;
  --about-bg:#414941;--about-mark:#667162;
  --cover-a:#677268;--cover-b:#303e32;--cover-c:#777873;--cover-d:#444942;
  --cover-e:#77736b;--cover-f:#49433f;
}
/* Additional schemes change accents and illustration hues while keeping the layout calm. */
:root[data-palette='moss'] {
  --accent:#42654a;--accent-dark:#2a4a34;--accent-pale:#e7efe7;--forest:#3c5b43;
  --scene-sky-1:#dde8da;--scene-sky-2:#a6bba8;--scene-sun-2:#e6e9d8;
  --scene-hill-1:#9faf9b;--scene-hill-2:#3c5b48;
  --tile-tech:#304b3b;--tile-life:#e2eae0;--tile-photo:#cadbce;
  --journal-bg:#e6ece3;--journal-ink:#4c6650;--journal-mark:#93ad92;
  --about-bg:#dfe9de;--about-mark:#a0b69e;
  --cover-a:#a6c0a3;--cover-b:#507755;
}
:root[data-theme='dark'][data-palette='moss'] {
  --accent:#b3d3b7;--accent-dark:#d9ead9;--accent-pale:#2b402f;--forest:#3c5a43;
  --scene-sky-1:#4c6951;--scene-sky-2:#283e2d;--scene-hill-1:#45614b;--scene-hill-2:#1f3525;
  --tile-tech:#294535;--tile-life:#344b3a;--tile-photo:#41604b;
  --journal-bg:#293e30;--journal-ink:#e3efe3;--journal-mark:#557a5a;
  --about-bg:#364b39;--about-mark:#648268;
}
:root[data-palette='plum'] {
  --accent:#725169;--accent-dark:#55374f;--accent-pale:#f3eaf1;--forest:#60475d;
  --scene-sky-1:#ede3eb;--scene-sky-2:#cbb8c9;--scene-sun-2:#e9dbe2;
  --scene-hill-1:#b4a5b1;--scene-hill-2:#70596d;
  --tile-tech:#584554;--tile-life:#eee5ec;--tile-photo:#dfd0dc;
  --journal-bg:#f0e8ee;--journal-ink:#6d5368;--journal-mark:#c3a8be;
  --about-bg:#ede2ea;--about-mark:#c5b2c0;
  --cover-a:#c7b1c3;--cover-b:#785775;
}
:root[data-theme='dark'][data-palette='plum'] {
  --accent:#dfbdda;--accent-dark:#f4d8f0;--accent-pale:#453145;--forest:#60465a;
  --scene-sky-1:#73576f;--scene-sky-2:#3d3041;--scene-hill-1:#70576b;--scene-hill-2:#3d303f;
  --tile-tech:#4a3648;--tile-life:#523e51;--tile-photo:#604962;
  --journal-bg:#443441;--journal-ink:#f3eaf1;--journal-mark:#765a73;
  --about-bg:#514151;--about-mark:#775f72;
}
:root[data-palette='coral'] {
  --accent:#a44d4b;--accent-dark:#823936;--accent-pale:#f7e9e5;--forest:#874943;
  --scene-sky-1:#f0dfdc;--scene-sky-2:#d3afab;--scene-sun-2:#eedbd0;
  --scene-hill-1:#c4aaa2;--scene-hill-2:#965d58;
  --tile-tech:#64413d;--tile-life:#f3e6e1;--tile-photo:#e9d5cd;
  --journal-bg:#f0e5df;--journal-ink:#7f524b;--journal-mark:#d1a99f;
  --about-bg:#eee1db;--about-mark:#d2afa7;
  --cover-a:#d2a7a1;--cover-b:#a15f56;
}
:root[data-theme='dark'][data-palette='coral'] {
  --accent:#f0b8b0;--accent-dark:#ffdbd4;--accent-pale:#49342f;--forest:#784942;
  --scene-sky-1:#845954;--scene-sky-2:#46332f;--scene-hill-1:#8a5f55;--scene-hill-2:#44312d;
  --tile-tech:#60423a;--tile-life:#5a403b;--tile-photo:#6c4f45;
  --journal-bg:#4a3731;--journal-ink:#f1e6e0;--journal-mark:#896257;
  --about-bg:#573f39;--about-mark:#88625b;
}
::selection{background:var(--accent-pale);color:var(--ink);}
body::before{background:radial-gradient(circle,rgba(90,95,86,.045),transparent 67%);}
:root[data-theme='dark'] body::before{background:radial-gradient(circle,rgba(194,199,190,.04),transparent 67%);}
.brand-emblem{background:var(--forest);color:#fafaf7;transform:none;box-shadow:none;border-radius:12px;}
.nav-links a.active{position:relative;font-weight:800;}
.nav-links a.active::after{content:'';position:absolute;left:0;right:0;bottom:-9px;height:2px;border-radius:5px;background:var(--accent);}
.button-primary{box-shadow:none;background:var(--forest);border-color:var(--forest);color:#fafaf7;}
.button-primary:hover{background:var(--accent-dark);}
:root[data-theme='dark'] .button-primary:hover{background:#647064;}
.mini-avatars span{background:#717a71;}
.mini-avatars span:first-child{background:#3d453e;}
.mini-avatars span:last-child{background:#a1a8a0;}
.hero-art::after{color:var(--accent);}
.art-card{background:linear-gradient(153deg,var(--scene-sky-1) 3%,var(--scene-sky-2) 64%,var(--scene-hill-1) 100%);border-radius:175px 175px 20px 20px;box-shadow:0 26px 52px rgba(24,29,24,.11);}
.art-sun{background:radial-gradient(circle at 34% 31%,var(--scene-sun-1) 0%,var(--scene-sun-2) 75%);box-shadow:0 0 64px rgba(255,255,255,.22);}
.art-mountain-back{background:var(--scene-hill-1);}
.art-mountain-front{background:var(--scene-hill-2);}
.art-hill-line{border-color:rgba(255,255,255,.45);}
.art-bookmark{color:var(--tile-light-ink);}
.art-title{color:#f7f8f3;text-shadow:0 2px 12px rgba(20,23,20,.13);}
.art-stamp{background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:0 12px 33px rgba(24,29,24,.09);}
.hero-code-note{background:var(--scene-note);color:var(--scene-note-ink);border-color:transparent;box-shadow:0 16px 35px rgba(26,28,26,.13);}
.hero-code-note .code-dot{color:#b6c5b0;}
.channel-card{box-shadow:0 8px 24px rgba(30,35,30,.045);}
.channel-card:hover{box-shadow:0 18px 35px rgba(30,35,30,.12);}
.channel-tech{background:var(--tile-tech);color:var(--tile-dark-ink);}
.channel-life{background:var(--tile-life);color:var(--tile-light-ink);}
.channel-photo{background:var(--tile-photo);color:var(--tile-light-ink);}
.tech-project{background:#252c27;color:#f0f2eb;}
.tech-project-top{background:#303831;color:#c5cfc5;}
.tech-project-bottom{border-color:#465148;}
.tech-project-code{color:#e7e9e2;}
.tech-project-bottom p{color:#b7c1b7;}
.tech-project-bottom small{color:#b9cbb5;}
.tech-project-bottom a{border-color:#818d7c;}
.tech-project-bottom a:hover{background:#37473b;}
.line-number{color:#839283;}
.code-green{color:#b4dbc1;}
.code-peach{color:#e9b9a6;}
.code-white{color:#f5f6ee;}
.code-muted{color:#a1b3a1;}
.code-purple{color:#c9bfd4;}
.journal-cover{background:var(--journal-bg)!important;color:var(--journal-ink)!important;}
.journal-cover .journal-flower{color:var(--journal-mark);}
.journal-cover .journal-label,.journal-cover .journal-footnote{color:var(--journal-ink);}
.channel-landing-tech .channel-landing-visual{background:var(--tile-tech);color:var(--tile-dark-ink);}
.channel-landing-journal .channel-landing-visual{background:var(--tile-life);color:var(--tile-light-ink);}
.channel-landing-gallery .channel-landing-visual{background:var(--tile-photo);color:var(--tile-light-ink);}
.cover-forest{background:linear-gradient(139deg,var(--cover-a),var(--cover-b));}
.cover-rose{background:linear-gradient(139deg,#c9c5c4,#787776);}
.cover-gold{background:linear-gradient(139deg,#d6d1c4,#958e7b);}
.cover-blue{background:linear-gradient(139deg,#bec5bc,#616a62);}
.cover-amber{background:linear-gradient(139deg,#d0c2ba,#8c7b71);}
.cover-lavender{background:linear-gradient(139deg,#c8c4cd,#827e88);}
.about-image{background:var(--about-bg)!important;}
.about-flower{background:var(--about-mark);color:#f9faf5;}
.about-image::after{background:repeating-radial-gradient(circle at center,transparent 0 14px,var(--line) 15px 16px);}
.about-image-caption{color:var(--ink-soft);}
.note-banner{background:var(--tile-tech);color:#f7f8f4;}
.note-banner .eyebrow{color:#d3dfd2;}
.note-banner a{background:#fff;border-color:#fff;color:#333e36;}
.channel-filter.active,.filter-button.active{background:var(--forest);border-color:var(--forest);color:#f7f9f4;}
.channel-filter.active small{color:#e0e8df;}
.archive-taxonomy .filter-button.active{background:var(--forest);border-color:var(--forest);color:#fff;}
:root[data-theme='dark'] .post-card,:root[data-theme='dark'] .channel-page-facets,:root[data-theme='dark'] .tech-note-stack{box-shadow:0 10px 30px rgba(0,0,0,.07);}
/* The old system <select> popup is replaced with a site-themed, keyboard-operated popover. */
.sort-control {position:relative;flex:0 0 auto;z-index:5;}
.sort-trigger {display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:145px;min-height:44px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:12px;font-weight:750;border-radius:12px;padding:9px 14px 9px 17px;transition:border-color .2s,box-shadow .2s,background .2s;white-space:nowrap;}
.sort-trigger:hover,.sort-trigger[aria-expanded='true'] {border-color:var(--accent);background:var(--surface-soft);box-shadow:0 0 0 2px var(--accent-pale);}
.sort-chevron {height:7px;width:7px;border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s;color:var(--accent);}
.sort-trigger[aria-expanded='true'] .sort-chevron {transform:rotate(225deg) translate(-2px,-1px);}
.sort-menu {position:absolute;right:0;top:calc(100% + 8px);min-width:100%;width:178px;z-index:50;border:1px solid var(--line);border-radius:14px;padding:7px;background:var(--surface);box-shadow:0 18px 45px rgba(23,27,23,.15);animation:sort-in .15s ease-out;}
.sort-menu button {display:flex;align-items:center;justify-content:space-between;width:100%;padding:11px 13px;border:0;border-radius:9px;background:transparent;color:var(--ink-soft);font-size:13px;font-weight:650;white-space:nowrap;text-align:left;}
.sort-menu button:hover,.sort-menu button:focus-visible {background:var(--surface-soft);color:var(--accent);}
.sort-menu button[aria-checked='true'] {color:var(--accent);background:var(--accent-pale);font-weight:800;}
.sort-menu button span {visibility:hidden;color:var(--accent);font-size:15px;}
.sort-menu button[aria-checked='true'] span {visibility:visible;}
@keyframes sort-in {from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}

/* Album directory index: one quiet cover per theme, no mixed photograph masonry. */
.album-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch;}
.album-card {display:flex;flex-direction:column;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:21px;overflow:hidden;box-shadow:0 8px 26px rgba(26,30,26,.045);transition:transform .25s,box-shadow .25s,border-color .2s;}
.album-card:hover {transform:translateY(-5px);border-color:var(--accent);box-shadow:0 18px 40px rgba(32,38,32,.13);}
.album-card-image {display:block;aspect-ratio:1.22;overflow:hidden;background:var(--surface-muted);position:relative;}
.album-card-image img {display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.2,.8,.2,1);}
.album-card:hover .album-card-image img {transform:scale(1.055);}
.album-card-info {display:flex;flex-direction:column;flex:1;padding:23px 23px 21px;}
.album-card-upper {color:var(--accent);font-size:10px;font-weight:850;letter-spacing:.17em;}
.album-card-info strong {font:600 clamp(23px,2vw,29px)/1.4 var(--serif);letter-spacing:-.02em;margin:7px 0 8px;color:var(--ink);}
.album-card-desc {font-size:12px;color:var(--ink-soft);line-height:1.85;min-height:46px;}
.album-card-meta {display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:auto;padding-top:16px;color:var(--muted);font-weight:750;font-size:11px;letter-spacing:.02em;}
.album-card-meta span {color:var(--accent);font-size:20px;line-height:1;transition:transform .2s;}
.album-card:hover .album-card-meta span {transform:translate(3px,-3px);}
.section-more-link {align-self:center;color:var(--accent);font-size:12px;font-weight:800;border-bottom:1px solid var(--line);padding:10px 0;white-space:nowrap;}
.section-more-link:hover {border-color:var(--accent);}
.home-album-section {padding-bottom:95px;}
.album-detail {padding-bottom:100px;}
.album-detail .interior-topline {padding-top:28px;}
.album-detail-hero {display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.75fr);align-items:stretch;margin-top:24px;background:var(--surface);border:1px solid var(--line);border-radius:24px;overflow:hidden;min-height:320px;}
.album-detail-copy {display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,5vw,65px);min-width:0;}
.album-detail-copy h1 {font:600 clamp(39px,5vw,68px)/1.17 var(--serif);letter-spacing:-.045em;margin:18px 0;}
.album-detail-copy p {color:var(--ink-soft);line-height:2;font-size:14px;max-width:430px;margin:0;}
.album-detail-meta {display:flex;gap:22px;color:var(--accent);font-size:11px;font-weight:800;margin-top:30px;letter-spacing:.04em;}
.album-detail-cover {height:100%;min-height:320px;overflow:hidden;}
.album-detail-cover img {width:100%;height:100%;object-fit:cover;display:block;}
.album-photo-heading {display:flex;justify-content:space-between;align-items:end;gap:18px;margin:65px 0 25px;}
.album-photo-heading h2 {margin:8px 0 0;font:600 clamp(28px,3vw,42px)/1.4 var(--serif);letter-spacing:-.04em;}
.album-photo-heading>span {color:var(--muted);font-size:10px;letter-spacing:.15em;font-weight:850;white-space:nowrap;}
.album-photo-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 20px;}
.album-photo {min-width:0;text-align:left;background:transparent;border:0;padding:0;color:var(--ink);}
.album-photo-image {display:block;aspect-ratio:1.16;overflow:hidden;border-radius:16px;background:var(--surface-muted);}
.album-photo-image img {display:block;width:100%;height:100%;object-fit:cover;transition:transform .42s;}
.album-photo:hover .album-photo-image img {transform:scale(1.045);}
.album-photo-caption {display:flex;justify-content:space-between;gap:8px;padding:13px 1px;color:var(--ink-soft);font-size:12px;font-weight:700;}
.album-photo-caption span:last-child {color:var(--accent);font-size:18px;line-height:1;}
.album-detail-bottom {border-top:1px solid var(--line);margin-top:47px;padding-top:26px;}
.album-detail-bottom a {font-size:13px;color:var(--accent);font-weight:800;}
.album-detail-bottom a:hover {text-decoration:underline;text-underline-offset:4px;}
:root[data-theme='dark'] .sort-menu {box-shadow:0 24px 40px rgba(0,0,0,.43);}
@media(max-width:900px) {
  .album-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
  .album-photo-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px) {
  .nav-links a.active::after {display:none;}
  .album-detail-hero {grid-template-columns:1fr;}
  .album-detail-cover {min-height:210px;height:230px;order:-1;}
  .album-detail-copy {padding:28px 25px 35px;}
  .album-detail-copy h1 {font-size:clamp(35px,8vw,48px);margin:8px 0 12px;}
  .album-photo-heading {margin-top:43px;}
  .album-detail {padding-bottom:65px;}
  .sort-trigger {min-width:126px;min-height:43px;padding-inline:13px;gap:10px;}
  .sort-menu {min-width:166px;}
}
@media(max-width:510px) {
  .album-grid {grid-template-columns:1fr;gap:18px;}
  .album-card-image {aspect-ratio:1.45;}
  .album-card-info {padding:20px 21px;}
  .album-card-desc {min-height:0;}
  .album-photo-grid {grid-template-columns:1fr;gap:22px;}
  .album-photo-image {aspect-ratio:1.24;}
  .album-photo-heading>span {font-size:9px;}
  .sort-trigger {min-width:122px;}
  .sort-menu {width:166px;}
  .channel-page-tools .sort-control,.search-sort .sort-control {flex-shrink:0;}
  .section-more-link {font-size:11px;}
}
@media(prefers-reduced-motion:reduce) {
  .album-card,.album-card-image img,.album-photo-image img,.sort-menu {transition:none;animation:none;}
}


/* Palette picker: a compact accessible menu, independent from light/dark mode. */
.palette-control{position:relative;display:flex;align-items:center;}
.palette-trigger{position:relative;}
.palette-trigger:after{content:'';position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:12px;height:3px;border-radius:99px;background:var(--accent);}
.palette-trigger[aria-expanded='true']{border-color:var(--line);background:var(--surface-soft);}
.palette-menu{position:absolute;top:calc(100% + 12px);right:-45px;width:270px;padding:15px;border-radius:18px;border:1px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:0 22px 50px rgba(18,24,18,.17);z-index:200;animation:sort-in .14s ease-out;}
.palette-menu-heading{display:flex;align-items:center;justify-content:space-between;padding:4px 5px 13px;border-bottom:1px solid var(--line);margin-bottom:8px;}
.palette-menu-heading strong{font-size:13px;letter-spacing:.04em;}
.palette-menu-heading small{font-size:9px;letter-spacing:.14em;color:var(--muted);font-weight:800;}
.palette-option{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;border:0;border-radius:11px;padding:8px 10px;color:var(--ink);background:transparent;text-align:left;font-size:12px;font-weight:700;}
.palette-option:hover,.palette-option:focus-visible{background:var(--surface-soft);}
.palette-option[aria-pressed='true']{background:var(--accent-pale);}
.palette-dot{flex-shrink:0;width:26px;height:26px;border-radius:50%;border:1px solid rgba(0,0,0,.10);box-shadow:inset 0 0 0 5px rgba(255,255,255,.72);}
.palette-dot-moss{background:#527657;}
.palette-dot-plum{background:#7c5b7c;}
.palette-dot-coral{background:#b86459;}
.palette-option-label{flex:1;}
.palette-option-check{font-size:16px;color:var(--accent);visibility:hidden;}
.palette-option[aria-pressed='true'] .palette-option-check{visibility:visible;}
.palette-menu-footnote{padding:10px 5px 2px;color:var(--muted);font-size:10px;border-top:1px solid var(--line);margin-top:7px;line-height:1.7;}
:root[data-theme='dark'] .palette-dot{box-shadow:inset 0 0 0 5px rgba(255,255,255,.20);border-color:rgba(255,255,255,.16);}
:root[data-theme='dark'] .palette-option[aria-pressed='true']{background:var(--surface-muted);}
@media(max-width:760px){
  .palette-menu{position:fixed;top:78px;left:50%;right:auto;transform:translateX(-50%);width:min(320px,calc(100vw - 32px));animation:none;}
  .header-actions{gap:1px;}
}
@media(max-width:380px){
  .brand-emblem{width:32px;height:32px;}
  .brand-text strong{font-size:13px;}
  .brand-text small{font-size:7px;}
  .header-actions .icon-button{width:33px;height:36px;}
  .header-actions{gap:0;}
}


/* V9 / SUNLIT GARDEN — color-rich editorial style, made for reading. */
/* Core palette: warm cream paper, botanical sage, ripe apricot, lilac and sunny gold. */
:root, :root[data-palette='garden'] {
  color-scheme: light;
  --bg:#fff9ef;--surface:#fffefa;--surface-soft:#f8f0e5;--surface-muted:#f1e6d9;
  --ink:#283c31;--ink-soft:#526253;--muted:#767b68;--line:#e9dfd0;
  --accent:#52724e;--accent-dark:#3b593e;--accent-pale:#e4eed8;--forest:#345747;
  --header-glass:rgba(255,249,239,.94);--shadow:0 16px 44px rgba(89,76,50,.09);
  --scene-sky-1:#ffe1c3;--scene-sky-2:#f4baa6;--scene-sun-1:#fff9c9;--scene-sun-2:#f5c276;
  --scene-hill-1:#afc49f;--scene-hill-2:#537b64;
  --scene-note:#355b49;--scene-note-ink:#fff8e6;
  --tile-tech:#416957;--tile-life:#f4cfb6;--tile-photo:#ded2ee;
  --tile-dark-ink:#fff9ed;--tile-light-ink:#5a4546;
  --journal-bg:#ffe6d1;--journal-ink:#845a4f;--journal-mark:#e9ac92;
  --about-bg:#f7d9c3;--about-mark:#edab8d;
  --cover-a:#b5cfa8;--cover-b:#4d7b62;
  --garden-peach:#df876f;--garden-peach-soft:#ffe3d6;--garden-yellow:#f6d987;
  --garden-lilac:#d8c9e9;--garden-sage:#b6cfa4;
}
:root[data-theme='dark'],:root[data-theme='dark'][data-palette='garden'] {
  color-scheme: dark;
  --bg:#242b26;--surface:#303a32;--surface-soft:#3c473b;--surface-muted:#465447;
  --ink:#fcf6e8;--ink-soft:#d7dfce;--muted:#b5c1ad;--line:#51604d;
  --accent:#d3eba7;--accent-dark:#f0f8cc;--accent-pale:#415440;--forest:#47634b;
  --header-glass:rgba(36,43,38,.96);--shadow:0 20px 46px rgba(9,18,12,.28);
  --scene-sky-1:#855d60;--scene-sky-2:#9a7b74;--scene-sun-1:#ffdfa2;--scene-sun-2:#f5ab80;
  --scene-hill-1:#7a9775;--scene-hill-2:#365d4c;
  --scene-note:#233b2b;--scene-note-ink:#f9ecca;
  --tile-tech:#456850;--tile-life:#7a5356;--tile-photo:#655b83;
  --tile-dark-ink:#fff8e9;--tile-light-ink:#f6ecdf;
  --journal-bg:#684b47;--journal-ink:#fff0df;--journal-mark:#a67e71;
  --about-bg:#604942;--about-mark:#a5726c;
  --cover-a:#729473;--cover-b:#315641;
  --garden-peach:#ffbc9d;--garden-peach-soft:#513d3a;--garden-yellow:#f2d38e;
  --garden-lilac:#77658d;--garden-sage:#6a8c68;
}
/* Every choice now has a colorful background, not just a colored button. */
:root[data-palette='moss'] {
  --bg:#f5faed;--surface:#fffffb;--surface-soft:#ebf2e1;--surface-muted:#dfe9d8;
  --line:#d9e6d2;--header-glass:rgba(245,250,237,.94);
  --garden-peach:#dc906d;--garden-peach-soft:#f8e8cb;--garden-yellow:#f6dc93;
  --garden-lilac:#dce3c3;--garden-sage:#bad6af;
}
:root[data-theme='dark'][data-palette='moss'] {
  --bg:#202b22;--surface:#2b3b30;--surface-soft:#374b39;--surface-muted:#435846;
  --line:#4e6852;--header-glass:rgba(32,43,34,.95);
  --garden-peach:#efb48b;--garden-peach-soft:#4c4a3b;--garden-yellow:#e9dc94;
  --garden-lilac:#69876c;--garden-sage:#739874;
}
:root[data-palette='plum'] {
  --bg:#fdf5fb;--surface:#fffafd;--surface-soft:#f8ecf4;--surface-muted:#efdfed;
  --line:#ebdce9;--header-glass:rgba(253,245,251,.94);
  --garden-peach:#c17f9b;--garden-peach-soft:#f8e1ec;--garden-yellow:#f2d2ac;
  --garden-lilac:#d9c0de;--garden-sage:#d8d1bb;
}
:root[data-theme='dark'][data-palette='plum'] {
  --bg:#29242e;--surface:#39313c;--surface-soft:#4b3d4e;--surface-muted:#58465c;
  --line:#66546a;--header-glass:rgba(41,36,46,.95);
  --garden-peach:#e6b3c5;--garden-peach-soft:#634457;--garden-yellow:#e8caab;
  --garden-lilac:#93749a;--garden-sage:#847c73;
}
:root[data-palette='coral'] {
  --bg:#fff6ef;--surface:#fffcfa;--surface-soft:#fff0e5;--surface-muted:#f6e3d5;
  --line:#efded1;--header-glass:rgba(255,246,239,.94);
  --garden-peach:#bf6457;--garden-peach-soft:#fbdacf;--garden-yellow:#f8d398;
  --garden-lilac:#e9c9cf;--garden-sage:#d8d4b9;
}
:root[data-theme='dark'][data-palette='coral'] {
  --bg:#302623;--surface:#3c302d;--surface-soft:#4b3934;--surface-muted:#59433d;
  --line:#6c5149;--header-glass:rgba(48,38,35,.96);
  --garden-peach:#f0ae98;--garden-peach-soft:#634139;--garden-yellow:#f5d1a0;
  --garden-lilac:#916d71;--garden-sage:#827760;
}
/* Custom color palettes are independent of dark mode. */
/* Surface rhythm: colorful highlights, quiet long-form reading. */
body{background-color:var(--bg);}
body::before{background:radial-gradient(circle at center,var(--garden-peach-soft) 0%,transparent 69%);opacity:.48;}
.site-header{box-shadow:0 4px 20px rgba(68,78,48,.03);}
.brand-emblem{background:var(--forest);border-radius:14px;box-shadow:0 5px 13px rgba(63,91,66,.19);color:#fff8ec;}
.nav-links a.active::after{background:var(--garden-peach);height:3px;}
.palette-trigger::after{background:linear-gradient(90deg,var(--accent) 0 34%,var(--garden-peach) 34% 67%,var(--garden-yellow) 67%);width:20px;height:4px;}
.palette-option[aria-pressed='true']{background:var(--accent-pale);}
.palette-dot-garden{background:conic-gradient(#df876f 0deg 90deg,#f5d889 90deg 180deg,#63825b 180deg 270deg,#d0bce5 270deg);}
.hero{position:relative;}
.hero h1{color:var(--ink);}
.hero h1 em{color:#bb604b;}
:root[data-theme='dark'] .hero h1 em{color:var(--garden-peach);}
.hero h1 em::after{opacity:.88;border-top-width:3px;}
.hero .eyebrow{color:var(--accent);}
.hero-art::after{color:var(--garden-peach);font-size:52px;}
.art-card{background:linear-gradient(159deg,var(--scene-sky-1) 0%,var(--scene-sky-2) 65%,var(--scene-hill-1) 100%);box-shadow:0 28px 65px rgba(117,78,58,.17);}
.art-sun{background:radial-gradient(circle at 34% 30%,var(--scene-sun-1),var(--scene-sun-2) 76%);box-shadow:0 0 58px rgba(255,231,158,.39);}
.art-mountain-back{background:var(--scene-hill-1);}
.art-mountain-front{background:var(--scene-hill-2);}
.hero-code-note{background:var(--scene-note);color:var(--scene-note-ink);box-shadow:0 12px 31px rgba(42,71,47,.20);}
.hero-code-note .code-dot{color:var(--garden-peach);}
.art-stamp{background:#fff8eb;color:#896045;border:4px solid rgba(255,227,182,.80);}
:root[data-theme='dark'] .art-stamp{background:#f2d8bc;color:#654337;border-color:#b58a76;}
.art-title{color:#fffbed;text-shadow:0 2px 18px rgba(35,62,48,.22);}
.mini-avatars span:first-child{background:#e68b76;}
.mini-avatars span:nth-child(2){background:#6e9c79;}
.mini-avatars span:last-child{background:#ac92bd;}
.button-primary{background:var(--forest);border-color:var(--forest);color:#fffaf0;box-shadow:0 12px 27px rgba(65,102,72,.15);}
.button-primary:hover{background:var(--accent-dark);}
.button-secondary{background:var(--surface);border-color:var(--garden-sage);}
.button-secondary:hover{border-color:var(--accent);background:var(--accent-pale);}
.intro-band{border:1px solid var(--line);border-radius:20px;padding:31px clamp(21px,3vw,42px);background:linear-gradient(105deg,var(--garden-peach-soft),var(--surface) 45%,var(--accent-pale));box-shadow:0 8px 35px rgba(80,90,61,.04);}
.intro-quote span{color:var(--garden-peach);}
.section-top .eyebrow{color:var(--accent);}
.section-index{color:var(--accent);}
.channel-card{border-radius:25px;box-shadow:0 11px 30px rgba(98,79,56,.09);}
.channel-card:hover{box-shadow:0 21px 41px rgba(98,79,56,.16);}
.channel-tech{background:var(--tile-tech);color:var(--tile-dark-ink);}
.channel-life{background:var(--tile-life);color:var(--tile-light-ink);}
.channel-photo{background:var(--tile-photo);color:var(--tile-light-ink);}
.channel-photo .channel-mark{opacity:.61;}
.channel-life .channel-mark{color:var(--garden-peach);opacity:.64;}
.channel-tech .channel-mark{color:#e2e9ba;opacity:.89;}
.tech-project{background:var(--forest);color:#f9f7eb;box-shadow:0 16px 38px rgba(58,86,57,.12);}
.tech-project-top{background:var(--tile-tech);color:#e0e9d7;}
.tech-project-bottom{border-color:#557962;}
.tech-project-code{color:#fff6e7;}
.tech-project-bottom p{color:#d4e3d2;}
.tech-project-bottom small{color:#e6eec2;}
.tech-project-bottom a{border-color:#c1d5af;}
.tech-project-bottom a:hover{background:#486e56;}
.line-number{color:#8aaa8d;}
.code-green{color:#d6f0ba;}.code-peach{color:#f8b897;}.code-purple{color:#dfd0fb;}.code-muted{color:#acc8af;}
.journal-cover{background:var(--journal-bg)!important;color:var(--journal-ink)!important;border:1px solid rgba(228,169,123,.19);}
.journal-cover .journal-flower{color:var(--journal-mark);opacity:.8;}
.journal-cover .journal-label,.journal-cover .journal-footnote{color:var(--journal-ink);}
.tech-note-stack{background:var(--surface);border-color:var(--line);box-shadow:0 10px 30px rgba(76,85,58,.055);}
.journal-entry:hover strong,.tech-list-row:hover strong{color:var(--garden-peach);}
.note-banner{background:linear-gradient(112deg,var(--forest) 0%,var(--scene-hill-2) 100%);color:#fffbed;border-radius:24px;}
.note-banner::after{color:rgba(255,239,187,.20);}
.note-banner .eyebrow{color:#fae4b7;}
.note-banner a{background:#fff7e5;border-color:#fff7e5;color:#425940;}
:root[data-theme='dark'] .note-banner{background:linear-gradient(112deg,var(--forest),var(--scene-hill-2));}
/* Covers get different pastel materials rather than monochrome gradients. */
.cover-forest{background:linear-gradient(138deg,#afcea7,#5b8d71);}
.cover-rose{background:linear-gradient(138deg,#ffd5d4,#ce879b);}
.cover-gold{background:linear-gradient(138deg,#ffebb1,#d6a46e);}
.cover-blue{background:linear-gradient(138deg,#ded3f3,#9585c0);}
.cover-amber{background:linear-gradient(138deg,#fbd7b5,#d68f71);}
.cover-lavender{background:linear-gradient(138deg,#e1ceee,#9e87b8);}
:root[data-theme='dark'] .cover-forest{background:linear-gradient(138deg,#729c79,#3d6750);}
:root[data-theme='dark'] .cover-rose{background:linear-gradient(138deg,#986c7d,#6b5268);}
:root[data-theme='dark'] .cover-gold{background:linear-gradient(138deg,#ccad76,#886d52);}
:root[data-theme='dark'] .cover-blue{background:linear-gradient(138deg,#8d83a8,#5a557f);}
:root[data-theme='dark'] .cover-amber{background:linear-gradient(138deg,#c58b66,#905e52);}
:root[data-theme='dark'] .cover-lavender{background:linear-gradient(138deg,#ae91c4,#6a577c);}
.channel-landing{box-shadow:0 12px 35px rgba(93,79,56,.08);border-color:var(--line);}
.channel-landing-copy{background:linear-gradient(135deg,var(--surface),var(--garden-peach-soft) 245%);}
.channel-landing-tech .channel-landing-visual{background:var(--tile-tech);color:var(--tile-dark-ink);}
.channel-landing-journal .channel-landing-visual{background:var(--tile-life);color:var(--tile-light-ink);}
.channel-landing-gallery .channel-landing-visual{background:var(--tile-photo);color:var(--tile-light-ink);}
.channel-page-facets{background:var(--surface);box-shadow:0 5px 25px rgba(89,76,50,.04);}
.channel-filter.active,.filter-button.active,.archive-taxonomy .filter-button.active{background:var(--forest);border-color:var(--forest);color:#fff9ec;}
.album-card{border-radius:24px;box-shadow:0 9px 32px rgba(89,76,50,.08);}
.album-card-image{background:linear-gradient(137deg,var(--accent-pale),var(--garden-peach-soft));}
.album-card:nth-child(3n+2) .album-card-image{background:linear-gradient(137deg,var(--garden-peach-soft),var(--garden-yellow));}
.album-card:nth-child(3n+3) .album-card-image{background:linear-gradient(137deg,var(--garden-lilac),var(--accent-pale));}
.album-card-info{background:var(--surface);}
.album-card-upper{color:var(--accent);}
.album-card:hover{border-color:var(--garden-peach);}
.album-photo-image{background:linear-gradient(135deg,var(--garden-lilac),var(--garden-peach-soft));}
.album-detail-hero{box-shadow:0 10px 35px rgba(93,79,56,.075);}
.album-detail-cover{background:var(--garden-peach-soft);}
.about-image{background:var(--about-bg)!important;}
.about-flower{background:var(--about-mark);color:#fffbee;}
.site-footer{background:linear-gradient(180deg,var(--bg),var(--accent-pale));}
@media(max-width:760px){
  .intro-band{padding:22px 21px;border-radius:16px;}
  .channel-card{border-radius:19px;}
}
@media(prefers-reduced-motion:reduce){
  .channel-card,.album-card,.art-card{transition:none;animation:none;}
}


/* V10 — Editorial left sidebar taxonomy: archive, tech, journal. */
.filter-content-layout { display:grid; grid-template-columns:248px minmax(0,1fr); gap:26px; align-items:start; }
.filter-main { min-width:0; }
.filter-sidebar.archive-taxonomy,
.filter-sidebar.channel-page-facets {
  display:flex; flex-direction:column; position:sticky; top:105px; z-index:2;
  max-height:calc(100dvh - 126px); margin:0; padding:0; overflow:hidden;
  border:1px solid var(--line); border-radius:19px; background:var(--surface);
  box-shadow:0 9px 26px rgba(88,83,57,.055);
}
.filter-sidebar-heading { flex:none; display:flex; align-items:center; gap:10px; padding:20px 19px 17px; border-bottom:1px solid var(--line); background:linear-gradient(112deg,var(--garden-peach-soft),var(--surface) 78%); }
.filter-sidebar-heading div {display:flex;flex-direction:column;gap:2px;min-width:0;}
.filter-sidebar-heading small {font-size:9px;font-weight:800;letter-spacing:.14em;color:var(--muted);}
.filter-sidebar-heading strong {font:550 18px var(--serif);color:var(--ink);}
.filter-sidebar-icon {display:grid;place-items:center;flex:none;width:37px;height:37px;border-radius:11px;background:var(--accent-pale);color:var(--forest);font-size:24px;}
.filter-sidebar-body {padding:18px 16px 22px;overflow-y:auto;overflow-x:hidden;min-height:0;scrollbar-width:thin;scrollbar-color:var(--line) transparent;overscroll-behavior:contain;}
.filter-sidebar .taxonomy-eyebrow {flex-direction:column;align-items:flex-start;gap:2px;margin-bottom:11px;font-size:10px;}
.filter-sidebar .taxonomy-eyebrow span:last-child {font-size:9px;letter-spacing:.11em;}
.filter-sidebar .channel-filters {display:grid;grid-template-columns:1fr;gap:7px;}
.filter-sidebar .channel-filter {border-radius:11px;padding:10px 12px;font-size:12px;}
.filter-sidebar .category-filters {display:flex;flex-direction:column;align-items:stretch;gap:7px;}
.filter-sidebar .filter-button {display:flex;justify-content:space-between;align-items:center;white-space:normal;width:100%;text-align:left;line-height:1.45;border-radius:10px;padding:10px 12px;font-size:12px;}
.filter-sidebar .filter-button small {flex:none;min-width:20px;text-align:right;}
.filter-sidebar .taxonomy-subpanel,
.filter-sidebar .taxonomy-tags,
.filter-sidebar .channel-page-tags {border-top:1px solid var(--line);padding-top:17px;margin-top:18px;}
.filter-sidebar .channel-facet-label {margin:0 0 12px;font-size:10px;letter-spacing:.14em;color:var(--accent);}
.filter-sidebar .tag-filters {display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start;}
.filter-sidebar .tag-filter,
.filter-sidebar .tag-expand {line-height:1.4;padding:7px 9px;font-size:10px;white-space:normal;overflow-wrap:anywhere;}
.filter-sidebar-close,.filter-sidebar-footer,.filter-mobile-toolbar {display:none;}
.filter-main .posts-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:19px;}
.filter-main .post-cover {height:190px;}
.channel-page-view .filter-main .post-cover {height:185px;}
.filter-main .article-toolbar,.filter-main .channel-page-tools {margin-bottom:19px;}
.filter-main .search-sort {justify-content:flex-end;width:100%;}
.filter-main .article-toolbar .search-box {width:min(100%,340px);}
.filter-main .channel-page-tools .search-box {width:min(100%,340px);}
.filter-main .post-card.is-featured .post-cover {height:100%;min-height:300px;}
.filter-main .post-card.is-featured {min-height:300px;}
.filter-backdrop[hidden]{display:none!important;}
@media (max-width:1100px) and (min-width:921px) {
  .filter-content-layout {grid-template-columns:225px minmax(0,1fr);gap:20px;}
  .filter-main .post-content {padding:20px 18px;}
  .filter-main .post-card.is-featured .post-content {padding:25px 28px;}
  .filter-main .post-card.is-featured .post-content h3 {font-size:25px;}
}
@media (max-width:920px) {
  .filter-content-layout {display:block;}
  .filter-mobile-toolbar {display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:17px;}
  .filter-mobile-toggle {display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:12px;padding:10px 13px;background:var(--surface);color:var(--ink);font-size:12px;font-weight:750;min-height:44px;box-shadow:0 5px 15px rgba(68,57,34,.04);}
  .filter-mobile-toggle:focus-visible {outline:2px solid var(--accent);outline-offset:2px;}
  .filter-mobile-toggle small {font-size:10px;font-weight:700;color:var(--accent-dark);padding:4px 7px;background:var(--accent-pale);border-radius:7px;}
  .filter-mobile-toggle small.has-selection {background:var(--forest);color:#fff9ed;}
  .filter-toggle-icon {font-size:18px;line-height:1;color:var(--forest);}
  .filter-mobile-hint {font-size:11px;color:var(--muted);}
  .filter-sidebar.archive-taxonomy,
  .filter-sidebar.channel-page-facets {
    position:fixed;left:0;top:0;bottom:0;z-index:1105;max-height:100dvh;height:100dvh;
    width:min(86vw,344px);padding:0;margin:0;overflow:hidden;border-radius:0 23px 23px 0;
    transform:translateX(-105%);transition:transform .25s ease;visibility:hidden;pointer-events:none;
    box-shadow:18px 0 46px rgba(22,28,19,.14);
  }
  .filter-sidebar.is-open.archive-taxonomy,
  .filter-sidebar.is-open.channel-page-facets {transform:translateX(0);visibility:visible;pointer-events:auto;}
  .filter-sidebar-heading {padding:22px 18px 17px;}
  .filter-sidebar-body {flex:1;overscroll-behavior:contain;}
  .filter-sidebar-close {display:grid;place-items:center;margin-left:auto;width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink);font-size:22px;line-height:1;}
  .filter-sidebar-footer {display:block;flex:none;padding:13px 18px max(17px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);}
  .filter-sidebar-done {display:flex;align-items:center;justify-content:space-between;width:100%;padding:13px 17px;border:0;border-radius:11px;background:var(--forest);color:#fffaf0;font-size:13px;font-weight:800;}
  .filter-sidebar-done span {font-size:17px;}
  .filter-backdrop:not([hidden]){position:fixed;inset:0;z-index:1102;background:rgba(26,28,23,.44);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);}
  body.filter-drawer-open {overflow:hidden;}
  .filter-main .posts-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
}
@media (max-width:760px) {
  .filter-main .posts-grid {grid-template-columns:1fr;}
  .filter-main .post-cover,
  .channel-page-view .filter-main .post-cover {height:210px;}
  .filter-main .post-card.is-featured .post-cover {height:235px;min-height:235px;}
  .filter-main .post-card.is-featured {grid-template-columns:1fr;min-height:0;}
  .filter-main .article-toolbar {margin-bottom:14px;}
  .filter-main .article-toolbar .search-box {flex:1;min-width:0;}
  .filter-main .channel-page-tools .search-box {flex:1;min-width:0;}
}
@media (max-width:390px) {
  .filter-mobile-hint {display:none;}
  .filter-main .article-toolbar .search-sort {gap:7px;}
  .filter-main .sort-trigger {min-width:112px;padding-inline:10px;}
}
@media (prefers-reduced-motion:reduce) {
  .filter-sidebar.archive-taxonomy,.filter-sidebar.channel-page-facets {transition:none;}
}


/* V11 -- editorial library grid. Sidebar lives OUTSIDE the content column on wide screens. */
.filter-main .post-card {display:flex;flex-direction:column;min-width:0;border-radius:14px;}
.filter-main .post-cover,
.channel-page-view .filter-main .post-cover {height:135px;min-height:0;flex:none;}
.filter-main .post-cover .cover-deco {font-size:clamp(56px,5.1vw,78px);top:26%;left:38%;}
.filter-main .post-cover .cover-nr {font-size:9px;top:13px;left:14px;}
.filter-main .post-cover .cover-word {font-size:8px;left:14px;bottom:13px;letter-spacing:.1em;}
.filter-main .post-content {padding:16px 15px 14px;flex:1;display:flex;flex-direction:column;}
.filter-main .post-overline {gap:6px;font-size:9px;line-height:1.5;flex-wrap:wrap;}
.filter-main .post-content h3 {font-size:17px;line-height:1.5;margin:9px 0 8px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;min-height:51px;}
.filter-main .post-content p {font-size:11px;line-height:1.72;min-height:38px;max-height:38px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;}
.filter-main .post-tags {font-size:9px;gap:4px 7px;min-height:16px;margin-top:9px;max-height:18px;overflow:hidden;}
.filter-main .post-footer {margin-top:auto;padding-top:11px;gap:7px;align-items:center;flex-direction:row;}
.filter-main .post-footer time {font-size:9px;white-space:nowrap;}
.filter-main .read-link {font-size:10px;white-space:nowrap;}
.filter-main .read-link span {margin-left:1px;}
.filter-main .posts-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;}
.filter-main .post-card.is-featured {grid-column:auto;display:flex;flex-direction:column;min-height:0;}
.filter-main .post-card.is-featured .post-cover {height:135px;min-height:0;}
.filter-main .post-card.is-featured .post-content {justify-content:flex-start;padding:16px 15px 14px;}
.filter-main .post-card.is-featured .post-content h3 {font-size:17px;line-height:1.5;margin:9px 0 8px;}
.filter-main .post-card.is-featured .post-footer {margin-top:auto;}

@media (min-width:1200px) {
  /* A reserved outer gutter keeps the taxonomy off the main article canvas. */
  #articles-view > .container,
  #tech-view > .container,
  #journal-view > .container {width:min(1140px,calc(100% - 512px));}
  .filter-content-layout {width:calc(100% + 234px);margin-left:-234px;grid-template-columns:212px minmax(0,1fr);gap:22px;}
  .filter-main .posts-grid {grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;}
  .filter-sidebar.archive-taxonomy,.filter-sidebar.channel-page-facets {top:103px;}
}
@media (min-width:1200px) and (max-width:1399px) {
  .filter-main .posts-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;}
}
@media (min-width:921px) and (max-width:1199px) {
  .filter-content-layout {grid-template-columns:190px minmax(0,1fr);gap:18px;}
  .filter-main .posts-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
  .filter-main .post-content {padding:13px 12px;}
  .filter-sidebar-heading {padding:16px 12px;}
  .filter-sidebar-body {padding:14px 11px;}
}
@media (min-width:921px) and (max-width:1020px) {
  .filter-main .posts-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (min-width:600px) and (max-width:920px) {
  .filter-main .posts-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;}
}
@media (max-width:599px) {
  .filter-main .posts-grid {grid-template-columns:1fr;gap:17px;}
  .filter-main .post-cover,.channel-page-view .filter-main .post-cover {height:178px;}
  .filter-main .post-content {padding:20px;}
  .filter-main .post-content h3 {font-size:20px;min-height:0;}
  .filter-main .post-content p {font-size:12px;}
  .filter-main .post-footer time {font-size:10px;}
  .filter-main .read-link {font-size:11px;}
}

@media (min-width:780px) and (max-width:920px) {
  .filter-main .posts-grid {grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;}
}


/* V12 — magazine table of contents: spare text navigation, not a filter panel. */
.channel-tabs-row { display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); margin:0 0 22px; gap:15px; }
.channel-tabs-note { font:700 9px var(--sans); color:var(--muted); letter-spacing:.18em; flex:none; }
#articles-view .filter-main .channel-filters { display:flex; flex-wrap:nowrap; align-items:stretch; gap:30px; min-width:0; }
#articles-view .filter-main .channel-filter { display:inline-flex; align-items:center; gap:8px; background:transparent; border:0; border-bottom:2px solid transparent; border-radius:0; padding:12px 1px 13px; color:var(--ink-soft); box-shadow:none; font-size:13px; font-weight:600; white-space:nowrap; min-width:0; }
#articles-view .filter-main .channel-filter small {font-size:10px; font-weight:600; color:var(--muted); background:none; padding:0; }
#articles-view .filter-main .channel-filter.active {border-bottom-color:var(--forest); color:var(--ink); background:none; }
#articles-view .filter-main .channel-filter.active small {color:var(--accent-dark);}
#articles-view .filter-main .channel-filter:hover {color:var(--accent-dark);}
#articles-view .filter-main .channel-filter:focus-visible {outline:2px solid var(--forest);outline-offset:-3px;}
.filter-sidebar .toc-description {font-size:11px;line-height:1.9;color:var(--muted);margin:0 0 15px;padding:0 10px;}
.filter-sidebar .toc-links {display:flex;flex-direction:column;gap:1px;align-items:stretch;}
.filter-sidebar .toc-links .filter-button {display:flex;align-items:center;justify-content:space-between;gap:9px;text-align:left;width:100%;padding:9px 10px;border:0;border-left:2px solid transparent;border-radius:0;background:transparent;box-shadow:none;font-size:12px;font-weight:600;line-height:1.5;color:var(--ink-soft);white-space:normal;transition:color .16s,background-color .16s,border-color .16s;}
.filter-sidebar .toc-links .filter-button span {min-width:0;}
.filter-sidebar .toc-links .filter-button small {border:0;min-width:auto;padding:0;background:none;color:var(--muted);font-size:10px;font-weight:500;flex:none;}
.filter-sidebar .toc-links .filter-button.active {background:transparent!important;color:var(--forest)!important;border-left-color:var(--forest)!important;font-weight:800;}
.filter-sidebar .toc-links .filter-button.active small {color:var(--accent-dark);}
.filter-sidebar .toc-links .filter-button:hover:not(.active) {color:var(--accent-dark);background:var(--accent-pale);}
.filter-sidebar .toc-links .filter-button:focus-visible {outline:2px solid var(--forest);outline-offset:-2px;}
.filter-sidebar .toc-group-heading {display:flex;align-items:center;justify-content:space-between;color:var(--ink);font-size:11px;font-weight:800;letter-spacing:.06em;padding:13px 10px 6px;margin-top:5px;}
.filter-sidebar .toc-group-heading span {font-size:10px;color:var(--muted);font-weight:600;}
.filter-sidebar .toc-links .toc-all {margin:0 0 8px;}
.filter-sidebar .toc-links .toc-all + .toc-group-heading {border-top:1px solid var(--line);}
#articles-view .filter-main .article-toolbar {margin-bottom:16px;}
#articles-view .filter-main .search-sort {justify-content:flex-end;}
.filter-main .results-meta {border-top:0;}
/* Compact, contextual tag menu. No permanent tag wall. */
.tag-disclosure {position:relative; flex:none; z-index:8;}
.tag-disclosure[hidden] {display:none!important;}
.tag-disclosure summary {display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;border:1px solid var(--line);border-radius:10px;padding:7px 12px;background:var(--surface);color:var(--ink-soft);font-size:12px;font-weight:650;cursor:pointer;user-select:none;white-space:nowrap;list-style:none;transition:border-color .16s,background-color .16s;}
.tag-disclosure summary::-webkit-details-marker {display:none;}
.tag-disclosure summary::after {content:'⌄';margin-left:2px;color:var(--muted);font-size:16px;transition:transform .16s;}
.tag-disclosure[open] summary::after {transform:rotate(180deg);}
.tag-disclosure summary:hover,.tag-disclosure[open] summary {border-color:var(--accent);background:var(--accent-pale);color:var(--ink);}
.tag-disclosure summary:focus-visible {outline:2px solid var(--forest);outline-offset:3px;}
.tag-selected-label {max-width:98px;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:10px;font-weight:550;}
.tag-selected-label.is-chosen {color:var(--accent-dark);font-weight:750;}
.tag-popover {position:absolute;top:calc(100% + 9px);right:0;width:min(330px,80vw);background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:15px;box-shadow:0 18px 48px rgba(37,39,27,.13);max-height:min(420px,60vh);overflow-y:auto;overscroll-behavior:contain;z-index:110;}
.tag-popover p {margin:0 0 12px;color:var(--muted);font-size:10px;letter-spacing:.1em;font-weight:750;}
.tag-popover .tag-filters {display:flex;flex-wrap:wrap;gap:7px;align-items:flex-start;}
.tag-popover .tag-filter,.tag-popover .tag-expand {font-size:11px;line-height:1.5;white-space:normal;padding:7px 10px;}
.filter-main .channel-page-tools {gap:9px;}
.post-tag-link {appearance:none;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:1px 0;text-align:left;}
.post-tag-link:hover,.post-tag-link:focus-visible {text-decoration:underline;text-underline-offset:3px;color:var(--accent-dark);}
@media (min-width:921px) {
  .filter-sidebar.archive-taxonomy,.filter-sidebar.channel-page-facets {background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;overflow:visible;max-height:calc(100dvh - 132px);gap:0;}
  .filter-sidebar-heading {background:transparent!important;border-bottom:1px solid var(--line);padding:6px 10px 17px 11px;gap:0;}
  .filter-sidebar-heading small {font-size:9px;letter-spacing:.18em;font-weight:650;color:var(--muted);}
  .filter-sidebar-heading strong {font-size:18px;line-height:1.4;font-weight:650;margin-top:4px;}
  .filter-sidebar-icon {display:none!important;}
  .filter-sidebar-body {padding:18px 2px 6px 0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;}
  .filter-sidebar .taxonomy-subpanel {margin:0;padding:0;border:0;}
  .filter-sidebar .toc-links .filter-button {padding:9px 10px;}
}
@media (max-width:920px) {
  .filter-sidebar.archive-taxonomy,.filter-sidebar.channel-page-facets {background:var(--surface);}
  .filter-sidebar-heading {background:var(--surface);}
  .filter-sidebar-body {padding:17px 14px 24px;}
  .filter-sidebar .taxonomy-subpanel {margin:0;padding:0;border:0;}
  .filter-sidebar-icon {display:none;}
  .tag-disclosure {z-index:5;}
}
@media (max-width:600px) {
  .channel-tabs-note {display:none;}
  .channel-tabs-row {margin-bottom:17px;}
  #articles-view .filter-main .channel-filters {gap:18px;}
  #articles-view .filter-main .channel-filter {font-size:12px;padding:10px 0 11px;}
  #articles-view .filter-main .search-sort {gap:8px;flex-wrap:wrap;}
  #articles-view .filter-main .article-toolbar .search-box {width:100%;flex-basis:100%;}
  .tag-disclosure summary {min-height:40px;padding:6px 10px;font-size:11px;}
  .tag-selected-label {max-width:62px;}
  .tag-popover {right:-20px;width:min(316px,calc(100vw - 28px));}
  .filter-main .channel-page-tools {flex-wrap:wrap;}
  .filter-main .channel-page-tools .search-box {width:100%;flex-basis:100%;}
}

/* V12: keep selected directory links legible in dark mode. */
:root[data-theme='dark'] .filter-sidebar .toc-links .filter-button.active {
  color:var(--accent)!important;
  border-left-color:var(--accent)!important;
}
:root[data-theme='dark'] .filter-sidebar .toc-links .filter-button.active small {
  color:var(--muted);
}


/* V13 / Useful channel heroes: fresh writing and newest themed photo album. */
.channel-page-view .channel-landing {grid-template-columns:minmax(0,35fr) minmax(0,65fr);min-height:355px;}
.channel-page-view .channel-landing-copy {padding:clamp(28px,3.1vw,43px);min-width:0;}
.channel-page-view .channel-landing-copy h1 {font-size:clamp(34px,3vw,43px);overflow-wrap:anywhere;}
.channel-landing-highlight {display:flex;flex-direction:column;min-width:0;min-height:355px;padding:clamp(23px,2.65vw,36px);position:relative;overflow:hidden;isolation:isolate;}
.channel-landing-highlight::before {content:'';position:absolute;width:270px;height:270px;right:-120px;top:-155px;border:1px solid currentColor;border-radius:50%;opacity:.10;pointer-events:none;z-index:-1;}
.channel-highlight-tech {background:var(--tile-tech);color:var(--tile-dark-ink);}
.channel-highlight-journal {background:var(--tile-life);color:var(--tile-light-ink);}
.channel-highlight-gallery {background:var(--tile-photo);color:var(--tile-light-ink);padding:17px;}
.landing-highlight-placeholder {font-size:12px;opacity:.75;}
.landing-highlight-top {display:flex;align-items:center;gap:9px;font-size:10px;font-weight:800;letter-spacing:.15em;line-height:1.5;opacity:.83;}
.landing-highlight-dot {width:7px;height:7px;border-radius:50%;background:currentColor;flex:none;}
.landing-highlight-index {margin-left:auto;font-size:10px;letter-spacing:.07em;opacity:.72;white-space:nowrap;}
.landing-highlight-story {margin:auto 0;display:flex;flex-direction:column;align-items:flex-start;padding-top:20px;min-width:0;}
.landing-highlight-meta {display:flex;align-items:center;flex-wrap:wrap;gap:9px;font-size:11px;font-weight:650;line-height:1.6;opacity:.78;}
.landing-highlight-story h2 {font:600 clamp(24px,2.45vw,35px)/1.38 var(--serif);letter-spacing:-.035em;margin:12px 0 10px;max-width:100%;overflow-wrap:anywhere;}
.landing-highlight-story h2 a {color:inherit;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.landing-highlight-story h2 a:hover {text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;}
.landing-highlight-story p {font-size:12px;line-height:1.8;opacity:.8;margin:0 0 18px;max-width:420px;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.landing-highlight-action {color:inherit;display:inline-flex;align-items:center;justify-content:space-between;gap:25px;border:1px solid currentColor;border-radius:100px;padding:9px 16px 9px 18px;font-size:11px;font-weight:800;line-height:1.5;min-height:38px;transition:background .2s,transform .2s;}
.landing-highlight-action:hover {background:color-mix(in srgb,currentColor 13%,transparent);transform:translateY(-2px);}
.landing-highlight-action span {font-size:16px;line-height:1;}
.landing-highlight-next {display:flex;align-items:center;gap:10px;border-top:1px solid color-mix(in srgb,currentColor 25%,transparent);padding-top:13px;margin-top:6px;min-width:0;}
.landing-highlight-next-label {font-size:10px;font-weight:700;opacity:.68;white-space:nowrap;}
.landing-highlight-next a {color:inherit;display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0;font-size:11px;font-weight:750;flex:1;}
.landing-highlight-next a:hover {text-decoration:underline;text-underline-offset:4px;}
.landing-highlight-next a span {font-size:16px;flex:none;}
.landing-highlight-empty {margin:auto 0;padding-block:28px;}
.landing-highlight-symbol {font-size:42px;opacity:.45;}
.landing-highlight-empty h2 {font:600 26px/1.45 var(--serif);margin:12px 0;}
.landing-highlight-empty p {font-size:13px;opacity:.75;line-height:1.85;}
/* Gallery hero uses a real, clickable album cover rather than decorative art. */
.landing-album-feature {display:flex;flex-direction:column;height:100%;min-width:0;color:inherit;gap:0;}
.landing-album-image {height:216px;min-height:0;display:block;position:relative;overflow:hidden;border-radius:12px;background:var(--surface-muted);}
.landing-album-image img {display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease;}
.landing-album-feature:hover .landing-album-image img {transform:scale(1.05);}
.landing-album-image-label {position:absolute;left:14px;top:14px;border-radius:100px;padding:7px 12px;background:rgba(253,251,246,.94);color:#34352f;font-size:9px;font-weight:850;letter-spacing:.12em;box-shadow:0 3px 10px rgba(0,0,0,.12);}
.landing-album-information {display:flex;flex-direction:column;flex:1;min-width:0;padding:17px 6px 2px;}
.landing-album-meta {display:flex;gap:12px;flex-wrap:wrap;opacity:.79;font-size:10px;font-weight:700;letter-spacing:.04em;}
.landing-album-information strong {font:600 clamp(21px,2.1vw,29px)/1.35 var(--serif);letter-spacing:-.035em;display:flex;align-items:center;justify-content:space-between;gap:10px;margin:7px 0 4px;}
.landing-album-information strong span {font-size:21px;transition:transform .2s;}
.landing-album-feature:hover .landing-album-information strong span {transform:translate(3px,-3px);}
.landing-album-description {font-size:11px;opacity:.83;line-height:1.65;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;}
.channel-landing-highlight a:focus-visible {outline:2px solid currentColor;outline-offset:4px;border-radius:3px;}
@media (min-width:761px) and (max-width:1060px) {
  .channel-page-view .channel-landing {grid-template-columns:minmax(0,38fr) minmax(0,62fr);}
  .channel-page-view .channel-landing-copy {padding:30px;}
  .channel-landing-highlight {padding:23px;}
  .landing-highlight-story h2 {font-size:26px;}
}
@media (max-width:760px) {
  .channel-page-view .channel-landing {grid-template-columns:1fr;min-height:0;}
  .channel-page-view .channel-landing-copy {padding:32px 29px 27px;}
  .channel-landing-highlight {min-height:300px;padding:27px 29px;}
  .landing-highlight-story h2 {font-size:clamp(24px,6vw,30px);}
  .landing-highlight-story {padding-top:17px;}
  .landing-highlight-next {margin-top:12px;}
  .channel-highlight-gallery {padding:16px;}
  .landing-album-image {height:205px;}
}
@media (max-width:430px) {
  .channel-page-view .channel-landing-copy {padding:29px 23px 25px;}
  .channel-landing-highlight {padding:23px;min-height:290px;}
  .channel-highlight-gallery {padding:13px;}
  .landing-album-image {height:185px;}
  .landing-highlight-story p {margin-bottom:14px;}
}
@media (prefers-reduced-motion:reduce) {
  .landing-highlight-action,.landing-album-image img,.landing-album-information strong span {transition:none;}
}

/* V14 / Wider featured content, leaner title column. */


/* V15 | THE CHRONICLE: an editorial, year-and-month timeline. */
.chronicle-view {padding-bottom:112px;}
.chronicle-view .interior-topline {padding-top:32px;}
.chronicle-hero {display:grid;grid-template-columns:minmax(0,1.07fr) minmax(0,.93fr);margin:28px 0 84px;border:1px solid var(--line);border-radius:25px;overflow:hidden;box-shadow:0 23px 65px rgba(63,59,43,.065);background:var(--surface);min-height:340px;}
.chronicle-intro {display:flex;flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;padding:clamp(34px,5vw,68px);background:linear-gradient(140deg,var(--surface) 30%,var(--surface-soft));}
.chronicle-intro .eyebrow {color:var(--accent-dark);font-size:10px;letter-spacing:.17em;}
.chronicle-intro h1 {font:600 clamp(35px,4.4vw,58px)/1.34 var(--serif);letter-spacing:-.065em;color:var(--ink);margin:23px 0 15px;}
.chronicle-intro h1 em {color:var(--accent-dark);font-style:normal;}
.chronicle-intro > p {color:var(--ink-soft);font-size:13px;max-width:350px;line-height:2;margin:0;}
.chronicle-hero-link {display:flex;gap:12px;align-items:center;color:var(--muted);font-size:10px;font-weight:750;letter-spacing:.08em;margin-top:32px;}
.chronicle-hero-line {height:1px;width:24px;background:var(--accent);}
.chronicle-cover {display:flex;flex-direction:column;isolation:isolate;overflow:hidden;position:relative;padding:29px 33px 27px;color:#f5f3e8;background:linear-gradient(135deg,#527360,#345142 80%);min-width:0;min-height:340px;}
:root[data-palette='plum'] .chronicle-cover {background:linear-gradient(135deg,#7d627b,#59435d);}
:root[data-palette='coral'] .chronicle-cover {background:linear-gradient(135deg,#b97669,#86564d);}
:root[data-theme='dark'] .chronicle-cover {filter:saturate(.82);}
.chronicle-cover-top {display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:9px;font-weight:800;letter-spacing:.17em;opacity:.88;white-space:nowrap;}
.chronicle-cover-graphic {position:absolute;inset:19px 0 70px;display:grid;place-items:center;pointer-events:none;overflow:hidden;z-index:-1;}
.chronicle-orbit {border:1px solid rgba(255,249,230,.28);position:absolute;border-radius:50%;width:340px;height:340px;transform:rotate(-22deg) scaleY(.60);}
.chronicle-orbit-two {width:250px;height:250px;transform:rotate(30deg) scaleY(.86);border-color:rgba(255,249,230,.20);}
.chronicle-orbit-three {width:450px;height:450px;transform:rotate(57deg) scaleY(.37);border-color:rgba(255,249,230,.22);}
.chronicle-flower {font:400 73px/1 var(--serif);transform:rotate(-18deg);color:#f6dfaa;text-shadow:0 0 52px rgba(237,208,129,.2);opacity:.83;}
.chronicle-cover-bottom {display:flex;align-items:end;gap:26px;margin-top:auto;position:relative;}
.chronicle-stat {display:flex;flex-direction:column;gap:5px;align-items:flex-start;min-width:55px;}
.chronicle-stat strong {font:550 38px/1.1 var(--serif);letter-spacing:-.055em;}
.chronicle-stat span {font-size:10px;letter-spacing:.1em;opacity:.85;}
.chronicle-cover-latest {display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-size:10px;margin-left:auto;text-align:right;}
.chronicle-cover-latest span {opacity:.7;font-size:8px;letter-spacing:.08em;}
.chronicle-cover-latest time {font-weight:750;white-space:nowrap;}
.chronicle-layout {display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr);gap:clamp(40px,7.7vw,120px);align-items:start;}
.chronicle-rail {position:sticky;top:125px;padding-top:13px;display:flex;flex-direction:column;align-items:stretch;max-height:calc(100vh - 140px);overflow:auto;}
.chronicle-rail-eyebrow {font-size:10px;font-weight:800;letter-spacing:.15em;color:var(--muted);white-space:nowrap;}
.chronicle-years-nav {display:flex;flex-direction:column;gap:4px;margin:24px 0 26px;}
.chronicle-year-jump {display:flex;align-items:center;justify-content:space-between;text-align:left;gap:9px;border:0;border-left:2px solid transparent;padding:11px 12px;background:transparent;color:var(--muted);transition:color .18s,background .18s;}
.chronicle-year-jump > span {font:500 22px/1.3 var(--serif);}
.chronicle-year-jump small {font:650 10px/1 var(--sans);}
.chronicle-year-jump:hover {color:var(--ink);background:var(--surface-soft);}
.chronicle-year-jump.is-current {border-left-color:var(--accent);color:var(--ink);background:color-mix(in srgb,var(--accent-pale) 70%,transparent);}
.chronicle-rail-footer {display:block;border-top:1px solid var(--line);padding-top:19px;font:400 12px/1.8 var(--serif);color:var(--muted);}
.chronicle-content {min-width:0;}
.chronicle-content-title {display:flex;align-items:end;justify-content:space-between;gap:12px;padding-bottom:25px;margin-bottom:39px;border-bottom:1px solid var(--line);}
.chronicle-content-title .eyebrow {font-size:9px;}
.chronicle-content-title h2 {font:550 clamp(29px,3.6vw,42px)/1.3 var(--serif);letter-spacing:-.045em;margin:10px 0 0;}
.chronicle-period {color:var(--accent);}
#chronicle-result-label {font-size:11px;color:var(--muted);white-space:nowrap;padding-bottom:7px;}
.chronicle-year-group {scroll-margin-top:113px;margin-bottom:64px;}
.chronicle-year-heading {display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;}
.chronicle-year-title {font:550 clamp(45px,5.1vw,67px)/1.2 var(--serif);color:var(--ink);letter-spacing:-.055em;}
.chronicle-year-caption {font-size:10px;font-weight:750;letter-spacing:.07em;color:var(--muted);text-align:right;}
.chronicle-month {position:relative;display:grid;grid-template-columns:117px minmax(0,1fr);gap:28px;padding-top:26px;border-top:1px solid var(--line);margin-top:23px;}
.chronicle-month-heading {display:flex;flex-direction:column;align-items:flex-start;padding-top:8px;gap:6px;}
.chronicle-month-number {font:550 28px/1 var(--serif);color:var(--accent-dark);white-space:nowrap;}
.chronicle-month-number small {font:600 11px var(--sans);margin-left:3px;}
.chronicle-month-english {font:750 9px var(--sans);letter-spacing:.18em;color:var(--muted);}
.chronicle-month-count {font:650 10px var(--sans);color:var(--muted);margin-top:7px;}
.chronicle-entries {margin:0;padding:0 0 0 30px;list-style:none;position:relative;}
.chronicle-entries::before {content:'';position:absolute;left:7px;top:25px;bottom:30px;width:1px;background:var(--line);}
.chronicle-entry {display:grid;grid-template-columns:42px minmax(0,1fr) 35px;gap:17px;position:relative;min-width:0;padding:9px 0 26px;}
.chronicle-entry:not(:last-child){border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent);margin-bottom:19px;}
.chronicle-entry::before {content:'';position:absolute;left:-29px;top:22px;width:14px;height:14px;border:3px solid var(--bg);border-radius:50%;background:var(--accent);box-shadow:0 0 0 1px var(--line);z-index:1;}
.chronicle-entry-date {display:flex;flex-direction:column;align-items:flex-start;gap:4px;color:var(--ink);line-height:1.2;padding-top:7px;}
.chronicle-entry-date strong {font:550 30px/1.1 var(--serif);letter-spacing:-.04em;}
.chronicle-entry-date small {font:750 9px var(--sans);letter-spacing:.11em;color:var(--muted);}
.chronicle-entry-meta {display:flex;flex-wrap:wrap;gap:9px;align-items:center;color:var(--muted);font-size:10px;font-weight:700;margin:4px 0 11px;line-height:1.5;}
.chronicle-entry-kind {display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;min-width:36px;padding:3px 8px;border-radius:4px;background:var(--surface-soft);color:var(--ink-soft);}
.chronicle-entry-kind.is-tech {background:color-mix(in srgb,var(--forest) 15%,var(--surface));color:var(--ink);}
.chronicle-entry-kind.is-life {background:color-mix(in srgb,var(--accent-pale) 80%,var(--surface));color:var(--accent-dark);}
.chronicle-entry-body {min-width:0;}
.chronicle-entry-body h4 {font:550 clamp(17px,1.7vw,23px)/1.42 var(--serif);letter-spacing:-.02em;margin:0 0 7px;color:var(--ink);overflow-wrap:anywhere;}
.chronicle-entry-body h4 a:hover {color:var(--accent-dark);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;}
.chronicle-entry-body p {font-size:11px;line-height:1.8;color:var(--ink-soft);margin:0 0 8px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;}
.chronicle-entry-tags {display:flex;gap:11px;flex-wrap:wrap;margin-top:6px;font-size:10px;font-weight:600;color:var(--muted);}
.chronicle-entry-arrow {align-self:start;justify-self:end;display:grid;place-items:center;width:33px;height:33px;border:1px solid var(--line);border-radius:50%;font-size:15px;color:var(--ink-soft);transition:transform .2s,background .2s;}
.chronicle-entry-arrow:hover {transform:translate(2px,-2px);background:var(--surface-soft);}
.chronicle-bottom-note {display:flex;align-items:center;justify-content:center;gap:14px;margin:38px auto 4px;border-top:1px solid var(--line);padding-top:40px;font:400 13px/1.8 var(--serif);color:var(--muted);}
.chronicle-bottom-note span:first-child {font:400 26px var(--serif);color:var(--accent);}
.chronicle-empty {border:1px dashed var(--line);background:var(--surface);text-align:center;border-radius:19px;padding:70px 25px;}
.chronicle-empty span {font-size:37px;color:var(--accent);}
.chronicle-empty h3 {font:550 26px var(--serif);}
.chronicle-empty p {font-size:12px;color:var(--muted);}
.chronicle-empty a {color:var(--accent-dark);font-weight:750;font-size:12px;}
@media (max-width:1100px) and (min-width:761px) {
  .nav-links {gap:12px;padding-right:2px;}
  .nav-links a {font-size:12px;}
  .chronicle-layout {grid-template-columns:120px minmax(0,1fr);gap:36px;}
  .chronicle-month {grid-template-columns:83px minmax(0,1fr);gap:17px;}
  .chronicle-entries {padding-left:24px;}
  .chronicle-entry::before {left:-23px;}
}
@media (max-width:760px) {
  .chronicle-view {padding-bottom:68px;}
  .chronicle-hero {grid-template-columns:1fr;margin:22px 0 49px;border-radius:20px;min-height:0;}
  .chronicle-intro {padding:34px 29px;}
  .chronicle-intro h1 {font-size:clamp(36px,8vw,49px);margin:17px 0 12px;}
  .chronicle-intro > p {font-size:12px;}
  .chronicle-hero-link {margin-top:20px;}
  .chronicle-cover {padding:22px 29px;min-height:195px;}
  .chronicle-cover-graphic {inset:0 0 30px;}
  .chronicle-cover-bottom {gap:24px;}
  .chronicle-stat strong {font-size:31px;}
  .chronicle-layout {grid-template-columns:1fr;gap:18px;}
  .chronicle-rail {position:static;max-height:none;overflow:visible;padding-top:0;border-bottom:1px solid var(--line);}
  .chronicle-years-nav {display:flex;flex-flow:row wrap;gap:7px;margin:12px 0 15px;}
  .chronicle-year-jump {border-left:0;border-bottom:2px solid transparent;padding:8px 11px;gap:8px;}
  .chronicle-year-jump > span {font-size:17px;}
  .chronicle-year-jump.is-current {border-bottom-color:var(--accent);}
  .chronicle-rail-footer {display:none;}
  .chronicle-content-title {margin:18px 0 27px;padding-bottom:19px;}
  .chronicle-year-heading {margin-bottom:8px;}
  .chronicle-year-title {font-size:51px;}
  .chronicle-month {grid-template-columns:62px minmax(0,1fr);gap:15px;margin-top:15px;padding-top:20px;}
  .chronicle-month-number {font-size:24px;}
  .chronicle-entries {padding-left:22px;}
  .chronicle-entry::before {left:-21px;}
  .chronicle-entry {grid-template-columns:32px minmax(0,1fr) 25px;gap:10px;}
  .chronicle-entry-date strong {font-size:24px;}
  .chronicle-entry-arrow {height:26px;width:26px;font-size:13px;}
  .chronicle-entry-body h4 {font-size:17px;}
}
@media (max-width:430px) {
  .chronicle-intro {padding:28px 22px;}
  .chronicle-cover {padding:21px 22px;}
  .chronicle-cover-top {font-size:8px;}
  .chronicle-cover-latest span {font-size:7px;}
  .chronicle-content-title {align-items:start;flex-direction:column;gap:4px;}
  #chronicle-result-label {padding-bottom:0;}
  .chronicle-year-caption {font-size:9px;max-width:160px;}
  .chronicle-month {grid-template-columns:1fr;gap:7px;}
  .chronicle-month-heading {flex-direction:row;align-items:baseline;gap:9px;padding:0 0 3px;}
  .chronicle-month-number {font-size:22px;}
  .chronicle-month-count {margin:0 0 0 auto;}
  .chronicle-entry {grid-template-columns:30px minmax(0,1fr) 25px;}
  .chronicle-entry-body h4 {font-size:17px;}
  .chronicle-entry-body p {font-size:10px;}
  .chronicle-entries::before {top:16px;}
}
@media (prefers-reduced-motion:reduce) {
  .chronicle-year-jump,.chronicle-entry-arrow {transition:none;}
}

/* V16 — consistent album titles, compact chronicle and secure collections */
.album-detail-hero {
  grid-template-columns:minmax(0,40fr) minmax(0,60fr);
  min-height:312px;
}
.album-detail-copy {padding:clamp(28px,3.2vw,43px);}
.album-detail-copy h1 {
  font-family:var(--serif);
  font-size:clamp(36px,3.25vw,46px);
  font-weight:600;
  line-height:1.24;
  letter-spacing:-.04em;
  margin:14px 0 13px;
  overflow-wrap:anywhere;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  overflow:hidden;
}
.album-detail-meta {margin-top:20px;flex-wrap:wrap;gap:10px 17px;}
.album-detail-cover {min-height:312px;}
.album-detail-cover img {height:100%;width:100%;object-fit:cover;}
/* Match the channel pages' 35/65 header proportions, at a shallower height. */
.chronicle-hero {grid-template-columns:minmax(0,35fr) minmax(0,65fr);min-height:278px;margin:24px 0 48px;}
.chronicle-intro {padding:clamp(26px,3.3vw,43px);}
.chronicle-intro h1 {font-size:clamp(33px,3vw,43px);line-height:1.26;margin:13px 0 10px;}
.chronicle-intro > p {font-size:12px;line-height:1.8;}
.chronicle-hero-link {margin-top:17px;}
.chronicle-cover {min-height:278px;padding:22px 29px;}
.chronicle-cover-top {font-size:9px;}
.chronicle-stat strong {font-size:32px;}
.chronicle-flower {font-size:58px;}
/* Privacy: a locked cover never requests a plaintext image. */
.album-locked-art {display:flex;width:100%;height:100%;min-height:210px;position:relative;flex-direction:column;align-items:center;justify-content:center;gap:10px;overflow:hidden;color:var(--forest);background:radial-gradient(circle at 66% 32%,var(--accent-pale),transparent 50%),linear-gradient(140deg,var(--surface-soft),var(--surface-muted));}
.album-locked-glyph {font:500 94px/1 var(--serif);opacity:.10;position:absolute;transform:rotate(-17deg);}
.album-locked-icon {font-size:27px;position:relative;}
.album-locked-art small {font-size:9px;letter-spacing:.14em;font-weight:800;color:var(--ink-soft);position:relative;}
.album-card.is-locked .album-card-image {background:var(--surface-soft);}
.album-detail-cover .album-locked-art {min-height:312px;}
.landing-album-image .album-locked-art {min-height:100%;}
.album-unlock-panel {margin-top:22px;padding-top:16px;border-top:1px solid var(--line);width:100%;}
.album-unlock-kicker {font-size:10px;font-weight:800;letter-spacing:.06em;color:var(--accent-dark);}
.album-unlock-panel > p {font-size:11px;line-height:1.65;margin:7px 0 13px;}
.album-unlock-label {font-size:11px;font-weight:800;color:var(--ink);display:block;margin-bottom:7px;}
.album-unlock-input-row {display:flex;gap:7px;min-width:0;flex-wrap:wrap;}
.album-unlock-input-row input {min-width:150px;flex:1 1 150px;max-width:100%;background:var(--bg);color:var(--ink);border:1px solid var(--line);outline:0;padding:10px 12px;border-radius:9px;font:inherit;font-size:12px;}
.album-unlock-input-row input:focus {border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-pale);}
.album-unlock-input-row button {border:0;border-radius:9px;padding:11px 15px;background:var(--forest);color:#fff;font-weight:750;font-size:11px;cursor:pointer;}
.album-unlock-input-row button:disabled {opacity:.5;cursor:wait;}
.album-unlock-status {font-size:11px!important;line-height:1.4!important;color:var(--accent-dark)!important;min-height:17px;margin:10px 0 0!important;}
@media (max-width:900px) and (min-width:761px) {
  .album-detail-hero {grid-template-columns:minmax(0,45fr) minmax(0,55fr);}
  .chronicle-hero {grid-template-columns:minmax(0,38fr) minmax(0,62fr);}
}
@media (max-width:760px) {
  .album-detail-hero {grid-template-columns:1fr;min-height:0;}
  .album-detail-copy {padding:28px 25px 32px;}
  .album-detail-copy h1 {font-size:clamp(35px,8.2vw,46px);line-height:1.24;margin:10px 0;}
  .album-detail-cover {height:226px;min-height:226px;}
  .album-detail-cover .album-locked-art {min-height:226px;}
  .chronicle-hero {grid-template-columns:1fr;min-height:0;margin:22px 0 37px;}
  .chronicle-intro {padding:27px 29px 25px;}
  .chronicle-intro h1 {font-size:clamp(31px,7.7vw,41px);margin:12px 0 9px;}
  .chronicle-hero-link {margin-top:13px;}
  .chronicle-cover {min-height:143px;padding:16px 27px;}
  .chronicle-flower {font-size:37px;}
  .chronicle-stat strong {font-size:25px;}
}
/* Album cover art is positioned, not allowed to grow the header with its intrinsic ratio. */
@media (min-width:761px) {
  .album-detail-hero:not(.is-protected) {height:348px;min-height:348px;}
  .album-detail-cover {position:relative;min-height:0;height:100%;}
  .album-detail-cover > img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
  .album-detail-hero.is-protected {height:auto;min-height:425px;}
  .album-detail-hero.is-protected .album-detail-cover {min-height:425px;}
}
@media (max-width:760px) {
  .album-detail-cover {position:relative;}
  .album-detail-cover > img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
}

/* Feather Mist: soft paper, cool slate and muted dusty blue. Default palette. */
:root[data-palette='feather'] {
  --bg:#f5f5f2;--surface:#ffffff;--surface-soft:#ecefea;--surface-muted:#e0e5e0;
  --ink:#2f3b3b;--ink-soft:#526363;--muted:#74817f;--line:#dce2de;
  --accent:#647f88;--accent-dark:#48646d;--accent-pale:#e1ebec;
  --forest:#4b6464;--header-glass:rgba(245,245,242,.9);
  --shadow:0 19px 65px rgba(52,76,79,.08);
}
:root[data-theme='dark'][data-palette='feather'] {
  --bg:#192324;--surface:#243032;--surface-soft:#2b393a;--surface-muted:#354749;
  --ink:#f0f3ef;--ink-soft:#c0cfcd;--muted:#9caaa7;--line:#3e5151;
  --accent:#afcbd1;--accent-dark:#c5dfe3;--accent-pale:#354b50;
  --forest:#385357;--header-glass:rgba(25,35,36,.92);
  --shadow:0 20px 60px rgba(0,0,0,.18);
}
.palette-dot-feather{background:linear-gradient(140deg,#e6e9e5 0 42%,#92abb0 43% 73%,#627d84 74%);}
:root[data-palette='feather'] body::before{background:radial-gradient(circle,rgba(150,185,193,.13),transparent 67%);}
:root[data-palette='feather'] .brand-emblem{transform:rotate(-6deg);box-shadow:0 5px 14px rgba(75,100,105,.16);}
:root[data-palette='feather'] .hero-art::after{content:'❧';font-size:50px;opacity:.75;transform:rotate(-22deg);}

/* Password-protected long-form writing */
.post-unlock-panel{padding:clamp(22px,4vw,42px);border:1px solid var(--line);border-radius:18px;background:var(--surface-soft);}
.post-unlock-panel h2{margin:12px 0 8px;color:var(--ink);font:600 clamp(22px,3vw,30px)/1.35 var(--serif);}
.post-unlock-panel p{font-size:13px;color:var(--ink-soft);line-height:1.8;}
.post-unlock-panel form{margin-top:22px;}
.post-unlock-panel label{display:block;font-size:12px;font-weight:700;margin-bottom:9px;}
.post-unlock-panel .album-unlock-input-row input{background:var(--surface);}

/* Article reading redesign: photo-backed headline + centered body + outer TOC. */
.article-shell{max-width:1320px;}
.article-hero{display:flex;align-items:flex-end;isolation:isolate;position:relative;height:auto;min-height:clamp(340px,43vw,525px);max-height:none;padding:clamp(25px,5vw,70px);margin-top:35px;border-radius:21px;background-color:var(--forest);color:#fff;}
.article-hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(16,28,32,.48) 0%,rgba(18,31,36,.25) 55%,rgba(20,32,39,.08) 100%);}
.article-hero::after{display:none;}
.article-hero.has-photo{background-image:var(--article-photo);background-position:center;background-size:cover;}
.article-hero-content{position:relative;z-index:2;max-width:810px;text-align:left;text-shadow:0 2px 16px rgba(0,0,0,.23);}
.article-hero h1{font:550 clamp(32px,5vw,62px)/1.28 var(--serif);letter-spacing:-.045em;color:#fff;margin:14px 0 15px;text-wrap:balance;}
.article-hero p{font-size:clamp(13px,1.4vw,16px);line-height:1.8;color:rgba(255,255,255,.92);max-width:640px;margin:0 0 19px;}
.article-hero .eyebrow,.article-hero .article-meta,.article-hero .article-meta span,.article-hero .article-tags a{color:rgba(255,255,255,.94);}
.article-hero .article-tags{margin:0 0 14px;}
.article-hero .article-tags a{border-color:rgba(255,255,255,.35);background:rgba(0,0,0,.18);}
.article-hero .article-meta{justify-content:flex-start;flex-wrap:wrap;}
.article-hero .article-meta b{background:rgba(255,255,255,.55);}
.article-body-layout{position:relative;display:grid;grid-template-columns:minmax(0,730px);justify-content:center;gap:0;margin:clamp(45px,6vw,75px) auto 0;max-width:1120px;}
.article-body-layout > div:first-child{min-width:0;}
.article-body-layout .reading-aside{position:absolute;top:0;left:calc(50% + 365px + 45px);width:210px;max-width:215px;padding:18px 0 0 16px;border-left:1px solid var(--line);}
.article-body-layout .reading-aside .toc-list{max-height:calc(100vh - 190px);overflow-y:auto;}
@media(max-width:1230px){.article-body-layout .reading-aside{display:none;}}
@media(max-width:760px){
 .article-hero{margin-top:18px;min-height:340px;padding:25px 24px;}
 .article-hero h1{font-size:clamp(30px,8vw,43px);}
 .article-hero p{font-size:13px;}
 .article-body-layout{display:block;margin-top:42px;}
 .article-hero::before{background:linear-gradient(0deg,rgba(16,28,32,.58),rgba(16,28,32,.08));}
}

/* Clear photos: a faint frosted text panel preserves readability without darkening the whole image. */
.article-hero.has-photo .article-hero-content{padding:clamp(15px,2.6vw,28px);margin:calc(-1 * clamp(15px,2.6vw,28px));border-radius:15px;background:linear-gradient(90deg,rgba(15,30,37,.28),rgba(15,30,37,.08));backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);}
.article-hero.has-photo h1{text-shadow:0 2px 12px rgba(0,0,0,.6),0 1px 3px rgba(0,0,0,.55);}

/* Center article hero text over the photo, for both desktop and mobile. */
.article-hero{align-items:center;justify-content:center;}
.article-hero-content{width:min(100%,850px);max-width:850px;text-align:center;margin-inline:auto;}
.article-hero h1{text-align:center;}
.article-hero p{margin-left:auto;margin-right:auto;text-align:center;}
.article-hero .article-tags{justify-content:center;}
.article-hero .article-meta{justify-content:center;}
.article-hero.has-photo .article-hero-content{margin:0 auto;padding:clamp(16px,2.6vw,28px);}
@media(max-width:760px){.article-hero{align-items:center;justify-content:center;}.article-hero-content{width:100%;}}

/* Explicitly center the article hero and its child rows. */
#post-view .article-cover.article-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;}
#post-view .article-hero .article-hero-content{width:min(100%,850px);max-width:850px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;margin:0 auto;}
#post-view .article-hero .article-hero-content > *{text-align:center;}
#post-view .article-hero .article-tags,#post-view .article-hero .article-meta{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;width:100%;}
#post-view .article-hero .article-hero-content p{margin-inline:auto;}

/* Compact article header without clipping long titles. */
#post-view .article-cover.article-hero{height:auto;min-height:clamp(235px,27vw,325px);max-height:none;padding:clamp(26px,3vw,42px) clamp(22px,4vw,58px);}
#post-view .article-hero h1{font-size:clamp(29px,3.5vw,46px);line-height:1.3;margin:8px 0 10px;}
#post-view .article-hero p{font-size:clamp(12px,1.15vw,14px);margin-bottom:12px;line-height:1.7;}
#post-view .article-hero .article-tags{margin-bottom:9px;}
@media(max-width:760px){#post-view .article-cover.article-hero{min-height:235px;padding:26px 20px;}#post-view .article-hero h1{font-size:clamp(27px,6.5vw,36px);}}

/* Sticky TOC stays outside the centered article and stops at article end. */
@media(min-width:1231px){
 .article-body-layout{grid-template-columns:minmax(0,730px);align-items:start;}
 .article-body-layout > div:first-child{grid-column:1;grid-row:1;min-width:0;}
 .article-body-layout .reading-aside{
   grid-column:1;grid-row:1;
   position:sticky;top:105px;left:auto;
   justify-self:start;align-self:start;
   margin-left:calc(100% + 45px);
   width:210px;max-width:210px;
   max-height:calc(100vh - 125px);
   overflow-y:auto;overscroll-behavior:contain;
   padding:18px 0 0 16px;
 }
 .article-body-layout .reading-aside .toc-list{max-height:none;overflow:visible;}
}


/* Matching filter controls, without changing the original search field or toolbar. */
#tech-view .channel-page-tools .tag-disclosure summary,
#journal-view .channel-page-tools .tag-disclosure summary,
#tech-view .channel-page-tools .sort-trigger,
#journal-view .channel-page-tools .sort-trigger{
  box-sizing:border-box;display:flex;align-items:center;justify-content:center;
  gap:9px;height:42px;min-height:42px;border:1px solid var(--line);
  border-radius:11px;padding:0 13px;background:var(--surface);
  color:var(--ink-soft);font-size:12px;font-weight:650;
  box-shadow:none;line-height:1;white-space:nowrap;
  transition:border-color .18s,background-color .18s,color .18s;
}
#tech-view .channel-page-tools .sort-trigger,
#journal-view .channel-page-tools .sort-trigger{min-width:126px;justify-content:space-between;}
#tech-view .channel-page-tools .tag-disclosure summary,
#journal-view .channel-page-tools .tag-disclosure summary{min-width:126px;}
#tech-view .channel-page-tools .tag-disclosure summary:hover,
#journal-view .channel-page-tools .tag-disclosure summary:hover,
#tech-view .channel-page-tools .sort-trigger:hover,
#journal-view .channel-page-tools .sort-trigger:hover,
#tech-view .channel-page-tools .tag-disclosure[open] summary,
#journal-view .channel-page-tools .tag-disclosure[open] summary,
#tech-view .channel-page-tools .sort-trigger[aria-expanded='true'],
#journal-view .channel-page-tools .sort-trigger[aria-expanded='true']{
 border-color:var(--accent);background:var(--surface-soft);color:var(--accent-dark);
}
#tech-view .channel-page-tools .tag-popover .tag-filter,
#journal-view .channel-page-tools .tag-popover .tag-filter{border-radius:9px;}
@media(max-width:600px){
 #tech-view .channel-page-tools .tag-disclosure summary,
 #journal-view .channel-page-tools .tag-disclosure summary,
 #tech-view .channel-page-tools .sort-trigger,
 #journal-view .channel-page-tools .sort-trigger{min-width:0;height:42px;min-height:42px;}
}

/* Make the tag trigger read like the adjacent sort selector; keep its existing popover. */
#tech-view .channel-page-tools .tag-disclosure summary,
#journal-view .channel-page-tools .tag-disclosure summary{
  justify-content:space-between;gap:12px;min-width:126px;
}
#tech-view .channel-page-tools .tag-selected-label,
#journal-view .channel-page-tools .tag-selected-label{
  display:block;max-width:125px;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;color:inherit;font-size:12px;font-weight:650;
}
#tech-view .channel-page-tools .tag-selected-label.is-chosen,
#journal-view .channel-page-tools .tag-selected-label.is-chosen{color:inherit;font-weight:650;}
#tech-view .channel-page-tools .tag-disclosure summary::after,
#journal-view .channel-page-tools .tag-disclosure summary::after{
  content:'';display:block;flex:none;width:7px;height:7px;
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;
  transform:translateY(-2px) rotate(45deg);transition:transform .18s;
}
#tech-view .channel-page-tools .tag-disclosure[open] summary::after,
#journal-view .channel-page-tools .tag-disclosure[open] summary::after{
  transform:translateY(2px) rotate(225deg);
}


/* Consistent 42px toolbar control heights; keep the original search appearance. */
#tech-view .channel-page-tools .search-box,
#journal-view .channel-page-tools .search-box,
#articles-view .article-toolbar .search-box{
 box-sizing:border-box;height:42px;min-height:42px;
 display:flex;align-items:center;padding:0 12px;
}
#tech-view .channel-page-tools .search-box input,
#journal-view .channel-page-tools .search-box input,
#articles-view .article-toolbar .search-box input{
 box-sizing:border-box;height:100%;min-height:0;line-height:normal;
}
#articles-view .article-toolbar .tag-disclosure summary,
#articles-view .article-toolbar .sort-trigger{
 box-sizing:border-box;height:42px;min-height:42px;
}

/* Unified feather mark, including the header brand and About artwork. */
.feather-mark{display:block;width:24px;height:24px;flex:none;}
.brand-emblem .feather-mark{width:24px;height:24px;}
.about-flower .feather-mark{width:clamp(90px,13vw,160px);height:clamp(90px,13vw,160px);stroke-width:1.15;}


/* Article typography: neutral reading ink, palette-aware accents, not forest green. */
#post-view .prose{
  color:var(--ink);
  font-size:15px;
  line-height:2.05;
}
#post-view .prose p,
#post-view .prose li,
#post-view .prose td{color:var(--ink-soft);}
#post-view .prose h2,
#post-view .prose h3,
#post-view .prose h4{color:var(--ink);letter-spacing:-.018em;}
#post-view .prose h2{
  border-bottom:1px solid var(--line);padding-bottom:12px;
  font-weight:650;
}
#post-view .prose h2::before{
  content:'';display:inline-block;width:5px;height:.75em;
  margin-right:12px;border-radius:5px;background:var(--accent);
}
#post-view .prose strong{color:var(--ink);font-weight:750;}
#post-view .prose a{color:var(--accent-dark);text-decoration-color:var(--accent);text-decoration-thickness:1px;}
#post-view .prose a:hover{color:var(--accent);}
#post-view .prose blockquote{
  color:var(--ink-soft);background:var(--surface-soft);
  border-left-color:var(--accent);font-size:17px;
}
#post-view .prose :not(pre)>code{
  color:var(--accent-dark);background:var(--accent-pale);
  border-radius:6px;padding:2px 6px;
}
#post-view .prose pre{background:var(--surface-soft);color:var(--ink);border-color:var(--line);}
#post-view .prose th{background:var(--surface-muted);color:var(--ink);}
#post-view .article-body-layout .reading-aside > span{color:var(--muted);}
#post-view .article-body-layout .toc-list a{color:var(--muted);}
#post-view .article-body-layout .toc-list a:hover{color:var(--accent-dark);}
@media(max-width:760px){#post-view .prose{font-size:14px;line-height:2;}}


/* Clear black article reading text on light themes; preserve dark-mode contrast. */
:root:not([data-theme='dark']) #post-view .prose,
:root:not([data-theme='dark']) #post-view .prose p,
:root:not([data-theme='dark']) #post-view .prose li,
:root:not([data-theme='dark']) #post-view .prose td,
:root:not([data-theme='dark']) #post-view .prose h1,
:root:not([data-theme='dark']) #post-view .prose h2,
:root:not([data-theme='dark']) #post-view .prose h3,
:root:not([data-theme='dark']) #post-view .prose h4,
:root:not([data-theme='dark']) #post-view .prose strong,
:root:not([data-theme='dark']) #post-view .prose blockquote{
 color:#202020;
}
:root[data-theme='dark'] #post-view .prose,
:root[data-theme='dark'] #post-view .prose p,
:root[data-theme='dark'] #post-view .prose li,
:root[data-theme='dark'] #post-view .prose td,
:root[data-theme='dark'] #post-view .prose h1,
:root[data-theme='dark'] #post-view .prose h2,
:root[data-theme='dark'] #post-view .prose h3,
:root[data-theme='dark'] #post-view .prose h4,
:root[data-theme='dark'] #post-view .prose strong{
 color:#f1f2ef;
}


/* Four new reading-first palettes. Every theme also supports dark mode. */
:root[data-palette='amberlight']{
 --bg:#fff8ed;--surface:#fffdf9;--surface-soft:#fcf0e2;--surface-muted:#f2dfc9;
 --ink:#342b2c;--ink-soft:#514648;--muted:#847476;--line:#ecdccc;
 --accent:#ad6647;--accent-dark:#894b34;--accent-pale:#f8e5d7;--forest:#985b52;
 --header-glass:rgba(255,248,237,.94);
 --garden-peach:#db896d;--garden-peach-soft:#ffe7cf;--garden-yellow:#f6d69c;--garden-lilac:#e2c6d1;--garden-sage:#c9ba96;
 --tile-tech:#98665a;--tile-life:#f2d1b6;--tile-photo:#d9bdcc;--journal-bg:#f8dbc6;--journal-ink:#814f45;--about-bg:#f4d5c5;
}
:root[data-theme='dark'][data-palette='amberlight']{
 --bg:#2e2524;--surface:#3a2d2b;--surface-soft:#483634;--surface-muted:#584340;--ink:#faf0e7;--ink-soft:#e5d2c6;--muted:#bfa69b;--line:#604944;
 --accent:#efaa86;--accent-dark:#ffccb0;--accent-pale:#5d4039;--forest:#875a50;--header-glass:rgba(46,37,36,.94);
 --tile-tech:#85574f;--tile-life:#785754;--tile-photo:#715665;--journal-bg:#694c44;--journal-ink:#ffe8dd;--about-bg:#684c46;
}
:root[data-palette='seamist']{
 --bg:#f0f7f7;--surface:#fbffff;--surface-soft:#e6f2f2;--surface-muted:#d7e9e9;--ink:#26383d;--ink-soft:#415960;--muted:#668088;--line:#d3e6e7;
 --accent:#367e91;--accent-dark:#226278;--accent-pale:#d8edf2;--forest:#416d7c;--header-glass:rgba(240,247,247,.94);
 --garden-peach:#e8a58b;--garden-peach-soft:#fae6d8;--garden-yellow:#f1deac;--garden-lilac:#c6d0ed;--garden-sage:#a9d4cb;
 --tile-tech:#426e7c;--tile-life:#e4d6d1;--tile-photo:#b8d7dc;--journal-bg:#d9ebe9;--journal-ink:#426775;--about-bg:#d1e5e8;
}
:root[data-theme='dark'][data-palette='seamist']{
 --bg:#1e2b31;--surface:#293b42;--surface-soft:#344851;--surface-muted:#405860;--ink:#f1f8fa;--ink-soft:#c7dfe5;--muted:#9db7be;--line:#4b626b;
 --accent:#8fd4e4;--accent-dark:#c0ebf3;--accent-pale:#385963;--forest:#3e6e7c;--header-glass:rgba(30,43,49,.94);
 --tile-tech:#386675;--tile-life:#6f666f;--tile-photo:#466b79;--journal-bg:#344f55;--journal-ink:#d1e8eb;--about-bg:#36535b;
}
:root[data-palette='inkrose']{
 --bg:#fbf5f4;--surface:#fffdfc;--surface-soft:#f7e9e9;--surface-muted:#eddbdf;--ink:#3a303b;--ink-soft:#63535d;--muted:#8d7782;--line:#eadde1;
 --accent:#aa5e7b;--accent-dark:#84425e;--accent-pale:#f6e1eb;--forest:#765368;--header-glass:rgba(251,245,244,.94);
 --garden-peach:#d68b91;--garden-peach-soft:#f9e5e5;--garden-yellow:#efd7a7;--garden-lilac:#dec0d9;--garden-sage:#cecbc1;
 --tile-tech:#775769;--tile-life:#f2d4d9;--tile-photo:#d8bad2;--journal-bg:#f6dce0;--journal-ink:#7e5369;--about-bg:#eed0d9;
}
:root[data-theme='dark'][data-palette='inkrose']{
 --bg:#2d2530;--surface:#3b303f;--surface-soft:#48394d;--surface-muted:#58465c;--ink:#f9f1f7;--ink-soft:#e4cedf;--muted:#bca4b6;--line:#665268;
 --accent:#efb3cf;--accent-dark:#ffd0e3;--accent-pale:#603f56;--forest:#77516c;--header-glass:rgba(45,37,48,.94);
 --tile-tech:#6c506a;--tile-life:#7c5467;--tile-photo:#6c5475;--journal-bg:#6b495c;--journal-ink:#ffdeef;--about-bg:#69485d;
}
:root[data-palette='dusk']{
 --bg:#f4f3fa;--surface:#fdfcff;--surface-soft:#eceaf7;--surface-muted:#e0dcf0;--ink:#2c3045;--ink-soft:#50546d;--muted:#7a7e97;--line:#deddee;
 --accent:#6664a8;--accent-dark:#494982;--accent-pale:#e6e4f7;--forest:#53547c;--header-glass:rgba(244,243,250,.94);
 --garden-peach:#d39bad;--garden-peach-soft:#f3e2ee;--garden-yellow:#f0d9a5;--garden-lilac:#c8c0eb;--garden-sage:#b9c7dd;
 --tile-tech:#515c86;--tile-life:#dfc9e5;--tile-photo:#a9b1dc;--journal-bg:#e5d7ef;--journal-ink:#5a5483;--about-bg:#ded4ec;
}
:root[data-theme='dark'][data-palette='dusk']{
 --bg:#222437;--surface:#2e3047;--surface-soft:#3b3d58;--surface-muted:#494b6a;--ink:#f4f4ff;--ink-soft:#d4d4eb;--muted:#a7a8c7;--line:#575878;
 --accent:#b5b4ff;--accent-dark:#d7d5ff;--accent-pale:#45486b;--forest:#52567d;--header-glass:rgba(34,36,55,.94);
 --tile-tech:#424f7b;--tile-life:#655473;--tile-photo:#525d85;--journal-bg:#524563;--journal-ink:#eee0ff;--about-bg:#4a4564;
}
.palette-dot-amberlight{background:linear-gradient(145deg,#f7d49c 0 40%,#b76858 40% 72%,#e6bec6 72%);}
.palette-dot-seamist{background:linear-gradient(145deg,#cae9e6 0 38%,#5e9db2 38% 75%,#e6bea5 75%);}
.palette-dot-inkrose{background:linear-gradient(145deg,#f1d5df 0 42%,#ac6685 42% 75%,#6e5770 75%);}
.palette-dot-dusk{background:linear-gradient(145deg,#d8d5f4 0 37%,#7673b4 37% 70%,#464c83 70%);}

/* Palette-aware editorial accents, with near-black main text in light mode. */
#post-view .prose{--read-link:var(--accent-dark);--read-emphasis:var(--accent-dark);--read-code:var(--accent-dark);}
#post-view .prose p,#post-view .prose li,#post-view .prose td{line-height:2.03;}
#post-view .prose strong{color:var(--read-emphasis);font-weight:750;}
#post-view .prose em{color:var(--accent-dark);font-style:italic;}
#post-view .prose a{color:var(--read-link);text-decoration-color:var(--accent);text-underline-offset:4px;font-weight:600;}
#post-view .prose a:hover{color:var(--accent);}
#post-view .prose blockquote{background:var(--surface-soft);border-left:4px solid var(--accent);color:var(--accent-dark);}
#post-view .prose blockquote p,#post-view .prose blockquote li{color:var(--accent-dark);}
#post-view .prose :not(pre)>code{color:var(--read-code);background:var(--accent-pale);border:1px solid var(--line);font-weight:550;}
#post-view .prose pre{background:var(--surface-soft);border:1px solid var(--line);color:var(--ink);box-shadow:inset 3px 0 0 var(--accent);line-height:1.85;}
#post-view .prose pre code{color:inherit;background:none;border:0;font-weight:450;}
#post-view .prose pre .comment,#post-view .prose pre .token.comment{color:var(--muted);font-style:italic;}
#post-view .prose pre .string,#post-view .prose pre .token.string{color:var(--accent-dark);}
#post-view .prose pre .keyword,#post-view .prose pre .token.keyword{color:var(--accent);font-weight:650;}
#post-view .prose th{background:var(--surface-muted);color:var(--ink);font-weight:750;}
:root:not([data-theme='dark']) #post-view .prose strong,
:root:not([data-theme='dark']) #post-view .prose em,
:root:not([data-theme='dark']) #post-view .prose a,
:root:not([data-theme='dark']) #post-view .prose blockquote p,
:root:not([data-theme='dark']) #post-view .prose blockquote li{color:var(--accent-dark);}
:root:not([data-theme='dark']) #post-view .prose :not(pre)>code{color:var(--accent-dark);}


/* Calm paper foundation across all palettes: accents belong to components, not the page canvas. */
:root:not([data-theme='dark']){
 --bg:#f8f8f6;
 --surface:#ffffff;
 --surface-soft:#f5f5f2;
 --surface-muted:#eeefec;
 --header-glass:rgba(248,248,246,.94);
}
:root[data-theme='dark']{
 --bg:#202326;
 --surface:#2a2f33;
 --surface-soft:#343b40;
 --surface-muted:#3d464d;
 --header-glass:rgba(32,35,38,.94);
}
/* Forest Afternoon: botanical accents with warm apricot and quiet blue. */
:root[data-palette='moss']{
 --ink:#292f30;--ink-soft:#4b5658;--muted:#747e7d;--line:#e2e5e0;
 --accent:#5c806a;--accent-dark:#37664d;--accent-pale:#e6eee6;--forest:#496d61;
 --garden-peach:#db9d81;--garden-peach-soft:#faeee6;--garden-yellow:#efcf99;
 --garden-lilac:#b6c8d8;--garden-sage:#c4d6c5;
 --tile-tech:#537566;--tile-life:#f1d7c4;--tile-photo:#cbdce6;
 --journal-bg:#f3dfcf;--journal-ink:#755447;--about-bg:#e7e0d4;--about-mark:#c0a28c;
}
:root[data-theme='dark'][data-palette='moss']{
 --ink:#f1f3ef;--ink-soft:#d0d9d3;--muted:#adbcb4;--line:#4a5550;
 --accent:#a6ceb6;--accent-dark:#cbe6d4;--accent-pale:#3b5549;--forest:#527565;
 --garden-peach:#edb395;--garden-peach-soft:#59483e;--garden-yellow:#dbbd8d;
 --garden-lilac:#859eb6;--garden-sage:#85a997;
 --tile-tech:#486c5a;--tile-life:#72584e;--tile-photo:#4f6377;
 --journal-bg:#604d48;--journal-ink:#ffdfcd;--about-bg:#514b46;
}
/* Lavender Dream: ink-violet, misty rose, warm sand and blue-grey. */
:root[data-palette='plum']{
 --ink:#303039;--ink-soft:#575762;--muted:#807f8c;--line:#e6e3e9;
 --accent:#8472a8;--accent-dark:#645488;--accent-pale:#eeeaf6;--forest:#69627e;
 --garden-peach:#dba2a4;--garden-peach-soft:#f8e9e7;--garden-yellow:#ecd9aa;
 --garden-lilac:#cdc4e5;--garden-sage:#bfcbd1;
 --tile-tech:#69657f;--tile-life:#efd9de;--tile-photo:#c9d4e6;
 --journal-bg:#f0dfe3;--journal-ink:#775a6e;--about-bg:#e9e2ed;--about-mark:#b4a1c4;
}
:root[data-theme='dark'][data-palette='plum']{
 --ink:#f5f1fa;--ink-soft:#dcd7e7;--muted:#b5aec2;--line:#514c5b;
 --accent:#c6b8ea;--accent-dark:#e0d5fa;--accent-pale:#4f4561;--forest:#756b91;
 --garden-peach:#e4b0b6;--garden-peach-soft:#59434f;--garden-yellow:#ddc79b;
 --garden-lilac:#9b90bb;--garden-sage:#899eaa;
 --tile-tech:#625b7e;--tile-life:#755866;--tile-photo:#576780;
 --journal-bg:#604a59;--journal-ink:#ffdfeb;--about-bg:#524b60;
}
/* Repeat calm surfaces at palette-level to beat legacy theme declarations. */
:root:not([data-theme='dark'])[data-palette]{--bg:#f8f8f6;--surface:#fff;--surface-soft:#f5f5f2;--surface-muted:#eeefec;--header-glass:rgba(248,248,246,.94);}
:root[data-theme='dark'][data-palette]{--bg:#202326;--surface:#2a2f33;--surface-soft:#343b40;--surface-muted:#3d464d;--header-glass:rgba(32,35,38,.94);}
body{background:var(--bg);}
:root:not([data-theme='dark']) body::before{background:none!important;}
:root[data-theme='dark'] body::before{background:none!important;}
.palette-dot-moss{background:conic-gradient(#577c64 0 130deg,#e0ab91 130deg 240deg,#b2c7d8 240deg);}
.palette-dot-plum{background:conic-gradient(#8472a8 0 130deg,#dfa7af 130deg 240deg,#bfd0dc 240deg);}


/* V2026.10: unified eye-friendly balance across ALL nine palettes. */
/* 92-98% neutral paper on expansive surfaces; reserve thematic pigment for details. */
:root:not([data-theme='dark'])[data-palette]{
 --bg:#f8f8f7;
 --surface:#fff;
 --surface-soft:#f5f5f3;
 --surface-muted:#ebedeb;
 --header-glass:rgba(248,248,247,.95);
}
:root[data-theme='dark'][data-palette]{
 --bg:#202326;--surface:#2a2e32;--surface-soft:#34393e;--surface-muted:#3e464a;
 --header-glass:rgba(32,35,38,.95);
}
/* Separate accent, supporting color, and large illustration fills. */
:root[data-palette='feather']{--read-secondary:#a36f70;--read-tertiary:#7d749f;}
:root[data-palette='garden']{--read-secondary:#ad7358;--read-tertiary:#7e70a3;}
:root[data-palette='moss']{--read-secondary:#ad7157;--read-tertiary:#617ea0;}
:root[data-palette='plum']{--read-secondary:#a96370;--read-tertiary:#547b98;}
:root[data-palette='coral']{--read-secondary:#986184;--read-tertiary:#526d90;}
:root[data-palette='amberlight']{--read-secondary:#966c91;--read-tertiary:#547d8c;}
:root[data-palette='seamist']{--read-secondary:#a76c59;--read-tertiary:#79659e;}
:root[data-palette='inkrose']{--read-secondary:#7d6ca4;--read-tertiary:#537c87;}
:root[data-palette='dusk']{--read-secondary:#ad7188;--read-tertiary:#557c84;}
:root[data-theme='dark'][data-palette]{
 --read-secondary:#e5b7a5;
 --read-tertiary:#b1c8ef;
}
:root[data-theme='dark'][data-palette='plum'],
:root[data-theme='dark'][data-palette='inkrose']{--read-secondary:#f2b2bd;--read-tertiary:#afd0df;}
:root:not([data-theme='dark']) #post-view .prose{color:#202020;}
:root:not([data-theme='dark']) #post-view .prose p,
:root:not([data-theme='dark']) #post-view .prose li,
:root:not([data-theme='dark']) #post-view .prose td{color:#292929;}
#post-view .prose strong{color:var(--accent-dark);font-weight:760;}
#post-view .prose em{color:var(--read-secondary);font-style:italic;}
#post-view .prose blockquote{background:var(--surface-soft);border-left-color:var(--read-secondary);}
#post-view .prose blockquote p,#post-view .prose blockquote li{color:var(--read-secondary);}
#post-view .prose a{color:var(--accent-dark);text-decoration-color:var(--read-tertiary);}
#post-view .prose :not(pre)>code{color:var(--read-tertiary);background:var(--surface-soft);border-color:var(--line);}
#post-view .prose pre{background:var(--surface-soft);box-shadow:inset 3px 0 0 var(--read-tertiary);}
#post-view .prose pre .token.comment,#post-view .prose pre .comment{color:var(--muted);}
#post-view .prose th{background:var(--surface-muted);}
:root:not([data-theme='dark']) .site-footer{background:linear-gradient(180deg,var(--bg),#eff0ee);}
:root[data-theme='dark'] .site-footer{background:linear-gradient(180deg,var(--bg),#292d31);}
:root:not([data-theme='dark']) .intro-band{background:linear-gradient(115deg,var(--surface),var(--surface-soft) 65%,var(--accent-pale));}
:root:not([data-theme='dark']) .filter-sidebar-heading{background:var(--surface);}


/* One photographic cover only: remove the old frosted text panel and decorative circle. */
#post-view .article-hero.has-photo .article-hero-content{
 background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;
 border:0;border-radius:0;box-shadow:none;
 padding:0;margin:0 auto;
}
#post-view .article-hero.has-photo::after{display:none;}
#post-view .article-hero.has-photo::before{
 content:'';position:absolute;inset:0;width:auto;height:auto;aspect-ratio:auto;
 top:0;left:0;right:0;bottom:0;border:0;border-radius:0;
 transform:none;z-index:0;
 background:linear-gradient(180deg,rgba(8,18,24,.20),rgba(8,18,24,.35));
}
#post-view .article-hero.has-photo .article-hero-content{
 position:relative;z-index:2;text-shadow:0 2px 12px rgba(0,0,0,.55);
}


.about-contact{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:24px 0;color:var(--ink-soft);font-size:13px;}
.about-contact a{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:100px;padding:10px 16px;background:var(--surface);color:var(--accent-dark);font-weight:700;text-decoration:none;transition:background .2s,border-color .2s;}
.about-contact a:hover{background:var(--accent-pale);border-color:var(--accent);}


/* About page: editorial composition with restrained palette accents. */
#about-view .about-redesign{padding:clamp(38px,6vw,85px) 0 85px;max-width:1140px;margin:auto;}
#about-view .about-intro{text-align:center;max-width:790px;margin:0 auto clamp(42px,6vw,72px);}
#about-view .about-intro h1{font:550 clamp(34px,5vw,60px)/1.33 var(--serif);letter-spacing:-.04em;color:var(--ink);margin:15px 0 19px;}
#about-view .about-intro h1 em{font-weight:450;color:var(--accent-dark);font-style:normal;}
#about-view .about-intro>p{font-size:14px;line-height:2;color:var(--ink-soft);}
#about-view .about-editorial{display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr);gap:clamp(36px,6vw,90px);align-items:stretch;}
#about-view .about-art-panel{position:relative;overflow:hidden;border-radius:20px;min-height:585px;background:linear-gradient(145deg,var(--surface-soft),var(--surface-muted));border:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:45px 30px;isolation:isolate;}
#about-view .about-art-line{position:absolute;width:85%;aspect-ratio:1;border:1px solid var(--line);border-radius:50%;opacity:.85;z-index:-1;}
#about-view .about-art-line-one{transform:translate(27%,-35%);}
#about-view .about-art-line-two{transform:translate(-30%,43%);width:62%;}
#about-view .about-art-feather{color:var(--accent-dark);display:grid;place-items:center;width:126px;height:126px;border:1px solid var(--line);border-radius:50%;background:var(--surface);box-shadow:0 15px 38px rgba(0,0,0,.045);margin-bottom:30px;}
#about-view .about-art-feather .feather-mark{width:63px;height:63px;stroke-width:1.1;}
#about-view .about-art-wordmark{text-align:center;font:500 clamp(39px,5vw,65px)/1.05 var(--serif);letter-spacing:-.04em;color:var(--ink);}
#about-view .about-art-dot{color:var(--accent);}
#about-view .about-art-bottom{position:absolute;bottom:29px;left:20px;right:20px;text-align:center;font-size:9px;letter-spacing:.20em;font-weight:700;color:var(--muted);}
#about-view .about-story{display:flex;flex-direction:column;justify-content:center;padding:15px 0;min-width:0;}
#about-view .about-overline{font-size:10px;font-weight:800;color:var(--accent-dark);letter-spacing:.16em;}
#about-view .about-story h2{font:550 clamp(27px,3.2vw,41px)/1.43 var(--serif);letter-spacing:-.035em;margin:17px 0 22px;color:var(--ink);}
#about-view .about-story>p{font-size:14px;line-height:2.05;color:var(--ink-soft);margin:0 0 15px;}
#about-view .about-story>p strong{color:var(--ink);font-weight:700;}
#about-view .about-interests{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:22px 0 34px;padding:20px 0;gap:12px;}
#about-view .about-interests>div{display:flex;flex-direction:column;gap:7px;}
#about-view .about-interests span{font-size:11px;font-weight:800;color:var(--accent-dark);}
#about-view .about-interests strong{font-size:13px;color:var(--ink);font-weight:700;}
#about-view .about-interests small{font-size:11px;line-height:1.6;color:var(--muted);}
#about-view .about-connect{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap;}
#about-view .about-connect h3{font:550 25px/1.4 var(--serif);color:var(--ink);margin:8px 0;}
#about-view .about-connect p{color:var(--muted);font-size:12px;line-height:1.8;margin:0;}
#about-view .about-github-link{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;padding:13px 17px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink);text-decoration:none;font-size:12px;font-weight:700;transition:border-color .2s,background .2s,transform .2s;}
#about-view .about-github-link:hover{border-color:var(--accent);background:var(--accent-pale);transform:translateY(-2px);}
#about-view .about-github-link span:last-child{font-size:18px;color:var(--accent-dark);}
#about-view .about-closing{display:flex;align-items:center;justify-content:center;gap:17px;text-align:center;margin-top:clamp(55px,7vw,90px);color:var(--muted);}
#about-view .about-closing span{color:var(--accent);font-size:15px;}
#about-view .about-closing p{margin:0;font:italic 16px/1.8 var(--serif);color:var(--ink-soft);}
@media(max-width:850px){
 #about-view .about-editorial{grid-template-columns:1fr;gap:32px;}
 #about-view .about-art-panel{min-height:340px;padding:35px 20px;}
 #about-view .about-art-feather{width:95px;height:95px;margin-bottom:15px;}
 #about-view .about-art-feather .feather-mark{width:48px;height:48px;}
 #about-view .about-art-wordmark{font-size:43px;}
 #about-view .about-story{padding:0;}
}
@media(max-width:530px){
 #about-view .about-redesign{padding-top:33px;padding-bottom:50px;}
 #about-view .about-intro{margin-bottom:32px;}
 #about-view .about-intro h1{font-size:33px;}
 #about-view .about-art-panel{min-height:280px;}
 #about-view .about-interests{grid-template-columns:1fr;gap:14px;}
 #about-view .about-interests>div{display:grid;grid-template-columns:30px 1fr;column-gap:8px;align-items:center;}
 #about-view .about-interests small{grid-column:2;}
 #about-view .about-connect{align-items:start;}
 #about-view .about-github-link{width:100%;}
 #about-view .about-closing p{font-size:13px;}
}


/* Compact about: one quiet screen on desktop, small artwork, no stacked editorial sections. */
#about-view .about-section.about-compact{max-width:1020px;margin:0 auto;padding:clamp(18px,3vh,34px) 0 clamp(20px,4vh,45px);}
#about-view .about-compact-layout{display:grid;grid-template-columns:minmax(180px,.58fr) minmax(0,1.42fr);gap:clamp(28px,5vw,65px);align-items:center;min-height:min(62vh,510px);}
#about-view .about-compact-art{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:260px;max-height:350px;aspect-ratio:4/5;background:var(--surface-soft);border:1px solid var(--line);border-radius:18px;color:var(--accent-dark);overflow:hidden;}
#about-view .about-compact-art::after{content:'';position:absolute;width:80%;aspect-ratio:1;border:1px solid var(--line);border-radius:50%;top:-28%;right:-30%;pointer-events:none;}
#about-view .about-compact-art .feather-mark{width:clamp(65px,8vw,105px);height:clamp(65px,8vw,105px);stroke-width:1.1;}
#about-view .about-compact-art span{font:500 clamp(16px,2vw,23px) var(--serif);letter-spacing:.14em;color:var(--ink);}
#about-view .about-compact-copy h1{font:550 clamp(31px,3.8vw,48px)/1.36 var(--serif);color:var(--ink);margin:14px 0 17px;letter-spacing:-.03em;}
#about-view .about-compact-copy h1 span{color:var(--accent-dark);}
#about-view .about-compact-copy>p{color:var(--ink-soft);font-size:14px;line-height:2;max-width:540px;margin:0;}
#about-view .about-compact-topics{display:flex;flex-wrap:wrap;gap:10px;margin:23px 0 26px;}
#about-view .about-compact-topics a{font-size:12px;text-decoration:none;color:var(--ink);padding:8px 13px;border:1px solid var(--line);border-radius:8px;background:var(--surface);}
#about-view .about-compact-topics a:hover{border-color:var(--accent);color:var(--accent-dark);}
#about-view .about-compact-contact{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding-top:20px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);}
#about-view .about-compact-contact a{color:var(--accent-dark);font-weight:700;text-decoration:none;}
#about-view .about-compact-contact a:hover{text-decoration:underline;}
@media(max-width:700px){
 #about-view .about-section.about-compact{padding:20px 0 30px;}
 #about-view .about-compact-layout{grid-template-columns:1fr;gap:23px;min-height:0;}
 #about-view .about-compact-art{width:100%;max-height:none;min-height:135px;height:135px;aspect-ratio:auto;flex-direction:row;gap:17px;border-radius:14px;}
 #about-view .about-compact-art .feather-mark{width:54px;height:54px;}
 #about-view .about-compact-art span{font-size:19px;}
 #about-view .about-compact-copy h1{font-size:33px;margin:9px 0 12px;}
 #about-view .about-compact-copy>p{font-size:13px;line-height:1.9;}
 #about-view .about-compact-topics{margin:17px 0;gap:7px;}
 #about-view .about-compact-topics a{padding:7px 10px;font-size:11px;}
 #about-view .about-compact-contact{padding-top:15px;}
}

#about-view .about-compact-contact{align-items:flex-start;flex-direction:column;gap:9px;}
#about-view .about-contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:9px;}
#about-view .about-contact-links .about-email{user-select:text;-webkit-user-select:text;color:var(--ink-soft);}

/* Each About contact is a full-width row, never inline. */
#about-view .about-compact-contact{display:block;}
#about-view .about-compact-contact .about-contact-label{display:block;margin-bottom:12px;}
#about-view .about-compact-contact .about-contact-links{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;width:100%;}
#about-view .about-compact-contact .about-contact-item{display:block;width:100%;min-width:0;line-height:1.6;}
#about-view .about-compact-contact .about-contact-item .about-email{display:inline;user-select:text;-webkit-user-select:text;}


/* About contact details: compact aligned rows, not scattered links. */
#about-view .about-compact-contact{padding-top:18px;margin-top:2px;border-top:1px solid var(--line);}
#about-view .about-compact-contact .about-contact-label{font-size:11px;font-weight:700;letter-spacing:.1em;color:var(--muted);margin-bottom:13px;}
#about-view .about-compact-contact .about-contact-links{display:grid;grid-template-columns:minmax(0,1fr);gap:0;max-width:470px;}
#about-view .about-compact-contact .about-contact-item{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px;align-items:center;padding:10px 0;font-size:13px;min-width:0;}
#about-view .about-compact-contact .about-contact-item+.about-contact-item{border-top:1px solid var(--line);}
#about-view .about-compact-contact .about-contact-kind{color:var(--muted);font-size:12px;font-weight:600;}
#about-view .about-compact-contact .about-email{color:var(--ink);overflow-wrap:anywhere;user-select:text;-webkit-user-select:text;}
#about-view .about-compact-contact .about-contact-item a{font-size:13px;font-weight:700;color:var(--accent-dark);text-decoration:none;width:max-content;max-width:100%;}
#about-view .about-compact-contact .about-contact-item a:hover{text-decoration:underline;text-underline-offset:3px;}
@media(max-width:530px){#about-view .about-compact-contact .about-contact-item{grid-template-columns:64px minmax(0,1fr);gap:10px;}}

/* Mermaid technical diagrams: consistent with the Still Feather reading palette. */
#post-view .article-body-layout > div:first-child,
#post-view .prose { min-width: 0; max-width: 100%; }

#post-view .prose .mermaid-figure {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin: 30px auto 34px;
  transform: none;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fffdfa;
  box-shadow: 0 9px 25px rgba(39, 33, 27, .055);
  overflow: hidden;
}
#post-view .mermaid-figure-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 17px;
  border-bottom: 1px solid #eae5de;
  background: #fbf9f5;
  color: #796f65;
  font: 700 10px/1.5 system-ui, sans-serif;
  letter-spacing: .10em;
}
#post-view .mermaid-figure-toolbar button {
  flex-shrink: 0;
  border: 1px solid #dfd2c5;
  color: #865b44;
  border-radius: 7px;
  background: white;
  font-size: 11px;
  letter-spacing: 0;
  padding: 5px 10px;
  cursor: pointer;
}
#post-view .mermaid-figure-toolbar button:hover,
#post-view .mermaid-figure-toolbar button:focus-visible { border-color: #bf7954; }
#post-view .mermaid-viewport {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  padding: 19px 23px 20px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  text-align: center;
  min-height: 180px;
}
#post-view .mermaid-viewport svg {
  display: block;
  /* Shrink wide diagrams, but never upscale compact ones to article width. */
  width: min(100%, var(--mermaid-natural-width, 100%)) !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  margin: auto;
}
/* Mermaid measures label boxes outside article typography. Keep their HTML label
   metrics consistent after insertion into .prose, otherwise last lines get clipped. */
#post-view .mermaid-viewport svg .nodeLabel,
#post-view .mermaid-viewport svg .nodeLabel *,
#post-view .mermaid-viewport svg .edgeLabel,
#post-view .mermaid-viewport svg .edgeLabel * {
  font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", sans-serif !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}
#post-view .mermaid-viewport svg .nodeLabel p,
#post-view .mermaid-viewport svg .edgeLabel p {
  margin: 0 !important;
  padding: 0 !important;
}
#post-view .mermaid-viewport svg .label foreignObject div,
#post-view .mermaid-viewport svg .label foreignObject span {
  box-sizing: border-box;
}
#post-view .mermaid-render-note { font-size: 12px; color: var(--accent-dark); }
#post-view .mermaid-source-fallback { overflow-x: auto; }
.mermaid-lightbox {
  box-sizing: border-box;
  width: min(96vw, 1450px);
  max-width: none;
  max-height: 94vh;
  padding: 0;
  border: 1px solid #e9e2d8;
  border-radius: 16px;
  background: #fffdfa;
  color: #423b33;
  box-shadow: 0 35px 90px rgba(0,0,0,.26);
}
.mermaid-lightbox::backdrop { background: rgba(23,24,24,.73); }
.mermaid-lightbox-content { display: flex; flex-direction: column; max-height: 94vh; }
.mermaid-lightbox-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 14px 20px;
  border-bottom: 1px solid #eee8de;
  font: 650 13px/1.6 system-ui, sans-serif;
}
.mermaid-lightbox-header button {
  border: 1px solid #ddd2c5;
  padding: 7px 12px;
  border-radius: 8px;
  background: #f8f6f1;
  color: #5b4a3c;
  cursor: pointer;
}
.mermaid-lightbox-canvas { overflow: auto; padding: 30px; }
.mermaid-lightbox-canvas svg { display: block; margin: auto; max-width: none; height: auto; }
@media(max-width: 760px) {
  #post-view .prose .mermaid-figure { width: 100%; max-width: 100%; margin-top: 21px; margin-bottom: 24px; border-radius: 12px; }
  #post-view .mermaid-viewport { padding: 12px; }
  #post-view .mermaid-figure-toolbar { padding: 9px 11px; }
  .mermaid-lightbox-canvas { padding: 14px; }
}


/* All articles: the same tag/sort controls as Tech and Journal pages. */
#articles-view .article-toolbar .tag-disclosure summary,
#articles-view .article-toolbar .sort-trigger {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 126px;
  height: 42px;
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 11px;
  padding: 0 13px;
  background: var(--surface);
  color: var(--ink-soft);
  font-size: 12px;
  font-weight: 650;
  line-height: 1;
  white-space: nowrap;
  box-shadow: none;
  transition: border-color .18s, background-color .18s, color .18s;
}
#articles-view .article-toolbar .tag-disclosure summary:hover,
#articles-view .article-toolbar .tag-disclosure[open] summary,
#articles-view .article-toolbar .sort-trigger:hover,
#articles-view .article-toolbar .sort-trigger[aria-expanded='true'] {
  border-color: var(--accent);
  background: var(--surface-soft);
  color: var(--accent-dark);
}
#articles-view .article-toolbar .tag-selected-label,
#articles-view .article-toolbar .tag-selected-label.is-chosen {
  display: block;
  max-width: 125px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: inherit;
  font-size: 12px;
  font-weight: 650;
}
#articles-view .article-toolbar .tag-disclosure summary::after {
  content: '';
  display: block;
  flex: none;
  width: 7px;
  height: 7px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  margin: 0;
  transform: translateY(-2px) rotate(45deg);
  transition: transform .18s;
}
#articles-view .article-toolbar .tag-disclosure[open] summary::after {
  transform: translateY(2px) rotate(225deg);
}
#articles-view .article-toolbar .tag-popover .tag-filter { border-radius: 9px; }
@media (max-width: 600px) {
  #articles-view .article-toolbar .tag-disclosure summary,
  #articles-view .article-toolbar .sort-trigger { min-width: 0; }
}

