/* Shared palettes for logo 31. html[data-palette] maps one palette onto both o2 and o3 token sets. */
html[data-palette="p1"]{--sun:#F26B21;--paper:color-mix(in oklab, #C2410C 7%, #ffffff);--wash:color-mix(in oklab,#C2410C 11%,#fff);--wash-2:color-mix(in oklab,#C2410C 15%,#fff);--ink:#111111;--ink-2:#44464B;--ink-3:color-mix(in oklab,#6B6E75 70%,#111111);--line:color-mix(in oklab, #C2410C 16%, #E6E6E3);--line-2:color-mix(in oklab, #C2410C 22%, #C9C9C4);--acc:color-mix(in oklab,#C2410C 88%,black);--acc-deep:color-mix(in oklab, #C2410C 82%, black);--acc-tint:color-mix(in oklab, #C2410C 9%, #FFFFFF);--on-acc:#fff;--bg:color-mix(in oklab, #C2410C 7%, #ffffff);--panel:#fff;--panel-head:color-mix(in oklab,#C2410C 4%,#fff);--sunken:color-mix(in oklab,#C2410C 10%,#fff);--line-strong:color-mix(in oklab, #C2410C 22%, #C9C9C4);--accent:color-mix(in oklab,#C2410C 88%,black);--accent-ink:color-mix(in oklab, #C2410C 82%, black);--accent-soft:color-mix(in oklab, #C2410C 9%, #FFFFFF);--accent-line:color-mix(in oklab,#C2410C 45%,#FFFFFF);--on-accent:#fff}
html[data-palette="p2"]{--sun:#F26B21;--paper:color-mix(in oklab, #1D4ED8 7%, #ffffff);--wash:color-mix(in oklab,#1D4ED8 11%,#fff);--wash-2:color-mix(in oklab,#1D4ED8 15%,#fff);--ink:#12151C;--ink-2:#4A5160;--ink-3:color-mix(in oklab,#6E7480 70%,#12151C);--line:color-mix(in oklab, #1D4ED8 16%, #E2E5EA);--line-2:color-mix(in oklab, #1D4ED8 22%, #C6CBD3);--acc:color-mix(in oklab,#1D4ED8 88%,black);--acc-deep:color-mix(in oklab, #1D4ED8 82%, black);--acc-tint:color-mix(in oklab, #1D4ED8 9%, #FFFFFF);--on-acc:#fff;--bg:color-mix(in oklab, #1D4ED8 7%, #ffffff);--panel:#fff;--panel-head:color-mix(in oklab,#1D4ED8 4%,#fff);--sunken:color-mix(in oklab,#1D4ED8 10%,#fff);--line-strong:color-mix(in oklab, #1D4ED8 22%, #C6CBD3);--accent:color-mix(in oklab,#1D4ED8 88%,black);--accent-ink:color-mix(in oklab, #1D4ED8 82%, black);--accent-soft:color-mix(in oklab, #1D4ED8 9%, #FFFFFF);--accent-line:color-mix(in oklab,#1D4ED8 45%,#FFFFFF);--on-accent:#fff}
html[data-palette="p3"]{--sun:#F26B21;--paper:color-mix(in oklab, #0B7285 7%, #ffffff);--wash:color-mix(in oklab,#0B7285 11%,#fff);--wash-2:color-mix(in oklab,#0B7285 15%,#fff);--ink:#0F1B2D;--ink-2:#3D4A5C;--ink-3:color-mix(in oklab,#66727F 70%,#0F1B2D);--line:color-mix(in oklab, #0B7285 16%, #DDE3E8);--line-2:color-mix(in oklab, #0B7285 22%, #BFC9D1);--acc:color-mix(in oklab,#0B7285 88%,black);--acc-deep:color-mix(in oklab, #0B7285 82%, black);--acc-tint:color-mix(in oklab, #0B7285 9%, #FFFFFF);--on-acc:#fff;--bg:color-mix(in oklab, #0B7285 7%, #ffffff);--panel:#fff;--panel-head:color-mix(in oklab,#0B7285 4%,#fff);--sunken:color-mix(in oklab,#0B7285 10%,#fff);--line-strong:color-mix(in oklab, #0B7285 22%, #BFC9D1);--accent:color-mix(in oklab,#0B7285 88%,black);--accent-ink:color-mix(in oklab, #0B7285 82%, black);--accent-soft:color-mix(in oklab, #0B7285 9%, #FFFFFF);--accent-line:color-mix(in oklab,#0B7285 45%,#FFFFFF);--on-accent:#fff}
html[data-palette="p4"]{--sun:#F26B21;--paper:color-mix(in oklab, #6D28D9 7%, #ffffff);--wash:color-mix(in oklab,#6D28D9 11%,#fff);--wash-2:color-mix(in oklab,#6D28D9 15%,#fff);--ink:#1E1B2E;--ink-2:#47435A;--ink-3:color-mix(in oklab,#6C6880 70%,#1E1B2E);--line:color-mix(in oklab, #6D28D9 16%, #E4E3EA);--line-2:color-mix(in oklab, #6D28D9 22%, #C9C7D4);--acc:color-mix(in oklab,#6D28D9 88%,black);--acc-deep:color-mix(in oklab, #6D28D9 82%, black);--acc-tint:color-mix(in oklab, #6D28D9 9%, #FFFFFF);--on-acc:#fff;--bg:color-mix(in oklab, #6D28D9 7%, #ffffff);--panel:#fff;--panel-head:color-mix(in oklab,#6D28D9 4%,#fff);--sunken:color-mix(in oklab,#6D28D9 10%,#fff);--line-strong:color-mix(in oklab, #6D28D9 22%, #C9C7D4);--accent:color-mix(in oklab,#6D28D9 88%,black);--accent-ink:color-mix(in oklab, #6D28D9 82%, black);--accent-soft:color-mix(in oklab, #6D28D9 9%, #FFFFFF);--accent-line:color-mix(in oklab,#6D28D9 45%,#FFFFFF);--on-accent:#fff}
html[data-palette="p5"]{--sun:#D97706;--paper:color-mix(in oklab, #166534 7%, #ffffff);--wash:color-mix(in oklab,#166534 11%,#fff);--wash-2:color-mix(in oklab,#166534 15%,#fff);--ink:#14211B;--ink-2:#3E4A43;--ink-3:color-mix(in oklab,#67716B 70%,#14211B);--line:color-mix(in oklab, #166534 16%, #E2E4DC);--line-2:color-mix(in oklab, #166534 22%, #C5CABD);--acc:color-mix(in oklab,#166534 88%,black);--acc-deep:color-mix(in oklab, #166534 82%, black);--acc-tint:color-mix(in oklab, #166534 9%, #FFFFFF);--on-acc:#fff;--bg:color-mix(in oklab, #166534 7%, #ffffff);--panel:#fff;--panel-head:color-mix(in oklab,#166534 4%,#fff);--sunken:color-mix(in oklab,#166534 10%,#fff);--line-strong:color-mix(in oklab, #166534 22%, #C5CABD);--accent:color-mix(in oklab,#166534 88%,black);--accent-ink:color-mix(in oklab, #166534 82%, black);--accent-soft:color-mix(in oklab, #166534 9%, #FFFFFF);--accent-line:color-mix(in oklab,#166534 45%,#FFFFFF);--on-accent:#fff}
html[data-palette="p6"]{--sun:#F26B21;--paper:color-mix(in oklab, #0369A1 7%, #ffffff);--wash:color-mix(in oklab,#0369A1 11%,#fff);--wash-2:color-mix(in oklab,#0369A1 15%,#fff);--ink:#0B2533;--ink-2:#37515F;--ink-3:color-mix(in oklab,#5F7682 70%,#0B2533);--line:color-mix(in oklab, #0369A1 16%, #DCE6EB);--line-2:color-mix(in oklab, #0369A1 22%, #BBCDD6);--acc:color-mix(in oklab,#0369A1 88%,black);--acc-deep:color-mix(in oklab, #0369A1 82%, black);--acc-tint:color-mix(in oklab, #0369A1 9%, #FFFFFF);--on-acc:#fff;--bg:color-mix(in oklab, #0369A1 7%, #ffffff);--panel:#fff;--panel-head:color-mix(in oklab,#0369A1 4%,#fff);--sunken:color-mix(in oklab,#0369A1 10%,#fff);--line-strong:color-mix(in oklab, #0369A1 22%, #BBCDD6);--accent:color-mix(in oklab,#0369A1 88%,black);--accent-ink:color-mix(in oklab, #0369A1 82%, black);--accent-soft:color-mix(in oklab, #0369A1 9%, #FFFFFF);--accent-line:color-mix(in oklab,#0369A1 45%,#FFFFFF);--on-accent:#fff}
html[data-palette="p7"]{--sun:#F26B21;--paper:color-mix(in oklab, #B42318 7%, #ffffff);--wash:color-mix(in oklab,#B42318 11%,#fff);--wash-2:color-mix(in oklab,#B42318 15%,#fff);--ink:#1C1414;--ink-2:#4B4040;--ink-3:color-mix(in oklab,#736767 70%,#1C1414);--line:color-mix(in oklab, #B42318 16%, #EAE4E2);--line-2:color-mix(in oklab, #B42318 22%, #D2C8C5);--acc:color-mix(in oklab,#B42318 88%,black);--acc-deep:color-mix(in oklab, #B42318 82%, black);--acc-tint:color-mix(in oklab, #B42318 9%, #FFFFFF);--on-acc:#fff;--bg:color-mix(in oklab, #B42318 7%, #ffffff);--panel:#fff;--panel-head:color-mix(in oklab,#B42318 4%,#fff);--sunken:color-mix(in oklab,#B42318 10%,#fff);--line-strong:color-mix(in oklab, #B42318 22%, #D2C8C5);--accent:color-mix(in oklab,#B42318 88%,black);--accent-ink:color-mix(in oklab, #B42318 82%, black);--accent-soft:color-mix(in oklab, #B42318 9%, #FFFFFF);--accent-line:color-mix(in oklab,#B42318 45%,#FFFFFF);--on-accent:#fff}
html[data-palette="p8"]{--sun:#EA580C;--paper:color-mix(in oklab, #9A3412 7%, #ffffff);--wash:color-mix(in oklab,#9A3412 11%,#fff);--wash-2:color-mix(in oklab,#9A3412 15%,#fff);--ink:#1F1A14;--ink-2:#4D453B;--ink-3:color-mix(in oklab,#776D60 70%,#1F1A14);--line:color-mix(in oklab, #9A3412 16%, #E6DFD2);--line-2:color-mix(in oklab, #9A3412 22%, #CFC5B3);--acc:color-mix(in oklab,#9A3412 88%,black);--acc-deep:color-mix(in oklab, #9A3412 82%, black);--acc-tint:color-mix(in oklab, #9A3412 9%, #FFFDF8);--on-acc:#fff;--bg:color-mix(in oklab, #9A3412 7%, #ffffff);--panel:#fff;--panel-head:color-mix(in oklab,#9A3412 4%,#fff);--sunken:color-mix(in oklab,#9A3412 10%,#fff);--line-strong:color-mix(in oklab, #9A3412 22%, #CFC5B3);--accent:color-mix(in oklab,#9A3412 88%,black);--accent-ink:color-mix(in oklab, #9A3412 82%, black);--accent-soft:color-mix(in oklab, #9A3412 9%, #FFFDF8);--accent-line:color-mix(in oklab,#9A3412 45%,#FFFDF8);--on-accent:#fff}

.b31-head{display:inline-block;height:30px;aspect-ratio:5/1;color:var(--acc,var(--accent,var(--ink)))!important;flex:none;vertical-align:middle}.b31-head svg{display:block;width:100%;height:100%}
a.brand{font-size:0!important;gap:0}a.brand>b{display:none}a.brand>span:not(.b31-head){font-size:13px;margin-left:8px}
.b31-head{display:inline-block;height:30px;aspect-ratio:5/1;color:var(--acc,var(--accent,var(--ink)))!important;flex:none;vertical-align:middle}.b31-head svg{display:block;width:100%;height:100%}
a.brand{font-size:0!important;gap:0}a.brand>b{display:none}a.brand>span:not(.b31-head){font-size:13px;margin-left:8px}
.b31-icon{display:inline-block;width:26px;height:26px;color:var(--ink);flex:none;vertical-align:middle;margin-right:10px}
.b31-icon svg,.b31-word svg{display:block;width:100%;height:auto}
.b31-word{color:var(--ink);width:min(520px,100%);margin:0 0 18px}
.b31-switch{position:fixed;left:12px;bottom:12px;z-index:60;font:500 12px/1.2 ui-monospace,Menlo,monospace;color:var(--ink);
  background:var(--paper,#fff);border:1px solid var(--line-2,#ccc);box-shadow:0 6px 24px rgba(0,0,0,.12);padding:6px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;max-width:calc(100vw - 24px)}
.b31-switch>span{padding:0 6px}
.b31-switch button{width:44px;height:44px;border:1px solid var(--line-2,#ccc);background:none;padding:4px;cursor:pointer;display:grid;grid-template-columns:1fr 1fr;gap:2px}
.b31-switch button i{display:block}
.b31-switch button[aria-pressed="true"]{outline:2px solid var(--ink);outline-offset:1px}
.b31-switch button:focus-visible{outline:3px solid var(--acc,var(--accent));outline-offset:2px}
.b31-switch output{padding:0 6px;min-width:10ch}
@media (max-width:600px){.b31-head{height:24px}.b31-icon{width:20px;height:20px;margin-right:6px}.b31-switch>span,.b31-switch output{display:none}}
@media print{.b31-switch{display:none}}