/* New DICK — a single reading-first visual system. Article effects remain in article.css. */
:root {
    color-scheme:light;
    --nd-bg:#f6f5f0;
    --nd-paper:#fdfcf8;
    --nd-surface:#fdfcf8;
    --nd-surface-solid:#fdfcf8;
    --nd-text:#252b28;
    --nd-muted:#67736c;
    --nd-line:#d8ddd6;
    --nd-accent:#486c59;
    --nd-accent-soft:#e8efe7;
    --nd-shadow:0 16px 48px rgba(38,52,41,.08);
    --nd-record-bg:transparent;
    --nd-record-text:var(--nd-text);
    --nd-record-muted:var(--nd-muted);
    --nd-serif:Georgia,'Noto Serif CJK TC','Songti TC',serif;
    --nd-sans:'Inter',system-ui,-apple-system,'PingFang TC','Microsoft JhengHei',sans-serif;
    --nd-content:min(1180px,calc(100vw - 48px));
    --nd-reading:min(720px,calc(100vw - 40px));
    --nd-font-display:clamp(3.7rem,7.2vw,6.6rem);
    --nd-font-section:clamp(2.15rem,4vw,3.3rem);
    --nd-font-article-title:clamp(2.35rem,4vw,3.6rem);
    --nd-font-card:clamp(1.28rem,1.7vw,1.7rem);
    --nd-font-heading-2:clamp(1.5rem,2.5vw,2rem);
    --nd-font-heading-3:clamp(1.2rem,1.8vw,1.5rem);
    --nd-font-body:clamp(1.04rem,1.15vw,1.12rem);
    --nd-font-small:.76rem;
    --nd-font-label:.68rem;
    --nd-r-sm:8px;--nd-r-md:12px;--nd-r-lg:16px;
    --nd-fast:150ms;--nd-base:260ms;--nd-slow:550ms;
    --nd-ease:cubic-bezier(.2,.7,.2,1);
    --nd-ease-soft:cubic-bezier(.2,.7,.2,1);
    --nd-scrollbar-thumb:#aeb9af;
    --nd-scrollbar-thumb-hover:#7c8d80;
}
html[data-theme="dark"] {
    color-scheme:dark;
    --nd-bg:#1b2220;--nd-paper:#222b27;--nd-surface:#26312b;--nd-surface-solid:#26312b;
    --nd-text:#ecf0e8;--nd-muted:#b3c0b5;--nd-line:#435249;
    --nd-accent:#b3d2b8;--nd-accent-soft:#30463a;
    --nd-shadow:0 16px 48px rgba(0,0,0,.18);
    --nd-scrollbar-thumb:#5c7062;--nd-scrollbar-thumb-hover:#91ae99;
}
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth;scroll-padding-top:96px;background:var(--nd-bg); }
body.new-dick { min-height:100vh;margin:0;background:var(--nd-bg);color:var(--nd-text);font:400 16px/1.6 var(--nd-sans);text-rendering:optimizeLegibility;isolation:isolate; }
html[data-theme="light"] body.new-dick,html[data-theme="dark"] body.new-dick { background:var(--nd-bg);color:var(--nd-text); }
html[data-frozen="true"] body.new-dick,
html[data-theme="light"][data-frozen="true"] body.new-dick,
html[data-theme="dark"][data-frozen="true"] body.new-dick { background-color:var(--nd-bg)!important; }
button,input,select,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
a { color:var(--nd-accent); }
a:focus-visible,button:focus-visible,input:focus-visible { outline:2px solid var(--nd-accent);outline-offset:3px; }
::selection { background:var(--nd-accent);color:var(--nd-paper); }
.nd-visually-hidden,.skip-link:not(:focus) { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.skip-link:focus { position:fixed;top:10px;left:10px;z-index:500;padding:10px 14px;background:var(--nd-paper); }

/* The cosmos lives outside content. Frozen Mode moves it; the reading page stays calm. */
.nd-cosmos { position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 42vw 32vw at 85% 12%,rgba(117,144,123,.07),transparent 76%); }
html[data-theme="dark"] .nd-cosmos { background:radial-gradient(ellipse 54vw 34vw at 85% 10%,rgba(116,158,131,.08),transparent 76%); }
html[data-frozen="true"] .nd-cosmos { background:radial-gradient(ellipse 48vw 30vw at 17% 24%,rgba(116,163,133,.13),transparent 78%),radial-gradient(ellipse 44vw 36vw at 78% 65%,rgba(148,165,131,.10),transparent 78%);animation:nd-nebula 32s ease-in-out infinite alternate; }
html[data-frozen="true"] .nd-cosmos::after { content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(123,155,129,.48) .7px,transparent 1.4px),radial-gradient(circle,rgba(138,169,143,.35) .7px,transparent 1.4px);background-size:117px 103px,173px 139px;background-position:0 0,49px 71px;opacity:.56;animation:nd-starflow 70s linear infinite; }
html[data-theme="dark"][data-frozen="true"] .nd-cosmos::after { opacity:.72; }
@keyframes nd-nebula { to { background-position:65px -45px,-90px 55px; } }
@keyframes nd-starflow { to { transform:translate3d(-117px,103px,0); } }

