/* GENERATED from themes/ by scripts/build.mjs */
:root[data-theme="2026-10-16-paper"]{--bg:#f5f3ef;--fg:#16161a;--mu:#6b6b73;--line:#e3e0da;--card:#ffffff;--stage:#f0eee9;--accent:#d4401c;--on-accent:#ffffff;--radius:20px;--font:system-ui,-apple-system,"PingFang SC","Noto Sans SC",sans-serif;--font-d:system-ui,-apple-system,"PingFang SC","Noto Sans SC",sans-serif;--shadow:0 20px 40px -24px rgba(0,0,0,.25);color-scheme:light}
:root[data-theme="aurora-night"]{--bg:#0c0a18;--fg:#ece9ff;--mu:#a39fc4;--line:rgba(255,255,255,.18);--card:rgba(255,255,255,.08);--stage:rgba(255,255,255,.04);--accent:#9d8cff;--on-accent:#0c0a18;--radius:22px;--font:system-ui,-apple-system,"PingFang SC","Noto Sans SC",sans-serif;--font-d:system-ui,-apple-system,"PingFang SC","Noto Sans SC",sans-serif;--shadow:0 30px 60px -30px rgba(0,0,0,.6);color-scheme:dark}
:root[data-theme="bento-slate"]{--bg:#eceef2;--fg:#14161c;--mu:#5a6070;--line:#dde1e8;--card:#ffffff;--stage:#f3f4f7;--accent:#3048d8;--on-accent:#ffffff;--radius:28px;--font:system-ui,-apple-system,"PingFang SC","Noto Sans SC",sans-serif;--font-d:system-ui,-apple-system,"PingFang SC","Noto Sans SC",sans-serif;--shadow:0 1px 2px rgba(20,22,28,.06),0 12px 32px -18px rgba(20,22,28,.25);color-scheme:light}
:root[data-theme="editorial-ink"]{--bg:#f6f2ea;--fg:#1b1a17;--mu:#5c574e;--line:#d9d1c3;--card:#fbf8f2;--stage:#efe9dd;--accent:#b3261e;--on-accent:#ffffff;--radius:2px;--font:system-ui,-apple-system,"PingFang SC","Noto Sans SC",sans-serif;--font-d:"Iowan Old Style","Palatino Linotype",Georgia,"Noto Serif SC","Songti SC",serif;--shadow:none;color-scheme:light}
:root[data-theme="rose-hilos"]{--bg:#fdf2f4;--fg:#2b1a1f;--mu:#7a5a63;--line:#f1d5dc;--card:#ffffff;--stage:#fbe9ed;--accent:#be185d;--on-accent:#ffffff;--radius:16px;--font:system-ui,-apple-system,"PingFang SC","Noto Sans SC",sans-serif;--font-d:system-ui,-apple-system,"PingFang SC","Noto Sans SC",sans-serif;--shadow:0 18px 36px -24px rgba(190,24,93,.35);color-scheme:light}
:root[data-theme="swiss-grid"]{--bg:#f3f3ef;--fg:#111111;--mu:#4d4d4d;--line:#111111;--card:#ffffff;--stage:#ecece6;--accent:#d0021b;--on-accent:#ffffff;--radius:0px;--font:"Helvetica Neue",Helvetica,Arial,"PingFang SC","Noto Sans SC",sans-serif;--font-d:"Helvetica Neue",Helvetica,Arial,"PingFang SC","Noto Sans SC",sans-serif;--shadow:none;color-scheme:light}
:root[data-theme="terminal-green"]{--bg:#070b08;--fg:#d6ffe4;--mu:#7fae8f;--line:#1f3a27;--card:#0c130e;--stage:#0f1912;--accent:#3dff8b;--on-accent:#04130a;--radius:4px;--font:"JetBrains Mono","SF Mono",ui-monospace,Menlo,"PingFang SC","Noto Sans SC","Microsoft YaHei",monospace;--font-d:"JetBrains Mono","SF Mono",ui-monospace,Menlo,"PingFang SC","Noto Sans SC","Microsoft YaHei",monospace;--shadow:none;color-scheme:dark}
:root[data-theme="2026-10-18-folio"]{--bg:#f3efe6;--fg:#16140f;--mu:#5b5649;--line:#cdc4b1;--card:#fbf9f4;--stage:#eee8db;--accent:#1f3fbf;--on-accent:#ffffff;--radius:4px;--font:ui-sans-serif,system-ui,-apple-system,"PingFang SC","Noto Sans SC",sans-serif;--font-d:"Helvetica Neue",Helvetica,Arial,"PingFang SC","Noto Sans SC",sans-serif;--shadow:0 1px 0 rgba(22,20,15,.06);color-scheme:light}
:root[data-theme="2026-10-19-folio-sage"]{--bg:#f3efe6;--fg:#16140f;--mu:#5b5649;--line:#c9c8b6;--card:#fbf9f4;--stage:#e9eadf;--accent:#1f3fbf;--on-accent:#ffffff;--radius:4px;--font:ui-sans-serif,system-ui,-apple-system,"PingFang SC","Noto Sans SC",sans-serif;--font-d:"Helvetica Neue",Helvetica,Arial,"PingFang SC","Noto Sans SC",sans-serif;--shadow:0 1px 0 rgba(22,20,15,.06);color-scheme:light}
:root[data-theme="2026-10-24-folio-apricot"]{--bg:#f3efe6;--fg:#16140f;--mu:#5b5649;--line:#cfc4ae;--card:#fbf9f4;--stage:#f0e6d6;--accent:#1f3fbf;--on-accent:#ffffff;--radius:4px;--font:ui-sans-serif,system-ui,-apple-system,"PingFang SC","Noto Sans SC",sans-serif;--font-d:"Helvetica Neue",Helvetica,Arial,"PingFang SC","Noto Sans SC",sans-serif;--shadow:0 1px 0 rgba(22,20,15,.06);color-scheme:light}
:root[data-theme="2026-10-26-folio-lilac"]{--bg:#efeaf7;--fg:#17131f;--mu:#585166;--line:#d9d0ea;--card:#ffffff;--stage:#f6f2fc;--accent:#5b3fd9;--on-accent:#ffffff;--radius:16px;--font:ui-sans-serif,system-ui,-apple-system,"PingFang SC","Noto Sans SC",sans-serif;--font-d:"Iowan Old Style","Palatino Linotype",Georgia,"Noto Serif SC","Songti SC",serif;--shadow:0 1px 2px rgba(23,19,31,.06),0 10px 28px -14px rgba(60,40,140,.28);color-scheme:light}
:root[data-theme="2026-10-26-folio-lilac-focusrow"]{--bg:#0e0c13;--fg:#ece8f5;--mu:#a39bb5;--line:#3a3349;--card:#17141f;--stage:#1e1a29;--accent:#a48cff;--on-accent:#140f24;--radius:16px;--font:ui-sans-serif,system-ui,-apple-system,"PingFang SC","Noto Sans SC",sans-serif;--font-d:"Iowan Old Style","Palatino Linotype",Georgia,"Noto Serif SC","Songti SC",serif;--shadow:0 1px 2px rgba(0,0,0,.5),0 14px 34px -16px rgba(0,0,0,.7);color-scheme:dark}
:root[data-theme="2026-10-30-folio-lilac-remixslot"]{--bg:#0e0c13;--fg:#ece8f5;--mu:#a39bb5;--line:#3a3349;--card:#17141f;--stage:#1e1a29;--accent:#a48cff;--on-accent:#140f24;--radius:16px;--font:ui-sans-serif,system-ui,-apple-system,"PingFang SC","Noto Sans SC",sans-serif;--font-d:"Iowan Old Style","Palatino Linotype",Georgia,"Noto Serif SC","Songti SC",serif;--shadow:0 1px 2px rgba(0,0,0,.5),0 14px 34px -16px rgba(0,0,0,.7);color-scheme:dark}
:root[data-theme="2026-10-30-folio-lilac-slot"]{--bg:#0e0c13;--fg:#ece8f5;--mu:#a39bb5;--line:#3a3349;--card:#17141f;--stage:#1e1a29;--accent:#a48cff;--on-accent:#140f24;--radius:16px;--font:ui-sans-serif,system-ui,-apple-system,"PingFang SC","Noto Sans SC",sans-serif;--font-d:"Iowan Old Style","Palatino Linotype",Georgia,"Noto Serif SC","Songti SC",serif;--shadow:0 1px 2px rgba(0,0,0,.5),0 14px 34px -16px rgba(0,0,0,.7);color-scheme:dark}
:root[data-theme="2026-11-02-comic-canvas"]{--bg:#f6f0df;--fg:#16110d;--mu:#3f362e;--line:#16110d;--card:#fffdf6;--stage:#efe6d2;--accent:#c8102e;--on-accent:#fffdf6;--radius:12px;--font:ui-sans-serif,system-ui,-apple-system,"PingFang SC","Noto Sans SC",sans-serif;--font-d:"Arial Black",Impact,"Helvetica Neue",Arial,system-ui,"PingFang SC","Noto Sans SC",sans-serif;--shadow:4px 4px 0 #16110d;color-scheme:light}
:root[data-theme="2026-11-02-comic-ink"]{--bg:#f6f0df;--fg:#16110d;--mu:#3f362e;--line:#16110d;--card:#fffdf6;--stage:#efe6d2;--accent:#c8102e;--on-accent:#fffdf6;--radius:12px;--font:ui-sans-serif,system-ui,-apple-system,"PingFang SC","Noto Sans SC",sans-serif;--font-d:"Arial Black",Impact,"Helvetica Neue",Arial,system-ui,"PingFang SC","Noto Sans SC",sans-serif;--shadow:4px 4px 0 #16110d;color-scheme:light}
/* classic: the base style.css look (no overrides). */

/* glass: aurora gradient fixed on the page background; translucent blurred cards (blur is on the cards, never on .grid/main). */
[data-arch="glass"] body{background:radial-gradient(60vw 50vh at 10% 0%,color-mix(in srgb,var(--accent) 45%,transparent),transparent 70%),radial-gradient(50vw 50vh at 100% 30%,rgba(56,189,248,.28),transparent 70%),radial-gradient(60vw 60vh at 50% 110%,rgba(236,72,153,.22),transparent 70%),var(--bg);background-attachment:fixed}
[data-arch="glass"] .card,[data-arch="glass"] .remix{-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3)}
[data-arch="glass"] .card:hover{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 60%,transparent),0 30px 60px -30px var(--accent)}
[data-arch="glass"] .hero h1{background:linear-gradient(90deg,var(--fg),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
[data-arch="glass"] .stars button{color:rgba(255,255,255,.18)}

/* bento: big rounded tiles; every 5th grid child spans 2 columns on wide screens (>=1100px). Uses :nth-child on .grid>* so focus placeholders keep the slot. */
[data-arch="bento"] .grid{gap:16px}
[data-arch="bento"] .card,[data-arch="bento"] .remix{border:0;box-shadow:var(--shadow)}
[data-arch="bento"] .hero{background:var(--card);border-radius:var(--radius);margin-top:24px;padding:40px 36px;box-shadow:var(--shadow);max-width:1124px}
[data-arch="bento"] .hero .date{color:var(--accent)}
[data-arch="bento"] .counts span{background:var(--bg);border:0}
[data-arch="bento"] .stage{border:0}
@media(min-width:1100px){[data-arch="bento"] .grid{grid-template-columns:repeat(3,1fr)}[data-arch="bento"] .grid>:nth-child(5n+1){grid-column:span 2}}
@media(max-width:760px){[data-arch="bento"] .hero{margin:14px;padding:28px 20px}}

/* editorial: newspaper rules, serif display, flat cards. CSS-only, same HTML. Never transform/filter .grid or main (focus mode uses position:fixed). */
[data-arch="editorial"] .hero{text-align:center;border-bottom:3px double var(--fg);padding-bottom:28px}
[data-arch="editorial"] .hero p{margin-left:auto;margin-right:auto}
[data-arch="editorial"] .hero h1{font-weight:600;letter-spacing:-.5px;font-size:clamp(36px,6vw,72px)}
[data-arch="editorial"] .counts,[data-arch="editorial"] .pn{justify-content:center}
[data-arch="editorial"] .card{box-shadow:none;border:0;border-top:2px solid var(--fg);border-radius:0;padding:14px 4px 18px;background:transparent}
[data-arch="editorial"] .card:hover{box-shadow:none;transform:none}
[data-arch="editorial"] .grid{gap:34px 30px}
[data-arch="editorial"] .card h2,[data-arch="editorial"] .remix h2{font-size:22px;font-weight:600}
[data-arch="editorial"] .cat{background:none;color:var(--accent);padding:0;border-radius:0;letter-spacing:1.5px;text-transform:uppercase;font-size:11px}
[data-arch="editorial"] .remix{border-width:1px;border-color:var(--fg);box-shadow:none}
[data-arch="editorial"] .desc{font-family:var(--font-d);font-size:15px}

/* swiss: hairline grid — cards butt together on 1px black rules, zero radius. */
[data-arch="swiss"] .hero h1{font-weight:900;letter-spacing:-2.5px;font-size:clamp(40px,7vw,88px);border-left:14px solid var(--accent);padding-left:18px}
[data-arch="swiss"] .grid{gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);padding-top:0;margin-top:12px}
[data-arch="swiss"] .grid>*{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0}
[data-arch="swiss"] .card{box-shadow:none}[data-arch="swiss"] .card:hover{transform:none;box-shadow:inset 0 0 0 2px var(--accent)}
[data-arch="swiss"] .cat{border-radius:0;background:var(--fg);letter-spacing:.5px;text-transform:uppercase}
[data-arch="swiss"] .card h2{font-weight:800;font-size:20px;letter-spacing:-.5px}
[data-arch="swiss"] .remix{border:1px solid var(--line);box-shadow:none}
[data-arch="swiss"] .acts button,[data-arch="swiss"] .tools,[data-arch="swiss"] .tools button,[data-arch="swiss"] .tools a.solo,[data-arch="swiss"] .counts span{border-radius:0}
@media(max-width:760px){[data-arch="swiss"] .grid{padding-left:0;padding-right:0;margin-left:14px;margin-right:14px}}

/* terminal: CRT scanlines on the page background only (never over demos/text blocks), mono, dashed rules. */
[data-arch="terminal"] body{background-image:repeating-linear-gradient(0deg,color-mix(in srgb,var(--accent) 6%,transparent) 0 1px,transparent 1px 3px)}
[data-arch="terminal"] .hero h1{font-weight:700;letter-spacing:-1px}[data-arch="terminal"] .hero h1::after{content:"_";color:var(--accent);animation:ddblink 1s steps(1) infinite}
@keyframes ddblink{50%{opacity:0}}
[data-arch="terminal"] .card,[data-arch="terminal"] .remix{border-style:dashed;box-shadow:none}
[data-arch="terminal"] .card:hover{box-shadow:0 0 0 1px var(--accent),0 0 24px -8px var(--accent)}
[data-arch="terminal"] .card h2::before{content:"> ";color:var(--accent)}
[data-arch="terminal"] .cat{background:none;color:var(--accent);border:1px solid currentColor;border-radius:2px}
[data-arch="terminal"] .cat::before{content:"["}[data-arch="terminal"] .cat::after{content:"]"}
[data-arch="terminal"] .counts span{background:none}
[data-arch="terminal"] .stars button{color:#2a3a2f}

/* folio: archive-folder look — Swiss hairline grid (gap 0, 1px rules) + Bento span (first child spans 2 cols ≥1100px, tail fills the row) + mono "№ 01" index tabs on card headers. Hover only changes box-shadow; never transform/filter .grid/.card (focus.js). */
[data-arch="folio"] body{background-image:repeating-linear-gradient(0deg,transparent 0 31px,rgba(22,20,15,.035) 31px 32px)}
[data-arch="folio"] .hero h1{font-weight:800;letter-spacing:-1.8px;font-size:clamp(34px,6vw,72px);line-height:1.02}
[data-arch="folio"] .hero .date{font:600 11px/1.4 ui-monospace,SFMono-Regular,Menlo,"PingFang SC","Noto Sans SC",monospace;letter-spacing:1.1px;text-transform:uppercase;color:var(--accent)}
[data-arch="folio"] .hero .date::before{content:"FOLIO / ";color:var(--mu)}
[data-arch="folio"] .counts span{border-radius:0;border:1px solid var(--line);background:var(--card);font-family:ui-monospace,SFMono-Regular,Menlo,"PingFang SC","Noto Sans SC",monospace;font-size:11px;letter-spacing:.4px}
[data-arch="folio"] .grid{gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);counter-reset:folio;padding:0;margin:12px auto 40px;width:min(1124px,calc(100% - 56px))}
[data-arch="folio"] .grid>*{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;box-shadow:none}
[data-arch="folio"] .card{counter-increment:folio;transition:box-shadow .25s cubic-bezier(.22,1,.36,1)}
[data-arch="folio"] .card:hover{box-shadow:inset 0 3px 0 var(--accent)}
[data-arch="folio"] .card>header::before{content:"№ " counter(folio,decimal-leading-zero);font:600 11px/1 ui-monospace,SFMono-Regular,Menlo,"PingFang SC","Noto Sans SC",monospace;letter-spacing:1.1px;color:var(--mu);margin-right:8px;flex:none}
[data-arch="folio"] .cat{border-radius:0;background:transparent;color:var(--fg);border:1px solid var(--fg);text-transform:uppercase;letter-spacing:.6px}
[data-arch="folio"] .card h2{font-weight:800;letter-spacing:-.4px}
[data-arch="folio"] .stage{border-radius:0;border:1px solid var(--line)}
[data-arch="folio"] .tags span{border-radius:0;font-family:ui-monospace,SFMono-Regular,Menlo,"PingFang SC","Noto Sans SC",monospace}
[data-arch="folio"] .remix{border:1px solid var(--fg);border-radius:0;box-shadow:6px 6px 0 var(--accent)}
[data-arch="folio"] .acts button,[data-arch="folio"] .tools,[data-arch="folio"] .tools button,[data-arch="folio"] .tools a.solo{border-radius:2px}
/* ≥1100px: 3 cols, first card spans 2; the tail card stretches so the last row never leaves an empty hole */
@media(min-width:1100px){[data-arch="folio"] .grid{grid-template-columns:repeat(3,1fr)}[data-arch="folio"] .grid>:first-child{grid-column:span 2}[data-arch="folio"] .grid>:last-child:nth-child(3n+1):not(:first-child){grid-column:span 2}[data-arch="folio"] .grid>:last-child:nth-child(3n):not(:first-child){grid-column:1/-1}}
@media(max-width:760px){[data-arch="folio"] .grid{width:calc(100% - 28px)}[data-arch="folio"] .remix{box-shadow:4px 4px 0 var(--accent)}}
[data-arch="folio"] .card>header .cat{margin-right:auto}

/* 2026-10-26-folio-lilac — W44 partial redesign on top of folio (CSS only, same HTML).
   Lilac page + dot-grid texture (after 21st halaska-studio/dot-grid, MIT: 1px dot · 20px), serif display, floating white rounded cards instead of the 0-gap hairline grid, pill chips/buttons.
   Hover only changes box-shadow; never transform/filter .grid/.card (focus.js). */
:root[data-theme="2026-10-26-folio-lilac"] body{background-image:radial-gradient(circle,rgba(91,63,217,.16) 1px,transparent 1.2px);background-size:20px 20px}
:root[data-theme="2026-10-26-folio-lilac"] .hero h1{font-family:var(--font-d);font-weight:700;letter-spacing:-1px;line-height:1.04}
:root[data-theme="2026-10-26-folio-lilac"] .hero .date::before{content:"FOLIO · ";color:var(--mu)}
:root[data-theme="2026-10-26-folio-lilac"] .counts span{border-radius:999px;border:1px solid var(--line);background:var(--card);box-shadow:0 1px 2px rgba(23,19,31,.05)}
:root[data-theme="2026-10-26-folio-lilac"] .grid{gap:16px;border:0;margin:16px auto 44px}
:root[data-theme="2026-10-26-folio-lilac"] .grid>*{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
:root[data-theme="2026-10-26-folio-lilac"] .card{transition:box-shadow .25s cubic-bezier(.22,1,.36,1)}
:root[data-theme="2026-10-26-folio-lilac"] .grid>.card:hover{box-shadow:0 1px 2px rgba(23,19,31,.06),0 22px 44px -18px rgba(60,40,140,.38)}
:root[data-theme="2026-10-26-folio-lilac"] .card>header::before{background:var(--stage);border:1px solid var(--line);border-radius:999px;padding:4px 8px;color:var(--accent);letter-spacing:.6px}
:root[data-theme="2026-10-26-folio-lilac"] .cat{border:0;border-radius:999px;background:rgba(91,63,217,.1);color:#3b25a6;text-transform:none;letter-spacing:.2px}
:root[data-theme="2026-10-26-folio-lilac"] .card h2,:root[data-theme="2026-10-26-folio-lilac"] .remix h2{font-family:var(--font-d);font-weight:700;letter-spacing:-.2px}
:root[data-theme="2026-10-26-folio-lilac"] .stage{border:0;border-radius:min(var(--radius),12px)}
:root[data-theme="2026-10-26-folio-lilac"] .tags span{border-radius:999px;font-family:var(--font)}
:root[data-theme="2026-10-26-folio-lilac"] .remix{border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 2px rgba(23,19,31,.06),0 30px 60px -32px rgba(91,63,217,.55)}
:root[data-theme="2026-10-26-folio-lilac"] .acts button,:root[data-theme="2026-10-26-folio-lilac"] .tools,:root[data-theme="2026-10-26-folio-lilac"] .tools button{border-radius:999px}
@media(max-width:760px){:root[data-theme="2026-10-26-folio-lilac"] .grid{gap:12px;width:calc(100% - 28px)}:root[data-theme="2026-10-26-folio-lilac"] .remix{box-shadow:0 1px 2px rgba(23,19,31,.06),0 20px 40px -26px rgba(91,63,217,.55)}}

/* 2026-10-26-folio-lilac — W44 partial redesign on top of folio (CSS only, same HTML).
   Lilac page + dot-grid texture (after 21st halaska-studio/dot-grid, MIT: 1px dot · 20px), serif display, floating white rounded cards instead of the 0-gap hairline grid, pill chips/buttons.
   Hover only changes box-shadow; never transform/filter .grid/.card (focus.js). */
:root[data-theme="2026-10-26-folio-lilac-focusrow"] body{background-image:radial-gradient(circle,rgba(164,140,255,.10) 1px,transparent 1.2px);background-size:20px 20px}
:root[data-theme="2026-10-26-folio-lilac-focusrow"] .hero h1{font-family:var(--font-d);font-weight:700;letter-spacing:-1px;line-height:1.04}
:root[data-theme="2026-10-26-folio-lilac-focusrow"] .hero .date::before{content:"FOLIO · ";color:var(--mu)}
:root[data-theme="2026-10-26-folio-lilac-focusrow"] .counts span{border-radius:999px;border:1px solid var(--line);background:var(--card);box-shadow:none}
:root[data-theme="2026-10-26-folio-lilac-focusrow"] .grid{gap:16px;border:0;margin:16px auto 44px}
:root[data-theme="2026-10-26-folio-lilac-focusrow"] .grid>*{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
:root[data-theme="2026-10-26-folio-lilac-focusrow"] .card{transition:box-shadow .25s cubic-bezier(.22,1,.36,1)}
:root[data-theme="2026-10-26-folio-lilac-focusrow"] .grid>.card:hover{box-shadow:0 1px 2px rgba(0,0,0,.5),0 22px 48px -20px rgba(120,90,255,.35)}
:root[data-theme="2026-10-26-folio-lilac-focusrow"] .card>header::before{background:var(--stage);border:1px solid var(--line);border-radius:999px;padding:4px 8px;color:var(--accent);letter-spacing:.6px}
:root[data-theme="2026-10-26-folio-lilac-focusrow"] .cat{border:0;border-radius:999px;background:rgba(164,140,255,.14);color:#cfc3ff;text-transform:none;letter-spacing:.2px}
:root[data-theme="2026-10-26-folio-lilac-focusrow"] .card h2,:root[data-theme="2026-10-26-folio-lilac-focusrow"] .remix h2{font-family:var(--font-d);font-weight:700;letter-spacing:-.2px}
:root[data-theme="2026-10-26-folio-lilac-focusrow"] .stage{border:0;border-radius:min(var(--radius),12px)}
:root[data-theme="2026-10-26-folio-lilac-focusrow"] .tags span{border-radius:999px;font-family:var(--font)}
:root[data-theme="2026-10-26-folio-lilac-focusrow"] .remix{border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 2px rgba(0,0,0,.5),0 30px 60px -32px rgba(120,90,255,.35)}
:root[data-theme="2026-10-26-folio-lilac-focusrow"] .acts button,:root[data-theme="2026-10-26-folio-lilac-focusrow"] .tools,:root[data-theme="2026-10-26-folio-lilac-focusrow"] .tools button{border-radius:999px}
@media(max-width:760px){:root[data-theme="2026-10-26-folio-lilac-focusrow"] .grid{gap:12px;width:calc(100% - 28px)}:root[data-theme="2026-10-26-folio-lilac-focusrow"] .remix{box-shadow:0 1px 2px rgba(0,0,0,.5),0 20px 40px -26px rgba(120,90,255,.35)}}
/* dark round (夜丁香): centre card of the focus row glows softly on near-black; keep the Dock / wordmark legible on the dark bg */
html:root[data-theme="2026-10-26-folio-lilac-focusrow"] main.grid.frow>.card[data-fr=c],html:root[data-theme="2026-10-26-folio-lilac-focusrow"] .scn .rrow>.rslide[data-fr=c].rpart{box-shadow:0 1px 2px rgba(0,0,0,.6),0 30px 70px -30px rgba(140,110,255,.45)}
:root[data-theme="2026-10-26-folio-lilac-focusrow"] .remix{background:var(--card)}

/* 2026-10-26-folio-lilac — W44 partial redesign on top of folio (CSS only, same HTML).
   Lilac page + dot-grid texture (after 21st halaska-studio/dot-grid, MIT: 1px dot · 20px), serif display, floating white rounded cards instead of the 0-gap hairline grid, pill chips/buttons.
   Hover only changes box-shadow; never transform/filter .grid/.card (focus.js). */
:root[data-theme="2026-10-30-folio-lilac-remixslot"] body{background-image:radial-gradient(circle,rgba(164,140,255,.10) 1px,transparent 1.2px);background-size:20px 20px}
:root[data-theme="2026-10-30-folio-lilac-remixslot"] .hero h1{font-family:var(--font-d);font-weight:700;letter-spacing:-1px;line-height:1.04}
:root[data-theme="2026-10-30-folio-lilac-remixslot"] .hero .date::before{content:"FOLIO · ";color:var(--mu)}
:root[data-theme="2026-10-30-folio-lilac-remixslot"] .counts span{border-radius:999px;border:1px solid var(--line);background:var(--card);box-shadow:none}
:root[data-theme="2026-10-30-folio-lilac-remixslot"] .grid{gap:16px;border:0;margin:16px auto 44px}
:root[data-theme="2026-10-30-folio-lilac-remixslot"] .grid>*{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
:root[data-theme="2026-10-30-folio-lilac-remixslot"] .card{transition:box-shadow .25s cubic-bezier(.22,1,.36,1)}
:root[data-theme="2026-10-30-folio-lilac-remixslot"] .grid>.card:hover{box-shadow:0 1px 2px rgba(0,0,0,.5),0 22px 48px -20px rgba(120,90,255,.35)}
:root[data-theme="2026-10-30-folio-lilac-remixslot"] .card>header::before{background:var(--stage);border:1px solid var(--line);border-radius:999px;padding:4px 8px;color:var(--accent);letter-spacing:.6px}
:root[data-theme="2026-10-30-folio-lilac-remixslot"] .cat{border:0;border-radius:999px;background:rgba(164,140,255,.14);color:#cfc3ff;text-transform:none;letter-spacing:.2px}
:root[data-theme="2026-10-30-folio-lilac-remixslot"] .card h2,:root[data-theme="2026-10-30-folio-lilac-remixslot"] .remix h2{font-family:var(--font-d);font-weight:700;letter-spacing:-.2px}
:root[data-theme="2026-10-30-folio-lilac-remixslot"] .stage{border:0;border-radius:min(var(--radius),12px)}
:root[data-theme="2026-10-30-folio-lilac-remixslot"] .tags span{border-radius:999px;font-family:var(--font)}
:root[data-theme="2026-10-30-folio-lilac-remixslot"] .remix{border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 2px rgba(0,0,0,.5),0 30px 60px -32px rgba(120,90,255,.35)}
:root[data-theme="2026-10-30-folio-lilac-remixslot"] .acts button,:root[data-theme="2026-10-30-folio-lilac-remixslot"] .tools,:root[data-theme="2026-10-30-folio-lilac-remixslot"] .tools button{border-radius:999px}
@media(max-width:760px){:root[data-theme="2026-10-30-folio-lilac-remixslot"] .grid{gap:12px;width:calc(100% - 28px)}:root[data-theme="2026-10-30-folio-lilac-remixslot"] .remix{box-shadow:0 1px 2px rgba(0,0,0,.5),0 20px 40px -26px rgba(120,90,255,.35)}}
/* dark round (夜丁香): centre card of the focus row glows softly on near-black; keep the Dock / wordmark legible on the dark bg */
html:root[data-theme="2026-10-30-folio-lilac-remixslot"] main.grid.frow>.card[data-fr=c],html:root[data-theme="2026-10-30-folio-lilac-remixslot"] .scn .rrow>.rslide[data-fr=c].rpart{box-shadow:0 1px 2px rgba(0,0,0,.6),0 30px 70px -30px rgba(140,110,255,.45)}
:root[data-theme="2026-10-30-folio-lilac-remixslot"] .remix{background:var(--card)}

/* 2026-10-26-folio-lilac — W44 partial redesign on top of folio (CSS only, same HTML).
   Lilac page + dot-grid texture (after 21st halaska-studio/dot-grid, MIT: 1px dot · 20px), serif display, floating white rounded cards instead of the 0-gap hairline grid, pill chips/buttons.
   Hover only changes box-shadow; never transform/filter .grid/.card (focus.js). */
:root[data-theme="2026-10-30-folio-lilac-slot"] body{background-image:radial-gradient(circle,rgba(164,140,255,.10) 1px,transparent 1.2px);background-size:20px 20px}
:root[data-theme="2026-10-30-folio-lilac-slot"] .hero h1{font-family:var(--font-d);font-weight:700;letter-spacing:-1px;line-height:1.04}
:root[data-theme="2026-10-30-folio-lilac-slot"] .hero .date::before{content:"FOLIO · ";color:var(--mu)}
:root[data-theme="2026-10-30-folio-lilac-slot"] .counts span{border-radius:999px;border:1px solid var(--line);background:var(--card);box-shadow:none}
:root[data-theme="2026-10-30-folio-lilac-slot"] .grid{gap:16px;border:0;margin:16px auto 44px}
:root[data-theme="2026-10-30-folio-lilac-slot"] .grid>*{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
:root[data-theme="2026-10-30-folio-lilac-slot"] .card{transition:box-shadow .25s cubic-bezier(.22,1,.36,1)}
:root[data-theme="2026-10-30-folio-lilac-slot"] .grid>.card:hover{box-shadow:0 1px 2px rgba(0,0,0,.5),0 22px 48px -20px rgba(120,90,255,.35)}
:root[data-theme="2026-10-30-folio-lilac-slot"] .card>header::before{background:var(--stage);border:1px solid var(--line);border-radius:999px;padding:4px 8px;color:var(--accent);letter-spacing:.6px}
:root[data-theme="2026-10-30-folio-lilac-slot"] .cat{border:0;border-radius:999px;background:rgba(164,140,255,.14);color:#cfc3ff;text-transform:none;letter-spacing:.2px}
:root[data-theme="2026-10-30-folio-lilac-slot"] .card h2,:root[data-theme="2026-10-30-folio-lilac-slot"] .remix h2{font-family:var(--font-d);font-weight:700;letter-spacing:-.2px}
:root[data-theme="2026-10-30-folio-lilac-slot"] .stage{border:0;border-radius:min(var(--radius),12px)}
:root[data-theme="2026-10-30-folio-lilac-slot"] .tags span{border-radius:999px;font-family:var(--font)}
:root[data-theme="2026-10-30-folio-lilac-slot"] .remix{border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 2px rgba(0,0,0,.5),0 30px 60px -32px rgba(120,90,255,.35)}
:root[data-theme="2026-10-30-folio-lilac-slot"] .acts button,:root[data-theme="2026-10-30-folio-lilac-slot"] .tools,:root[data-theme="2026-10-30-folio-lilac-slot"] .tools button{border-radius:999px}
@media(max-width:760px){:root[data-theme="2026-10-30-folio-lilac-slot"] .grid{gap:12px;width:calc(100% - 28px)}:root[data-theme="2026-10-30-folio-lilac-slot"] .remix{box-shadow:0 1px 2px rgba(0,0,0,.5),0 20px 40px -26px rgba(120,90,255,.35)}}
/* dark round (夜丁香): centre card of the focus row glows softly on near-black; keep the Dock / wordmark legible on the dark bg */
html:root[data-theme="2026-10-30-folio-lilac-slot"] main.grid.frow>.card[data-fr=c],html:root[data-theme="2026-10-30-folio-lilac-slot"] .scn .rrow>.rslide[data-fr=c].rpart{box-shadow:0 1px 2px rgba(0,0,0,.6),0 30px 70px -30px rgba(140,110,255,.45)}
:root[data-theme="2026-10-30-folio-lilac-slot"] .remix{background:var(--card)}

/* 2026-11-02-comic-canvas — comic ink tokens for the preview canvas AND a safe skin if someone
   picks this theme on a normal issue page. Canvas placement lives in assets/comic-canvas.css
   (html[data-preview=comic-canvas] only). This file does not move cards and does not touch days/.
   Newsprint + ink halftone, ink panel borders, speech-bubble chips.
   Title shadow is a low-opacity accent offset, not a solid second glyph. Category vars below
   are bright print inks for this theme only (not the global defaults): dots and entrance:type
   tiles read var(--ui)…var(--remix). Chip text is ink on those fills.
   Hover changes box-shadow only. Never transform / filter / backdrop-filter / perspective / will-change on .grid or .card
   (沉浸模式 / 轻聚焦: focus.js). ddesc stays a collapsed <details>; this file only restyles the summary. */
:root[data-theme="2026-11-02-comic-canvas"]{
  --ui: #1090aa;
  --web: #0f9a4a;
  --motion: #e23d96;
  --news: #cc6e00;
  --brand: #e23d6a;
  --remix: #0d9488;
}
:root[data-theme="2026-11-02-comic-canvas"] body{
  background-image:
    radial-gradient(circle, color-mix(in srgb, var(--fg) 16%, transparent) .9px, transparent 1.15px),
    radial-gradient(circle, color-mix(in srgb, var(--fg) 7%, transparent) .9px, transparent 1.15px);
  background-size: 9px 9px, 14px 14px;
  background-position: 0 0, 4px 5px;
}
:root[data-theme="2026-11-02-comic-canvas"] .top{
  border-bottom: 3px solid var(--fg);
  background: color-mix(in srgb, var(--card) 90%, transparent);
}
:root[data-theme="2026-11-02-comic-canvas"] .hero h1{
  font-family: var(--font-d);
  font-weight: 900;
  letter-spacing: -.03em;
  line-height: 1.05;
  color: var(--fg);
  -webkit-text-stroke: .6px var(--fg);
  paint-order: stroke fill;
  text-shadow: 3px 3px 0 color-mix(in srgb, var(--accent) 32%, transparent);
}
:root[data-theme="2026-11-02-comic-canvas"] .hero p,
:root[data-theme="2026-11-02-comic-canvas"] .subt,
:root[data-theme="2026-11-02-comic-canvas"] .desc,
:root[data-theme="2026-11-02-comic-canvas"] footer{color: var(--mu)}
:root[data-theme="2026-11-02-comic-canvas"] .hero .date{color: var(--fg); font-weight: 800; letter-spacing: .04em}
:root[data-theme="2026-11-02-comic-canvas"] .hero .date::before{content: "漫画 · "; color: var(--accent)}
:root[data-theme="2026-11-02-comic-canvas"] .cal{
  border: 3px solid var(--fg);
  border-radius: 12px;
  background: var(--card);
  box-shadow: 4px 4px 0 var(--fg);
}
:root[data-theme="2026-11-02-comic-canvas"] .counts span,
:root[data-theme="2026-11-02-comic-canvas"] .tags span,
:root[data-theme="2026-11-02-comic-canvas"] .ddesc > summary,
:root[data-theme="2026-11-02-comic-canvas"] .seg{
  border: 2.5px solid var(--fg);
  border-radius: 14px 14px 14px 3px;
  background: var(--card);
  box-shadow: 3px 3px 0 var(--fg);
  font-weight: 800;
}
:root[data-theme="2026-11-02-comic-canvas"] .counts span{
  padding: 3px 10px;
  color: var(--fg);
  background: color-mix(in srgb, var(--c, var(--accent)) 30%, var(--card));
}
:root[data-theme="2026-11-02-comic-canvas"] .tags span{padding: 2px 8px; font-family: var(--font)}
:root[data-theme="2026-11-02-comic-canvas"] .ddesc > summary{padding: 2px 10px; width: max-content; max-width: 100%}
:root[data-theme="2026-11-02-comic-canvas"] .seg{padding: 3px}
:root[data-theme="2026-11-02-comic-canvas"] .grid{gap: 18px; border: 0; margin: 16px auto 44px}
:root[data-theme="2026-11-02-comic-canvas"] .grid > *{
  border: 3px solid var(--fg);
  border-radius: 12px;
  box-shadow: 5px 5px 0 var(--fg);
}
:root[data-theme="2026-11-02-comic-canvas"] .card{transition: box-shadow .2s cubic-bezier(.22, 1, .36, 1)}
:root[data-theme="2026-11-02-comic-canvas"] .grid > .card:hover,
:root[data-theme="2026-11-02-comic-canvas"] .grid > .card:focus-within{
  box-shadow: 6px 6px 0 var(--fg), calc(var(--ix-sdx, 0) * 8px) calc(var(--ix-sdy, 0) * 8px) 0 color-mix(in srgb, var(--fg) 35%, transparent);
}
:root[data-theme="2026-11-02-comic-canvas"] .card > header::before{
  background: var(--accent);
  color: var(--on-accent);
  border: 2px solid var(--fg);
  border-radius: 10px 10px 10px 2px;
  padding: 3px 6px;
  box-shadow: 2px 2px 0 var(--fg);
  font-weight: 800;
}
:root[data-theme="2026-11-02-comic-canvas"] .cat{
  border: 2.5px solid var(--fg);
  border-radius: 12px 12px 12px 2px;
  background: var(--c);
  color: var(--fg);
  box-shadow: 3px 3px 0 var(--fg);
  text-transform: none;
  letter-spacing: .2px;
}
:root[data-theme="2026-11-02-comic-canvas"] .card h2,
:root[data-theme="2026-11-02-comic-canvas"] .remix h2{
  font-family: var(--font-d);
  font-weight: 900;
  letter-spacing: -.02em;
  color: var(--fg);
  -webkit-text-stroke: .35px var(--fg);
  paint-order: stroke fill;
  text-shadow: 2px 2px 0 color-mix(in srgb, var(--accent) 28%, transparent);
}
:root[data-theme="2026-11-02-comic-canvas"] .stage{
  border: 3px solid var(--fg);
  border-radius: 4px;
  background-color: var(--stage);
  background-image: radial-gradient(circle, color-mix(in srgb, var(--fg) 22%, transparent) 1px, transparent 1.25px);
  background-size: 6px 6px;
}
:root[data-theme="2026-11-02-comic-canvas"] .win{border: 3px solid var(--fg); border-radius: 8px}
:root[data-theme="2026-11-02-comic-canvas"] .remix{
  border: 3px solid var(--fg);
  border-radius: 14px;
  background: var(--card);
  box-shadow: 5px 5px 0 var(--fg);
}
/* Calendar art number + 今日铅字 tiles: same print inks as --ui … --remix, not the global screen hues. */
:root[data-theme="2026-11-02-comic-canvas"] .rl.dm i{
  background: color-mix(in srgb, var(--fg) 5%, var(--card));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fg) 22%, transparent);
  opacity: 1;
}
:root[data-theme="2026-11-02-comic-canvas"] .rl.dm i.on{
  background: var(--c, var(--fg));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fg) 28%, transparent);
  opacity: 1;
}
:root[data-theme="2026-11-02-comic-canvas"] .rl.f .rs i{
  background: none;
  color: var(--fg);
  -webkit-text-fill-color: var(--fg);
  opacity: .92;
}
:root[data-theme="2026-11-02-comic-canvas"] .rl.o .rs i{-webkit-text-stroke: 2px var(--fg)}
:root[data-theme="2026-11-02-comic-canvas"] .ddi-bg{
  background-color: var(--bg);
  background-image:
    radial-gradient(circle, color-mix(in srgb, var(--fg) 16%, transparent) .9px, transparent 1.15px),
    radial-gradient(circle, color-mix(in srgb, var(--fg) 7%, transparent) .9px, transparent 1.15px);
  background-size: 9px 9px, 14px 14px;
}
:root[data-theme="2026-11-02-comic-canvas"] .ddi-bg::after{background: none}
:root[data-theme="2026-11-02-comic-canvas"] .ddi-k,
:root[data-theme="2026-11-02-comic-canvas"] .ddi-cap{color: var(--mu)}
:root[data-theme="2026-11-02-comic-canvas"] .ddi-cap b{color: var(--fg)}
:root[data-theme="2026-11-02-comic-canvas"] .ddi-m i{
  background: color-mix(in srgb, var(--fg) 5%, var(--bg));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fg) 22%, transparent);
}
:root[data-theme="2026-11-02-comic-canvas"] .ddi-m i.on{
  background: var(--c, var(--fg));
  box-shadow: 2px 2px 0 color-mix(in srgb, var(--fg) 40%, transparent);
}
:root[data-theme="2026-11-02-comic-canvas"] .ddi-m i.on.hollow{
  background: transparent;
  box-shadow: inset 0 0 0 2px var(--c, var(--fg));
}
:root[data-theme="2026-11-02-comic-canvas"] .acts button{
  border: 2px solid var(--fg);
  border-radius: 10px 10px 10px 2px;
  background: var(--card);
  box-shadow: 2px 2px 0 var(--fg);
}
:root[data-theme="2026-11-02-comic-canvas"] .tools{
  border: 2px solid var(--fg);
  border-radius: 12px 12px 12px 3px;
  background: var(--card);
  box-shadow: 2px 2px 0 var(--fg);
}
:root[data-theme="2026-11-02-comic-canvas"] .tools button,
:root[data-theme="2026-11-02-comic-canvas"] .tools a.solo{border-radius: 8px 8px 8px 2px}
:root[data-theme="2026-11-02-comic-canvas"] .bmark{
  border: 3px solid var(--fg);
  border-radius: 12px;
  background: var(--card);
  box-shadow: 3px 3px 0 var(--fg);
}
:root[data-theme="2026-11-02-comic-canvas"] .arch .day{
  border: 3px solid var(--fg);
  border-radius: 12px;
  box-shadow: 4px 4px 0 var(--fg);
}
:root[data-theme="2026-11-02-comic-canvas"] .arch .day:hover{box-shadow: 6px 6px 0 var(--fg)}
:root[data-theme="2026-11-02-comic-canvas"] .fr-bar > button{
  border: 2px solid var(--fg);
  border-radius: 12px 12px 12px 3px;
  background: var(--card);
  box-shadow: 2px 2px 0 var(--fg);
  font-weight: 800;
}
:root[data-theme="2026-11-02-comic-canvas"] footer{border-top: 3px solid var(--fg); margin: 0 28px}
/* focusrow paints its own centre-card shadow after themes.css; restyle that shadow only (no transform/filter). */
html[data-ix-browse=focusrow]:root[data-theme="2026-11-02-comic-canvas"]:not(.fr-list) main.grid.frow > .card[data-fr=c]{
  box-shadow: 5px 5px 0 var(--fg);
}
html[data-ix-browse=focusrow]:root[data-theme="2026-11-02-comic-canvas"]:not(.fr-list) main.grid.frow > .card[data-fr=c]:hover,
html[data-ix-browse=focusrow]:root[data-theme="2026-11-02-comic-canvas"]:not(.fr-list) main.grid.frow > .card[data-fr=c]:focus-within{
  box-shadow: 6px 6px 0 var(--fg), calc(var(--ix-sdx, 0) * 8px) calc(var(--ix-sdy, 0) * 8px) 0 color-mix(in srgb, var(--fg) 35%, transparent);
}
html[data-ix-browse=focusrow]:root[data-theme="2026-11-02-comic-canvas"]:not(.fr-list) main.grid.frow > .card[data-fr-peek]{
  box-shadow: 4px 4px 0 var(--fg);
}
html[data-ix-browse=focusrow]:root[data-theme="2026-11-02-comic-canvas"]:not(.fr-list) main.grid.frow > .bmark{
  border: 3px solid var(--fg);
  border-radius: 14px;
  background: var(--card);
  box-shadow: 3px 3px 0 var(--fg);
}
html[data-ix-browse=focusrow]:root[data-theme="2026-11-02-comic-canvas"] .scn .rrow > .rpart{
  border: 3px solid var(--fg);
  border-radius: 12px;
  box-shadow: 4px 4px 0 var(--fg);
}
html[data-ix-browse=focusrow]:root[data-theme="2026-11-02-comic-canvas"] .scn .rrow > .rslide[data-fr=c].rpart{
  box-shadow: 5px 5px 0 var(--fg);
}
@media (max-width: 760px){
  :root[data-theme="2026-11-02-comic-canvas"] .grid{gap: 12px; width: calc(100% - 28px)}
  :root[data-theme="2026-11-02-comic-canvas"] .remix{box-shadow: 4px 4px 0 var(--fg)}
  :root[data-theme="2026-11-02-comic-canvas"] footer{margin: 0 14px}
}
@media (prefers-reduced-motion: reduce){
  :root[data-theme="2026-11-02-comic-canvas"] .card,
  :root[data-theme="2026-11-02-comic-canvas"] .grid > .card{transition: none}
}
html.dd-rm:root[data-theme="2026-11-02-comic-canvas"] .card,
html.dd-rm:root[data-theme="2026-11-02-comic-canvas"] .grid > .card{transition: none}

/* 2026-11-02-comic-ink — skin only on folio (same HTML, same interactions as the live remixslot theme).
   Newsprint + ink halftone, ink panel borders, speech-bubble chips.
   Title shadow is a low-opacity accent offset, not a solid second glyph. Category vars below
   are bright print inks for this theme only (not the global defaults): dots and entrance:type
   tiles read var(--ui)…var(--remix). Chip text is ink on those fills.
   Hover changes box-shadow only. Never transform / filter / backdrop-filter / perspective / will-change on .grid or .card
   (沉浸模式 / 轻聚焦: focus.js). ddesc stays a collapsed <details>; this file only restyles the summary. */
:root[data-theme="2026-11-02-comic-ink"]{
  --ui: #1090aa;
  --web: #0f9a4a;
  --motion: #e23d96;
  --news: #cc6e00;
  --brand: #e23d6a;
  --remix: #0d9488;
}
:root[data-theme="2026-11-02-comic-ink"] body{
  background-image:
    radial-gradient(circle, color-mix(in srgb, var(--fg) 16%, transparent) .9px, transparent 1.15px),
    radial-gradient(circle, color-mix(in srgb, var(--fg) 7%, transparent) .9px, transparent 1.15px);
  background-size: 9px 9px, 14px 14px;
  background-position: 0 0, 4px 5px;
}
:root[data-theme="2026-11-02-comic-ink"] .top{
  border-bottom: 3px solid var(--fg);
  background: color-mix(in srgb, var(--card) 90%, transparent);
}
:root[data-theme="2026-11-02-comic-ink"] .hero h1{
  font-family: var(--font-d);
  font-weight: 900;
  letter-spacing: -.03em;
  line-height: 1.05;
  color: var(--fg);
  -webkit-text-stroke: .6px var(--fg);
  paint-order: stroke fill;
  text-shadow: 3px 3px 0 color-mix(in srgb, var(--accent) 32%, transparent);
}
:root[data-theme="2026-11-02-comic-ink"] .hero p,
:root[data-theme="2026-11-02-comic-ink"] .subt,
:root[data-theme="2026-11-02-comic-ink"] .desc,
:root[data-theme="2026-11-02-comic-ink"] footer{color: var(--mu)}
:root[data-theme="2026-11-02-comic-ink"] .hero .date{color: var(--fg); font-weight: 800; letter-spacing: .04em}
:root[data-theme="2026-11-02-comic-ink"] .hero .date::before{content: "漫画 · "; color: var(--accent)}
:root[data-theme="2026-11-02-comic-ink"] .cal{
  border: 3px solid var(--fg);
  border-radius: 12px;
  background: var(--card);
  box-shadow: 4px 4px 0 var(--fg);
}
:root[data-theme="2026-11-02-comic-ink"] .counts span,
:root[data-theme="2026-11-02-comic-ink"] .tags span,
:root[data-theme="2026-11-02-comic-ink"] .ddesc > summary,
:root[data-theme="2026-11-02-comic-ink"] .seg{
  border: 2.5px solid var(--fg);
  border-radius: 14px 14px 14px 3px;
  background: var(--card);
  box-shadow: 3px 3px 0 var(--fg);
  font-weight: 800;
}
:root[data-theme="2026-11-02-comic-ink"] .counts span{
  padding: 3px 10px;
  color: var(--fg);
  background: color-mix(in srgb, var(--c, var(--accent)) 30%, var(--card));
}
:root[data-theme="2026-11-02-comic-ink"] .tags span{padding: 2px 8px; font-family: var(--font)}
:root[data-theme="2026-11-02-comic-ink"] .ddesc > summary{padding: 2px 10px; width: max-content; max-width: 100%}
:root[data-theme="2026-11-02-comic-ink"] .seg{padding: 3px}
:root[data-theme="2026-11-02-comic-ink"] .grid{gap: 18px; border: 0; margin: 16px auto 44px}
:root[data-theme="2026-11-02-comic-ink"] .grid > *{
  border: 3px solid var(--fg);
  border-radius: 12px;
  box-shadow: 5px 5px 0 var(--fg);
}
:root[data-theme="2026-11-02-comic-ink"] .card{transition: box-shadow .2s cubic-bezier(.22, 1, .36, 1)}
:root[data-theme="2026-11-02-comic-ink"] .grid > .card:hover,
:root[data-theme="2026-11-02-comic-ink"] .grid > .card:focus-within{
  box-shadow: 6px 6px 0 var(--fg), calc(var(--ix-sdx, 0) * 8px) calc(var(--ix-sdy, 0) * 8px) 0 color-mix(in srgb, var(--fg) 35%, transparent);
}
:root[data-theme="2026-11-02-comic-ink"] .card > header::before{
  background: var(--accent);
  color: var(--on-accent);
  border: 2px solid var(--fg);
  border-radius: 10px 10px 10px 2px;
  padding: 3px 6px;
  box-shadow: 2px 2px 0 var(--fg);
  font-weight: 800;
}
:root[data-theme="2026-11-02-comic-ink"] .cat{
  border: 2.5px solid var(--fg);
  border-radius: 12px 12px 12px 2px;
  background: var(--c);
  color: var(--fg);
  box-shadow: 3px 3px 0 var(--fg);
  text-transform: none;
  letter-spacing: .2px;
}
:root[data-theme="2026-11-02-comic-ink"] .card h2,
:root[data-theme="2026-11-02-comic-ink"] .remix h2{
  font-family: var(--font-d);
  font-weight: 900;
  letter-spacing: -.02em;
  color: var(--fg);
  -webkit-text-stroke: .35px var(--fg);
  paint-order: stroke fill;
  text-shadow: 2px 2px 0 color-mix(in srgb, var(--accent) 28%, transparent);
}
:root[data-theme="2026-11-02-comic-ink"] .stage{
  border: 3px solid var(--fg);
  border-radius: 4px;
  background-color: var(--stage);
  background-image: radial-gradient(circle, color-mix(in srgb, var(--fg) 22%, transparent) 1px, transparent 1.25px);
  background-size: 6px 6px;
}
:root[data-theme="2026-11-02-comic-ink"] .win{border: 3px solid var(--fg); border-radius: 8px}
:root[data-theme="2026-11-02-comic-ink"] .remix{
  border: 3px solid var(--fg);
  border-radius: 14px;
  background: var(--card);
  box-shadow: 5px 5px 0 var(--fg);
}
/* Calendar art number + 今日铅字 tiles: same print inks as --ui … --remix, not the global screen hues. */
:root[data-theme="2026-11-02-comic-ink"] .rl.dm i{
  background: color-mix(in srgb, var(--fg) 5%, var(--card));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fg) 22%, transparent);
  opacity: 1;
}
:root[data-theme="2026-11-02-comic-ink"] .rl.dm i.on{
  background: var(--c, var(--fg));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fg) 28%, transparent);
  opacity: 1;
}
:root[data-theme="2026-11-02-comic-ink"] .rl.f .rs i{
  background: none;
  color: var(--fg);
  -webkit-text-fill-color: var(--fg);
  opacity: .92;
}
:root[data-theme="2026-11-02-comic-ink"] .rl.o .rs i{-webkit-text-stroke: 2px var(--fg)}
:root[data-theme="2026-11-02-comic-ink"] .ddi-bg{
  background-color: var(--bg);
  background-image:
    radial-gradient(circle, color-mix(in srgb, var(--fg) 16%, transparent) .9px, transparent 1.15px),
    radial-gradient(circle, color-mix(in srgb, var(--fg) 7%, transparent) .9px, transparent 1.15px);
  background-size: 9px 9px, 14px 14px;
}
:root[data-theme="2026-11-02-comic-ink"] .ddi-bg::after{background: none}
:root[data-theme="2026-11-02-comic-ink"] .ddi-k,
:root[data-theme="2026-11-02-comic-ink"] .ddi-cap{color: var(--mu)}
:root[data-theme="2026-11-02-comic-ink"] .ddi-cap b{color: var(--fg)}
:root[data-theme="2026-11-02-comic-ink"] .ddi-m i{
  background: color-mix(in srgb, var(--fg) 5%, var(--bg));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--fg) 22%, transparent);
}
:root[data-theme="2026-11-02-comic-ink"] .ddi-m i.on{
  background: var(--c, var(--fg));
  box-shadow: 2px 2px 0 color-mix(in srgb, var(--fg) 40%, transparent);
}
:root[data-theme="2026-11-02-comic-ink"] .ddi-m i.on.hollow{
  background: transparent;
  box-shadow: inset 0 0 0 2px var(--c, var(--fg));
}
:root[data-theme="2026-11-02-comic-ink"] .acts button{
  border: 2px solid var(--fg);
  border-radius: 10px 10px 10px 2px;
  background: var(--card);
  box-shadow: 2px 2px 0 var(--fg);
}
:root[data-theme="2026-11-02-comic-ink"] .tools{
  border: 2px solid var(--fg);
  border-radius: 12px 12px 12px 3px;
  background: var(--card);
  box-shadow: 2px 2px 0 var(--fg);
}
:root[data-theme="2026-11-02-comic-ink"] .tools button,
:root[data-theme="2026-11-02-comic-ink"] .tools a.solo{border-radius: 8px 8px 8px 2px}
:root[data-theme="2026-11-02-comic-ink"] .bmark{
  border: 3px solid var(--fg);
  border-radius: 12px;
  background: var(--card);
  box-shadow: 3px 3px 0 var(--fg);
}
:root[data-theme="2026-11-02-comic-ink"] .arch .day{
  border: 3px solid var(--fg);
  border-radius: 12px;
  box-shadow: 4px 4px 0 var(--fg);
}
:root[data-theme="2026-11-02-comic-ink"] .arch .day:hover{box-shadow: 6px 6px 0 var(--fg)}
:root[data-theme="2026-11-02-comic-ink"] .fr-bar > button{
  border: 2px solid var(--fg);
  border-radius: 12px 12px 12px 3px;
  background: var(--card);
  box-shadow: 2px 2px 0 var(--fg);
  font-weight: 800;
}
:root[data-theme="2026-11-02-comic-ink"] footer{border-top: 3px solid var(--fg); margin: 0 28px}
/* focusrow paints its own centre-card shadow after themes.css; restyle that shadow only (no transform/filter). */
html[data-ix-browse=focusrow]:root[data-theme="2026-11-02-comic-ink"]:not(.fr-list) main.grid.frow > .card[data-fr=c]{
  box-shadow: 5px 5px 0 var(--fg);
}
html[data-ix-browse=focusrow]:root[data-theme="2026-11-02-comic-ink"]:not(.fr-list) main.grid.frow > .card[data-fr=c]:hover,
html[data-ix-browse=focusrow]:root[data-theme="2026-11-02-comic-ink"]:not(.fr-list) main.grid.frow > .card[data-fr=c]:focus-within{
  box-shadow: 6px 6px 0 var(--fg), calc(var(--ix-sdx, 0) * 8px) calc(var(--ix-sdy, 0) * 8px) 0 color-mix(in srgb, var(--fg) 35%, transparent);
}
html[data-ix-browse=focusrow]:root[data-theme="2026-11-02-comic-ink"]:not(.fr-list) main.grid.frow > .card[data-fr-peek]{
  box-shadow: 4px 4px 0 var(--fg);
}
html[data-ix-browse=focusrow]:root[data-theme="2026-11-02-comic-ink"]:not(.fr-list) main.grid.frow > .bmark{
  border: 3px solid var(--fg);
  border-radius: 14px;
  background: var(--card);
  box-shadow: 3px 3px 0 var(--fg);
}
html[data-ix-browse=focusrow]:root[data-theme="2026-11-02-comic-ink"] .scn .rrow > .rpart{
  border: 3px solid var(--fg);
  border-radius: 12px;
  box-shadow: 4px 4px 0 var(--fg);
}
html[data-ix-browse=focusrow]:root[data-theme="2026-11-02-comic-ink"] .scn .rrow > .rslide[data-fr=c].rpart{
  box-shadow: 5px 5px 0 var(--fg);
}
@media (max-width: 760px){
  :root[data-theme="2026-11-02-comic-ink"] .grid{gap: 12px; width: calc(100% - 28px)}
  :root[data-theme="2026-11-02-comic-ink"] .remix{box-shadow: 4px 4px 0 var(--fg)}
  :root[data-theme="2026-11-02-comic-ink"] footer{margin: 0 14px}
}
@media (prefers-reduced-motion: reduce){
  :root[data-theme="2026-11-02-comic-ink"] .card,
  :root[data-theme="2026-11-02-comic-ink"] .grid > .card{transition: none}
}
html.dd-rm:root[data-theme="2026-11-02-comic-ink"] .card,
html.dd-rm:root[data-theme="2026-11-02-comic-ink"] .grid > .card{transition: none}
