:root {
  color-scheme: dark;
  --ink: #edf0f2;
  --muted: #9aa5af;
  --canvas: #11151a;
  --panel: #1a2027;
  --panel-raised: #202832;
  --line: #35404b;
  --gold: #d7b765;
  --gold-strong: #f0cd73;
  --red: #b94b45;
  --green: #61b58d;
  --radius: 6px;
  --shadow: 0 20px 70px rgba(0, 0, 0, .28);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--canvas); }
body { min-height: 100vh; margin: 0; color: var(--ink); background: radial-gradient(circle at 15% 0%, #27303a 0, transparent 35rem), var(--canvas); display: flex; flex-direction: column; }
a { color: inherit; text-decoration-color: rgba(215, 183, 101, .5); text-underline-offset: .2em; }
button, input, textarea { font: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.site-header { min-height: 76px; display: flex; align-items: center; gap: 2rem; padding: 0 clamp(1rem, 4vw, 4rem); border-bottom: 1px solid rgba(255,255,255,.09); background: rgba(17,21,26,.9); backdrop-filter: blur(16px); position: sticky; top: 0; z-index: 20; }
.brand { display: flex; align-items: center; gap: .8rem; text-decoration: none; margin-right: auto; letter-spacing: .08em; }
.brand-mark { width: 38px; aspect-ratio: 1; display: grid; place-items: center; border: 1px solid var(--gold); color: var(--gold); font-family: Georgia, serif; font-size: 1.2rem; transform: rotate(45deg); }
.brand-mark::first-letter { transform: rotate(-45deg); }
.brand span:last-child { display: grid; }
.brand strong { font-size: .86rem; }
.brand small { color: var(--muted); font-size: .64rem; letter-spacing: .04em; }
.main-navigation { display: flex; align-items: center; gap: 1.35rem; font-size: .9rem; }
.main-navigation > a, .nav-link-button { text-decoration: none; color: #cbd2d9; transition: color .2s; }
.main-navigation > a:hover, .nav-link-button:hover { color: var(--gold-strong); }
.main-navigation > a.active,.main-navigation > a[aria-current="page"] { color: var(--gold-strong); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .45rem; }
.nav-primary { border: 1px solid var(--gold); padding: .55rem .8rem; border-radius: var(--radius); }
.nav-form { margin: 0; }
.nav-link-button { background: none; border: 0; padding: 0; cursor: pointer; }
.nav-toggle { display: none; border: 1px solid var(--line); color: var(--ink); background: transparent; padding: .55rem .7rem; border-radius: var(--radius); }

.page-shell { width: min(1180px, calc(100% - 2rem)); margin: 0 auto; flex: 1; padding: clamp(3rem, 7vw, 7rem) 0; }
.hero { max-width: 950px; padding: clamp(1rem, 6vw, 5rem) 0; }
.eyebrow { color: var(--gold); text-transform: uppercase; letter-spacing: .2em; font-weight: 700; font-size: .73rem; margin-bottom: 1.2rem; }
h1, h2 { font-family: Georgia, "Times New Roman", serif; font-weight: 500; margin: 0; }
h1 { font-size: clamp(2.6rem, 7vw, 6.2rem); line-height: .98; letter-spacing: -.045em; }
h2 { font-size: 1.45rem; }
.hero > p { max-width: 720px; color: #bbc4cc; font-size: clamp(1.05rem, 2vw, 1.28rem); line-height: 1.7; margin: 2rem 0; }
.hero-actions, .terminal-actions { display: flex; flex-wrap: wrap; gap: .75rem; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: .7rem 1rem; border: 1px solid transparent; border-radius: var(--radius); cursor: pointer; text-decoration: none; font-weight: 700; transition: transform .15s, background .15s, border-color .15s; }
.button:hover { transform: translateY(-1px); }
.button.primary { color: #151719; background: var(--gold); }
.button.primary:hover { background: var(--gold-strong); }
.button.secondary { color: var(--ink); background: transparent; border-color: var(--line); }
.button.danger { color: #f3c6c3; background: transparent; border-color: #7b3e3a; }
.button.full { width: 100%; }
.principles { border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(3, 1fr); }
.principles article { min-height: 220px; padding: 2rem; border-right: 1px solid var(--line); }
.principles article:last-child { border: 0; }
.principles span { color: var(--gold); font: .72rem ui-monospace, monospace; }
.principles h2 { margin: 2.5rem 0 .7rem; }
.principles p { color: var(--muted); line-height: 1.6; margin: 0; }

.auth-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 480px); gap: clamp(2rem, 8vw, 8rem); align-items: start; }
.auth-intro { position: sticky; top: 140px; }
.auth-intro h1, .page-heading h1, .empty-state h1 { font-size: clamp(2.5rem, 6vw, 5rem); }
.auth-intro p, .page-heading p, .empty-state p { color: var(--muted); font-size: 1.1rem; line-height: 1.6; max-width: 620px; }
.form-panel { background: rgba(30, 37, 45, .93); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); padding: clamp(1.5rem, 4vw, 2.5rem); display: grid; gap: 1.15rem; }
.form-panel h2 { font-size: 2rem; margin-bottom: .4rem; }
.form-panel label { display: grid; gap: .45rem; color: #d8dde2; font-size: .88rem; font-weight: 700; }
.form-panel input { width: 100%; color: var(--ink); background: #10151a; border: 1px solid #46525e; border-radius: 4px; padding: .78rem .85rem; outline: none; }
.form-panel input:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(215,183,101,.13); }
.form-panel small, .form-footer { color: var(--muted); font-weight: 400; }
.form-footer { text-align: center; margin: .2rem 0 0; }
.form-errors, .form-success { border-left: 3px solid var(--red); background: rgba(185,75,69,.12); color: #f2c7c4; padding: .75rem 1rem; margin: 0; line-height: 1.45; }
.form-errors p { margin: .2rem 0; }
.form-success { border-color: var(--green); background: rgba(97,181,141,.12); color: #c5ead8; }
.page-heading { border-bottom: 1px solid var(--line); padding-bottom: 2.5rem; margin-bottom: 2.5rem; }
.settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; align-items: start; }
.account-hero { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 1.5rem; align-items: center; padding-bottom: 2.5rem; margin-bottom: 1.5rem; border-bottom: 1px solid var(--line); }
.account-hero .eyebrow { margin-bottom: .6rem; }
.account-hero h1 { font-size: clamp(2.5rem, 6vw, 4.8rem); }
.account-hero p { margin: .7rem 0 0; color: var(--muted); overflow-wrap: anywhere; }
.account-avatar { width: clamp(4.5rem, 9vw, 6.5rem); aspect-ratio: 1; display: grid; place-items: center; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold-strong); background: radial-gradient(circle at 35% 30%, #35404a, #171d23 70%); font: 2.5rem Georgia, serif; box-shadow: inset 0 0 0 6px var(--canvas); }
.role-badge { align-self: start; border: 1px solid rgba(215,183,101,.45); border-radius: 999px; padding: .45rem .75rem; color: var(--gold-strong); background: rgba(215,183,101,.08); font-size: .75rem; font-weight: 700; }
.account-layout { display: grid; grid-template-columns: minmax(240px, .7fr) minmax(0, 1.7fr); gap: 1.5rem; align-items: start; margin-top: 1.5rem; }
.account-summary, .account-card { border: 1px solid var(--line); border-radius: var(--radius); background: rgba(26,32,39,.9); }
.account-summary { position: sticky; top: 100px; padding: 1.5rem; }
.account-summary h2 { margin-bottom: 1.5rem; }
.account-facts { display: grid; gap: 0; margin: 0; }
.account-facts div { display: grid; gap: .3rem; padding: 1rem 0; border-top: 1px solid var(--line); }
.account-facts dt { color: var(--muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.account-facts dd { margin: 0; overflow-wrap: anywhere; }
.account-note { margin: 1rem 0 0; color: var(--muted); font-size: .78rem; line-height: 1.55; }
.account-sections { display: grid; gap: 1.5rem; }
.account-card { display: grid; gap: 1.25rem; padding: clamp(1.25rem, 3vw, 2rem); }
.account-card label { display: grid; gap: .45rem; color: #d8dde2; font-size: .88rem; font-weight: 700; }
.account-card input:not([type="hidden"]) { width: 100%; color: var(--ink); background: #10151a; border: 1px solid #46525e; border-radius: 4px; padding: .78rem .85rem; outline: none; }
.account-card input:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(215,183,101,.13); }
.section-heading { display: grid; grid-template-columns: auto 1fr; gap: 1rem; align-items: start; }
.section-heading > span { padding-top: .25rem; color: var(--gold); font: .72rem ui-monospace, monospace; }
.section-heading h2 { font-size: 1.7rem; }
.section-heading p { margin: .45rem 0 0; color: var(--muted); line-height: 1.5; }
.password-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.password-fields label:first-child { grid-column: 1 / -1; }
.form-actions { display: flex; justify-content: flex-end; margin: 0; }
.button:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.session-list { display: grid; border-top: 1px solid var(--line); }
.session-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .9rem; align-items: center; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.session-row strong, .session-row small { display: block; }
.session-row small { margin-top: .25rem; color: var(--muted); font-size: .72rem; }
.session-icon { width: .75rem; height: .75rem; border-radius: 50%; background: #78838e; box-shadow: 0 0 0 4px rgba(120,131,142,.12); }
.session-row.current .session-icon { background: var(--green); box-shadow: 0 0 0 4px rgba(97,181,141,.12); }
.session-meta { text-align: right; font-size: .78rem; }
.session-row.current .session-meta span { color: #a7dfc4; }
.empty-state { min-height: 55vh; display: grid; align-content: center; justify-items: start; position: relative; overflow: hidden; }
.empty-rune { position: absolute; right: 8%; top: 10%; color: rgba(215,183,101,.08); font-size: min(40vw, 24rem); }
.system-list { display: grid; border-top: 1px solid var(--line); }
.system-list a { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.5rem .25rem; border-bottom: 1px solid var(--line); text-decoration: none; font-size: 1.5rem; }
.system-list a:hover { color: var(--gold); }
.system-list span:first-child { display: grid; gap: .25rem; }
.system-list small { color: var(--muted); font: .82rem ui-sans-serif, system-ui, sans-serif; }

.terminal-page { overflow: hidden; }
.terminal-page .site-footer { display: none; }
.terminal-shell { width: 100%; height: calc(100dvh - 76px); margin: 0; padding: 0; }
.codex-console { height: 100%; min-height: 0; display: grid; grid-template-rows: auto minmax(0, 1fr); overflow: hidden; background: #07100f; color: #dce7df; }
.terminal-header { display: grid; grid-template-columns: auto minmax(280px, 1fr) auto; gap: clamp(.8rem, 2vw, 1.75rem); align-items: center; padding: .55rem clamp(.75rem, 2vw, 1.5rem); border-bottom: 1px solid #2a3542; background: #121a21; }
.terminal-title { min-width: 8rem; }
.terminal-header .eyebrow { margin: 0 0 .08rem; color: #c7a85f; font-size: .58rem; letter-spacing: .16em; }
.terminal-header h1 { font-family: ui-sans-serif, system-ui, sans-serif; font-size: 1.35rem; font-weight: 650; letter-spacing: -.02em; }
.terminal-meta { display: flex; justify-content: center; gap: clamp(.75rem, 2.5vw, 2rem); margin: 0; min-width: 0; }
.terminal-meta > div { display: grid; align-content: center; min-width: 0; padding-left: .8rem; border-left: 1px solid #303b48; }
.terminal-meta dt { color: #7f8b99; text-transform: uppercase; letter-spacing: .13em; font-size: .58rem; font-weight: 700; }
.terminal-meta dd { margin: .12rem 0 0; color: #cfd6de; font: .72rem ui-monospace, "SFMono-Regular", Consolas, monospace; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.terminal-project { max-width: min(28vw, 25rem); flex: 1; }
.terminal-state dd { position: relative; width: max-content; max-width: 100%; padding: .18rem .48rem .18rem 1.1rem; border: 1px solid #3b4652; border-radius: 999px; background: #1c252f; }
.terminal-state dd::before { content: ""; position: absolute; left: .55rem; top: 50%; width: .42rem; height: .42rem; border-radius: 50%; background: #74808c; transform: translateY(-50%); box-shadow: 0 0 0 3px rgba(116,128,140,.1); }
#terminal-status[data-state="online"] { color: #9bd8b3; border-color: rgba(123,201,154,.42); background: rgba(74,137,102,.12); }
#terminal-status[data-state="online"]::before { background: #7bc99a; box-shadow: 0 0 0 3px rgba(123,201,154,.12); }
#terminal-status[data-state="error"] { color: #f09aa0; border-color: rgba(223,107,114,.42); background: rgba(145,61,67,.12); }
#terminal-status[data-state="error"]::before { background: #df6b72; }
#terminal-status[data-state="pending"] { color: #efca78; border-color: rgba(231,185,104,.42); background: rgba(159,118,50,.12); }
#terminal-status[data-state="pending"]::before { background: #e7b968; }
.terminal-actions { justify-content: flex-end; flex-wrap: nowrap; gap: .5rem; }
.terminal-actions .button { min-height: 34px; padding: .42rem .62rem; border-radius: 5px; font-size: .72rem; letter-spacing: .01em; white-space: nowrap; }
.terminal-actions .button:focus-visible { outline: 2px solid #efc86e; outline-offset: 2px; }
.terminal-actions .button.secondary { background: #1c252f; border-color: #3a4653; }
.terminal-actions .button.secondary:hover { background: #242f3b; border-color: #566474; }
.terminal-actions .button.danger { color: #e9a4a7; border-color: #633d43; }
.terminal-actions .button.danger:hover { background: rgba(163,67,73,.14); border-color: #98545a; }
.terminal-workspace { min-width: 0; min-height: 0; display: grid; grid-template-rows: minmax(0, 1fr); overflow: hidden; background: #07100f; }
.terminal-surface { width: 100%; height: 100%; min-width: 0; min-height: 0; padding: .55rem .65rem; overflow: hidden; background: #07100f; }
.terminal-surface .xterm { height: 100%; }
.terminal-surface .xterm-viewport { scrollbar-color: #46554f #07100f; scrollbar-width: thin; touch-action: pan-y; overscroll-behavior-y: contain; -webkit-overflow-scrolling: touch; }
.terminal-surface .xterm-viewport::-webkit-scrollbar { width: 9px; }
.terminal-surface .xterm-viewport::-webkit-scrollbar-track { background: #07100f; }
.terminal-surface .xterm-viewport::-webkit-scrollbar-thumb { border: 2px solid #07100f; border-radius: 999px; background: #46554f; }
.terminal-surface .xterm-viewport::-webkit-scrollbar-thumb:hover { background: #60716a; }
.terminal-mobile-scroll, .terminal-mobile-composer { display: none; }

@media (min-width: 3000px) and (min-height: 1200px) {
  .brand-mark { width: 42px; font-size: 1.28rem; }
  .brand strong { font-size: .94rem; }
  .brand small { font-size: .7rem; }
  .terminal-header .eyebrow { font-size: .64rem; }
  .terminal-header h1 { font-size: 1.5rem; }
  .terminal-meta dt { font-size: .64rem; }
  .terminal-meta dd { font-size: .78rem; }
  .terminal-actions .button { min-height: 38px; padding: .46rem .7rem; font-size: .78rem; }
}

.site-footer { width: min(1180px, calc(100% - 2rem)); margin: 0 auto; padding: 1.5rem 0; border-top: 1px solid var(--line); color: var(--muted); display: flex; justify-content: space-between; gap: 1rem; font-size: .78rem; }

/* Geschütztes Regelkompendium: kompakte Arbeitsoberfläche statt Kartenraster. */
.compendium-shell { width: 100%; height: calc(100dvh - 76px); margin: 0; padding: 0; }
.compendium-shell + .site-footer { display: none; }
.compendium-app { height: 100%; min-height: 0; display: grid; grid-template: auto minmax(0, 1fr) / 250px minmax(420px, 1fr) 270px; background: #12171d; }
.compendium-toolbar { grid-column: 1 / -1; min-height: 64px; display: flex; align-items: center; gap: .7rem; padding: .55rem 1rem; border-bottom: 1px solid var(--line); background: #181e25; z-index: 8; }
.compendium-search { width: min(920px, 100%); margin: 0 auto; display: grid; grid-template-columns: minmax(200px, 1fr) 190px auto; gap: .5rem; position: relative; }
.compendium-search input,.compendium-search select,.compendium-search button,.compendium-drawer-toggle,.rule-actions button { min-height: 42px; border: 1px solid #44505c; border-radius: 5px; color: var(--ink); background: #0e1318; padding: .58rem .7rem; }
.compendium-search input:focus,.compendium-search select:focus,.compendium-search button:focus-visible,.compendium-drawer-toggle:focus-visible,.rule-actions button:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.compendium-search button { color: #151719; border-color: var(--gold); background: var(--gold); font-weight: 750; cursor: pointer; }
.compendium-search small { position: absolute; top: calc(100% + .2rem); left: .2rem; color: #7e8994; font-size: .62rem; }
.compendium-drawer-toggle { display: none; cursor: pointer; }
.compendium-navigation,.compendium-context { min-height: 0; overflow-y: auto; scrollbar-width: thin; background: #151b21; }
.compendium-navigation { grid-column: 1; border-right: 1px solid var(--line); padding: 1rem .75rem 2rem; }
.compendium-nav-heading { display: grid; gap: .15rem; padding: .3rem .55rem 1rem; }.compendium-nav-heading strong { font: 1.25rem Georgia,serif; }.compendium-nav-heading span { color: var(--muted); font-size: .7rem; }
.compendium-navigation details { border-top: 1px solid #2d3741; }.compendium-navigation summary { list-style: none; cursor: pointer; }.compendium-navigation summary::-webkit-details-marker { display: none; }
.compendium-navigation summary { display: block; padding: .7rem .45rem; font-weight: 720; font-size: .78rem; line-height: 1.35; }.compendium-navigation details nav { display: grid; padding: 0 0 .5rem .65rem; border-left: 1px solid #3b4650; }
.compendium-navigation details nav a { padding: .34rem .45rem; color: #aeb8c1; text-decoration: none; font-size: .73rem; line-height: 1.35; }.compendium-navigation a:hover { color: var(--gold-strong); background: rgba(215,183,101,.06); }
.compendium-reader { grid-column: 2; min-width: 0; min-height: 0; overflow-y: auto; background: #11161b; scroll-behavior: smooth; }
.compendium-context { grid-column: 3; border-left: 1px solid var(--line); padding: 1rem; font-size: .77rem; line-height: 1.45; }
.compendium-context details { border-bottom: 1px solid #33404b; padding: .45rem 0 .8rem; }.compendium-context summary { color: var(--gold); text-transform: uppercase; letter-spacing: .12em; font-weight: 750; font-size: .65rem; cursor: pointer; }.compendium-context nav { display: grid; }.compendium-context nav a { display: grid; gap: .1rem; padding: .45rem 0; text-decoration: none; }.compendium-context small,.compendium-muted { color: var(--muted); }
.rule-article,.compendium-welcome,.compendium-empty { width: min(820px, calc(100% - clamp(2rem, 8vw, 7rem))); margin: 0 auto; padding: clamp(2rem, 6vw, 5rem) 0 6rem; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: .35rem; color: var(--muted); font-size: .7rem; margin-bottom: 1.6rem; }.breadcrumbs a { text-decoration: none; }.breadcrumbs a:hover { color: var(--gold); }
.rule-heading { padding-bottom: 2rem; border-bottom: 1px solid var(--line); }.rule-heading > div:first-child { display: flex; flex-wrap: wrap; gap: .5rem; }.rule-type,.review-status { display: inline-flex; border: 1px solid #506070; border-radius: 999px; padding: .22rem .5rem; color: #bdc7d0; text-transform: uppercase; letter-spacing: .08em; font-size: .61rem; }.review-status { border-color: #63593e; color: #d9c484; }
.rule-heading h1,.compendium-welcome h1 { margin: .8rem 0 1rem; font-size: clamp(2.4rem, 5vw, 4.5rem); overflow-wrap: anywhere; }.rule-heading > p { max-width: 680px; color: #aeb8c1; line-height: 1.6; }
.rule-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }.rule-actions button { min-height: 36px; padding: .42rem .65rem; cursor: pointer; font-size: .72rem; }.rule-actions button[aria-pressed="true"] { border-color: var(--gold); color: var(--gold-strong); }
.rule-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 1.5rem 0 2rem; border-top: 1px solid #303a44; border-left: 1px solid #303a44; }.rule-fields div { min-width: 0; padding: .75rem; border-right: 1px solid #303a44; border-bottom: 1px solid #303a44; }.rule-fields dt { color: var(--gold); text-transform: uppercase; letter-spacing: .09em; font-size: .61rem; font-weight: 750; }.rule-fields dd { margin: .35rem 0 0; color: #d8dde2; line-height: 1.5; overflow-wrap: anywhere; }
.rule-body { max-width: 72ch; font-family: Georgia,"Times New Roman",serif; font-size: 1.03rem; line-height: 1.72; color: #dce1e5; }.rule-body p { white-space: pre-line; margin: 0 0 1.15rem; }
.rule-table { margin: 2.2rem 0; }.rule-table figcaption { margin-bottom: .5rem; color: var(--gold); font: 1.15rem Georgia,serif; }.table-scroll,.admin-table-scroll { overflow-x: auto; }.rule-table table,.admin-section table { width: 100%; border-collapse: collapse; font-size: .75rem; }.rule-table th,.rule-table td,.admin-section th,.admin-section td { padding: .55rem .65rem; border-bottom: 1px solid #3b4650; text-align: left; vertical-align: top; }.rule-table thead,.admin-section thead { background: #222a32; }
.article-pagination { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-top: 3rem; padding-top: 1rem; border-top: 1px solid var(--line); }.article-pagination a { text-decoration: none; }.article-pagination a:last-child { text-align: right; }
.compendium-results { position: sticky; top: 0; z-index: 6; min-height: 100%; padding: 1.25rem clamp(1rem, 5vw, 3.5rem) 3rem; background: rgba(17,22,27,.98); }.results-heading { display: flex; justify-content: space-between; align-items: center; padding-bottom: .8rem; border-bottom: 1px solid var(--line); }.results-heading button { border: 0; color: var(--muted); background: transparent; cursor: pointer; }.result-list { display: grid; }.search-result { display: grid; gap: .35rem; padding: .9rem .2rem; border-bottom: 1px solid #303a44; text-decoration: none; }.search-result > div { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }.search-result > div span { color: var(--gold); text-transform: uppercase; font-size: .61rem; }.search-result p { max-width: 74ch; margin: 0; color: #aeb8c1; line-height: 1.45; }.search-result small { color: #7f8b95; }.search-result:focus,.search-result:hover { outline: none; background: #1a2128; }.search-result mark { color: #17120a; background: var(--gold-strong); padding: 0 .08em; }.search-state { color: var(--muted); padding: 2rem 0; }
.collection-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-top: 2.5rem; }.collection-columns section { border-top: 1px solid var(--line); }.collection-columns h2 { margin: 1rem 0; }.collection-columns a { display: flex; justify-content: space-between; gap: 1rem; padding: .65rem 0; border-bottom: 1px solid #2d3741; text-decoration: none; }.collection-columns small,.collection-columns p { color: var(--muted); }

.compendium-admin { display: grid; gap: 2rem; }.admin-metrics { display: grid; grid-template-columns: repeat(6,1fr); border: 1px solid var(--line); }.admin-metrics div { display: grid; gap: .25rem; padding: 1rem; border-right: 1px solid var(--line); }.admin-metrics div:last-child { border: 0; }.admin-metrics strong { color: var(--gold); font: 1.6rem Georgia,serif; }.admin-metrics span { color: var(--muted); font-size: .68rem; }.admin-section { padding-top: 1.5rem; border-top: 1px solid var(--line); }.admin-section h2 { margin-bottom: 1rem; }.admin-result { max-height: 24rem; overflow: auto; padding: 1rem; border: 1px solid var(--line); color: #c7d0d7; background: #0d1216; font-size: .7rem; white-space: pre-wrap; }
.admin-issue-action,.admin-version-action { display: block; margin-top: .35rem; border: 1px solid #4b5864; border-radius: 4px; padding: .25rem .4rem; color: var(--ink); background: #1a222a; cursor: pointer; font-size: .67rem; }.admin-version-action { border-color: #766737; color: var(--gold-strong); }

@media (max-width: 1180px) {
  .compendium-app { grid-template-columns: 220px minmax(0,1fr); }
  .compendium-context { grid-column: 2; position: absolute; right: 1rem; top: 150px; width: min(280px,35vw); max-height: 65dvh; border: 1px solid var(--line); box-shadow: var(--shadow); z-index: 4; }
  .rule-article { padding-right: min(30vw,250px); width: min(1050px,calc(100% - 3rem)); }
  .admin-metrics { grid-template-columns: repeat(3,1fr); }.admin-metrics div:nth-child(3) { border-right: 0; }.admin-metrics div:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
}

@media (max-width: 760px) {
  .compendium-shell { height: auto; min-height: calc(100dvh - 76px); }.compendium-app { min-height: calc(100dvh - 76px); display: block; }
  .compendium-toolbar { position: sticky; top: 76px; flex-wrap: wrap; padding: .55rem; }.compendium-drawer-toggle { display: inline-flex; align-items: center; }.compendium-search { flex: 1; grid-template-columns: minmax(0,1fr) auto; }.compendium-search select { grid-column: 1 / -1; grid-row: 2; }.compendium-search small { display: none; }
  .compendium-navigation { display: none; position: fixed; inset: 140px 1rem 1rem; border: 1px solid var(--line); box-shadow: var(--shadow); z-index: 15; }.compendium-navigation.open { display: block; }
  .compendium-reader { overflow: visible; }.compendium-context { position: static; width: auto; max-height: none; margin: 0 1rem 2rem; border: 1px solid var(--line); box-shadow: none; }
  .rule-article,.compendium-welcome,.compendium-empty { width: calc(100% - 2rem); padding: 2rem 0 3rem; }.rule-article { padding-right: 0; }.rule-fields { grid-template-columns: 1fr; }.collection-columns { grid-template-columns: 1fr; }.article-pagination { gap: 1rem; }
  .admin-metrics { grid-template-columns: repeat(2,1fr); }.admin-metrics div { border-bottom: 1px solid var(--line); }.admin-metrics div:nth-child(2n) { border-right: 0; }
}

/* Codex Workbench: eigenständige, nicht-terminale Admin-Oberfläche. */
.workbench-page { height: 100dvh; min-height: 0; overflow: hidden; }
.workbench-page .site-footer { display: none; }
.workbench-shell { width: 100%; height: calc(100dvh - 76px); min-height: 0; padding: 0; overflow: hidden; }
.codex-workbench { height: 100%; min-height: 0; display: grid; grid-template-rows: auto minmax(0,1fr); overflow: hidden; background: #10151b; color: #e8edf2; }
.workbench-header { min-height: 64px; padding: .65rem 1rem; border-bottom: 1px solid #303945; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 1rem; background: #171d24; }
.workbench-header h1 { margin: 0; font-size: 1.25rem; }.workbench-header .eyebrow { font-size: .65rem; }.workbench-status { display: flex; align-items: center; gap: .5rem; color: #aab4bf; font-size: .78rem; }
#gateway-dot { width: .55rem; height: .55rem; border-radius: 50%; background: #d3a34d; }#gateway-dot[data-state="ok"]{background:#55b980}#gateway-dot[data-state="error"]{background:#d45d62}
.workbench-header-actions { justify-self: end; display: none; gap: .4rem; }.workbench-grid { height: 100%; min-height: 0; overflow: hidden; display: grid; grid-template-columns: 250px minmax(360px,1fr) 290px; }
.sessions-panel,.inspector-panel { min-height: 0; overflow-y: auto; padding: 1rem; background: #151b22; }.sessions-panel { border-right: 1px solid #303945; display: flex; flex-direction: column; gap: .75rem; }.inspector-panel { border-left: 1px solid #303945; }
.workbench-navigation,.workbench-secondary-navigation{display:grid;gap:.25rem}.workbench-navigation{padding-bottom:.75rem;border-bottom:1px solid #303945}.workbench-secondary-navigation{margin-top:auto;padding-top:.75rem;border-top:1px solid #303945}.workbench-nav-item{width:100%;min-height:38px;border:1px solid transparent;border-radius:7px;padding:.55rem .65rem;color:#b7c2cc;background:transparent;text-align:left;text-decoration:none;font:inherit;font-size:.78rem;cursor:pointer}.workbench-nav-item:hover,.workbench-nav-item:focus-visible{border-color:#394654;background:#1d2630;color:#eef2f5}.workbench-nav-item.active,.workbench-nav-item[aria-current="page"]{border-color:#6d6140;background:#2a291f;color:#f2d987}.workbench-nav-item:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.session-search input { width: 100%; border: 1px solid #394451; border-radius: 7px; padding: .6rem .7rem; color: inherit; background:#10151b; }.session-list { display: grid; gap: .35rem; }.session-card { width: 100%; border: 1px solid transparent; border-radius: 7px; padding:.65rem; display:grid; gap:.2rem; text-align:left; color:inherit; background:transparent; cursor:pointer; }.session-card:hover,.session-card.active { background:#222b35;border-color:#394654}.session-card span{font-size:.68rem;color:#93a0ad}
.conversation-panel { position:relative;min-width:0;min-height:0;overflow:hidden;display:grid;grid-template-rows:minmax(0,1fr) auto;background:#0e1319}.workbench-notice{position:absolute;z-index:10;top:.75rem;left:50%;transform:translateX(-50%);max-width:min(90%,42rem);border:1px solid #806c3b;border-radius:8px;padding:.65rem .85rem;color:#f1dfaa;background:#282318;box-shadow:0 8px 24px #0008}.conversation-empty{place-self:center;text-align:center;max-width:32rem;padding:2rem;color:#97a3af}.conversation-empty h2{color:#e5ebef}.message-scroll{position:relative;min-width:0;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:1.5rem max(1rem,calc((100% - 760px)/2));scrollbar-gutter:stable;touch-action:pan-y}.message-list{min-width:0;display:grid;gap:1rem}.message{min-width:0;max-width:760px;padding:.85rem 1rem;border-radius:12px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}.user-message{justify-self:end;background:#253448}.agent-message{background:#171f28;border:1px solid #2b3744}.message-label{margin-bottom:.35rem;color:#8fa1b3;font-size:.65rem;text-transform:uppercase;letter-spacing:.08em}.tool-event{min-width:0;max-width:760px;border:1px solid #2d3945;border-radius:8px;background:#121920}.tool-event summary{padding:.6rem .8rem;cursor:pointer;color:#b8c3ce;font-size:.78rem}.tool-event pre{max-width:100%;max-height:320px;overflow:auto;margin:0;padding:.8rem;border-top:1px solid #2d3945;font-size:.7rem}.status-event{justify-self:center;color:#8e9ba8;font-size:.72rem}.load-older{display:block;margin:0 auto 1rem}.new-messages{position:sticky;bottom:.5rem;display:block;margin:.8rem auto 0;border:1px solid #526272;border-radius:999px;padding:.45rem .8rem;color:#e4eaf0;background:#24303c;cursor:pointer}
.virtual-spacer{min-height:0;pointer-events:none}.tool-event summary{display:flex;justify-content:space-between;gap:1rem}.tool-event summary span{color:#7f8c98;font-size:.68rem}.tool-output-placeholder{padding:.65rem .8rem;border-top:1px solid #2d3945;color:#7f8c98;font-size:.7rem}
.composer{padding:.8rem max(1rem,calc((100% - 780px)/2)) calc(.8rem + env(safe-area-inset-bottom));border-top:1px solid #303945;background:#171d24}.composer textarea{width:100%;min-height:76px;max-height:32dvh;resize:vertical;border:1px solid #42505f;border-radius:10px;padding:.8rem;color:#edf1f4;background:#0e141a;font:inherit;line-height:1.45}.composer textarea:focus{outline:2px solid rgba(215,183,101,.3);border-color:#d7b765}.composer-actions{display:flex;align-items:center;gap:.55rem;margin-top:.55rem}.composer-actions label{display:flex;align-items:center;gap:.3rem;font-size:.68rem;color:#9ba7b3}.composer-actions select{max-width:150px;border:1px solid #3d4955;padding:.35rem;color:#dce3e9;background:#11171d}.composer-actions .primary{margin-left:auto}.composer-hint{margin:.35rem 0 0;color:#778592;font-size:.65rem}.attachment-button{cursor:pointer}.attachment-button input{position:absolute;width:1px;height:1px;opacity:0}.inspector-panel h2{font-size:1rem}.inspector-panel dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem;margin-top:1rem;font-size:.72rem}.inspector-panel dt{color:#83919e}.inspector-panel dd{margin:0;overflow-wrap:anywhere}.inspector-actions{display:grid;gap:.4rem;margin-top:1rem}.inspector-actions button{border:1px solid #3b4754;border-radius:5px;padding:.45rem;color:#cbd4dc;background:#202832;cursor:pointer}.inline-form{display:grid;gap:.5rem;margin-top:.75rem;padding:.7rem;border:1px solid #3b4754;border-radius:7px}.inline-form[hidden]{display:none}.inline-form input{min-width:0;border:1px solid #42505f;border-radius:5px;padding:.45rem;color:#edf1f4;background:#0e141a}.inline-form div{display:flex;gap:.4rem}
.composer.dragging{box-shadow:inset 0 0 0 2px #d7b765}.attachment-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.4rem}.attachment-chip{display:flex;align-items:center;gap:.35rem;border:1px solid #3b4854;border-radius:999px;padding:.3rem .5rem;background:#222c36;font-size:.68rem}.attachment-chip button{border:0;color:#ccd5dd;background:none;cursor:pointer}

@media (max-width: 920px) {
  .nav-toggle { display: block; }
  .main-navigation { display: none; position: absolute; top: 75px; left: 0; right: 0; padding: 1rem; background: #171c22; border-bottom: 1px solid var(--line); flex-direction: column; align-items: stretch; }
  .main-navigation.open { display: flex; }
  .main-navigation a, .nav-link-button { padding: .65rem; text-align: left; }
  .auth-layout { grid-template-columns: 1fr; }
  .auth-intro { position: static; }
  .principles { grid-template-columns: 1fr; }
  .principles article { border-right: 0; border-bottom: 1px solid var(--line); }
  .settings-grid { grid-template-columns: 1fr; }
  .account-layout { grid-template-columns: 1fr; }
  .account-summary { position: static; }
  .terminal-header { grid-template-columns: auto 1fr; gap: .7rem 1.25rem; }
  .terminal-meta { justify-content: start; }
  .terminal-actions { grid-column: 1 / -1; justify-content: flex-start; }
  .terminal-shell { height: calc(100dvh - 76px); }
  .workbench-grid{grid-template-columns:1fr}.workbench-header-actions{display:flex}.sessions-panel,.inspector-panel{position:fixed;z-index:20;top:140px;bottom:0;width:min(340px,88vw);transition:transform .2s ease;box-shadow:0 12px 40px #0008}.sessions-panel{left:0;transform:translateX(-105%)}.inspector-panel{right:0;transform:translateX(105%)}.sessions-panel.open,.inspector-panel.open{transform:none}.conversation-panel{grid-column:1}
}

@media (max-width: 560px) {
  .terminal-page .site-header { display: none; }
  .page-shell { width: min(100% - 1.25rem, 1180px); padding: 2.5rem 0; }
  .account-hero { grid-template-columns: auto 1fr; gap: 1rem; }
  .account-hero .role-badge { grid-column: 2; justify-self: start; }
  .account-avatar { width: 4.25rem; }
  .password-fields { grid-template-columns: 1fr; }
  .password-fields label:first-child { grid-column: auto; }
  .session-row { grid-template-columns: auto 1fr; }
  .session-meta { grid-column: 2; text-align: left; }
  .hero { padding-top: 2rem; }
  .terminal-shell { width: 100%; height: 100dvh; padding: 0; }
  .codex-console { height: var(--terminal-viewport-height, 100dvh); }
  .terminal-header { grid-template-columns: auto minmax(0, 1fr); gap: .35rem .7rem; padding: calc(.42rem + env(safe-area-inset-top)) .55rem .42rem; }
  .terminal-title { display: grid; align-content: center; min-width: 0; }
  .terminal-header .eyebrow { margin: 0; }
  .terminal-header h1 { font-size: 1.15rem; }
  .terminal-meta { justify-content: flex-start; width: 100%; gap: .45rem; overflow: hidden; }
  .terminal-meta > div { padding-left: .45rem; }
  .terminal-meta dt { font-size: .52rem; }
  .terminal-meta dd { font-size: .64rem; }
  .terminal-project { max-width: 42vw; }
  .terminal-state dt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .terminal-state dd { margin: 0; padding-block: .12rem; }
  .terminal-actions { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; gap: .35rem; }
  .terminal-actions .button { min-height: 34px; padding: .34rem .4rem; font-size: .68rem; }
  .terminal-desktop-paste { display: none; }
  .terminal-workspace { grid-template-rows: minmax(0, 1fr) auto auto; }
  .terminal-surface { height: auto; padding: .35rem; }
  .terminal-surface .xterm, .terminal-surface .xterm-viewport { touch-action: none; }
  .terminal-mobile-scroll { display: flex; align-items: center; gap: .3rem; padding: .3rem .45rem; border-top: 1px solid #26332f; background: #101917; }
  .terminal-mobile-scroll .button { min-height: 38px; padding: .28rem .58rem; font-size: .7rem; }
  .terminal-mobile-scroll span { margin-left: auto; color: #8b9a93; font-size: .62rem; text-align: right; }
  .terminal-mobile-composer { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .35rem; padding: .4rem .45rem calc(.4rem + env(safe-area-inset-bottom)); border-top: 1px solid #26332f; background: #101917; }
  .terminal-mobile-composer textarea { min-height: 46px; max-height: 92px; resize: none; border: 1px solid #46544f; border-radius: 5px; padding: .55rem .62rem; color: #e2e9e4; background: #08110f; line-height: 1.3; outline: none; }
  .terminal-mobile-composer textarea:focus { border-color: #d7b765; box-shadow: 0 0 0 2px rgba(215,183,101,.13); }
  .terminal-mobile-composer .button { min-height: 46px; align-self: stretch; padding-inline: .7rem; font-size: .72rem; }
  .terminal-mobile-composer p { grid-column: 1 / -1; margin: 0; color: #8b9a93; font-size: .62rem; }
  .site-footer { flex-direction: column; }
  .workbench-page .site-header{display:none}.workbench-shell{height:100dvh}.workbench-header{min-height:58px;padding:calc(.45rem + env(safe-area-inset-top)) .65rem .45rem;grid-template-columns:1fr auto}.workbench-status{grid-column:1/-1;grid-row:2;font-size:.67rem}.workbench-header-actions{grid-column:2;grid-row:1}.workbench-header-actions .button{padding:.35rem;font-size:.68rem}.sessions-panel,.inspector-panel{top:calc(58px + env(safe-area-inset-top))}.message-scroll{padding:.8rem}.message{padding:.7rem .8rem}.composer{padding:.55rem .65rem calc(.55rem + env(safe-area-inset-bottom))}.composer textarea{min-height:64px}.composer-actions{flex-wrap:wrap}.composer-actions label{max-width:47%}.composer-actions .primary{margin-left:auto}.composer-hint{display:none}
}

/* Foundry-Statusintegration */
.foundry-status-card{border:1px solid var(--line);padding:1.25rem;background:#171d23}.foundry-status-card>header{display:flex;gap:1rem;align-items:center}.foundry-status-card h2{margin:0}.status-dot{width:.8rem;height:.8rem;border-radius:50%;background:#aa803a}.foundry-status-card[data-state="READY"] .status-dot{background:#55b980}.foundry-status-card[data-state="DISCONNECTED"] .status-dot{background:#d45d62}.operator-action{border-left:3px solid var(--gold);padding:.7rem 1rem;background:#11171d}.status-details{display:grid;grid-template-columns:minmax(160px,240px) 1fr;gap:.45rem 1rem;margin:1.5rem 0}.status-details dt{color:var(--muted)}.status-details dd{margin:0}.module-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.module-list article{display:grid;gap:.25rem;border:1px solid var(--line);padding:.8rem}.module-list span,.module-list small{color:var(--muted)}.admin-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.admin-form-grid .settings-card{grid-column:auto;max-width:none}
.settings-card{grid-column:1/-1;max-width:620px;display:grid;gap:1rem;border:1px solid var(--line);padding:1.5rem;background:#171d23}.settings-card label{display:grid;gap:.35rem}.settings-card input,.settings-card select{border:1px solid #46515d;border-radius:4px;padding:.6rem;color:var(--ink);background:#0f151a}.form-message{color:var(--gold)}
.game-table-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.game-table-card{display:grid;gap:1.25rem;align-content:space-between;border:1px solid var(--line);padding:1.25rem;background:var(--panel)}.game-table-card h2{margin:.35rem 0}.game-table-card p{color:var(--muted)}.game-table-card code{overflow-wrap:anywhere}.game-table-launch-form{display:grid;gap:1rem}.game-table-launch-form label{display:flex;gap:.6rem;color:#c5cdd4;font-size:.8rem;line-height:1.5}.game-table-launch-form input{margin-top:.2rem}.switch-progress{display:grid;justify-items:start;gap:1rem;max-width:680px;margin:5vh auto;padding:2rem;border:1px solid var(--line);background:var(--panel)}.switch-progress h1,.switch-progress p{margin:0}.status-spinner{width:2rem;height:2rem;border:3px solid #39444f;border-top-color:var(--gold);border-radius:50%;animation:foundry-spin .8s linear infinite}.status-spinner.failed{animation:none;border-color:var(--red)}@keyframes foundry-spin{to{transform:rotate(360deg)}}
.inspector-panel h3{margin:1.25rem 0 .55rem;font-size:.78rem;color:#d7b765}.quota-bucket,.token-usage{margin:.55rem 0;padding:.65rem;border:1px solid #303b47;border-radius:7px;background:#11171d}.quota-bucket h4{margin:0 0 .55rem;font-size:.72rem}.quota-window,.token-context{display:grid;gap:.3rem;margin-top:.6rem}.quota-window>div,.token-context>div{display:flex;justify-content:space-between;gap:.5rem;font-size:.67rem}.quota-window span,.quota-window small,.token-context span,.token-context small,.inspector-muted{color:#83919e}.quota-window progress,.token-context progress{width:100%;height:.5rem;accent-color:#d7b765}.quota-warning{color:#ef9a9a;font-size:.7rem}.token-context{margin-top:0}.token-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin:.75rem 0 0}.token-metrics>div{min-width:0;padding:.45rem;border-radius:5px;background:#171e25}.token-metrics dt{font-size:.6rem;color:#83919e}.token-metrics dd{margin:.15rem 0 0;font-size:.76rem;font-weight:700;color:#e6edf3;overflow-wrap:anywhere}
@media(max-width:760px){.status-details{grid-template-columns:1fr}.status-details dd{margin-bottom:.5rem}}