/* One uninterrupted navigation surface. */
.nd-header { position:sticky;top:0;z-index:100;border-bottom:1px solid var(--nd-line);background:color-mix(in srgb,var(--nd-bg) 96%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px); }
.nd-header-inner { width:var(--nd-content);height:72px;margin:auto;display:grid;grid-template-columns:auto 1fr auto;gap:clamp(20px,4vw,58px);align-items:center; }
.nd-brand { display:inline-flex;align-items:baseline;gap:8px;color:var(--nd-text);text-decoration:none;white-space:nowrap; }
.nd-brand span { font:700 1.45rem/1 var(--nd-sans);letter-spacing:-.06em; }
.nd-brand small { color:var(--nd-muted);font-size:.59rem;font-weight:700;letter-spacing:.15em; }
.nd-primary-nav { min-height:100%;display:flex;align-items:center;justify-content:center;gap:clamp(14px,2.1vw,30px);background:transparent; }
.nd-primary-nav a { position:relative;padding:25px 0;color:var(--nd-muted);font-size:.78rem;font-weight:600;text-decoration:none;white-space:nowrap; }
.nd-primary-nav a:visited { color:var(--nd-muted); }
.nd-primary-nav a:hover,.nd-primary-nav a[aria-current="page"],.nd-primary-nav a[aria-current="page"]:visited { color:var(--nd-text); }
.nd-primary-nav a[aria-current="page"]::after { content:"";position:absolute;bottom:15px;left:0;right:0;height:2px;background:var(--nd-accent); }
.nd-header-actions { display:flex;align-items:center;gap:8px; }
.nd-icon-button,.nd-menu-button { min-width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--nd-line);border-radius:50%;background:transparent;color:var(--nd-text);cursor:pointer; }
.nd-icon-button:hover,.nd-menu-button:hover { background:var(--nd-accent-soft);border-color:var(--nd-accent); }
.nd-icon-button svg,.nd-search-form svg { width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round; }
.nd-edition-link { margin-left:6px;color:var(--nd-muted);font-size:.72rem;text-decoration:none; }
.nd-edition-link:hover { color:var(--nd-text); }
.nd-menu-button { display:none;padding:0 12px;border-radius:999px;font-size:.73rem; }
.nd-menu-button i { display:none; }
.nd-mobile-nav { position:absolute;top:calc(100% + 8px);left:12px;right:12px;z-index:110;display:grid;gap:12px;max-height:calc(100dvh - 84px);overflow-y:auto;padding:18px;border:1px solid var(--nd-line);border-radius:14px;background:var(--nd-paper);box-shadow:var(--nd-shadow);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:transform var(--nd-base); }
.nd-mobile-nav.is-open { opacity:1;visibility:visible;pointer-events:auto;transform:none; }
.nd-mobile-nav nav { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;background:transparent; }
.nd-mobile-nav a { display:block;padding:11px 12px;border-radius:8px;color:var(--nd-text);text-decoration:none;font-size:.85rem; }
.nd-mobile-nav a:hover,.nd-mobile-nav a[aria-current="page"] { background:var(--nd-accent-soft); }
.nd-classic-link { border-top:1px solid var(--nd-line); }

