:root { color-scheme: dark; --palette-bg:#102620; --palette-card:#173028; --palette-ink:#f5efda; --palette-muted:#bdcbbd; --palette-accent:#b5d1b8; --palette-highlight:#dfc3a1; --palette-line:#71826677; --palette-action:#d7c9aa; --palette-action-ink:#1c342a; }
body, body::before, header, .profile-note, .card, .info-grid article, .contact, .filters button, .toc a, .next, details, dialog, .awards p, .experience-list article { transition: background-color .25s ease, color .25s ease, border-color .25s ease; }
.theme-dock { position:fixed; z-index:20; left:12px; top:50%; transform:translateY(-50%); display:flex; flex-direction:column; align-items:center; gap:9px; padding:11px 8px; border:1px solid #9ba58a66; border-radius:24px; background:#112820eF; box-shadow:0 8px 24px #0003; backdrop-filter:blur(12px); }
.theme-dock-title { writing-mode:vertical-rl; color:#e7dfc6; font-size:10px; letter-spacing:.12em; margin:2px 0 4px; }
.theme-dock button { position:relative; display:grid; place-items:center; width:32px; height:32px; padding:0; border:1px solid #b7c1a455; border-radius:50%; background:transparent; cursor:pointer; }
.theme-dock button i { display:block; width:21px; height:21px; border-radius:50%; background:var(--swatch); border:3px solid var(--swatch-accent); box-shadow:inset 0 0 0 1px #ffffff33; }
.theme-dock button[aria-pressed="true"] { border-color:#eee8cf; box-shadow:0 0 0 2px #eee8cf33; }
.theme-dock button:hover::after, .theme-dock button:focus-visible::after { content:attr(title); position:absolute; left:42px; top:50%; transform:translateY(-50%); white-space:nowrap; padding:6px 9px; border-radius:6px; background:#102620; border:1px solid #718266; color:#f5efda; font-size:11px; pointer-events:none; }
body[data-palette="paper"] { color-scheme:light; --palette-bg:#f0eee5; --palette-card:#fbfaf5; --palette-ink:#25362f; --palette-muted:#596960; --palette-accent:#527e6b; --palette-highlight:#987451; --palette-line:#c9cbbd; --palette-action:#527e6b; --palette-action-ink:#fffaf0; color:var(--palette-ink); background:radial-gradient(ellipse at 88% 2%,#dce8dc 0,transparent 38%),var(--palette-bg); }
body[data-palette="paper"]::before { opacity:.10; }
body[data-palette="paper"] header { border-color:var(--palette-line); }
body[data-palette="paper"] .brand, body[data-palette="paper"] .resume-hero h1, body[data-palette="paper"] .section-head h2, body[data-palette="paper"] .card-body h2, body[data-palette="paper"] .contact h2 { color:var(--palette-ink); }
body[data-palette="paper"] .brand small, body[data-palette="paper"] .name-en, body[data-palette="paper"] .main-nav, body[data-palette="paper"] footer { color:var(--palette-muted); }
body[data-palette="paper"] .label, body[data-palette="paper"] .section-head>.label { color:#7c684d; }
body[data-palette="paper"] .main-nav a:hover, body[data-palette="paper"] .text-link, body[data-palette="paper"] .back, body[data-palette="paper"] .nav, body[data-palette="paper"] .awards b, body[data-palette="paper"] .contact a { color:var(--palette-accent); }
body[data-palette="paper"] .resume-hero h1 span, body[data-palette="paper"] h1 em { color:#4b755f; }
body[data-palette="paper"] .resume-hero::after { color:#987451; }
body[data-palette="paper"] .profile-note, body[data-palette="paper"] .card, body[data-palette="paper"] .info-grid article, body[data-palette="paper"] .contact, body[data-palette="paper"] dialog { background:#fbfaf5; border-color:var(--palette-line); color:var(--palette-ink); box-shadow:0 8px 26px #364b3510; }
body[data-palette="paper"] .stats { border-color:var(--palette-line); }
body[data-palette="paper"] .stats strong { color:#3d6d55; }
body[data-palette="paper"] .stats span, body[data-palette="paper"] .profile-note p, body[data-palette="paper"] .card-body p:not(.label), body[data-palette="paper"] .experience-list article>p:not(.role), body[data-palette="paper"] .info-grid article>p:not(.label):not(.role), body[data-palette="paper"] .awards time { color:var(--palette-muted); }
body[data-palette="paper"] .section-head, body[data-palette="paper"] .experience-list article, body[data-palette="paper"] .awards p, body[data-palette="paper"] footer { border-color:var(--palette-line); }
body[data-palette="paper"] .card, body[data-palette="paper"] .project-grid>.card { background:#fbfaf5; border-color:var(--palette-line); }
body[data-palette="paper"] .card:hover { border-color:#6c9478; }
body[data-palette="paper"] .cover, body[data-palette="paper"] .project-grid .cover { background:linear-gradient(135deg,#e6ebde,#cbd8ca); }
body[data-palette="paper"] .cover.wardrobe { background:linear-gradient(135deg,#eee5d6,#d9dfd1); }
body[data-palette="paper"] .cover span { color:#334b3c; }
body[data-palette="paper"] .card .arrow, body[data-palette="paper"] .hero-actions a:first-child, body[data-palette="paper"] .resume-entry, body[data-palette="paper"] .filters button[aria-pressed="true"], body[data-palette="paper"] dialog button { background:#527e6b; border-color:#527e6b; color:#fffaf0; }
body[data-palette="paper"] .filters button { background:#f8f7f0; border-color:var(--palette-line); color:var(--palette-muted); }
body[data-palette="paper"] .role, body[data-palette="paper"] .experience-role { color:#6b8d74 !important; }
body[data-palette="paper"] .toc a { background:#e7ede4; border-color:#c8d5c7; color:#355c47; }
body[data-palette="paper"] .next { background:#527e6b; color:#fffaf0; }
body[data-palette="paper"] .zoom { background:#fbfaf5; border-color:var(--palette-line); }
body[data-palette="paper"] details { background:#fbfaf5; border-color:var(--palette-line); }
body[data-palette="paper"] summary { color:#3d6d55; }
body[data-palette="paper"] .contact { background:linear-gradient(110deg,#e5ede3,#f5f0e5); }
body[data-palette="paper"] .theme-dock { background:#f8f5ebed; border-color:#bcc7b7; }
body[data-palette="paper"] .theme-dock-title { color:#425c4b; }
body[data-palette="paper"] .theme-dock button { border-color:#87998a; }
body[data-palette="paper"] .theme-dock button[aria-pressed="true"] { border-color:#527e6b; box-shadow:0 0 0 2px #527e6b33; }
body[data-palette="paper"] .theme-dock button:hover::after, body[data-palette="paper"] .theme-dock button:focus-visible::after { background:#fbfaf5; border-color:#87998a; color:#25362f; }
body[data-palette="ocean"] { --palette-bg:#14232f; --palette-card:#1d3341; --palette-ink:#edf3ef; --palette-muted:#b9c9cb; --palette-accent:#92c4d0; --palette-highlight:#e0c9a7; --palette-line:#66808b88; --palette-action:#d6e4df; --palette-action-ink:#19313a; color:var(--palette-ink); background:radial-gradient(ellipse at 82% 5%,#24455388,transparent 43%),#14232f; }
body[data-palette="ocean"]::before { opacity:.14; filter:hue-rotate(24deg); }
body[data-palette="ocean"] header, body[data-palette="ocean"] .section-head, body[data-palette="ocean"] .experience-list article, body[data-palette="ocean"] .awards p, body[data-palette="ocean"] footer { border-color:#66808b66; }
body[data-palette="ocean"] .brand, body[data-palette="ocean"] .resume-hero h1, body[data-palette="ocean"] .section-head h2, body[data-palette="ocean"] .card-body h2, body[data-palette="ocean"] .contact h2 { color:#edf3ef; }
body[data-palette="ocean"] .brand small, body[data-palette="ocean"] .name-en, body[data-palette="ocean"] .main-nav, body[data-palette="ocean"] footer, body[data-palette="ocean"] .profile-note p, body[data-palette="ocean"] .stats span, body[data-palette="ocean"] .card-body p:not(.label), body[data-palette="ocean"] .experience-list article>p:not(.role), body[data-palette="ocean"] .info-grid article>p:not(.label):not(.role), body[data-palette="ocean"] .awards time { color:#b9c9cb; }
body[data-palette="ocean"] .label, body[data-palette="ocean"] .section-head>.label { color:#c9d9c9; }
body[data-palette="ocean"] .main-nav a:hover, body[data-palette="ocean"] .text-link, body[data-palette="ocean"] .back, body[data-palette="ocean"] .nav, body[data-palette="ocean"] .awards b, body[data-palette="ocean"] .contact a { color:#a5d4dd; }
body[data-palette="ocean"] .resume-hero h1 span, body[data-palette="ocean"] h1 em { color:#c8d9c7; }
body[data-palette="ocean"] .profile-note, body[data-palette="ocean"] .card, body[data-palette="ocean"] .project-grid>.card, body[data-palette="ocean"] .info-grid article, body[data-palette="ocean"] .contact, body[data-palette="ocean"] dialog { background:#1d3341; border-color:#66808b88; color:#edf3ef; }
body[data-palette="ocean"] .stats { border-color:#66808b66; }
body[data-palette="ocean"] .stats strong { color:#e5e4ca; }
body[data-palette="ocean"] .cover, body[data-palette="ocean"] .project-grid .cover { background:linear-gradient(135deg,#dce5de,#b8c9c6); }
body[data-palette="ocean"] .cover span { color:#334b4e; }
body[data-palette="ocean"] .card .arrow, body[data-palette="ocean"] .hero-actions a:first-child, body[data-palette="ocean"] .resume-entry, body[data-palette="ocean"] .filters button[aria-pressed="true"], body[data-palette="ocean"] dialog button { background:#d6e4df; border-color:#d6e4df; color:#19313a; }
body[data-palette="ocean"] .filters button { background:#1b303b; border-color:#66808b88; color:#c9d7d4; }
body[data-palette="ocean"] .role, body[data-palette="ocean"] .experience-role { color:#b8d2d1 !important; }
body[data-palette="ocean"] .toc a { background:#243d49; border-color:#66808b88; color:#d5e5e0; }
body[data-palette="ocean"] .next { background:#d6e4df; color:#19313a; }
body[data-palette="ocean"] .zoom { background:#e5ebe3; border-color:#81969a; }
body[data-palette="ocean"] details { background:#1d3341; border-color:#66808b; }
body[data-palette="ocean"] summary { color:#c7e0dc; }
body[data-palette="ocean"] .contact { background:linear-gradient(110deg,#244352,#1a3039); }
body[data-palette="copper"] { --palette-bg:#1d211f; --palette-card:#292d29; --palette-ink:#f1ebdf; --palette-muted:#c5c1b5; --palette-accent:#d5a875; --palette-highlight:#e5c997; --palette-line:#77746688; --palette-action:#d5a875; --palette-action-ink:#28241d; color:var(--palette-ink); background:radial-gradient(ellipse at 86% 0,#4b433588,transparent 42%),#1d211f; }
body[data-palette="copper"]::before { opacity:.13; filter:sepia(.28); }
body[data-palette="copper"] header, body[data-palette="copper"] .section-head, body[data-palette="copper"] .experience-list article, body[data-palette="copper"] .awards p, body[data-palette="copper"] footer { border-color:#77746666; }
body[data-palette="copper"] .brand, body[data-palette="copper"] .resume-hero h1, body[data-palette="copper"] .section-head h2, body[data-palette="copper"] .card-body h2, body[data-palette="copper"] .contact h2 { color:#f1ebdf; }
body[data-palette="copper"] .brand small, body[data-palette="copper"] .name-en, body[data-palette="copper"] .main-nav, body[data-palette="copper"] footer, body[data-palette="copper"] .profile-note p, body[data-palette="copper"] .stats span, body[data-palette="copper"] .card-body p:not(.label), body[data-palette="copper"] .experience-list article>p:not(.role), body[data-palette="copper"] .info-grid article>p:not(.label):not(.role), body[data-palette="copper"] .awards time { color:#c5c1b5; }
body[data-palette="copper"] .label, body[data-palette="copper"] .section-head>.label { color:#ddc59d; }
body[data-palette="copper"] .main-nav a:hover, body[data-palette="copper"] .text-link, body[data-palette="copper"] .back, body[data-palette="copper"] .nav, body[data-palette="copper"] .awards b, body[data-palette="copper"] .contact a { color:#e1b984; }
body[data-palette="copper"] .resume-hero h1 span, body[data-palette="copper"] h1 em { color:#d9c9a6; }
body[data-palette="copper"] .profile-note, body[data-palette="copper"] .card, body[data-palette="copper"] .project-grid>.card, body[data-palette="copper"] .info-grid article, body[data-palette="copper"] .contact, body[data-palette="copper"] dialog { background:#292d29; border-color:#77746688; color:#f1ebdf; }
body[data-palette="copper"] .stats { border-color:#77746666; }
body[data-palette="copper"] .stats strong { color:#e5c997; }
body[data-palette="copper"] .cover, body[data-palette="copper"] .project-grid .cover { background:linear-gradient(135deg,#dddccc,#c5c6b7); }
body[data-palette="copper"] .cover span { color:#493f30; }
body[data-palette="copper"] .card .arrow, body[data-palette="copper"] .hero-actions a:first-child, body[data-palette="copper"] .resume-entry, body[data-palette="copper"] .filters button[aria-pressed="true"], body[data-palette="copper"] dialog button { background:#d5a875; border-color:#d5a875; color:#28241d; }
body[data-palette="copper"] .filters button { background:#292d29; border-color:#77746688; color:#d0cbbb; }
body[data-palette="copper"] .role, body[data-palette="copper"] .experience-role { color:#e0bd8d !important; }
body[data-palette="copper"] .toc a { background:#343831; border-color:#77746688; color:#e8d4b4; }
body[data-palette="copper"] .next { background:#d5a875; color:#28241d; }
body[data-palette="copper"] .zoom { background:#e6e2d3; border-color:#898573; }
body[data-palette="copper"] details { background:#292d29; border-color:#777466; }
body[data-palette="copper"] summary { color:#e5c997; }
body[data-palette="copper"] .contact { background:linear-gradient(110deg,#36342c,#282d28); }
body[data-palette="copper"] .theme-dock { background:#1d211fee; }
body[data-palette="paper"] dialog::backdrop { background:#1a281dcc; }
body[data-palette="ocean"] dialog::backdrop { background:#0c1a24e8; }
body[data-palette="copper"] dialog::backdrop { background:#121311e8; }
@media(max-width:760px) { .theme-dock { top:auto; bottom:12px; left:50%; transform:translateX(-50%); flex-direction:row; gap:8px; padding:8px 10px; } .theme-dock-title { writing-mode:horizontal-tb; margin:0 3px 0 0; } .theme-dock button:hover::after,.theme-dock button:focus-visible::after { left:50%; top:auto; bottom:42px; transform:translateX(-50%); } }
@media(prefers-reduced-motion:reduce) { body,body::before,header,.profile-note,.card,.info-grid article,.contact,.filters button,.toc a,.next,details,dialog,.awards p,.experience-list article { transition:none; } }
@media (max-width:900px) and (min-width:761px) { .theme-dock { top:auto; bottom:14px; left:50%; transform:translateX(-50%); flex-direction:row; gap:8px; } .theme-dock-title { writing-mode:horizontal-tb; margin:0 3px 0 0; } .theme-dock button:hover::after,.theme-dock button:focus-visible::after { left:50%; top:auto; bottom:42px; transform:translateX(-50%); } }

/* Three additional palettes drawn from the supplied black, blossom and seal references. */
.theme-dock { max-height:calc(100dvh - 28px); overflow:auto; scrollbar-width:thin; }
body[data-palette="ink"] { --palette-bg:#202326; --palette-card:#2b3032; --palette-ink:#edf0ef; --palette-muted:#bdc4c5; --palette-accent:#a8bec2; --palette-highlight:#c5c1b5; --palette-line:#6a737588; --palette-action:#d7dddc; --palette-action-ink:#303638; color:var(--palette-ink); background:radial-gradient(ellipse at 84% 4%,#3e4b5088,transparent 43%),#202326; }
body[data-palette="ink"]::before { opacity:.11; filter:grayscale(1); }
body[data-palette="ink"] header, body[data-palette="ink"] .section-head, body[data-palette="ink"] .experience-list article, body[data-palette="ink"] .awards p, body[data-palette="ink"] footer { border-color:#6a737566; }
body[data-palette="ink"] .brand, body[data-palette="ink"] .resume-hero h1, body[data-palette="ink"] .section-head h2, body[data-palette="ink"] .card-body h2, body[data-palette="ink"] .contact h2 { color:#edf0ef; }
body[data-palette="ink"] .brand small, body[data-palette="ink"] .name-en, body[data-palette="ink"] .main-nav, body[data-palette="ink"] footer, body[data-palette="ink"] .profile-note p, body[data-palette="ink"] .stats span, body[data-palette="ink"] .card-body p:not(.label), body[data-palette="ink"] .experience-list article>p:not(.role), body[data-palette="ink"] .info-grid article>p:not(.label):not(.role), body[data-palette="ink"] .awards time { color:#bdc4c5; }
body[data-palette="ink"] .label, body[data-palette="ink"] .section-head>.label { color:#c6d0cd; }
body[data-palette="ink"] .main-nav a:hover, body[data-palette="ink"] .text-link, body[data-palette="ink"] .back, body[data-palette="ink"] .nav, body[data-palette="ink"] .awards b, body[data-palette="ink"] .contact a { color:#b0c7c9; }
body[data-palette="ink"] .resume-hero h1 span, body[data-palette="ink"] h1 em { color:#c7d1c5; }
body[data-palette="ink"] .resume-hero::after, body[data-palette="ink"] .stats strong { color:#d5d4cb; }
body[data-palette="ink"] .profile-note, body[data-palette="ink"] .card, body[data-palette="ink"] .project-grid>.card, body[data-palette="ink"] .info-grid article, body[data-palette="ink"] .contact, body[data-palette="ink"] dialog { background:#2b3032; border-color:#6a737588; color:#edf0ef; }
body[data-palette="ink"] .stats { border-color:#6a737566; }
body[data-palette="ink"] .cover, body[data-palette="ink"] .project-grid .cover { background:linear-gradient(135deg,#d9ddd6,#bfc8c4); }
body[data-palette="ink"] .cover span { color:#384346; }
body[data-palette="ink"] .card .arrow, body[data-palette="ink"] .hero-actions a:first-child, body[data-palette="ink"] .resume-entry, body[data-palette="ink"] .filters button[aria-pressed="true"], body[data-palette="ink"] dialog button { background:#d7dddc; border-color:#d7dddc; color:#303638; }
body[data-palette="ink"] .filters button { background:#2b3032; border-color:#6a737588; color:#ccd1d0; }
body[data-palette="ink"] .role, body[data-palette="ink"] .experience-role { color:#c4ccca !important; }
body[data-palette="ink"] .toc a { background:#384144; border-color:#78848888; color:#e0e5e3; }
body[data-palette="ink"] .next { background:#d7dddc; color:#303638; }
body[data-palette="ink"] .zoom { background:#dfe2da; border-color:#7f8a89; }
body[data-palette="ink"] details { background:#2b3032; border-color:#6a7375; }
body[data-palette="ink"] summary { color:#cdd8d7; }
body[data-palette="ink"] .contact { background:linear-gradient(110deg,#323b3d,#292f32); }
body[data-palette="ink"] .theme-dock { background:#202326ee; }
body[data-palette="blossom"] { color-scheme:light; --palette-bg:#fbf5f3; --palette-card:#fffaf8; --palette-ink:#493c3e; --palette-muted:#74666b; --palette-accent:#b7767d; --palette-highlight:#8a6a5d; --palette-line:#ead8d5; --palette-action:#e7a0a5; --palette-action-ink:#493c3e; color:var(--palette-ink); background:radial-gradient(ellipse at 5% 4%,#f6e3e6 0,transparent 38%),radial-gradient(ellipse at 92% 90%,#e3eee7 0,transparent 30%),#fbf5f3; }
body[data-palette="blossom"]::before { opacity:.08; }
body[data-palette="blossom"] header, body[data-palette="blossom"] .section-head, body[data-palette="blossom"] .experience-list article, body[data-palette="blossom"] .awards p, body[data-palette="blossom"] footer { border-color:#ead8d5; }
body[data-palette="blossom"] .brand, body[data-palette="blossom"] .resume-hero h1, body[data-palette="blossom"] .section-head h2, body[data-palette="blossom"] .card-body h2, body[data-palette="blossom"] .contact h2 { color:#493c3e; }
body[data-palette="blossom"] .brand small, body[data-palette="blossom"] .name-en, body[data-palette="blossom"] .main-nav, body[data-palette="blossom"] footer, body[data-palette="blossom"] .profile-note p, body[data-palette="blossom"] .stats span, body[data-palette="blossom"] .card-body p:not(.label), body[data-palette="blossom"] .experience-list article>p:not(.role), body[data-palette="blossom"] .info-grid article>p:not(.label):not(.role), body[data-palette="blossom"] .awards time { color:#74666b; }
body[data-palette="blossom"] .label, body[data-palette="blossom"] .section-head>.label { color:#856c62; }
body[data-palette="blossom"] .main-nav a:hover, body[data-palette="blossom"] .text-link, body[data-palette="blossom"] .back, body[data-palette="blossom"] .nav, body[data-palette="blossom"] .awards b, body[data-palette="blossom"] .contact a { color:#aa6973; }
body[data-palette="blossom"] .resume-hero h1 span, body[data-palette="blossom"] h1 em { color:#718f80; }
body[data-palette="blossom"] .resume-hero::after, body[data-palette="blossom"] .stats strong { color:#745b5e; }
body[data-palette="blossom"] .profile-note, body[data-palette="blossom"] .card, body[data-palette="blossom"] .project-grid>.card, body[data-palette="blossom"] .info-grid article, body[data-palette="blossom"] .contact, body[data-palette="blossom"] dialog { background:#fffaf8; border-color:#ead8d5; color:#493c3e; box-shadow:0 8px 26px #76596210; }
body[data-palette="blossom"] .profile-note { background:linear-gradient(145deg,#f7e7e7,#fffaf8 70%,#e8f0e8); }
body[data-palette="blossom"] .stats { border-color:#ead8d5; }
body[data-palette="blossom"] .cover, body[data-palette="blossom"] .project-grid .cover { background:linear-gradient(135deg,#f7e9e6,#dfe9df); }
body[data-palette="blossom"] .cover.wardrobe { background:linear-gradient(135deg,#f6e4e3,#eadbd2); }
body[data-palette="blossom"] .cover span { color:#66575a; }
body[data-palette="blossom"] .card .arrow, body[data-palette="blossom"] .hero-actions a:first-child, body[data-palette="blossom"] .resume-entry, body[data-palette="blossom"] .filters button[aria-pressed="true"], body[data-palette="blossom"] dialog button { background:#e7a0a5; border-color:#e7a0a5; color:#493c3e; }
body[data-palette="blossom"] .filters button { background:#fffaf8; border-color:#ead8d5; color:#74666b; }
body[data-palette="blossom"] .role, body[data-palette="blossom"] .experience-role { color:#a86670 !important; }
body[data-palette="blossom"] .toc a { background:#f7e8e8; border-color:#ead1d1; color:#78585e; }
body[data-palette="blossom"] .next { background:linear-gradient(110deg,#e7a0a5,#c9d9cc); color:#493c3e; }
body[data-palette="blossom"] .zoom { background:#fffaf8; border-color:#ead8d5; }
body[data-palette="blossom"] details { background:#fffaf8; border-color:#ead8d5; }
body[data-palette="blossom"] summary { color:#a86670; }
body[data-palette="blossom"] .contact { background:linear-gradient(110deg,#f5e4e5,#e8efe7); }
body[data-palette="blossom"] .theme-dock { background:#fffaf8ed; border-color:#e3cbd0; }
body[data-palette="blossom"] .theme-dock-title { color:#71575c; }
body[data-palette="blossom"] .theme-dock button { border-color:#c79da3; }
body[data-palette="blossom"] .theme-dock button[aria-pressed="true"] { border-color:#b7767d; box-shadow:0 0 0 2px #b7767d33; }
body[data-palette="blossom"] .theme-dock button:hover::after, body[data-palette="blossom"] .theme-dock button:focus-visible::after { background:#fffaf8; border-color:#d8bdc1; color:#493c3e; }
body[data-palette="nightblossom"] { --palette-bg:#272426; --palette-card:#332e31; --palette-ink:#f6eee8; --palette-muted:#cfc2c5; --palette-accent:#e7a0b5; --palette-highlight:#dfc5ae; --palette-line:#8d777d88; --palette-action:#e7a0b5; --palette-action-ink:#3d3036; color:var(--palette-ink); background:radial-gradient(ellipse at 85% 4%,#49383f88,transparent 42%),#272426; }
body[data-palette="nightblossom"]::before { opacity:.13; filter:sepia(.18) hue-rotate(300deg); }
body[data-palette="nightblossom"] header, body[data-palette="nightblossom"] .section-head, body[data-palette="nightblossom"] .experience-list article, body[data-palette="nightblossom"] .awards p, body[data-palette="nightblossom"] footer { border-color:#8d777d66; }
body[data-palette="nightblossom"] .brand, body[data-palette="nightblossom"] .resume-hero h1, body[data-palette="nightblossom"] .section-head h2, body[data-palette="nightblossom"] .card-body h2, body[data-palette="nightblossom"] .contact h2 { color:#f6eee8; }
body[data-palette="nightblossom"] .brand small, body[data-palette="nightblossom"] .name-en, body[data-palette="nightblossom"] .main-nav, body[data-palette="nightblossom"] footer, body[data-palette="nightblossom"] .profile-note p, body[data-palette="nightblossom"] .stats span, body[data-palette="nightblossom"] .card-body p:not(.label), body[data-palette="nightblossom"] .experience-list article>p:not(.role), body[data-palette="nightblossom"] .info-grid article>p:not(.label):not(.role), body[data-palette="nightblossom"] .awards time { color:#cfc2c5; }
body[data-palette="nightblossom"] .label, body[data-palette="nightblossom"] .section-head>.label { color:#e1c4be; }
body[data-palette="nightblossom"] .main-nav a:hover, body[data-palette="nightblossom"] .text-link, body[data-palette="nightblossom"] .back, body[data-palette="nightblossom"] .nav, body[data-palette="nightblossom"] .awards b, body[data-palette="nightblossom"] .contact a { color:#f0b2c2; }
body[data-palette="nightblossom"] .resume-hero h1 span, body[data-palette="nightblossom"] h1 em { color:#e8d4c3; }
body[data-palette="nightblossom"] .profile-note, body[data-palette="nightblossom"] .card, body[data-palette="nightblossom"] .project-grid>.card, body[data-palette="nightblossom"] .info-grid article, body[data-palette="nightblossom"] .contact, body[data-palette="nightblossom"] dialog { background:#332e31; border-color:#8d777d88; color:#f6eee8; }
body[data-palette="nightblossom"] .stats { border-color:#8d777d66; }
body[data-palette="nightblossom"] .stats strong { color:#f0d8d4; }
body[data-palette="nightblossom"] .cover, body[data-palette="nightblossom"] .project-grid .cover { background:linear-gradient(135deg,#e4d9d3,#c9d4c9); }
body[data-palette="nightblossom"] .cover span { color:#493f42; }
body[data-palette="nightblossom"] .card .arrow, body[data-palette="nightblossom"] .hero-actions a:first-child, body[data-palette="nightblossom"] .resume-entry, body[data-palette="nightblossom"] .filters button[aria-pressed="true"], body[data-palette="nightblossom"] dialog button { background:#e7a0b5; border-color:#e7a0b5; color:#3d3036; }
body[data-palette="nightblossom"] .filters button { background:#332e31; border-color:#8d777d88; color:#d6c9ca; }
body[data-palette="nightblossom"] .role, body[data-palette="nightblossom"] .experience-role { color:#f0b2c2 !important; }
body[data-palette="nightblossom"] .toc a { background:#44373d; border-color:#8d777d88; color:#f1d9dd; }
body[data-palette="nightblossom"] .next { background:#e7a0b5; color:#3d3036; }
body[data-palette="nightblossom"] .zoom { background:#e6dedb; border-color:#8d777d; }
body[data-palette="nightblossom"] details { background:#332e31; border-color:#8d777d; }
body[data-palette="nightblossom"] summary { color:#f0b2c2; }
body[data-palette="nightblossom"] .contact { background:linear-gradient(110deg,#49383f,#303633); }
body[data-palette="nightblossom"] .theme-dock { background:#272426ed; }
body[data-palette="ink"] dialog::backdrop { background:#101315e8; }
body[data-palette="blossom"] dialog::backdrop { background:#4c3439cc; }
body[data-palette="nightblossom"] dialog::backdrop { background:#1a1116e8; }
@media(max-width:900px) { .theme-dock { overflow-x:auto; overflow-y:hidden; max-width:calc(100vw - 20px); } }
