/* BookGPT 2026 theme contract. Font files are local latin/latin-ext WOFF2 subsets. */
@font-face{font-family:"Fraunces";src:url("/fonts/fraunces/fraunces-latin-ext.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Fraunces";src:url("/fonts/fraunces/fraunces-latin.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";src:url("/fonts/ibm-plex-sans/ibm-plex-sans-latin-ext.woff2") format("woff2");font-style:normal;font-weight:400 600;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Sans";src:url("/fonts/ibm-plex-sans/ibm-plex-sans-latin.woff2") format("woff2");font-style:normal;font-weight:400 600;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";src:url("/fonts/ibm-plex-mono/ibm-plex-mono-400-latin-ext.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";src:url("/fonts/ibm-plex-mono/ibm-plex-mono-400-latin.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";src:url("/fonts/ibm-plex-mono/ibm-plex-mono-600-latin-ext.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";src:url("/fonts/ibm-plex-mono/ibm-plex-mono-600-latin.woff2") format("woff2");font-style:normal;font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Serif 4";src:url("/fonts/source-serif-4/source-serif-4-latin-ext.woff2") format("woff2");font-style:normal;font-weight:200 900;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Serif 4";src:url("/fonts/source-serif-4/source-serif-4-latin.woff2") format("woff2");font-style:normal;font-weight:200 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Source Sans 3";src:url("/fonts/source-sans-3/source-sans-3-latin-ext.woff2") format("woff2");font-style:normal;font-weight:200 900;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Source Sans 3";src:url("/fonts/source-sans-3/source-sans-3-latin.woff2") format("woff2");font-style:normal;font-weight:200 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter";src:url("/fonts/inter/inter-latin-ext.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Inter";src:url("/fonts/inter/inter-latin.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"BookGPT Lora";src:url("/fonts/covers/lora-variable.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap}

:root,[data-theme="verlag"] {
  color-scheme:light;--bg:#f4f1ea;--surface:#fbf9f4;--surface-2:#efe4c8;--ink:#1b2436;--ink-soft:#5d6478;
  --rule:#d8cfb6;--accent:#a9812f;--accent-ink:#15171c;--danger:#8a2b1c;--success:#1e7047;
  --focus:#2452ff;--font-display:"BookGPT Lora",Georgia,serif;--font-text:"BookGPT Lora",Georgia,serif;
  --font-mono:"IBM Plex Mono",ui-monospace,monospace;--text-base:18px;--radius-control:2px;
  --radius-panel:4px;--shadow-1:0 1px 0 #d8cfb6,0 8px 24px rgb(27 36 54 / 8%);--space:8px;
}
[data-theme="verlag"][data-mode-resolved="dark"] {
  color-scheme:dark;--bg:#15171c;--surface:#1d2026;--surface-2:#282b32;--ink:#ece7db;--ink-soft:#beb8aa;
  --rule:#444750;--accent:#a9812f;--accent-ink:#15171c;--danger:#ff8b78;--success:#7fd4a3;
  --focus:#7aa8ff;--shadow-1:0 1px 0 #444750,0 8px 24px rgb(0 0 0 / 24%);
}
[data-theme="satzspiegel"] {
  color-scheme:light;--bg:#f7f7f5;--surface:#ffffff;--surface-2:#eeeeea;--ink:#14181d;--ink-soft:#596066;
  --rule:#d5d7d2;--accent:#b8412e;--accent-ink:#ffffff;--danger:#8a2b1c;--success:#1e7047;
  --focus:#1f5fbf;--font-display:"Fraunces",Georgia,serif;--font-text:"IBM Plex Sans",Arial,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,monospace;--text-base:17px;--radius-control:4px;
  --radius-panel:6px;--shadow-1:0 1px 0 #d5d7d2,0 8px 24px rgb(0 0 0 / 6%);--space:8px;
}
[data-theme="satzspiegel"][data-mode-resolved="dark"] {
  color-scheme:dark;--bg:#121416;--surface:#1a1d21;--surface-2:#23272c;--ink:#ecebe6;--ink-soft:#a3a8ad;
  --rule:#33383e;--accent:#e0573f;--accent-ink:#14181d;--danger:#ff8b78;--success:#7fd4a3;
  --focus:#7aa8ff;--shadow-1:0 1px 0 #33383e;
}
[data-theme="satzwerk"] {
  color-scheme:light;--bg:#f3f2ee;--surface:#fffffb;--surface-2:#e7e9e5;--ink:#202b2b;--ink-soft:#53615e;
  --rule:#7b8881;--accent:#71394a;--accent-ink:#fffdf8;--danger:#b52a32;--success:#1e7047;
  --focus:#195bce;--font-display:"Source Serif 4",Georgia,serif;--font-text:"Source Sans 3",Arial,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,monospace;--text-base:18px;--radius-control:6px;
  --radius-panel:10px;--shadow-1:0 8px 24px rgb(32 43 43 / 10%);--space:4px;
}
[data-theme="satzwerk"][data-mode-resolved="dark"] {
  color-scheme:dark;--bg:#151d1d;--surface:#1d2827;--surface-2:#273431;--ink:#eef2e9;--ink-soft:#b7c5bd;
  --rule:#7b8f83;--accent:#e3a9b7;--accent-ink:#301921;--danger:#ff9c93;--success:#7fd4a3;
  --focus:#98baff;--shadow-1:0 8px 24px rgb(0 0 0 / 24%);
}
[data-theme="offset"] {
  color-scheme:light;--bg:#f5f3ee;--surface:#ffffff;--surface-2:#edf1f6;--ink:#152238;--ink-soft:#4d5a73;
  --rule:#d8dce4;--accent:#2451c4;--accent-ink:#ffffff;--danger:#b3261e;--success:#1e7e4a;
  --focus:#2451c4;--font-display:"Fraunces",Georgia,serif;--font-text:"Inter",Arial,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,monospace;--text-base:17px;--radius-control:4px;
  --radius-panel:10px;--shadow-1:0 1px 2px rgb(21 34 56 / 8%);--space:4px;
}
[data-theme="offset"][data-mode-resolved="dark"] {
  color-scheme:dark;--bg:#0f1420;--surface:#171e2c;--surface-2:#1f2839;--ink:#e9edf5;--ink-soft:#a8b3c7;
  --rule:#2c3750;--accent:#8fb0ff;--accent-ink:#0e1522;--danger:#ff8a80;--success:#7fd4a3;
  --focus:#a9c4ff;--shadow-1:0 1px 0 #2c3750,0 6px 20px -8px rgb(0 0 0 / 45%);
}
[data-large-text="true"]{--text-base:19px}
html,body{background:var(--bg);color:var(--ink)}
html body{--bgpt-bg:var(--bg);--bgpt-surface:var(--surface);--bgpt-ink:var(--ink);--bgpt-ink-soft:var(--ink-soft);--bgpt-rule:var(--rule);--bgpt-accent:var(--accent);--background-color:var(--bg);--card-background:var(--surface);--text-color:var(--ink);--input-background:var(--surface-2);--footer-background:var(--surface)}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