/* Search and appearance retain their existing controls and events. */
.nd-search-panel { position:absolute;top:calc(100% + 8px);left:50%;z-index:115;width:min(760px,calc(100vw - 24px));padding:16px;border:1px solid var(--nd-line);border-radius:14px;background:var(--nd-paper);box-shadow:var(--nd-shadow);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-8px);transition:opacity var(--nd-base),transform var(--nd-base),visibility var(--nd-base); }
.nd-search-panel.is-open { opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0); }
.nd-search-form { display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px; }
.nd-search-form>svg { margin-left:8px;color:var(--nd-muted); }
.nd-search-form input { width:100%;min-width:0;height:45px;padding:0 4px;border:0;background:transparent;color:var(--nd-text);outline:none; }
.nd-search-form input::placeholder { color:var(--nd-muted); }
.nd-search-clear,.nd-search-submit { min-height:38px;padding:0 14px;border:1px solid var(--nd-line);border-radius:999px;background:transparent;color:var(--nd-text);font-size:.72rem;cursor:pointer; }
.nd-search-submit { border-color:var(--nd-accent);background:var(--nd-accent);color:var(--nd-paper);font-weight:700; }
.nd-search-clear[hidden] { display:none; }
.nd-search-hint { margin:10px 8px 0;color:var(--nd-muted);font-size:.68rem; }
.nd-appearance { position:fixed;top:80px;right:max(12px,calc((100vw - 1180px)/2));z-index:220;width:min(290px,calc(100vw - 24px));display:grid;gap:7px;padding:16px;border:1px solid var(--nd-line);border-radius:14px;background:var(--nd-paper);box-shadow:var(--nd-shadow);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity var(--nd-base),transform var(--nd-base),visibility var(--nd-base); }
.nd-appearance.is-open { opacity:1;visibility:visible;pointer-events:auto;transform:none; }
.nd-appearance>div { display:grid;gap:2px;padding:2px 5px 8px; }
.nd-appearance strong { font-size:.86rem; }
.nd-appearance small { color:var(--nd-muted);font-size:.68rem; }
.nd-appearance button { display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:9px 11px;border:1px solid transparent;border-radius:8px;background:var(--nd-bg);color:var(--nd-text);text-align:left;cursor:pointer; }
.nd-appearance button:hover { border-color:var(--nd-line); }
.nd-appearance button span { display:grid; }
.nd-appearance button i { width:34px;height:19px;padding:2px;border-radius:99px;background:var(--nd-line); }
.nd-appearance button i::after { content:"";display:block;width:15px;height:15px;border-radius:50%;background:var(--nd-paper);transition:transform var(--nd-base); }
.nd-appearance button[aria-checked="true"] i { background:var(--nd-accent); }
.nd-appearance button[aria-checked="true"] i::after { transform:translateX(15px); }
.nd-appearance em { color:var(--nd-muted);font-size:.6rem;font-style:normal; }

/* Publication rhythm. */
.nd-main { min-height:calc(100vh - 72px);padding-bottom:30px; }
.nd-section,.nd-hero,.nd-footer { width:var(--nd-content);margin-inline:auto; }
.nd-section { padding-top:clamp(70px,10vw,130px); }
.nd-kicker { margin:0 0 12px;color:var(--nd-accent);font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase; }
.nd-section-head { display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.5fr);gap:26px;align-items:end;margin-bottom:40px; }
.nd-section-head h1 { margin:0;font:normal var(--nd-font-section)/1.12 var(--nd-serif);letter-spacing:-.035em; }
.nd-section-head>p { margin:0;max-width:42ch;color:var(--nd-muted);font-size:.92rem;line-height:1.7; }
.nd-footer { display:flex;justify-content:space-between;gap:16px;margin-top:100px;padding:24px 0;border-top:1px solid var(--nd-line);color:var(--nd-muted);font-size:.75rem; }
.nd-footer a { color:inherit;text-decoration:none; }
.nd-footer a:hover { color:var(--nd-text); }
.nd-hero { position:relative;min-height:clamp(490px,75vh,710px);display:flex;flex-direction:column;justify-content:center;overflow:hidden; }
.nd-hero::before { content:"";position:absolute;inset:8% 1%;z-index:-1;background-image:radial-gradient(circle,rgba(75,111,86,.28) .8px,transparent 1.5px);background-size:113px 103px;mask-image:linear-gradient(90deg,transparent 38%,black 100%);opacity:.7; }
.nd-brand-slogan { margin:0 0 23px;color:var(--nd-muted);font:italic .96rem var(--nd-serif); }
.nd-hero-grid { display:grid;grid-template-columns:minmax(0,1.4fr) minmax(230px,.6fr);gap:clamp(35px,6vw,95px);align-items:end; }
.nd-hero h1 { margin:0;max-width:12ch;font:normal var(--nd-font-display)/.98 var(--nd-serif);letter-spacing:-.055em; }
.nd-hero h1 em { color:var(--nd-accent);font-weight:normal; }
.nd-hero-copy { padding-bottom:7px; }
.nd-hero-copy>p { max-width:34ch;margin:0;color:var(--nd-muted);font-size:1rem;line-height:1.8; }
.nd-hero-index { display:flex;gap:30px;margin-top:34px;padding-top:18px;border-top:1px solid var(--nd-line); }
.nd-hero-index span { display:grid;gap:1px; }
.nd-hero-index strong { color:var(--nd-text);font:normal 1.7rem var(--nd-serif); }
.nd-hero-index small { color:var(--nd-muted);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase; }

