:root{--font-body:Charter,'Bitstream Charter',ui-serif,Georgia,serif;--font-heading:Charter,ui-serif,Georgia,serif;
  --line-height:1.8;--radius:3px;--max-width:1080px;
  --color-text:#2c2418;--color-text-muted:#6d6050;--color-bg:#f9f6f0;--color-surface:#f2ece2;
  --color-accent:#5e7a4a;--color-accent-hover:#3d5230;--color-border:#c8bca8;--color-border-light:#ece6d8;
  --color-error:#8b3a2a;--color-error-bg:#f8ece8;--color-success:#3a6830;--color-success-bg:#ecf5e8;
  --color-nav-bg:#e8e0d2;--color-nav-text:#2c2418;--color-badge:#b85a3a;--focus-outline:2px solid #5e7a4a}
@media(prefers-color-scheme:dark){:root{--color-text:#d8d0c0;--color-text-muted:#9a8e78;--color-bg:#141008;--color-surface:#1e1a10;
  --color-border:#3a3228;--color-border-light:#1e1a10;--color-nav-bg:#1e1a10;--color-nav-text:#c8c0a8;--color-error-bg:#1a0c08;--color-success-bg:#0a1a08}}
.wrap{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}
nav{background:var(--color-nav-bg);padding:.8rem 0;border-bottom:1px solid var(--color-border)}
.nav-bar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}
.nav-brand{font-weight:600;font-size:1.25rem}
@media(min-width:769px){.nav-links{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-left:auto}}
nav a{color:var(--color-nav-text);font-weight:500;text-decoration:none}nav a:hover{color:var(--color-accent)}
.nav-dropdown{position:relative}.nav-dropdown summary{color:var(--color-nav-text);font-weight:500;cursor:pointer;list-style:none}
.nav-dropdown summary::after{content:' ▾'}.nav-dropdown[open] summary::after{content:' ▴'}
.nav-dropdown-menu{position:absolute;top:100%;right:0;background:var(--color-nav-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:.5rem 0;min-width:12rem;z-index:50}
.nav-dropdown-menu a{display:block;padding:.25rem .75rem;white-space:nowrap}.nav-dropdown-menu a:hover{background:var(--color-border-light)}
.nav-logout button{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);padding:.25rem .75rem;font:inherit;cursor:pointer;border-radius:var(--radius);text-transform:none;letter-spacing:0;font-size:.85rem;min-height:auto}
.nav-logout button:hover{background:var(--color-border-light);color:var(--color-text)}
main{padding:2.5rem 0}footer{border-top:none;padding:1rem 0;color:var(--color-text-muted);margin-top:2rem;padding-top:2rem;
  background:url("/css/svg/leaf-divider.svg") no-repeat center top;background-size:180px 16px}
footer .wrap{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}
#hero{min-height:100vh;display:flex;align-items:center;justify-content:center}.hero-content{text-align:left;padding:2rem}.hero-content h1{text-align:center}
h1{font-weight:300;font-size:1.9rem;color:var(--color-accent-hover)}
h2{font-weight:400;font-size:1.25rem;padding-top:2rem;margin-top:2rem;background:url("/css/svg/leaf-divider.svg") no-repeat center top;background-size:200px 18px}
h3{font-weight:400;color:var(--color-text-muted)}
a{color:var(--color-accent);text-decoration:underline;text-underline-offset:2px}
a:hover{color:var(--color-accent-hover)}
button,[type="submit"]{background:var(--color-accent);color:var(--color-bg);border:1px solid var(--color-accent);border-radius:var(--radius);padding:.5rem 1.5rem;cursor:pointer;font:inherit;min-height:44px;
  text-transform:none;font-size:.875rem;letter-spacing:0;font-family:inherit}
button:hover:not(:disabled),[type="submit"]:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}
trix-toolbar button{background:transparent;color:inherit;border:none;padding:.25rem;min-height:auto;font-size:inherit}
trix-toolbar button:hover{background:var(--color-border-light)}
.btn-danger{background:var(--color-error);border-color:var(--color-error);color:var(--color-bg)}.btn-danger:hover:not(:disabled){background:var(--color-error);opacity:.85}
.flash-error{background:var(--color-error-bg);border:1px solid var(--color-error);color:var(--color-error);padding:.75rem;border-radius:var(--radius);margin-bottom:1rem}
.flash-success{background:var(--color-success-bg);border:1px solid var(--color-success);color:var(--color-success);padding:.75rem;border-radius:var(--radius);margin-bottom:1rem}
table{width:100%;border-collapse:collapse;margin-bottom:1rem}th,td{padding:.6rem .5rem;border:none;border-bottom:1px solid var(--color-border);text-align:left}
th{background:transparent;font-weight:400;font-size:.82rem;color:var(--color-text-muted)}tr:nth-child(even){background:var(--color-border-light)}
.badge{background:var(--color-badge);color:#fff}
body::after{content:'';position:fixed;top:0;right:0;width:120px;height:60px;pointer-events:none;background:url("/css/svg/branch.svg") no-repeat right top;background-size:contain;opacity:.5}
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.025;background-image:url("/css/grain.svg")}
trix-toolbar .trix-button-row{gap:.25rem;padding:.5rem}
trix-toolbar button{opacity:.7;min-width:2.5rem;min-height:2.5rem}
trix-toolbar button:hover{opacity:1}
trix-toolbar button.trix-active{opacity:1;background:var(--color-border-light);border-radius:var(--radius)}
main>div>*{opacity:1;transform:none}
fieldset{border-color:var(--color-border)}
.ungelesen{font-weight:600}
.tschilp{--bubble-radius:12px;border-color:var(--color-border);background:var(--color-surface)}
.tschilp::after{background:var(--color-surface);border-color:var(--color-border)}