/* Cards have quiet separators and generous text, without tinted rectangles. */
.nd-editorial-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px; }
.nd-card { position:relative;display:block;min-width:0;padding:27px 25px 55px;border:1px solid var(--nd-line);border-radius:12px;background:var(--nd-paper);color:var(--nd-text);text-decoration:none;box-shadow:none;transition:border-color var(--nd-base),transform var(--nd-base); }
.nd-card:hover { border-color:var(--nd-accent);transform:translateY(-3px); }
.nd-card:visited { color:var(--nd-text); }
.nd-card-meta,.nd-search-result-meta { display:flex;flex-wrap:wrap;gap:5px 13px;color:var(--nd-muted);font-size:.67rem;letter-spacing:.03em; }
.nd-card h2 { margin:24px 0 13px;font:normal var(--nd-font-card)/1.25 var(--nd-serif);overflow-wrap:anywhere; }
.nd-card p { margin:0;color:var(--nd-muted);font-size:.86rem;line-height:1.75;overflow-wrap:anywhere; }
.nd-card-arrow { position:absolute;right:24px;bottom:19px;color:var(--nd-accent);font-size:1.15rem; }
.nd-restricted-label { color:var(--nd-muted);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase; }
.nd-star-title { position:relative;display:block;width:100%;max-width:260px;height:50px;margin:25px 0 13px;border-top:1px solid var(--nd-line);border-bottom:1px solid var(--nd-line); }
.nd-star-title i { position:absolute;display:block;border-radius:50%;background:var(--nd-accent); }
.nd-list { border-top:1px solid var(--nd-line); }
.nd-list-item { display:grid;grid-template-columns:120px minmax(0,1fr) 24px;align-items:center;gap:20px;min-height:88px;padding:16px 4px;border-bottom:1px solid var(--nd-line);color:var(--nd-text);text-decoration:none; }
.nd-list-item:visited { color:var(--nd-text); }
.nd-list-item:hover { color:var(--nd-accent); }
.nd-list-item time,.nd-list-item>span:last-child { color:var(--nd-muted);font-size:.72rem; }
.nd-list-item strong { font:normal 1.13rem/1.35 var(--nd-serif);overflow-wrap:anywhere; }
.nd-list-item .nd-star-title { margin:0;height:33px; }
.nd-list-item>span:last-child { text-align:right;font-size:1rem; }

/* Secondary archive views. */
.nd-search-summary { display:flex;align-items:baseline;gap:8px;margin:0 0 10px;color:var(--nd-muted);font-size:.72rem; }
.nd-search-summary strong { color:var(--nd-text);font:normal 1.45rem var(--nd-serif); }
.nd-search-results { border-top:1px solid var(--nd-line); }
.nd-search-result { position:relative;display:block;padding:25px 36px 25px 2px;border-bottom:1px solid var(--nd-line);color:var(--nd-text);text-decoration:none; }
.nd-search-result:visited { color:var(--nd-text); }
.nd-search-result:hover h2 { color:var(--nd-accent); }
.nd-search-result h2 { margin:10px 0 8px;font:normal clamp(1.3rem,2.1vw,1.75rem)/1.3 var(--nd-serif);overflow-wrap:anywhere; }
.nd-search-result p { max-width:75ch;margin:0;color:var(--nd-muted);font-size:.85rem;line-height:1.7; }
.nd-search-result-tags { display:flex;flex-wrap:wrap;gap:8px;margin-top:13px;color:var(--nd-accent);font-size:.68rem; }
.nd-search-highlight { padding:0 .1em;background:#e2eacb;color:var(--nd-text); }
html[data-theme="dark"] .nd-search-highlight { background:#53674a;color:var(--nd-text); }
.nd-search-empty,.nd-empty { padding:42px 0;color:var(--nd-muted); }
.nd-search-empty strong { color:var(--nd-text);font:normal 1.35rem var(--nd-serif); }
.nd-timeline { display:grid;gap:55px; }
.nd-year { display:grid;grid-template-columns:120px minmax(0,1fr);gap:24px; }
.nd-year-label { color:var(--nd-accent);font:normal 1.9rem var(--nd-serif); }
.nd-month { margin-bottom:30px; }
.nd-month-label { padding-bottom:9px;border-bottom:1px solid var(--nd-line);color:var(--nd-muted);font-size:.73rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase; }
.nd-time-entry { display:grid;grid-template-columns:33px minmax(0,1fr) minmax(90px,.25fr);gap:16px;align-items:baseline;padding:14px 2px;border-bottom:1px solid var(--nd-line);color:var(--nd-text);text-decoration:none; }
.nd-time-entry:hover { color:var(--nd-accent); }
.nd-time-entry>span,.nd-time-entry small { color:var(--nd-muted);font-size:.72rem; }
.nd-time-entry strong { font:normal 1.05rem/1.4 var(--nd-serif);overflow-wrap:anywhere; }
.nd-fragment-wall,.nd-topic-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px; }
.nd-fragment { padding:25px;border:1px solid var(--nd-line);border-radius:12px;background:var(--nd-paper); }
.nd-fragment a { color:var(--nd-text);text-decoration:none; }
.nd-fragment blockquote { margin:0 0 22px;font:normal 1.16rem/1.5 var(--nd-serif); }
.nd-fragment footer { color:var(--nd-muted);font-size:.7rem; }
.nd-shelf-stage { display:grid;grid-template-columns:minmax(130px,.33fr) minmax(0,1fr);gap:30px;align-items:start; }
.nd-asset-panel { display:grid;place-items:center;min-height:190px;border:1px solid var(--nd-line);border-radius:12px;background:var(--nd-paper); }
.nd-decorative-image { display:block;max-width:min(100%,130px);height:auto;opacity:.7;user-select:none;-webkit-user-drag:none; }
.nd-shelf-stage .nd-card { padding:27px; }
.nd-schema-note { margin:15px 0 0;color:var(--nd-muted);font-size:.72rem;line-height:1.6; }
.nd-topic { display:flex;justify-content:space-between;gap:20px;min-height:215px; }
.nd-topic h2 { margin:12px 0; }
.nd-topic-links { display:grid;gap:6px; }
.nd-topic-links a { color:var(--nd-muted);font-size:.74rem;text-decoration:none; }
.nd-topic-links a:hover { color:var(--nd-accent); }
.nd-topic-count { font:normal 2rem var(--nd-serif);color:var(--nd-accent); }
.nd-about-grid { display:grid;grid-template-columns:1.2fr 1fr;gap:22px; }
.nd-manifesto p { margin:0 0 25px;color:var(--nd-text);font:normal clamp(1.8rem,3vw,2.7rem)/1.25 var(--nd-serif); }
.nd-manifesto span { color:var(--nd-muted);font-size:.85rem;line-height:1.8; }
.nd-about-grid .nd-card>a { display:inline-block;margin-top:18px;color:var(--nd-accent);font-size:.8rem; }

/* Article: the page itself is the reading surface. */
.nd-article-layout { width:min(1180px,calc(100vw - 40px));margin:0 auto;display:grid;grid-template-columns:minmax(160px,210px) minmax(0,720px) minmax(0,1fr);gap:clamp(24px,4vw,62px);align-items:start; }
.nd-article-layout .nd-reading-shell { grid-column:2;width:100%;min-width:0;margin:0;padding:clamp(50px,7vw,88px) 0 20px;border:0;border-radius:0;background:transparent;box-shadow:none; }
.nd-article-actions { display:flex;flex-wrap:wrap;gap:18px;margin-bottom:48px; }
.nd-article-actions a { padding:0;border:0;background:none;color:var(--nd-muted);font-size:.72rem;text-decoration:none; }
.nd-article-actions a:hover { color:var(--nd-accent); }
.nd-article-head { padding-bottom:34px;border-bottom:1px solid var(--nd-line); }
.nd-article-head .nd-kicker { margin-bottom:17px; }
.nd-article-head h1,.nd-article-head h1.is-cjk { max-width:22ch;margin:0 0 24px;font:normal var(--nd-font-article-title)/1.18 var(--nd-serif);letter-spacing:-.04em;text-wrap:balance;overflow-wrap:anywhere; }
.nd-article-head h1.is-cjk { max-width:20em;letter-spacing:0;line-height:1.25; }
.nd-article-meta { display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--nd-muted);font-size:.73rem; }
.nd-toc-shell { grid-column:1;grid-row:1;position:sticky;top:100px;min-width:0;padding-top:75px; }
.nd-toc-trigger { width:100%;min-height:37px;display:flex;align-items:center;justify-content:space-between;padding:0 0 10px;border:0;border-bottom:1px solid var(--nd-line);border-radius:0;background:transparent;color:var(--nd-muted);font-size:.71rem;font-weight:700;letter-spacing:.04em;text-align:left;cursor:pointer; }
.nd-toc-trigger:hover { color:var(--nd-text); }
.nd-toc-trigger i { color:var(--nd-accent);font:normal 1rem var(--nd-serif); }
.nd-toc-panel { display:block;max-height:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;opacity:0;visibility:hidden;overflow:hidden;pointer-events:none;transition:max-height var(--nd-base),opacity var(--nd-base); }
.nd-toc-shell.is-open .nd-toc-panel { max-height:min(68vh,630px);padding:11px 0;border:0;background:transparent;box-shadow:none;opacity:1;visibility:visible;pointer-events:auto; }
.nd-toc-panel nav { display:block;max-height:min(62vh,550px);overflow-y:auto;background:transparent;scrollbar-width:thin;scrollbar-color:var(--nd-scrollbar-thumb) transparent; }
.nd-toc-panel a,.nd-toc-panel a:visited { display:block;margin:1px 0;padding:7px 10px;border-left:2px solid transparent;border-radius:0;background:transparent;color:var(--nd-muted);font-size:.72rem;line-height:1.45;text-decoration:none;overflow-wrap:anywhere; }
.nd-toc-panel a:hover,.nd-toc-panel a:focus-visible,.nd-toc-panel a[aria-current] { border-left-color:var(--nd-accent);background:transparent;color:var(--nd-text);transform:none; }
.nd-toc-panel a.is-nested { padding-left:21px;font-size:.68rem; }
.nd-toc-panel a.is-nested::before { content:'—';margin-right:5px;color:var(--nd-line); }
.nd-article-body { min-width:0;padding:34px 0 60px;color:var(--nd-text);font:normal var(--nd-font-body)/1.85 var(--nd-serif);letter-spacing:.005em;overflow-wrap:anywhere; }
.nd-article-body :where(p,li) { max-width:68ch; }
.nd-article-body p { margin:0 0 1.45em; }
.nd-article-body :where(h1,h2,h3,h4) { margin:1.9em 0 .7em;font-family:var(--nd-serif);font-weight:600;line-height:1.3;scroll-margin-top:100px; }
.nd-article-body h1 { font-size:var(--nd-font-section); }
.nd-article-body h2 { font-size:var(--nd-font-heading-2); }
.nd-article-body h3 { font-size:var(--nd-font-heading-3); }
.nd-article-body a { color:var(--nd-accent);text-decoration-color:color-mix(in srgb,var(--nd-accent) 55%,transparent);text-underline-offset:.18em; }
.nd-article-body a:hover { text-decoration-color:currentColor; }
.nd-article-body :where(img,svg,canvas,video,iframe,object,embed) { max-width:100%;height:auto; }
.nd-article-body img { display:block;margin:1.7em auto; }
.nd-article-body blockquote { margin:2em 0;padding:.2em 0 .2em 1.3em;border-left:2px solid var(--nd-accent);background:transparent;color:var(--nd-muted);font-style:italic; }
.nd-article-body pre { display:block;width:100%;max-width:100%;padding:18px 20px;border:1px solid var(--nd-line);border-radius:10px;background:#28312d;color:#edf1e9;overflow-x:auto;font:400 .82rem/1.65 ui-monospace,SFMono-Regular,Consolas,monospace; }
html[data-theme="dark"] .nd-article-body pre { background:#111814;color:#e7eee5; }
.nd-article-body pre code { white-space:pre;overflow-wrap:normal; }
.nd-article-body :not(pre)>code { padding:.12em .32em;border-radius:4px;background:var(--nd-accent-soft);color:var(--nd-text);font-size:.88em;overflow-wrap:anywhere; }
.nd-code-copy { position:sticky;left:calc(100% - 72px);top:0;display:block;width:68px;margin:-8px 0 8px;padding:5px;border:1px solid #738078;border-radius:5px;background:#37443b;color:#fff;font:600 .65rem var(--nd-sans);cursor:pointer; }
.nd-article-body table { display:block;width:100%;max-width:100%;margin:2em 0;overflow-x:auto;border-collapse:collapse;font:400 .82rem/1.5 var(--nd-sans); }
.nd-article-body :where(th,td) { min-width:min(9rem,45vw);padding:10px 13px;border:1px solid var(--nd-line);overflow-wrap:anywhere; }
.nd-article-body th { background:var(--nd-accent-soft);text-align:left; }
.nd-article-body :where(ul,ol) { max-width:100%;padding-left:clamp(1.25rem,4vw,2rem); }
.nd-article-body details { width:100%;max-width:100%;margin:1.5em 0;border:1px solid var(--nd-line);border-radius:8px;background:transparent;overflow:hidden; }
.nd-article-body summary { padding:13px 17px;color:var(--nd-text);font:600 .88rem var(--nd-sans);cursor:pointer; }
.nd-article-body details>*:not(summary) { margin-inline:17px; }
.nd-article-body :where(.tip-box,.status-box,.warning-box) { padding:15px 17px;border:1px solid var(--nd-line);border-left:3px solid var(--nd-accent);border-radius:6px;background:var(--nd-paper);font-size:.93em; }
.nd-article-body .yt-iframe-wrapper { width:100%;height:auto!important;aspect-ratio:16/9; }
.nd-article-body .yt-iframe-wrapper iframe { width:100%;height:100%; }
.nd-article-body .chat-bubble { background:var(--nd-paper); }
.nd-publication-record { margin-top:0;padding:24px 0;border:0;border-top:1px solid var(--nd-line);border-radius:0;background:transparent;box-shadow:none; }
.nd-publication-record header { padding-bottom:12px; }
.nd-publication-record header>strong { color:var(--nd-text); }
.nd-publication-record dl { gap:12px 18px; }
.nd-history { margin-top:22px;padding-top:18px;border-top:1px solid var(--nd-line); }
.nd-read-next { margin-top:50px;padding-top:23px;border-top:1px solid var(--nd-line); }
.nd-read-next>a { display:block;padding:12px 0 16px;border:0;border-bottom:1px solid var(--nd-line);border-radius:0;background:transparent;color:var(--nd-text);box-shadow:none;text-decoration:none; }
.nd-read-next>a:hover { background:transparent;color:var(--nd-accent);box-shadow:none; }
.nd-read-next h2 { margin:9px 0;font:normal clamp(1.5rem,2vw,1.9rem)/1.28 var(--nd-serif); }
.nd-read-next>a>p { margin:0;color:var(--nd-muted);font-size:.8rem; }
.nd-restricted-state { min-height:60vh;display:grid;grid-template-columns:1fr minmax(180px,.4fr);align-items:center;gap:55px; }
.nd-restricted-copy h1 { margin:10px 0 20px;font:normal clamp(2.9rem,6vw,5rem)/1.05 var(--nd-serif);letter-spacing:-.04em; }
.nd-restricted-copy p { color:var(--nd-muted); }
.nd-restricted-actions { display:flex;flex-wrap:wrap;gap:12px;margin-top:25px; }
.nd-restricted-actions a,.nd-back { padding:10px 0;border:0;border-bottom:1px solid var(--nd-line);border-radius:0;background:transparent;color:var(--nd-text);font-size:.75rem;text-decoration:none;cursor:pointer; }
.nd-restricted-art { display:grid;place-items:center;min-height:240px;border:0;background:transparent; }
.nd-restricted-art img { max-width:220px;opacity:.7;mix-blend-mode:normal; }
.nd-state-icon { display:block;width:50px;height:50px;object-fit:contain;margin-bottom:16px;opacity:.75; }
.nd-image-dialog { background:var(--nd-paper);color:var(--nd-text); }

/* Opt-in Markdown components from the example article. */
.nd-article-body .orbit-note { position:relative;margin:2em 0;padding:1.1em 1.25em;border-left:3px solid var(--nd-accent);background:var(--nd-accent-soft);font-size:.94em; }
.nd-article-body .orbit-note::before { content:'✦';position:absolute;right:1em;top:.6em;color:var(--nd-accent); }
.nd-article-body .signal-quote { margin:2em 0;padding:.4em 0 .4em 1em;border-left:2px solid var(--nd-accent);background:transparent;color:var(--nd-text);font:italic 1.25em/1.55 var(--nd-serif); }
.nd-article-body .constellation-list { display:grid;gap:.6em;list-style:none;padding:0;margin:1.6em 0; }
.nd-article-body .constellation-list li { position:relative;margin:0;padding:.35em 0 .35em 1.5em;border:0;border-bottom:1px solid var(--nd-line);border-radius:0; }
.nd-article-body .constellation-list li::before { content:'✦';position:absolute;left:0;color:var(--nd-accent); }
.nd-article-body .data-card { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(9rem,100%),1fr));gap:0;margin:2em 0;border-top:1px solid var(--nd-line);border-bottom:1px solid var(--nd-line); }
.nd-article-body .data-card>div { padding:1em .7em;border:0;border-right:1px solid var(--nd-line);border-radius:0;background:transparent; }
.nd-article-body .data-card>div:last-child { border-right:0; }
.nd-article-body .data-card strong { display:block;color:var(--nd-accent);font:normal 1.55em var(--nd-serif); }
.nd-article-body .nebula-divider { width:100%;height:1px;margin:2.5em 0;border:0;background:linear-gradient(90deg,transparent,var(--nd-accent),transparent); }

.nd-loading { min-height:65vh;display:grid;place-content:center;justify-items:center;gap:18px;color:var(--nd-muted);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase; }
.nd-orbit { position:relative;width:48px;height:48px;border:1px solid var(--nd-line);border-radius:50%;animation:nd-orbit 5s linear infinite; }
.nd-orbit i { position:absolute;display:block;width:4px;height:4px;border-radius:50%;background:var(--nd-accent); }
.nd-orbit i:nth-child(1) { top:-2px;left:22px; }.nd-orbit i:nth-child(2) { right:3px;bottom:7px; }.nd-orbit i:nth-child(3) { left:7px;bottom:6px; }
@keyframes nd-orbit { to { transform:rotate(360deg); } }
.nd-view-enter { animation:nd-enter .55s ease both; }
.nd-reveal { opacity:0;transform:translateY(13px);transition:opacity .55s ease,transform .55s ease; }
.nd-reveal.is-visible { opacity:1;transform:none; }
@keyframes nd-enter { from { opacity:0;transform:translateY(10px); } }
.nd-scroll-progress { position:fixed;z-index:150;left:0;right:0;bottom:0;height:2px;background:transparent; }
.nd-scroll-progress i { display:block;width:100%;height:100%;background:var(--nd-accent);transform:scaleX(0);transform-origin:left; }
.nd-live { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0); }
.nd-decorative-image,.nd-state-icon { user-select:none;-webkit-user-drag:none; }

@media(max-width:1000px) {
    .nd-article-layout { grid-template-columns:minmax(140px,180px) minmax(0,720px);gap:26px; }
    .nd-article-layout .nd-reading-shell { grid-column:2; }
    .nd-editorial-grid { gap:12px; }
}
@media(max-width:820px) {
    :root { --nd-content:calc(100vw - 32px); }
    .nd-header-inner { height:64px;grid-template-columns:1fr auto;gap:12px; }
    .nd-primary-nav,.nd-edition-link { display:none; }
    .nd-menu-button { display:grid; }
    .nd-main { min-height:calc(100vh - 64px); }
    .nd-hero-grid { grid-template-columns:1fr;gap:30px; }
    .nd-hero-copy { max-width:42ch; }
    .nd-editorial-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .nd-article-layout { display:block;width:var(--nd-reading); }
    .nd-article-layout .nd-reading-shell { width:100%;padding-top:48px; }
    .nd-toc-shell { position:fixed;z-index:180;right:max(12px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));top:auto;padding:0; }
    .nd-toc-trigger { width:48px;height:48px;min-height:48px;justify-content:center;padding:0;border:1px solid var(--nd-line);border-radius:50%;background:var(--nd-paper);box-shadow:var(--nd-shadow); }
    .nd-toc-trigger span { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0); }
    .nd-toc-panel { position:absolute;right:0;bottom:calc(100% + 10px);width:min(330px,calc(100vw - 24px));max-height:0;transform:translateY(8px); }
    .nd-toc-shell.is-open .nd-toc-panel { max-height:min(70dvh,560px);padding:12px;border:1px solid var(--nd-line);border-radius:12px;background:var(--nd-paper);box-shadow:var(--nd-shadow);transform:none; }
    .nd-toc-panel nav { max-height:calc(min(70dvh,560px) - 36px); }
}
@media(max-width:620px) {
    :root { --nd-content:calc(100vw - 28px);--nd-reading:calc(100vw - 32px); }
    .nd-section { padding-top:65px; }
    .nd-section-head { grid-template-columns:1fr;gap:12px;margin-bottom:27px; }
    .nd-hero { min-height:500px; }
    .nd-hero h1 { font-size:clamp(3.4rem,13vw,5rem); }
    .nd-editorial-grid,.nd-fragment-wall,.nd-topic-grid,.nd-about-grid,.nd-shelf-stage { grid-template-columns:1fr; }
    .nd-list-item { grid-template-columns:82px minmax(0,1fr) 16px;gap:8px;min-height:74px; }
    .nd-list-item strong { font-size:1rem; }
    .nd-year { grid-template-columns:1fr;gap:12px; }
    .nd-time-entry { grid-template-columns:28px minmax(0,1fr);gap:8px; }
    .nd-time-entry small { grid-column:2; }
    .nd-footer { flex-direction:column;margin-top:75px; }
    .nd-search-form { grid-template-columns:minmax(0,1fr) auto; }
    .nd-search-form>svg { display:none; }
    .nd-search-submit { grid-column:1/-1; }
    .nd-appearance { top:70px;right:12px; }
    .nd-article-body { font-size:1.03rem; }
    .nd-article-body pre { padding:14px 12px; }
    .nd-article-actions { margin-bottom:33px; }
    .nd-restricted-state { grid-template-columns:1fr;gap:10px; }
    .nd-restricted-art { min-height:150px; }
}
@media(max-width:360px) {
    .nd-brand small { display:none; }
    .nd-header-actions { gap:4px; }
    .nd-icon-button,.nd-menu-button { min-width:36px;height:36px; }
    .nd-mobile-nav nav { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce) {
    html { scroll-behavior:auto; }
    .new-dick *, .new-dick *::before,.new-dick *::after { animation-duration:.01ms!important;transition-duration:.01ms!important; }
    .nd-reveal { opacity:1;transform:none; }
}
